在《Chisel实验笔记(二)》中,通过编写TestBench文件,然后使用Icarus Verilog、GtkWave可以测试,查看相关波形,比较直观,在《Chisel实验笔记(三)》直接对得到C++模拟器进行测试,也可以得到测试结果,实际上对C++模拟器进行测试也可以同时得到vcd文件,从而使用GtkWave查看波形,得到直观的结果。本文就介绍了这个过程。
为了得到对应的vcd文件,需要对《Chisel实验笔记(三)》中的代码做一处修改:
在main方法的margs变量中增加一个参数"--vcd",如下:
val margs=Array("--backend","c","--genHarness","--compile","--test","--vcd") // 增加了一个“--vcd”参数
此时运行该程序,可以输出仿真结果如下:
<pre name="code" class="plain">STARTING ./Max2
RESET 5
POKE Max2.io_in0 <- 0x82
POKE Max2.io_in1 <- 0x80
STEP 1 -> 1
PEEK Max2.io_out -> 0x82
EXPECT Max2.io_out <- 130 == 130 PASS
POKE