注意:个人学习笔记,后续会进行修改完善,目前还在初步学习阶段。参考gitee上《从零开始写RISC-V处理器》。
在写testbench文件时,有两点需要注意的,第一点就是在testbench文件里加上读指令文件的操作:
initial begin
$readmemh ("inst.data", tinyriscv_soc_top_0.u_rom._rom);
//inst.data文件读入到rom模块里,inst.data里面的内容就是一条条指令,这样处理器开始执行时就可以从rom里取到指令
end
第二点就是,在仿真期间将仿真波形dump出到某一个文件里:
initial begin
$dumpfile("tinyriscv_soc_tb.vcd");
$dumpvars(0, tinyriscv_soc_tb);
//这样仿真波形就会被dump出到tinyriscv_soc_tb.vcd文件,使用gtkwave工具就可以查看波形了
end
除此之外还可以用Verilog自带的DVE进行波形查看,等后续再补相关操作