VCS4 debug with DVE

1、重点讲解:

在verilog源代码中嵌入VCD+ 系统函数,重点如testbench文件中。VCD文件是VCS产生的仿真波形文件,未经压缩,占用空间较大。VCD+是压缩后的波形文件。

编译、仿真以生成VCD+文件。

在后处理模式中使用激活DVE+log对产生的errors进行修改优化。

将VCD+文件读进debugger memory中。

最后,Debug。

2、DVE后处理模式

1)仿真速度:

2)信号可视性:用户定义

3)信号可追踪性:可通过源码、原理图或者波形追踪信号,以便后期通过log记录的信息消除errors。

4)适用性:友好的图形界面以及可以应用于所有级别复杂度的电路仿真。

什么情况下使用后处理模式?

VCS4 debug with DVE_第1张图片VCS4 debug with DVE_第2张图片

后处理debug的步骤:

VCS4 debug with DVE_第3张图片

 重点是画线句:要在源代码中嵌入系统函数$vcdpluson,便于在仿真过程中将波形、log等等信息全部记录下来,以便后期使用。

 系统函数:

VCS4 debug with DVE_第4张图片

 level_number:0表示记录全部层级产生的信息;1表示记录当前层产生的信息;n表示记录n层产生的信息。

module_instance:开始记录产生的信息的开始层级,类似起点层。

net_or_reg:记录哪根线或者哪个寄存器产生的信息。

VCS4 debug with DVE_第5张图片

 $vcdplusautoflushon:无论何时出现一个断点(例如$stop系统函数、命令行停止命令或者DVE的停止按钮等等),VCS将把仿真结果等信息从仿真内存写入到VCD+文件中。

$vcdplusautoflushoff:关闭在断点时自动写入数据功能。

$vcdplusautoflush:手动通过VCS写入数据到VCD+文件。

VCS4 debug with DVE_第6张图片

 $vcdplusdeltacycleon:

$vcdplusdeltacycleoff:

$vcdplusglitchon:

$vcdplusglitchoff:

 VCS4 debug with DVE_第7张图片

 $vcdpluson:出现在哪个模块中,该模块以及其子模块的波形都会记录下来。

$readmemb:表示数组中存放的数据为二进制数据,如果结尾为-h则存放的是十六进制数据。

 编译:

VCS4 debug with DVE_第8张图片VCS4 debug with DVE_第9张图片VCS4 debug with DVE_第10张图片VCS4 debug with DVE_第11张图片

条件编译:通过判断是否定义宏,然后是否执行$vcdpluson()函数;VCS4 debug with DVE_第12张图片VCS4 debug with DVE_第13张图片

你可能感兴趣的:(fpga开发)