之前一直在用terminal做所有的仿真和测试,看波形的机会没有很多,偶尔看过几次也是用gtkwave看的。但是说实话verdi还是有必要学一下的,毕竟是业界标准仿真工具(


why verdi

通过$display+gtkwave的方式对于小模块来说完全够用,但是当设计比较复杂的时候,信号线会有很多,想要找到他的驱动源光看waveform还是比较困难。

verdi是synopsys的一个调试平台,这个软件是把波形,源码,原理图等联合到一起,可以从一根有问题的信号线出发,快速定位到他的驱动逻辑。在业界verdi是很常用的debug工具,一般会配合Synopsys VCS/Cadence NC来做simulation.

verdi要读取三类文件:design(.v/.sv), testbench(.v/.sv), waveform(.fsdb).
其中.fsdb是compiler生成的synopsys系的波形文件。


open project

首先是通过verdi打开整个工程。这里选择打开week4中RAL模型的最后一组代码。

我们给整个工程添加一个filelist.f用来管理代码文件:

filelist.f:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
dma.sv
dma_interface.sv
dma_seq_item.sv
dma_sequence.sv
read_sequence.sv
write_sequence.sv
dma_sequencer.sv
dma_driver.sv
dma_monitor.sv
ctrl.sv
intr.sv
io_addr.sv
mem_addr.sv
dma_reg_model.sv
dma_reg_seq.sv
dma_adapter.sv
dma_agent.sv
dma_model_env.sv
dma_sfr_defines.sv
dma_model_base_test.sv
dma_reg_test.sv
testbench.sv

从零开始的DFT工程师! homepage

project homepage is here.