VCS中VPD的使用简单教程

Dumping VPD文件

文章参考:《VCS/VCSi User Guide》


前言

可使用如下方式产生一个VPD文件:
  1. 使用系统任务——用于Verilog设计;
  2. 使用UCLI——用于VHDL、Verilog和混合设计;
  3. 使用DVE

一、使用系统任务?

VCS提供如下的Verilog系统任务:

  1. 是否使能Dumping;
  2. 覆盖VPD文件;
  3. Dump多维度队列和内存;
  4. 捕获增量周期信息

1. 是否使能Dumping

可以使用Verilog系统任务$vcdpluson $vcdplusoff控制是否使用VPD格式dumping仿真历史。
注意:默认的VPD文件名为vcdplus.vpd。但我们可使用 $vcdplusfile替换默认文件名。

$vcdpluson语法格式:

$vcdpluson (level |"LVL=integer", scope*, signal*);

level | LVL=integer_variable
指定要下降以记录信号值更改的层次结构作用域级别数(如果是0,将会把所有作用域实例记录到层次结构的末尾;默认值为0)。
可使用“LVL=integer_variable”指定层次结构作用域级别的数。在本例中,integer_variable 指定要下降的级别以记录信号值的变化。

scope
指定记录信号值更改的作用域名称(默认为全部)。

signal
指定记录信号值变化的信号名称(默认为全部)。
注意:在语法中,* 表示参数可以有一个包含多个值的列表(对于作用域或信号)。

$vcdplusoff语法格式:

$vcdplusoff (level |"LVL=integer", scope*, signal*);

例子:

`timescale 1ns/1ns
module test();
...
initial
  begin
    $vcdpluson; // Enable Dumpling
    $vcdplusoff(test.risc1.alu1); // Does not dump signal
    							  // value
    ...
  end
...
endmodule

上面的示例,将这个设计使能dumping。但通过使用$vcdplusoff将实例alu1以及低于alu1层次结构的实例们取消使能dumping。
注意:如果多个 $vcdpluson 命令导致给定信号被保存,则该信号将继续保存,直到将等效数量的 $vcdplusoff 命令应用于该信号。

2. 覆盖VPD文件名

$vcdpluson默认将仿真历史记录在vcdplus.vpd文件中。但我们可以通过使用系统任务 $vcdplusfile覆盖默认文件名:

$vcdplusfile ("filename.vpd");
$vcdpluson ();

注意:在使用$vcdplusfile指定文件名后,必须在其之后使用 $vcdpluson(),从而实现覆盖默认vpd文件名。

例如:

`timescale 1ns/1ns
module test();
...
initial
  begin
    $vcdplusfile("my.vpd); // Dumps signal value changes 
    	     	   	       // in my.vpd
    $vcdpluson; // Enable Dumping
    ...
  end
...
endmodule

以上示例中,使用my.vpd替代默认的vcdplus.vpd文件,将真个设计的信号变量改变值记录到my.vpd文件中。

3. Dump多维度队列和内存

本节介绍提供对多维数组 (MDA) 的可见性的系统任务和功能。

对于可见的MDA数据具有以下两种方法:

  • 方法1。使用系统任务 $vcdplusmemon $vcdplusmemoff,从而在每次 MDA 有数据更改时都会记录数据。
    注意:我们应该使用编译选项 +memcbk 来使用这些系统任务。。
  • 方法2。使用系统函数 $vcdplusmemorydump,从而仅在调用任务时存储数据。

总结

未完待续...
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VCS DVE(Version Control System Design and Verification Environment)是一个用于版本控制系统设计和验证环境的工具。以下是一些简要的使用教程: 1. 安装VCS DVE:首先,你需要从官方网站上下载并安装VCS DVE工具。根据你的操作系统选择合适的版本。 2. 创建工程:打开VCS DVE并创建一个新的工程。你可以指定工程的名称和存储位置。 3. 导入设计文件:将你的设计文件导入到VCS DVE。这些文件可以是Verilog或SystemVerilog格式的。 4. 设计规约:在设计文件添加适当的规约来描述设计行为。你可以使用SystemVerilog Assertions(SVA)或其他验证语言来定义规约。 5. 编写测试用例:创建测试用例来验证设计的正确性。这些测试用例应该覆盖设计的各个方面,包括各种边界条件和异常情况。 6. 运行仿真:使用VCS DVE的仿真功能来运行测试用例。你可以选择不同的仿真选项,如波形查看、代码覆盖率分析等。 7. 分析结果:分析仿真结果并检查设计是否满足规约和预期行为。你可以使用VCS DVE提供的调试工具来帮助定位问题。 8. 优化设计:如果发现设计存在问题或不满足要求,你可以进行优化或修改,然后重新运行仿真和分析。 以上仅是一个简要的使用教程VCS DVE是一个功能强大的工具,可以在设计和验证过程发挥重要作用。对于更详细的教程和指南,你可以参考VCS DVE的官方文档或相关教程资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值