用Modelsim创建VCD文件

122 views
Skip to first unread message

清钟沁桐

unread,
Apr 18, 2009, 6:55:05 AM4/18/09
to 畅游FPGA世界
这俩天用Modelsim跑仿真,用的还不是很熟练。感觉比起NC-verilog来,要麻烦不少,尤其是观测波形的时候。但是由于
LDV版本比较低,不支持Verilog2001语法,所以只好用Modelsim仿真。看到网上有教程可以用Modelsim生成VCD文件,这样就
可以用我熟悉的LDV来转换观看波形了。

Verilog提供一系列系统任务用于记录信号值变化保存到标准的VCD(Value Change Dump)格式数据库中。大多数
波形显示工具支持VCD格式。

$dumpfile("file. dump"); 打开一个VCD数据库用于记录
$dumpvars(); 选择要记录的信号
$dumpflush; 将VCD数据保存到磁盘
$dumpoff; 停止记录
$dumpon; 重新开始记录
$dumplimit(); 限制VCD文件的大小(以字节为单位)
$dumpall; 记录所有指定的信号值

必须首先使用$dumpfile系统任务,并且在一次仿真中只能打开一个VCD数据库。

在仿真前(时间0前)必须先指定要观测的波形,这样才能看到信号完整的变化过程。

仿真时定期的将数据保存到磁盘是一个好的习惯,万一系统出现问题数据也不会全部丢失。

VCD数据库不记录仿真结束时的数据。因此如果希望看到最后一次数据变化后的波形,必须在结束仿真前使用$dumpall。

在testbench文件中加入如下代码

initial
begin
$dumpfile ("testbench. vcd");
$dumpvars (0, testbench); //Dump testbench模块的所有信号
end

或者

initial
begin
$dumpfile ("testbench. vcd");
$dumpvars; // Dump所有层次的信号
end

另外,我用SimVision观测从VCD文件转换过来的波形,不能看到端口信号的属性,就是说区分不了input/output/
inout了。这个问题还未解决。

清钟沁桐

unread,
Apr 23, 2009, 7:21:05 AM4/23/09
to 畅游FPGA世界
用Modelsim创建VCD文件
2008-06-30 17:49
Reply all
Reply to author
Forward
0 new messages