【数字IC验证】VCS+UVM使用vdp文件产生波形
文章目录
- 一、引言
- 二、仿真文件修改
- 三、修改UVM库中的Makefile文件
- 四、修改自定义Makefile文件
- 五、启动VCS
- 测试源码
一、引言
在上一篇 《Linux中UVM环境搭建》中,我们已经介绍了如何搭建UVM平台,本章将继续深入,在VCS上跑通UVM并显示仿真波形;
二、仿真文件修改
如果要使仿真时产生vpd文件,则需要在仿真程序中(顶层)添加如下代码:
initial begin
$vcdpluson;
end
$vcdpluson;表示从此处记录波形生成vpd文件,默认文件名为vcdplus.vpd
三、修改UVM库中的Makefile文件
需要修改的Makefile文件在uvm-1.1d文件夹的example文件夹下
在 《Linux中UVM环境搭建》中第四节添加的指令基础上,再添加如下配置:
-debug_access+all
保存退出
只有添加了这条语句后,才能正常产生vpd文件,否则程序代码会报错;
四、修改自定义Makefile文件
在 《Linux中UVM环境搭建》中第五节,我们设计了自己的Makefile文件,在此基础上我们对其修改,增加如下两条命令,这样我们每次在调用Makefile文件时就不需要删除上次仿真产生的文件,另一方面我们可以直接从终端跳转到仿真界面,无需再手动输入dev &打开可视化界面再添加波形文件了;
其中clean命令会在每次启动vcs进行编译前,将上一次产生的相关文件删除;
run_dve命令则在生成vpd波形后,直接跳转至仿真界面;
UVM_HOME = /home/ICer/uvm-1.1d
include /home/ICer/uvm-1.1d/examples/Makefile.vcs
all:clean comp run run_dve
comp:
$(VCS) +incdir+../sv \
run_test.sv
run:
$(SIMV) +UVM_TESTNAME=uart_test
$(CHECK)
clean:
rm -rf *.vpd csrc *.log *.key *.vpd simv* DVE*
run_dve:
dve -full64 -vpd vcdplus.vpd &
五、启动VCS
编写完Makefile文件后,我们在其目录下输入命令:
make -f Makefile.vcs
我们可以看到,界面直接跳转到了VCS的仿真可视化界面;
我们将需要观察的波形添加进来
即可看到仿真的波形;
测试源码
链接: https://pan.baidu.com/s/1zHOFH_PcCa8e_Tjy51RYbA?pwd=zvbq
提取码:zvbq
PPRAM: 不好意思具体是哪些信号呢,这篇主要是针对xilinx的axi-stream单对单的实验,所以仅重点解释了握手信号和tlast,其他的一些id、tstrb,更多是用在axi4的outstanding、写交织、narrow burst里面的,不是重点所以就一笔略过了。如果你想了解这些信号,可以评论区里面列出来,我会一一回复。
LMIMPC: 笔者的文章自己不先读一读吗,有些信号的解释说了和没说没区别
2201_75488384: 有偿求代码,谢谢!
king_machine design: K7系列,xc7k325有20w左右lut6
PPRAM: 视情况需要,可以带宽一致不用fifo