-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在difftest中查看仿真波形 #11
Comments
如果有说错的地方请大家指出,相互讨论 |
求助,我直接输入./emu -i add-riscv64-mycpu.bin时可以运行28哥周期,于是重新输入./emu -b 0 -e 28 --dump-wave -i add-riscv64-mycpu.bin就会卡在第一条指令,我换了不同的bin文件也都是这样,检测触的错误值还一样 |
可能跟NEMU和difftest版本有关,我使用的香山最新的版本;你下载最新的试一下 |
我前两天用最新版本menu编译总过不了,然后重新下了稳定版本,啊这 |
NEMU 第一次make的时候要用make menuconfig,进去自己配置一些选项;编译不过的话,是缺少文件,按照提示装上就行了 |
是否接入了DifftestTrapEvent |
谢谢大佬,问题已经解决。之前trap信号的cycleCnt硬连线到0了... |
在Difftest中查看仿真波形
描述:在调试过程中,遇到信号值不正确,单从emu程序中看不出问题的时候,可以考虑启用波形仿真。
1.修改源文件
1.1 make 相关
verilator.mk
:定位到以下代码段(关键字:trace
)"你的项目名字"/difftest/verilator.mk
EMU_TRACE ?=
修改为EMU_TRACE ?= 1
,并保存1.2 difftest 源码
emu.h
"你的项目名字"/difftest/src/test/csrc/verilator/emu.h
2.编译和运行
2.1 编译新的emu程序
"你的项目名字"/difftest
目录执行以下命令,生成新的emu
程序2.2 运行emu程序
"你的项目名字"/build
目录,执行以下命令(将emu
和*.bin
文件拷贝到其他地方执行也可以,只要你知道这两个文件的路径)Guest cycle spent: 22
("22"是例子具体要看你自己的程序)SimTop.v
中接入 “DifftestTrapEvent ”模块Guest cycle
填入0和22,表示全程记录"你的项目名字"/build
目录下会生成以时间命名的*.vcd
文件3.使用gtkwave观察仿真波形
*.vcd
文件,添加一些信号,即可查看仿真波形4.思路过程
The text was updated successfully, but these errors were encountered: