hex-five / multizone-fpga

This repository contains the hardware design source files of the Hex Five X300 RISC-V SoC. The X300 is Hex Five's official reference HW platform for its MultiZone Trusted Execution Environment and MultiZone Trusted Firmware. The X300 is an enhanced secure version of the SiFive's Freedom E300 built around the Rocket chip developed at U.C. Berkeley.
http://hex-five.com
Apache License 2.0
28 stars 4 forks source link

building failed #7

Closed icennaise closed 3 years ago

icennaise commented 4 years ago

I run the commands to clone the repository and start building but failed. $ make -f Makefile.x300artydevkit mcs make -C /home/a/mf/multizone-fpga/rocket-chip/firrtl SBT="java -jar /home/a/mf/multizone-fpga/rocket-chip/sbt-launch.jar ++2.12.4" root_dir=/home/a/mf/multizone-fpga/rocket-chip/firrtl build-scala make[1]: enter path“/home/a/mf/multizone-fpga/rocket-chip/firrtl” java -jar /home/a/mf/multizone-fpga/rocket-chip/sbt-launch.jar ++2.12.4 "assembly" /bin/sh: 1: java: not found Makefile:25: recipe for target '/home/a/mf/multizone-fpga/rocket-chip/firrtl/utils/bin/firrtl.jar' failed make[1]: *** [/home/a/mf/multizone-fpga/rocket-chip/firrtl/utils/bin/firrtl.jar] Error 127 make[1]: quit path“/home/a/mf/multizone-fpga/rocket-chip/firrtl” common.mk:38: recipe for target '/home/a/mf/multizone-fpga/rocket-chip/firrtl/utils/bin/firrtl.jar' failed make: *** [/home/a/mf/multizone-fpga/rocket-chip/firrtl/utils/bin/firrtl.jar] Error 2

cgarlati commented 4 years ago

From the output above it appears that you miss some dependencies - see "java: not found ..."

Are you able to build the https://github.com/sifive/freedom repo from which the X300 is forked?

BTW, if you just want to use the X300 - rather than contributing to its development, the prebuilt bitstream is available for download at https://github.com/hex-five/multizone-fpga/releases/download/v1.0.1-stable/X300ArtyDevKitFPGAChip-1ab2531.mcs

icennaise commented 4 years ago

Thank you for your prompt and helpful answers.

In fact, I solved the previous bug in some way, but a new bug occurred immediately like: ERROR: [Board 49-71] The board_part definition was not found for digilentinc.com:arty:part0:1.1. The project's board_part property was not set, but the project's part property was set to xc7a35ticsg324-1L. Valid board_part values can be retrieved with the 'get_board_parts' Tcl command. Check if board.repoPaths parameter is set and the board_part is installed from the tcl app store. INFO: [Common 17-17] undo 'set_property'

As you said, I want to use multizone-sdk, so I want to use the X300 softcore rather than contributing to its development, but as a beginner, I don't know how to write “.mcs” files into the arty-a7 development kit. I tried to open vivado to find the corresponding chip model but failed.

Is there some documentation or instructions for reference?

Thank you.

cgarlati commented 4 years ago

There are many online guides explaining how to program the ARTY board. The process is quite straightforward once you get Vivado installed. Just make sure you pick the right flash model as Digilent sources different SKUs.

Instructions: https://reference.digilentinc.com/reference/programmable-logic/arty-a7/arty_a7_100_risc_v/start#programming_the_hardware https://sifive.cdn.prismic.io/sifive%2Fed96de35-065f-474c-a432-9f6a364af9c8_sifive-e310-arty-gettingstarted-v1.0.6.pdf

amnesia13 commented 3 years ago

Hello,

On my side, I fixed the board_part issue for the Arty board with the following changes:

  1. clone the XilinxBoardStore from GitHub to a local repository
  2. edit the ...multizone-fpga/fpga-shells/xilinx/common/tcl/prologue.tcl file and add the following command line: set_param board.repoPaths path/to/the/XilinxBoardStore

Regards