pulp-platform / pulpino

An open-source microcontroller system based on RISC-V
http://www.pulp-platform.org
Other
903 stars 298 forks source link

Modelsim error:error loading design #264

Closed wooolf0455 closed 5 years ago

wooolf0455 commented 5 years ago

I just want to run helloworld test, I chose cmake_configure.riscv.gcc.sh , and the steps what I do is as same as what README.md told me. The error happened at the last step: anyone has the same question?or someone help me ,thanks a lot!!! ps:I'm new oneo(╥﹏╥)o

wooolf0455 commented 5 years ago

The contents of modelsim transcription are as follows : source tcl_files/run.tcl

vsim -do "source tcl_files/run.tcl;"

Start time: 10:37:33 on Dec 12,2018

** Note: (vsim-3812) Design is being optimized...

** Error: /export/homeO5/yzhou/Documents/pulpino/vsim/..//tb/tb.sv(388): Can't have packed array of integer type.

** Error: /export/homeO5/yzhou/Documents/pulpino/vsim/..//tb/tb.sv(388): Vopt Compiler exiting

** Error: (vopt-2064) Compiler back-end code generation process terminated with code 211.

** Note: (vopt-143) Recognized 1 FSM in architecture body "uart_receiver(rtl)".

...

** Note: (vopt-143) Recognized 1 FSM in module "axi_BW_allocator(fast)".

Error loading design

wooolf0455 commented 5 years ago

