波形文件和仿真结果波形文件的差别有以下几点,具体如下:
1.打开命令不同
波形文件观察波形时,结束时都会生成一个*.wlf的文件(默认是vsim.wlf),可以用modelsim直接打开vsim -view vsim.wlf -do run.do。
仿真结果波形文件包含了信号的变化信息,就相当于记录了整个仿真的信息,我们可以用这个文件来再现仿真,也就能够显示波形,但是波形文件会很大,使用VCD打开。
2.功耗不同
波形文件通过Encounter 和 PrimeTime PX (Prime Power)都可以通过输入网表文件,带功耗信息的库橘迅文件以及仿真后产生的波形文件来实现功耗分析。
仿真结果波形文件记录了信号的完整变化信息,我们还可以通过VCD文件来估计设计的功耗,而这一点也是其他波形文件所不具备的。
3.数据量不同
波形文件数据量小,而且会提高仿真速度。我们知道VCD文件使用verilog内置埋伍帆的系统函数来实现 的,fsdb是通过verilog的PLI接口来实现的。
仿真结果波形文件产生shm文件的时间最短(废话,本来就是一个公司的),产生vcd文件的时间数倍于产生shm和 fsdb的弯雹时间。在笔者测试的例子中,产生的fsdb文件为十几MB,shm文件为几十MB,而仿真结果波形文件则要几个GB的大小。
常用的波形文件有如下三种,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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)