找回密码
 注册
关于网站域名变更的通知
查看: 1112|回复: 1
打印 上一主题 下一主题

VCD,FSDB,WLF波形文件简介

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-10 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
VCD,FSDB,WLF波形文件简介
! `: w( h6 G' \7 H1 K

2 W8 m8 H- _" l, U% }wlf(wave log file)文件
% p$ s6 h" o* M: F% e; C4 Dvsim -view vsim.wlf -do run.do在modelsim中使用命令行打开wlf波形文件,run.do为要查看的波形信号6 |# e& }9 ?3 u# w; M: ~
wlf只能通过modelsim生成以及显示,不是通用的波形文件格式
! M& v1 Z4 h* M' V. \) ^5 H9 B$ c, C9 p* u5 I3 p1 x
VCD(value change dump)文件
8 U9 a  \: u6 AVCD是一个通用的波形文件格式,是IEEE1364标准(Verilog HDL语言标准,p325)中定义的一种ASCII文件.
& \' z3 j, _8 K可以通过Verilog HDL的系统函数$dumpfile,$dumpvars等来生成。通过$dumpvars的参数来规定抽取仿真中某个特定模块和信号的VCD数据。3 l4 P/ i( e6 [. N1 `; ?7 A! }
文件主要包含了头信息,变量的预定义和变量值的变化信息。它包含了信号的变化信息,相当于记录了整个仿真的信息。可以这个文件来再现仿真以及显示波形。另外我们还可以通过这个文件来估计设计的功耗。可以在verilog代码中通过系统函数来dump VCD文件。另外,我们也可以通过modelsim 命令来生成VCD文件。具体的命令:
, R, U+ P, \' q- N4 x7 H% jvcd file myfile.vcd        //准备在modelsim中生成myfile.vcd文件
6 Q6 D- O! b2 Svcd add /test/dut/*      //添加信号
$ Q7 r8 P8 W1 N% |/ ?( D) i' c这个就生成一个含dut下所有信号的VCD数据信息。我们在使用来进行仿真4 K0 l' g& K- ~1 J

9 v4 r7 q- V; i8 q* Kvsim -vcdstim myfile.com test;
) M; J3 M, I- z( madd wave /*;" b6 i+ W9 v, v  u
run -all;
' V2 |7 F8 ~9 A% A( ?0 b用法举例(通过仿真器生成):
2 {' |7 {' r0 ]: J: kinitial begin% b; Y$ u. m9 Q5 o" c
$dumpfile("result.dump");    //生成对应的文件: ]+ x2 p! W) O3 K, t, N
$dumpvars[(<levels>), *];    //如何规定单一关注的信号
# V0 D. G$ c; [! ]$ _$dumpvars;                           //dump所有层次的信号- X- K/ P: ~+ b9 y+ ?6 P  a) ^" x
$dumpvars(1, top);                //top模块中的所有信号+ I7 N! b: ?- O( X
$dumpvars(0, top);                //top模块及其模块中的所有信号/ @7 r/ e2 Y  w2 L6 V% Z) _
end4 F7 K- U( ~$ I, w7 k
3 c& n! J; h0 g" z- x. N0 g
Encounter 和 PrimeTime PX (Prime Power)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的VCD文件来实现功耗分析。
. [% u0 m* q9 F: F; o$dumpfile("mmu_test_dump.txt");
2 t: M! Z) O, U2 q$dumpvars(1,mmu_test.ret_out);    //mmu_test模块下的ret_out信号* {7 W# W; `* B4 `2 n- D, l

$ A: m" f/ y2 L7 j! \) P0 p/ A" R% }' W; R- b! _  w
fsdb(fast signal database)文件
0 }- R) a9 C" i5 rfsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。因此fsdb数据量小,而且会提高仿真速度。VCD文件使用verilog内置的系统函数来实现的,fsdb是通过verilog的PLI接口来实现的。$fsdbDumpfile,$fsdbDumpvars等
. G3 N* m0 v3 q9 o! h9 STestbench中加入:
% a; ~6 ~8 w1 O" e+ X! w8 _8 _; Ainitial+ g3 a- z3 M" {5 G
begin
- P0 n& u( {6 Q* O5 s9 I$fsdbDumpfile("*.fsdb");
: X" D- P2 L0 z' v  Y$fsdbDumpvars(0,**);( J% Q, h1 i& e
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 03:26 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表