Closed ha0lyu closed 3 months ago
Hi @Donkey-Hao thanks for reaching out! As you noticed it is not directly related to Cascade, and I am not proficient with the evolution of the Chipyard toolings unfortunately.
To help you, there are basically 3 phases with these chipyard designs:
Step 1 should consist in following the Chipyard doc.
Step 2 and 3 should be doable by a simple make run_vanilla_notrace
in cascade-rocket
or cascade-boom
if all goes well.
Otherwise we provide a Docker image with the Cascade artifacts. Depending on your specific needs, you might want to use it.
In any case please let us know how it goes!
Hi @flaviens, can you explain make run_vanilla_notrace
? I don't understand it.
I initialed the repo and cloned submodules successfully. Furthermore, I tried to build the Chipyard by run cascade-chipyard/build-setup.sh
. I met with other problems when I built it, I spend a lot of time to tackled them but still failed.
I need your help badly, I would appreciate it very much if you could tell me the Step 2
in detail.
BTW: It’s not that I don’t want to use the docker, it’s that I can’t pull it due to network reasons.
Hi Hao, sure! So from your message I assume you overcame the
Chipyard-specific issue that you mentioned earlier. Now ignore all the
scripts in cascade-meta (just make sure to source cascade-meta/env.sh
).
Then just cd
to cascade-chipyard/cascade-rocket
and literally execute
make run_vanilla_notrace
. I might be forgetting one step (it's been a
while :) ) but if you show me the output of the make run_vanilla_notrace
command we can figure sth out.
Hope it helps!
I sourced env and ran make run_vanilla_notrace
in dir /home/cascade-meta/cascade-chipyard/
(NOTE it is cascade-chipyard not cellift-chipyard), here is what I got:
(base) ➜ cascade-rocket git:(master) ✗ make run_vanilla_notrace
make -C ../sims/verilator CONFIG=MyBigVMRocketConfig
make[1]: Entering directory '/home/cascade-meta/cascade-chipyard/sims/verilator'
Running with RISCV=/opt/riscv
mkdir -p /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig
cd /home/cascade-meta/cascade-chipyard && java -jar /home/cascade-meta/cascade-chipyard/generators/rocket-chip/sbt-launch.jar ";project chipyard; runMain chipyard.Generator --target-dir /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig --name chipyard.TestHarness.MyBigVMRocketConfig --top-module chipyard.TestHarness --legacy-configs chipyard:MyBigVMRocketConfig "
Picked up JAVA_TOOL_OPTIONS: -Xmx8G -Xss8M -Djava.io.tmpdir=/home/cascade-meta/cascade-chipyard/.java_tmp
[info] welcome to sbt 1.5.5 (Ubuntu Java 11.0.23)
[info] loading settings for project cascade-chipyard-build from plugins.sbt ...
[info] loading project definition from /home/cascade-meta/cascade-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 constellation 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/cascade-meta/cascade-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 (36697 settings) ...
[info] set current project to chipyardRoot (in build file:/home/cascade-meta/cascade-chipyard/)
[info] set current project to chipyard (in build file:/home/cascade-meta/cascade-chipyard/)
[info] compiling 48 Scala sources to /home/cascade-meta/cascade-chipyard/generators/chipyard/target/scala-2.12/classes ...
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:122:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++ // My small boom config
[error] ^
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:130:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++ // My small boom config
[error] ^
[error] two errors found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 9 s, completed Jul 20, 2024, 8:31:46 AM
make[1]: *** [/home/cascade-meta/cascade-chipyard/common.mk:107: /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.fir] Error 1
make[1]: Leaving directory '/home/cascade-meta/cascade-chipyard/sims/verilator'
make: [../cascade-common/cascade-common.mk:46: ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.mems.v] Error 2 (ignored)
make -C ../sims/verilator CONFIG=MyBigVMRocketConfig
make[1]: Entering directory '/home/cascade-meta/cascade-chipyard/sims/verilator'
Running with RISCV=/opt/riscv
mkdir -p /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig
cd /home/cascade-meta/cascade-chipyard && java -jar /home/cascade-meta/cascade-chipyard/generators/rocket-chip/sbt-launch.jar ";project chipyard; runMain chipyard.Generator --target-dir /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig --name chipyard.TestHarness.MyBigVMRocketConfig --top-module chipyard.TestHarness --legacy-configs chipyard:MyBigVMRocketConfig "
Picked up JAVA_TOOL_OPTIONS: -Xmx8G -Xss8M -Djava.io.tmpdir=/home/cascade-meta/cascade-chipyard/.java_tmp
[info] welcome to sbt 1.5.5 (Ubuntu Java 11.0.23)
[info] loading settings for project cascade-chipyard-build from plugins.sbt ...
[info] loading project definition from /home/cascade-meta/cascade-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 constellation 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/cascade-meta/cascade-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 (36697 settings) ...
[info] set current project to chipyardRoot (in build file:/home/cascade-meta/cascade-chipyard/)
[info] set current project to chipyard (in build file:/home/cascade-meta/cascade-chipyard/)
[info] compiling 48 Scala sources to /home/cascade-meta/cascade-chipyard/generators/chipyard/target/scala-2.12/classes ...
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:122:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++ // My small boom config
[error] ^
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:130:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++ // My small boom config
[error] ^
[error] two errors found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 9 s, completed Jul 20, 2024, 8:32:04 AM
make[1]: *** [/home/cascade-meta/cascade-chipyard/common.mk:107: /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.fir] Error 1
make[1]: Leaving directory '/home/cascade-meta/cascade-chipyard/sims/verilator'
make: [../cascade-common/cascade-common.mk:46: ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.v] Error 2 (ignored)
cat ../cascade-common/src/defines.v src/dependencies/ClockDividerN.sv src/dependencies/EICG_wrapper.v src/dependencies/IOCell.v src/dependencies/plusarg_reader.v src/dependencies/sram_behav_models.v ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.mems.v ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.v generated/rocket_axi_to_mem.v generated/rocket_mem_top.v > generated/out/vanilla.sv
cat: ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.mems.v: No such file or directory
cat: ../sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/chipyard.TestHarness.MyBigVMRocketConfig.top.v: No such file or directory
make: *** [../cascade-common/cascade-common.mk:63: generated/out/vanilla.sv] Error 1
In fact, I had tried to tackle this proble by build Chipyard. I suppose the main reason is lack of some verilog files in the dir:
(base) ➜ cascade-rocket git:(master) ✗ ls /home/cascade-meta/cascade-chipyard/sims/verilator/generated-src/chipyard.TestHarness.MyBigVMRocketConfig/
bootrom.rv32.img EICG_wrapper.v mm.cc mm_dramsim2.h remote_bitbang.cc SimDRAM.cc sim_files.f SimSerial.cc testchip_tsi.h
bootrom.rv64.img emulator.cc mm_dramsim2.cc mm.h remote_bitbang.h SimDTM.cc SimJTAG.cc testchip_tsi.cc verilator.h
Hi! Yes cascade-chipyard is ofc correct sorry, not cellift-.
The real problem is here:
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:122:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++ // My small boom config
[error] ^
[error] /home/cascade-meta/cascade-chipyard/generators/chipyard/src/main/scala/config/BoomConfigs.scala:130:19: type WithNMediumBoomsTracing is not a member of package boom.common
[error] new boom.common.WithNMediumBoomsTracing(1) ++
It might be due to omitting these lines:
Can you please double-check that you have the right core configurations as done in these lines of the Dockerfike?
Hi @flaviens, thank you very much! I almost forgot about this Dockerfile, and you reminded me. I followed it and solved those problems. I really appreciate your help!
Best wishes. Hao
Background Work
Feature Description
The
hammer-mentor-plugins
GitHub page is 404. Here needs the plugins.Motivating Example