今天说的vivado的仿真是指用vivado自带的仿真工具进行仿真,主要内容集中在如何运用脚本对代码进行仿真。
1,vivado自带工具的图形界面仿真很简单,这里不做过多介绍,但是在图形界面仿真的时候有一点值得注意,就是如何产生设计中所有信号的波形,因为一般vivado是默认产生顶层模块的IO波形,而如果想产生其他信号的波形,还要在仿真之前添加进去,而如果仿真期间还要加信号的话,就只能重新添加信号,然后重新仿真。所以这里我们利用verilog中的dumpvars系统调用来dump出所有的波形。做法就是在仿真设置下面加一条命令-testplusarg dump_all。这个命令会被代码中的
if ($test$plusargs ("dump_all")) begin
捕捉到,从而会执行
$dumpfile("board.vcd");
$dumpvars(0, board);
系统调用函数来dump出所有的波形。
2,下面主要说一下怎么在命令行界面进行仿真:
在命令行界面进行仿真就必须了解vivado的仿真机理,例如,
----源代码是如何被编译,然后执行的;
----如果设计中包含ip核,仿真的过程有事怎样的;
----有些ip核对应的有源码,而有些ip核实没有源码的,这个时候该利用什么队ip核进行仿真;
首先,vivado的命令行仿真是可以脱离vivado环境来实现的,就想第三方仿真工具仿真一样。在vivado中,用于仿真的工具有三个:xvlog, xelab, xsim。分别对应com