ucb-bar / constellation

A Chisel RTL generator for network-on-chip interconnects
http://constellation.readthedocs.io
BSD 3-Clause "New" or "Revised" License
175 stars 25 forks source link

May I ask how to get the .Generator here, it reports this error. #70

Open yoyo115956 opened 4 months ago

yoyo115956 commented 4 months ago

May I ask how to get the .Generator here, it reports this error. The procedure is also based on the tutorial.

make SUB_PROJECT=constellation CONFIG=TestConfig00
Running with RISCV=/home/liyongting/chipyard/toolchains/riscv-tools/riscv-gnu-toolchain
mkdir -p /home/liyongting/chipyard/sims/verilator/generated-src/..TestConfig00
cd /home/liyongting/chipyard && java -jar /home/liyongting/chipyard/generators/rocket-chip/sbt-launch.jar   ";project ; runMain .Generator  --target-dir /home/liyongting/chipyard/sims/verilator/generated-src/..TestConfig00 --name ..TestConfig00 --top-module . --legacy-configs :TestConfig00 "
Picked up JAVA_TOOL_OPTIONS: -Xmx8G -Xss8M -Djava.io.tmpdir=/home/liyongting/chipyard/.java_tmp
[info] welcome to sbt 1.5.5 (Private Build Java 1.8.0_402)
[info] loading settings for project chipyard-build from plugins.sbt ...
[info] loading project definition from /home/liyongting/chipyard/project
[info] loading settings for project chipyardRoot from build.sbt ...
[info] loading settings for project hardfloat from build.sbt ...
[info] loading settings for project rocketConfig from build.sbt ...
[info] loading settings for project testchipip from build.sbt ...
[info] loading settings for project icenet from build.sbt ...
[info] loading settings for project hwacha from build.sbt ...
[info] loading settings for project boom from build.sbt ...
[info] loading settings for project cva6 from build.sbt ...
[info] loading settings for project ibex from build.sbt ...
[info] loading settings for project sodor from build.sbt ...
[info] loading settings for project gemmini from build.sbt ...
[info] loading settings for project tapeout from build.sbt ...
[info] loading settings for project sim-build from plugins.sbt ...
[info] loading project definition from /home/liyongting/chipyard/sims/firesim/sim/project
[info] loading settings for project firesim from build.sbt ...
[info] loading settings for project targetutils from build.sbt ...
[info] loading settings for project midas from build.sbt ...
[info] resolving key references (35667 settings) ...
[info] set current project to chipyardRoot (in build file:/home/liyongting/chipyard/)
[info] chipyardRoot (in build file:/home/liyongting/chipyard/)
[info] running .Generator --target-dir /home/liyongting/chipyard/sims/verilator/generated-src/..TestConfig00 --name ..TestConfig00 --top-module . --legacy-configs :TestConfig00
[error] (run-main-0) java.lang.ClassNotFoundException: /Generator
[error] java.lang.ClassNotFoundException: /Generator
[error]         at java.lang.Class.forName0(Native Method)
[error]         at java.lang.Class.forName(Class.java:348)
[error] stack trace is suppressed; run last Compile / bgRunMain for the full output
[error] Nonzero exit code: 1
[error] (Compile / runMain) Nonzero exit code: 1
[error] Total time: 0 s, completed Jun 26, 2024 2:32:21 AM
make: *** [/home/liyongting/chipyard/common.mk:111: generator_temp] Error 1
jerryz123 commented 4 months ago

What version of chipyard are you using?

jerryz123 commented 4 months ago

I was unable to reproduce this

yoyo115956 commented 4 months ago

I'm really glad to see your reply!

I'm using 1.7.1 with make CONFIG=SmallBoomConfig and it's working fine, and I understand that the docs state that I need to use chipyard 1.8.0 or later. After installing all day yesterday, I've been backtracking from 1.11.0 to 1.10.0, 1.9.0 to 1.8.0, and I've always had problems. The problem with installing the environment within the allowed version range is that the maven package cannot be found or something like https://github.com/ucb-bar/constellation/issues/69 or some code changes cause some problems.

My steps are based on this site, from which I know that rolling back to 1.7.1 is less problematic, and actually running make CONFIG=SmallBoomConfig is working properly, but make SUB_PROJECT=constellation CONFIG=TestConfig00 isn't, because it is without the .Generator file. https://blog.csdn.net/diamond_biu/article/details/123035685?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171931604316800225583835%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171931604316800225583835&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~times_rank-14-123035685-null-null.142^v100^pc_search_result_base7&utm_term=chipyard&spm=1018.2226.3001.4187

The detailed code is as follows:

# Download the template and setup environment
git clone https://github.com/ucb-bar/chipyard.git
cd chipyard
./scripts/init-submodules-no-riscv-tools.sh

# build the toolchain
./scripts/build-toolchains.sh riscv-tools

# add RISCV to env, update PATH and LD_LIBRARY_PATH env vars
# note: env.sh generated by build-toolchains.sh
source env.sh

cd sims/verilator
make CONFIG=SmallBoomConfig # this one works fine
make SUB_PROJECT=constellation CONFIG=TestConfig00 # This one creates the problem above
jerryz123 commented 4 months ago

Please use Chipyard 1.11.0, or the latest main. I cannot maintain support for older versions.

yoyo115956 commented 4 months ago

If you have the time to create a video tutorial on the proper installation of Constellation based on Chipyard, that would be very kind and generous. These tools are very insteresing and valuable. But it has been challenging to find clear and suitable instructions online, and such a video would greatly assist users start up easier.