OpenXiangShan / XiangShan

Open-source high-performance RISC-V processor
Other
4.45k stars 618 forks source link

Assertion failed at UserYanker.scala:63 assert (!out.r.valid || r_valid) // Q must be ready faster than the response #3057

Open Jeremy-Jia opened 2 weeks ago

Jeremy-Jia commented 2 weeks ago

Before start

PLEASE MAKE SURE you have done these:

Describe you problem.

A clear and concise description of what the problem is.

Screenshots

If applicable, add screenshots to help explain your problem.

What did you do before

Please describe step by step what did you do before you encounted the problem.

make emu CONFIG=MinimalConfig NUM_CORES=4

Environment (please complete the following information):

Additional context

Add any other context about the problem here.

错误信息: ./build/emu -i ../nexus-am/apps/hello/build/hello-riscv64-xs.bin --no-dif --du mp-wave Emu compiled at Jun 11 2024, 23:45:04 Using simulated 32768B flash No valid flash bin path, use preset flash instead The image is ../nexus-am/apps/hello/build/hello-riscv64-xs.bin Using simulated 8192MB RAM Assertion failed at line 26639. The simulation stopped. There might be some assertion failed. Core 0: ABORT at pc = 0x2ad67c688d total guest instructions = 0 instrCnt = 0, cycleCnt = 544, IPC = 0.000000 Core 1: ABORT at pc = 0xfffffff35a1e481d total guest instructions = 0 instrCnt = 0, cycleCnt = 544, IPC = 0.000000 Core 2: ABORT at pc = 0x3c5695d5c1 total guest instructions = 0 instrCnt = 0, cycleCnt = 544, IPC = 0.000000 Core 3: ABORT at pc = 0x1b101e5ff8 total guest instructions = 0 instrCnt = 0, cycleCnt = 544, IPC = 0.000000 Seed=0 Guest cycle spent: 547 (this will be different from cycleCnt if emu loads a snapshot) Host time spent: 1854ms Assertion failed at UserYanker.scala:63 assert (!out.r.valid || r_valid) // Q must be ready faster than the response

cebarobot commented 2 weeks ago

MinimalConfig is just a config fore single core smoke test and is not well tested. I don't think minimalconfig could work properly with 4 cores. Please consider to use DefaultConfig for multiple cores.

MinimalConfig 仅用于单核冒烟测试,并没有经过细致地验证。我不认为它能够在4核配置下正常运行。对于4核场景,请考虑使用 DefaultConfig。