数字IC设计过程中不同波形文件及多维数组dump

1、对于数字IC设计过程中不同仿真工具对应不同的波形文件,具体有如下几种:

  1. vcd(Value Change Dump),这是一种通用的格式,是IEEE1364标准(Verilog HDL语言标准)中定义的一种ASCII文件。它主要包含了头信息,变量的预定义和变量值的变化信息。由于是verilog HDL标准的一部分,因此所有的仿真工具都必须支持。此外VCD记录的信息最为完整,可通过VCD文件来估计设计的功耗,而这一点也是其他波形文件所不具备的。Encounter 和 PrimeTime PX (Prime Power)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的VCD文件来实现功耗分析。

  2. 2、fsdb(Fast Signal DataBase),是Spring Soft (Novas)公司 Debussy / Verdi 支持的波形文件,类似于VCD,但只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,因此fsdb文件通常会比较小,像对VCD数据进行了一次huffman编码。

  3. 3、wlf(Wave Log File),是Mentor Graphics公司(现西门子)modelsim支持的波形文件,同样也比较小。

  4. 4、vpd(Value Plus Dump),是Synopsys公司VCS自带的波形查看器DVE所支持的格式。

  5. 5、shm是Cadence公司 NC verilog 和Simvision支持的波形文件,实际上 .shm是一个目录,其中包含了.dsn和.trn两个文件。

各家的波形文件互不相同,但都可以通过vcd文件进行中转。比如verdi下的波形文件fsdb要在modelsim中打开,则需要先用verdi将fsdb转成vcd,再通过modelsim将vcd转成wlf,分别用到命令fsdb2vcd,vcd2wlf。

2、在很多时候,我们需要dump波形中包括多维数组,那对于不同的仿真工具,如何dump多维数组呢?

  1. 对于VCS仿真工具:
    a) 如果是dump vcd波形,则需要先在编译和仿真2个阶段(即vcs和simv命令)都必须加上“+memcbk +vcs+dumparrays”参数,然后通过以下2个系统函数收集波形。
    $dumpfile(“*.vcd”);//指定dump的文件路径和名称
    $dumpvars(0,**);//指定dump的层次

b) 如果是dump vpd波形,则需要在vcs和simv之后加上“+memcbk”,然后通过vcs自带的函数、$vcdpluson收集波形,并在dump波形时加上$vcdolusmemon();函数。

c) 如果是dump fsdb波形,则无需在编译和仿真时加入特殊的命令,通过自带的函数
$fsdbDumpfile(“test.fsdb”); //指定dump的波形文件路径和名称
$fsdbDumpvars(0,test,“+mda”)//指定dump的层次以及多维数组
也可以使用$fsdbDumpMDA()来dump多维数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值