[yzhou@cloud017 ~/Documents/pulpino2/sw/build]$make VERBOSE=1 helloworld.vsimc /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -H/export/homeO5/yzhou/Documents/pulpino2/sw -B/export/homeO5/yzhou/Documents/pulpino2/sw/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 helloworld.vsimc make[1]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -H/export/homeO5/yzhou/Documents/pulpino2/sw -B/export/homeO5/yzhou/Documents/pulpino2/sw/build --check-build-system CMakeFiles/Makefile.cmake 0 /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_progress_start /export/homeO5/yzhou/Documents/pulpino2/sw/build/CMakeFiles 4 make -f CMakeFiles/Makefile2 apps/helloworld/CMakeFiles/helloworld.vsimc.dir/all make[2]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/bench_lib/CMakeFiles/bench.dir/build.make libs/bench_lib/CMakeFiles/bench.dir/depend make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/libs/bench_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/bench_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/bench_lib/CMakeFiles/bench.dir/DependInfo.cmake --color= make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/bench_lib/CMakeFiles/bench.dir/build.make libs/bench_lib/CMakeFiles/bench.dir/build make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done forlibs/bench_lib/CMakeFiles/bench.dir/build'. make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 0%] Built target bench make -f CMakeFiles/crt0.dir/build.make CMakeFiles/crt0.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/CMakeFiles/crt0.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f CMakeFiles/crt0.dir/build.make CMakeFiles/crt0.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done for CMakeFiles/crt0.dir/build'. make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 0%] Built target crt0 make -f libs/string_lib/CMakeFiles/string.dir/build.make libs/string_lib/CMakeFiles/string.dir/depend make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/libs/string_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/string_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/string_lib/CMakeFiles/string.dir/DependInfo.cmake --color= make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/string_lib/CMakeFiles/string.dir/build.make libs/string_lib/CMakeFiles/string.dir/build make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done forlibs/string_lib/CMakeFiles/string.dir/build'. make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 0%] Built target string make -f libs/sys_lib/CMakeFiles/sys.dir/build.make libs/sys_lib/CMakeFiles/sys.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/libs/sys_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/sys_lib /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/sys_lib/CMakeFiles/sys.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/sys_lib/CMakeFiles/sys.dir/build.make libs/sys_lib/CMakeFiles/sys.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done for libs/sys_lib/CMakeFiles/sys.dir/build'. make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 25%] Built target sys make -f libs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/build.make libs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/depend make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/libs/Arduino_lib/core_libs /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/Arduino_lib/core_libs /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/DependInfo.cmake --color= make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/build.make libs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/build make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done forlibs/Arduino_lib/core_libs/CMakeFiles/Arduino_core.dir/build'. make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 25%] Built target Arduino_core make -f libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/build.make libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/libs/Arduino_lib/separate_libs /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/Arduino_lib/separate_libs /export/homeO5/yzhou/Documents/pulpino2/sw/build/libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/build.make libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done for libs/Arduino_lib/separate_libs/CMakeFiles/Arduino_separate.dir/build'. make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 50%] Built target Arduino_separate make -f apps/helloworld/CMakeFiles/helloworld.elf.dir/build.make apps/helloworld/CMakeFiles/helloworld.elf.dir/depend make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld/CMakeFiles/helloworld.elf.dir/DependInfo.cmake --color= make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f apps/helloworld/CMakeFiles/helloworld.elf.dir/build.make apps/helloworld/CMakeFiles/helloworld.elf.dir/build make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done forapps/helloworld/CMakeFiles/helloworld.elf.dir/build'. make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 50%] Built target helloworld.elf make -f apps/helloworld/CMakeFiles/helloworld.stim.txt.dir/build.make apps/helloworld/CMakeFiles/helloworld.stim.txt.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld/CMakeFiles/helloworld.stim.txt.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f apps/helloworld/CMakeFiles/helloworld.stim.txt.dir/build.make apps/helloworld/CMakeFiles/helloworld.stim.txt.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 50%] Generating vectors/stim.txt make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 50%] Built target helloworld.stim.txt make -f apps/helloworld/CMakeFiles/helloworld.links.dir/build.make apps/helloworld/CMakeFiles/helloworld.links.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld/CMakeFiles/helloworld.links.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f apps/helloworld/CMakeFiles/helloworld.links.dir/build.make apps/helloworld/CMakeFiles/helloworld.links.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done for apps/helloworld/CMakeFiles/helloworld.links.dir/build'. make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 75%] Built target helloworld.links make -f apps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/build.make apps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/depend make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/DependInfo.cmake --color= make[3]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f apps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/build.make apps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/build make[3]: Entering directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[3]: Nothing to be done forapps/helloworld/CMakeFiles/helloworld.slm.cmd.dir/build'. make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' [ 75%] Built target helloworld.slm.cmd make -f apps/helloworld/CMakeFiles/helloworld.vsimc.dir/build.make apps/helloworld/CMakeFiles/helloworld.vsimc.dir/depend make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' cd /export/homeO5/yzhou/Documents/pulpino2/sw/build && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E cmake_depends "Unix Makefiles" /export/homeO5/yzhou/Documents/pulpino2/sw /export/homeO5/yzhou/Documents/pulpino2/sw/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld/CMakeFiles/helloworld.vsimc.dir/DependInfo.cmake --color= make[3]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make -f apps/helloworld/CMakeFiles/helloworld.vsimc.dir/build.make apps/helloworld/CMakeFiles/helloworld.vsimc.dir/build make[3]: Entering directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' [100%] Running helloworld in ModelSim cd /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E remove stdout/ cd /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld && /export/homeO5/yzhou/Documents/cmake/cmake-3.11.4-Linux-x86_64/bin/cmake -E remove FS/ cd /export/homeO5/yzhou/Documents/pulpino2/sw/build/apps/helloworld && tcsh -c env\ VSIM_DIR=/export/homeO5/yzhou/Documents/pulpino2/vsim\ USE_ZERO_RISCY=0\ RISCY_RV32F=0\ ZERO_RV32M=0\ ZERO_RV32E=0\ PL_NETLIST=\ TB_TEST=""\ /export/homeO1/mentor/questa10.4a/questasim/bin/vsim\ \ -c\ -64\ -do\ 'source\ tcl_files/run.tcl\;\ run\ -a\;\ exit\;'\ >vsim.log Error loading design make[3]: [apps/helloworld/CMakeFiles/helloworld.vsimc] Error 12 make[3]: Leaving directory `/export/homeO5/yzhou/Documents/pulpino2/sw/build' make[2]: [apps/helloworld/CMakeFiles/helloworld.vsimc.dir/all] Error 2 make[2]: Leaving directory /export/homeO5/yzhou/Documents/pulpino2/sw/build' make[1]: *** [apps/helloworld/CMakeFiles/helloworld.vsimc.dir/rule] Error 2 make[1]: Leaving directory/export/homeO5/yzhou/Documents/pulpino2/sw/build' make: *** [helloworld.vsimc] Error 2

this is the result after I added VERBOSE=1 . maybe it's more clear

quangdaovu commented 5 years ago

** Error: /export/homeO5/yzhou/Documents/pulpino/vsim/..//tb/tb.sv(388): Can't have packed array of integer type.

Fix your testbench.

wooolf0455 commented 5 years ago

@quangdaovu the code I did not find packed array of integer type. what is more ,line 388 is the end of the code. I think it may be not associated to the code.

wooolf0455 commented 5 years ago

I found it!!!! at pulpino-1/tb/mem_dpi.svh, buffer[i] = rdata_temp_arr[j][ 7:0]; buffer[i+1] = rdata_temp_arr[j][15:8]; buffer[i+2] = rdata_temp_arr[j][23:16]; buffer[i+3] = rdata_temp_arr[j][31:24]; error happened here. The following is what I modified: automatic logic [31:0] xxx_tmp=rdata_temp_arr[j]; buffer[i]= xxx_tmp[7:0]; buffer[i+1]=xxx_tmp[15:8]; buffer[i+2]=xxx_tmp[23:16]; buffer[i+3]=xxx_tmp[31:24]; //buffer[i] = rdata_temp_arr[j][ 7:0]; //buffer[i+1] = rdata_temp_arr[j][15:8]; //buffer[i+2] = rdata_temp_arr[j][23:16]; //buffer[i+3] = rdata_temp_arr[j][31:24]; and then,there is "helloworld" in console.But I don't know the reason why the error happened. If you know the reason,tell me please.Thanks!