i have some issue with simulation examples.
#1
Hello everyone

i just have started pulpissimo simulation examples "hello"

but when i simulate it, there's some error at last with illeagal instructions.

how can i fix it? is there any more ips that i didn't know?(because it doesn't acknowledge instruction)

# [PULP] 1110801ns - WRITE32 burst @1c000000 for        1024 bytes.
# [PULP] 1940901ns - WRITE32 burst @1c000400 for        1024 bytes.
# [PULP] 2771001ns - WRITE32 burst @1c000800 for        1024 bytes.
# [PULP] 3332301ns - WRITE32 burst @1c000c00 for        688 bytes.
# [PULP] 4162401ns - WRITE32 burst @1c008000 for        1024 bytes.
# [PULP] 4992501ns - WRITE32 burst @1c008400 for        1024 bytes.
# [PULP] 5822601ns - WRITE32 burst @1c008800 for        1024 bytes.
# [PULP] 6652701ns - WRITE32 burst @1c008c00 for        1024 bytes.
# [PULP] 7482801ns - WRITE32 burst @1c009000 for        1024 bytes.
# [PULP] 8312901ns - WRITE32 burst @1c009400 for        1024 bytes.
# [PULP] 9143001ns - WRITE32 burst @1c009800 for        1024 bytes.
# [PULP] 9973101ns - WRITE32 burst @1c009c00 for        1024 bytes.
# [PULP] 10169601ns - WRITE32 burst @1c00a000 for        232 bytes.
# [PULP] 10372501ns - WRITE32 burst @1c010000 for        240 bytes.
# [TB  ] 10374101ns - Resuming the CORE
# [TB  ] 10947601ns - retrying debug reg access
# [TB  ] 10976901ns - retrying debug reg access
# [TB  ] 11006201ns - retrying debug reg access
# [TB  ] 11035501ns - retrying debug reg access
# [TB  ] 11064801ns - retrying debug reg access
# [TB  ] 11094101ns - retrying debug reg access
# [TB  ] 11123401ns - retrying debug reg access
# [TB  ] 11152701ns - retrying debug reg access
# [TB  ] 11196701ns - Waiting for end of computation
# [STDOUT-CL31_PE0] [RT(31,0)] WARNING: Reached illegal instruction (PC: 0x1c008e2c, opcode: 0x20230001
# [TB  ] 12114201ns - Received status core: 0x7fffffff
# ** Note: $stop    : /pulpissimo/rtl/tb/tb_pulp.sv(776)
#    Time: 12114201 ns  Iteration: 0  Instance: /tb_pulp
# Break in Module tb_pulp at /pulpissimo/rtl/tb/tb_pulp.sv line 776
# Stopped at /pulpissimo/rtl/tb/tb_pulp.sv line 776
# End time: 11:56:12 on Jun 17,2024, Elapsed time: 0:11:17
# Errors: 0, Warnings: 10
Launching simulator with command:


=====added=======

i check the dump file with make dis
then i found that nop operation is illegal, how can i fix it?

1c008e20: 15a60613 addi a2,a2,346 # 1c00815a <udma_event_handler>
1c008e24: 00a250fb lp.setupi x1,10,1c008e2c <__rt_periph_init+0x1c>
1c008e28: 00c6a22b p.sw a2,4(a3!)
1c008e2c: 0001 nop
1c008e2e: 28072023 sw zero,640(a4)
1c008e32: 28072223 sw zero,644(a4)

thx!


Attached Files Thumbnail(s)
   
Reply
#2
I had the same problem. It is a GCC compiler/install issue i think. The code compiles without error but fails after uploading via jtag in simulation.

I had downloaded from the ubuntu linux artifact from the pulp gcc git repository with the file name and version V1.0.16-pulp-riscv-gcc-ubuntu-18.tar.bz2 but i think i didnt do anything with any scripts like the fix includes script that does something to sort out the liblto. i just copied the folder, set the paths and started using it. I think I had my PATH and other ENV declarations correct. It's possible I missed something there.

Anyway, I ended up ditching that gcc install and instead downloading the latest from the pulp riscv gcc repository and building using the recommended configure options seen on the pulp-platform/risc-gnu-toolchain git readme. During that process I was also re-checking my PATHs and other GCC ENV export paths. This also cleared up any -mno-pulp-hwloops compiler option errors i think.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)