我是靠谱客的博主 微笑宝贝,最近开发中收集的这篇文章主要介绍FSDB 波形文件产生以及截取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

FSDB波形产生:

FSDB:Fast Signal Database 相比较于VCD文件,FSDB文件的大小比VCD波形小5-50倍。

各家的仿真器都支持在simulation的过程中,直接生成FSDB文件

将VCD文件转换为FSDB文件的三种方式:

1) vfast工具

2) 在nTrace中使用File---Load simulation Tesults打开

3) 在nWave中使用File---Open命令来打开 将Fsdb文件转换为Vcd文件: 1) fsdb2vcd工具,

 

在进行仿真时,novas_dump.log文件会产生,其中记录verdi的环境变量

 

FSDB Dumper支持三种方式来加入options:

1) simulator的command line中添加,simv +fsdbfile+high.fsdb

2) 直接在env中添加,setenv NOVAS_FSDB_FIEL mid_prio.fsdb

3) FSDB Dumping cmd中添加,$fsdbDumpfile("+fsdbfile+low_prio.fsdb")

其中,并不是每个option都支持三种方式,cmd line中的优先级最高

 

FSDB Dumping cmd line option

+fsdbfile+filename,指定FSDB文件的名字,默认名字是novas.fsdb。

+fsdbfile+test1.fsdb +fsdbLogOff,不打印出log信息。+fsdbLogOff

+fsdbLog=severity,按severity的方式dump log信息。+fsdbLog=3

+fsdb+all[=on|off],dump所有支持的类型,+fsdb+all=on

+fsdb+autoflush,在simulation stop或者ctrl+c停止时自动将缓冲中的波形输出,+fsdb+autoflush

+fsdb+dump_log[=on|off],使能或者关闭novas_dump.log,+fsdb+dump_log=on

+fsdb+glitch=num,0表示所有的glitch都保存,1表示最近的glitch保存,2表示最近两个glitch被保存,+fsdb+glitch=0 +fsdb+dumpoff_glitch+time,表示停止dump glitch的时间,+fsdb+dumpoff_glitch+30

+fsdb+dumpoff+time,指定dump结束的时间,+fsdb+dumpoff+2500,+fsdb+dumpoff+2500ps

+fsdb+dumpon+time,指定dump开始的时间,+fsdb+dumpon+500,+fsdb+dumpon+2500ps

+fsdb+io_only,只dump input/output的信号,+fsdb+io_only

+fsdb+parameter,使能parameter的dump,默认关闭,+fsdb+parameter=on

+fsdb+reg_only,只dump寄存器类型的信号,+fsdb+reg_only

+fsdb+psl_prop,只dump PSL property类型的信号,+fsdb+psl_prop

+fsdb+sequential,使能sequence的dump,+fsdb+sequential

+fsdb+strength[=on|off],使能或者不dump strength信息,+fsdb+strength=on

+fsdb+struct[=on|off],使能或者不dump struct信息,+fsdb+struct=on

+fsdb+writer+mem_limit=num,设置limit进行FSDB Flush单位为M,+fsdb+writer_mem_limit=64

+fsdb+sva_status,使能assertion status的dump,+fsdb_sva_status

 

FSDB Dumping task $fsdbDumpfile,设置FSDB的名字,默认是“novas.fsdb”,$fsdbDumpfile("FSDB_NAME",Limit_Size);              

必须在fsdbDumpvars task之前设置。

 

$fsdbDumpvars(depth,instance,"option="),$fsdbDumpvars(0,system,"+fsdbfile+novas.fsdb");

  不指定scope,等同于整个design,等同于"+all"。

$fsdbDumpvarsByFile("txtFileName","option"),将需要dump的信号写入一个file中。

$fsdbDumpFinish,本身FSDB Files在simulation结束时,都会自己关闭,也可以显式调用该task,来关闭。

$fsdbDumpflush,清空缓存中的波形数据。

$fsdbDumpon("options");$fsdbDumpoff("option");

$fsdbAutoSwitchDumpfile(10,"test.fsdb",20),表示在fsbd文件到10M大小之后,创建新的fsbd文件,最多创建20个fsdb文件。

$fsdbSwitchDumpfile("NewFileName"."+fsdbfile+src_file"),执行到该task之后,关闭上一个dump,开始新的dump文件。。

                                                                                    $fsdbSwitchDumpfile(test1.fsdb,"+fsdbfile+test0.fsdb")

$fsdbDumpSVA(depth,instance,"option"),将assertion的结果存在某个fsdb中,

                       $fsdbDumpSVA(1,system.arbiter,"+fsdbfile=SVA.fsdb"),将该instance下所有assert全部dump到该fsdb中。

$fsdbDumpMDA(depth, instance, options),将多维变量的值dump到fsdb中,MDA(multidimensional array),在VCS中使用,compile的时候需要加-debug_pp

FSDB 波形截取:

fsdbextract source.fsdb -bt 10000ns -et 20000ns -o output.fsdb

source.fsdb是原始波形文件,10000ns 和 20000ns是截取波形的开始时间点与结束时间点,otuput.fsdb是截取出来的波形文件名b

最后

以上就是微笑宝贝为你收集整理的FSDB 波形文件产生以及截取的全部内容,希望文章能够帮你解决FSDB 波形文件产生以及截取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部