Open LIUQyou opened 3 years ago
Was your program able to run in spike?
Hello, have you solved is.I met the same problem. In the sim/inverter directory, I use the "riscv32-unknown-elf - *" toolchain to compile TinyRocketConfig, and then run the command
./simulator-chipard-TinyRocketConfig $RISCV/riscv32-unknown-elf/share/riscv-tests/benchmark/dhrystone.riscv
but I encountered an error,which like:
This emulator compiled with JTAG Remote Bitbang client. To enable, use +jtag_rbb_enable=1. Listening on port 36189 [UART] UART0 is here (stdin/stdout). [108000] %Error: chipyard.TestHarness.TinyRocketConfig.harness.v:25587: Assertion failed in TOP.TestHarness.ram.buffer_1.monitor %Error: /home/yyx/riscv/projects/chipyard/sims/verilator/generated-src/chipyard.TestHarness.TinyRocketConfig/chipyard.TestHarness.TinyRocketConfig.harness.v:25587: Verilog $stop Aborting...
Then I also increased the size of dtim and icache in TinyRocketConfig to 32KB. I ran again and encountered an error:
This emulator compiled with JTAG Remote Bitbang client. To enable, use +jtag_rbb_enable=1. Listening on port 36987 [UART] UART0 is here (stdin/stdout). FAILED (tohost = 1337) FAILED (code = 1337, seed 1666237832) after 117165 cycles
How can I fixed this? Thank you.
but I encountered an error
Unfortunately, the TinyRocketCore is not well supported at the user level in Chipyard. Even though your DTIM is larger, you may need to adjust the linker script since it's possible your binary is still accessing memory it thinks it has but really doesn't.
Full disclosure: I have no idea what the fesvr failure codes mean and would have to dig around in the code to find where they come from and what they signify.
How can I fixed this? Thank you.
I'd migrate this discussion to #1188
OK.Thank you.
but I encountered an error
Unfortunately, the TinyRocketCore is not well supported at the user level in Chipyard. Even though your DTIM is larger, you may need to adjust the linker script since it's possible your binary is still accessing memory it thinks it has but really doesn't.
Full disclosure: I have no idea what the fesvr failure codes mean and would have to dig around in the code to find where they come from and what they signify.
How can I fixed this? Thank you.
I'd migrate this discussion to #1188
Again, I used the rv32 tool chain to run RV32RocketConfig, and also successfully ran dhrystone.riscv under the rv32 tool chain. Both are rv32 structured. What's the difference between them? Why does TinyRocketConfig have problems. RV32RocketConfig simulation resuls:
yyx@yyx-virtual-machine:~/riscv/projects/Chipyard-yyx/sims/verilator$ ./simulator-chipyard-RV32RocketConfig /home/yyx/riscv/projects/Chipyard-yyx/riscv32-tools-install/riscv32-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv This emulator compiled with JTAG Remote Bitbang client. To enable, use +jtag_rbb_enable=1. Listening on port 39591 [UART] UART0 is here (stdin/stdout). Microseconds for one run through Dhrystone: 492 Dhrystones per Second: 2030 mcycle = 246294 minstret = 202029
@michael-etzkorn
I’d first confirm the linker script matches TinyConfig’s uarch. Especially, after hearing you were able to get farther by increasing the dtim size
发件人: Yuxin @.> 发送时间: Friday, October 21, 2022 2:29:36 PM 收件人: ucb-bar/chipyard @.> 抄送: Michael Etzkorn 明凯 @.>; Mention @.> 主题: Re: [ucb-bar/chipyard] Question about failed everything for RocketTinyCore (#827)
but I encountered an error
Unfortunately, the TinyRocketCore is not well supported at the user levelhttps://github.com/ucb-bar/chipyard/issues/1188 in Chipyard. Even though your DTIM is larger, you may need to adjust the linker script since it's possible your binary is still accessing memory it thinks it has but really doesn't.
Full disclosure: I have no idea what the fesvr failure codes mean and would have to dig around in the code to find where they come from and what they signify.
How can I fixed this? Thank you.
I'd migrate this discussion to #1188https://github.com/ucb-bar/chipyard/issues/1188
Again, I used the rv32 tool chain to run RV32RocketConfig, and also successfully ran dhrystone.riscv under the rv32 tool chain. Both are rv32 structured. What's the difference between them? Why does TinyRocketConfig have problems. @michael-etzkornhttps://github.com/michael-etzkorn
― Reply to this email directly, view it on GitHubhttps://github.com/ucb-bar/chipyard/issues/827#issuecomment-1286517393, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVF2DI6FPSQVW5XCOIHCO4TWEIZ5BANCNFSM4ZCSPZOA. You are receiving this because you were mentioned.Message ID: @.***>
Hi! I have a question about compiling programs for 32-bit cores. I tried to use Verilator to test Bare Metal RISC-V Programs with TinyCore( Is it 32-bit core, right?). First of all, I make TinyRocket with "make CONFIG=TinyRocketConfig". Then I got the simulation-XXX-Config file. Then I compile the benchmarks in Toolchain/riscv-tools, then I used ./simulation-XXX-Config dhrystone.riscv to test my tinycore. Then I failed. I thought it might be the problem of too small scratchpad memory( I am not sure, could you tell me if it is the reason?). Then write a very simple program, it fails as well, which makes me very confused. The following is my code:
then I got
By the way, the make file I used is like the following:
Could you tell me what should I do to compile my program? My goal is to use .riscv file like the following. ./simulator-chipyard-TinyRocketConfig hello.riscv
Thanks in advance, Best regards, Liu