ASAP7 tutorial: make buildfile CONFIG=TinyRocketConfig #725
Replies: 18 comments
-
This is actually because barstools' MacroCompiler is too verbose and expects a certain order of 1-port and 2-port RAMs: https://github.com/ucb-bar/barstools/blob/master/src/main/scala/barstools/macros/MacroCompiler.scala#L640. As long as you have the generated As for the Make error, it looks like for some reason, |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
The ASAP7 SRAM compiler doesn't use the Yes, you are correct about the |
Beta Was this translation helpful? Give feedback.
-
Hi, Harrison: my linux server version is Ubuntu18.04 and using VCS2017 to simulate default config. Due to the version of VCS is not so suitable for ubuntu18, I revise vcs.mk according to the workaround here. [https://github.com/chipsalliance/rocket-chip/issues/1377] VCS_CC_OPTS = I can use VCS to simulate other project wrote by myself. So VCS works well outsides hammer. /usr/local/bin/ld: /home/liqiang/eda/app/synopsys/vcs/N-2017.12-1/linux64/lib/libvcsnew.so: undefined reference to /usr/local/bin/ld: /home/liqiang/eda/app/synopsys/vcs/N-2017.12-1/linux64/lib/libvcsnew.so: undefined reference to What do I need to do to fix this problem? maybe I miss some settings? @harrisonliew full-log is here: [ Best, |
Beta Was this translation helpful? Give feedback.
-
It looks to me like you are trying to use the workaround to use gcc-4.8 but your dynamic linker/loader is still the default on in |
Beta Was this translation helpful? Give feedback.
-
Hi,harrison: First, I validate the VCS and system environment by running make and simulation in g++ -w -pipe -fPIC -I/export/Apps/Synopsys/vcs/O-2018.09-SP2-2/include -std=c++11 -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/riscv-tools-install/include -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/tools/DRAMSim2 -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/vlsi/generated-src/chipyard.TestHarness.MediumBoomConfig -std=c++11 -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/riscv-tools-install/include -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/tools/DRAMSim2 -I/export1/Workspace/liqiang/socgen/hwgen/chipyard/vlsi/generated-src/chipyard.TestHarness.MediumBoomConfig -O3 -I/export/Apps/Synopsys/vcs/O-2018.09-SP2-2/include -c /export1/Workspace/liqiang/socgen/hwgen/chipyard/vlsi/generated-src/chipyard.TestHarness.MediumBoomConfig/uart.cc The full log is above, How Can I fix this Multiple definition warning here? |
Beta Was this translation helpful? Give feedback.
-
Thanks for uploading the full log. Can you also upload the full log from compiling the simulator in |
Beta Was this translation helpful? Give feedback.
-
I finally fix this issue. I found out hammer-synopsys_plugin/sim/vcs plugin file: I was checking all options resulting in the error , so the log has been sorted out. mediumboom-VCScompileOptions.log line 15-18 , line 23 are duplicated, it come from I dont know whether only me has this problem or not |
Beta Was this translation helpful? Give feedback.
-
and according to #642 (comment) Error-[FGP_AFFINITY_FAILED] cpu_affinity/auto_affinity failed then I try with simulation option |
Beta Was this translation helpful? Give feedback.
-
So the update to the Synopsys plugin was enabling VCS Fine-Grained Paralellism. This is supposed to work in VCS 2018, though based on the log it looks like it doesn't support hyper-threading (not in the documentation) and all of your cores are busy with other jobs. From the documentation, you can try adding the Also, about the duplicated options: did this go away when you updated the Synopsys plugin? We have not seen this before. If it still is a problem, can you attach the generated |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
The duplicated files actually comes from the Makefile: https://github.com/ucb-bar/chipyard/blob/main/vlsi/Makefile#L229-L232 and https://github.com/ucb-bar/chipyard/blob/main/vlsi/Makefile#L129-L131 and the `$(VCS_NONCC_OPTS). This isn't a problem for VCS - it will ignore previously defined modules. Judging from your logs, this icache-caused fatal error seems similar to #642. Can you pull up some waveforms to see if there's an issue with an incorrect icache tag read/write? I'm thinking there's some bug in the VCS FGP or incompatibility with our generated binaries that is causing simulations to fail. If this is confirmed, then I will revert the Chipyard + Synopsys plugin PRs that enabled VCS FGP until we find a fix. |
Beta Was this translation helpful? Give feedback.
-
I have these test cases below,why dhrystone can not pass in the original plugin? but succeed in sim/vcs mb-sim-dhry.log under VLSI folder : make sim-rtl-debug CONFIG=MediumBoomConfig BINARY=*
original *: before updated sim plugin,ie, no fgp updated*: with fgp |
Beta Was this translation helpful? Give feedback.
-
Right, fgp is not working, somehow, and we're still debugging in #642. Can you use the Synopsys plugin before the FGP update: (commit hash 81720fdd5b7fd747f34606f09b8a7d0da438a3ef) for now? |
Beta Was this translation helpful? Give feedback.
-
Yes, for now this fgp feature is not necessary for debuging. But later, this feature would be exciting. However, in the before-updated case, why the dhrystone benchmark can not pass the test? and another thing I wanna ask for help. because I need to make customed-config many times, how can I shorten the time of make stage, Maybe I need to revise |
Beta Was this translation helpful? Give feedback.
-
Can you zip up and email me the various files of the dhrystone failure case for MediumBoom? Specifically, the waveform and the generated verilog for the design. |
Beta Was this translation helpful? Give feedback.
-
sure ! I have send the tarball to you. |
Beta Was this translation helpful? Give feedback.
-
fixed ! close here |
Beta Was this translation helpful? Give feedback.
-
when I run command: make buildfile CONFIG=TinyRocketConfig. Errors below came out and terminate in the end
[error] INFO: unable to compile data_arrays_0_0_ext using SRAM2RW64x4 port count must match
[error] INFO: unable to compile data_arrays_0_0_ext using SRAM2RW64x8 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW128x16 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW128x32 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW128x4 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW128x8 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW16x16 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW16x32 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW16x4 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW16x8 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x16 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x22 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x32 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x33 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x39 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x4 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW32x8 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW64x16 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW64x24 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW64x32 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW64x4 port count must match
[error] INFO: unable to compile l2_tlb_ram_ext using SRAM2RW64x8 port count must match
[success] Total time: 6 s, completed Mar 28, 2022, 9:47:37 PM
make: *** No rule to make target '/home/lx/hwgen0327/chipyard/vlsi/generated-src/chipyard.TestHarness.TinyRocketConfig/EICG_wrapper.v', needed by '/home/lx/hwgen0327/chipyard/vlsi/build/chipyard.TestHarness.TinyRocketConfig-ChipTop/inputs.yml'. Stop.
the generated-src fold has contain top.mems.v. but didn't output build folder. What should I do next?@harrisonliew
Thank you,
Best regards,
Leon.
Beta Was this translation helpful? Give feedback.
All reactions