Getting VPI failures after jtag_vpi upgrade (r3)
Closed this issue · 4 comments
fusesoc init -y
fusesoc library add mor1kx-generic https://github.com/stffrdhrn/mor1kx-generic.git
fusesoc library add intgen https://github.com/stffrdhrn/intgen.git
fusesoc library add mor1kx https://github.com/openrisc/mor1kx.git
$ fusesoc run --target mor1kx_tb ::mor1kx-generic:1.1
iverilog-vpi --name=elf-loader_1.0.2 -lelf -I../src/elf-loader_1.0.2/ ../src/elf-loader_1.0.2/elf-loader.c ../src/elf-loader_1.0.2/vpi_wrapper.c
Compiling ../src/elf-loader_1.0.2/elf-loader.c...
Compiling ../src/elf-loader_1.0.2/vpi_wrapper.c...
Making elf-loader_1.0.2.vpi from elf-loader.o vpi_wrapper.o...
iverilog -sorpsoc_tb -c mor1kx-generic_1.1.scr -o mor1kx-generic_1.1 -DICARUS_SIM -DSIM -DSPEEDSIM
vvp -n -M. -l icarus.log -lxt2 -melf-loader_1.0.2 mor1kx-generic_1.1
../src/jtag_vpi_0-r4/jtag_vpi.v:104: Error: System task/function $check_for_command() is not defined by any module.
../src/jtag_vpi_0-r4/jtag_vpi.v:131: Error: System task/function $send_result_to_server() is not defined by any module.
../src/jtag_vpi_0-r4/jtag_vpi.v:140: Error: System task/function $send_result_to_server() is not defined by any module.
mor1kx-generic_1.1: Program not runnable, 3 errors.
Notice that during the build we see it compiles elf-loader. But it doesn't compile the jtag_vpi. I am not sure why, the main difference from jtag-vpi r2 to jtag-vpi r3 is the core file version change to capi2 and support for verilator. Was any icarus test done after this?
Maybe the plusargs syntax changed?
Sorry for the bad quality control on my side. I pushed a new version with the fix you mentioned in fjullien/jtag_vpi#6 . Could you please check that it's working correctly now?
It's working for me