如何Dump波形文件并显示波形
1个回答
展开全部
常用的波形文件有如下三种,
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
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
瑞地测控
2024-08-12 广告
2024-08-12 广告
在苏州瑞地测控技术有限公司,我们深知频率同步与相位同步的重要性。频率同步确保两个或多个设备的时钟频率变化一致,但相位(即时间点)可保持相对固定差值。而相位同步,即时间同步,要求不仅频率一致,相位也必须完全一致,即时间差恒定为零。相位同步的精...
点击进入详情页
本回答由瑞地测控提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询