请教vcs一次仿真如何dump多个vcd文件

请教vcs一次仿真如何dump多个vcd文件,第1张

总汪拦亩结一下:

方法一: 顶层文件.定义任务的文件.task()

方法二:衡枯 在share.h中定义task,在引用的模块内 `include "困森share.h", 就可直接调用。

yns001 (2009-8-03 16:59:59)

no thx

lvjun_ok (2009-8-05 21:46:32)

Yes, it is a g

Value change dump, 简称VCD,是一种基于ASCII码的文件格式,用于记录由EDA仿真工具产生的信号信息。四值VCD格式由IEEE标准1364-1995在1995年随Verilog硬件描述语言标准制定。扩展的VCD格式在6年后,由IEEE标准1364-2001制定,增加了对信号的强度和方向进行记录的支持。由于VCD格式结构简单紧凑,它被广泛用于其它非Verilog工具中,比如内核追踪等。

2结构/语法

编辑

VCD文件包含了3个段,依次如下排列:头信息(日期,仿真器,时间精度)、变量定义、值变化信息。这些部分通过对应的关键字进行区分。

VCD关键字通过在词首加$标志(不过变量标志也可以用$开始)。通常,相应的关键字开始一个段,而关键字#end将结束这个段。

VCD语句通过空格区分。VCD文件中的数据变化袭键告敏感。

头信息段

VCD文件的头信息段,包含一个亮伍时间戳,一个仿真器版本号,和一个时间精度。时间精度用拍明于表示下面的值在变化的时候,时间增加的单位。

常用的波形文件有如下三种,

1、trn文件,Cadence simvision支持,通过巧芦如下方式产生

$shm_open(“./wave”)

//产生你所需要dump

波形的文件夹

$shm_probe(bench_top,”AS”)

//bench_top为举例,即你所需要dump的层

$shm_close

2、fsdb文件余知,debussy/verdi支持,通过如下方式产生

$fsdbDumpfile(“./wave/top.fsdb”)

$fsdbDumpvars(5,bench_top)

//从bench_top开始,dump 5层;

$fsdbDumpoff

3、vcd文件,该文件通用性更广,可以转换为任意格式,可惜文件太大,产生方式如下,

$dumpfile(“./wave/top.vcd”)

$dumpvars(5,bench_top)

$dumpoff

当然也可以同时产生,或者通过nc

option指定,

譬如在option中增加+TRN_DUMP/+VCD_DUMP/+FSDB_DUMP等

在.v文件中去解析这样的strings

initial begin

start_dump =10

stop_dump =3000000

finish_time=3000100

#0

begin

if($test$plusargs(“VCD_DUMP”))

$dumpfile(“./wave/top.vcd”)

if($test$plusargs(“TRN_DUMP”))

$shm_open(“./wave”)

if($test$plusargs(“FSDB_DUMP”))

$fsdbDumpfile(“./wave/top.fsdb”)

end

#(start_dump)

begin

if($test$plusargs(“竖宽消VCD_DUMP”))

$dumpvars(5,bench_top)

if($test$plusargs(“TRN_DUMP”))

$shm_probe(bench_top,”AS”)

if($test$plusargs(“FSDB_DUMP”))

$fsdbDumpvars(5,bench_top)

end

#(stop_dump-start_dump)

begin

if($test$plusargs(“VCD_DUMP”))

$dumpoff

if($test$plusargs(“TRN_DUMP”))

$shm_close

if($test$plusargs(“FSDB_DUMP”))

$fsdbDumpoff

end

#(finish_time-stop_dump)

$stop

$finish

end

各种波形文件的打开方式

TRN

simvision ./wave/wave.trn

-input

../../signal_list/simvision.svcf

FSDB

debussy -f $FileList.f

-autoalias -ssf ./wave/top.fsdb -top

bench_top

-sswr

../../signal_list/top.rc

VCD

该文件需要被转换为trn或fsdb文件,然后打开;

转fsdb文件:

vfast ./wave/top.vcd -o ./wave/top.fsdb

&&

debussy -f $FileList.f

-autoalias -ssf ./wave/top.fsdb -top

bench_top

-sswr

../../signal_list/top.rc

转trn文件:

simvisdbutil -CVTMVL9 -OVERWRITE

-LOGFILE wolf.log -OUTPUT wave.trn top.vcd

&&

simvision ./wave/wave.trn

-input

../../signal_list/simvision.svcf


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12249363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存