OpenXiangShan / xs-env

XiangShan Frontend Develop Environment
https://xiangshan-doc.readthedocs.io/zh_CN/latest/tools/xsenv/
Other
45 stars 48 forks source link

NutShell无法正常运行 #20

Closed retrhelo closed 2 years ago

retrhelo commented 2 years ago

将repo拉取下来以后发现无法正常地对NutShell进行测试。会出现指令无法正确提交的问题,如下图所示

image

AugustusWillisWang commented 2 years ago

XiangShan 和 NutShell 的默认起始 PC 存在差异。可以参考下面的脚本来进行 NutShell 的仿真: https://github.com/OpenXiangShan/difftest/blob/3f20bf7877b9c2c000f78a49c68f5384914560ad/.github/workflows/main.yml#L37-#L45

sashimi-yzh commented 2 years ago

好像要make emu-run才能跑仿真 @AugustusWillisWang

AugustusWillisWang commented 2 years ago

嗯,重点是编译 emu 的时候修改下 difftest 的起始地址。

一种方法是带上参数来编译 emu make emu EMU_CXX_EXTRA_FLAGS="-DFIRST_INST_ADDRESS=0x80000000"

另一种办法是在这里修改 difftest 起始地址到 0x80000000: https://github.com/OpenXiangShan/difftest/blob/3f20bf7877b9c2c000f78a49c68f5384914560ad/config/config.h#L33-L35

这样编译出来的 NutShell emu 就可以正常 difftest 了。接下来可以按 readme 里的说明跑仿真。例子

retrhelo commented 2 years ago

嗯嗯好的,问题解决了。谢谢大佬。