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

VCD,FSDB,WLF波形文件简介

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
VCD,FSDB,WLF波形文件简介

9 B& p1 y% N# R. J" k1 E0 R$ W4 ^& ]; v& I5 m. a5 g
wlf(wave log file)文件! p* N; M0 J- [$ L( W+ a
vsim -view vsim.wlf -do run.do在modelsim中使用命令行打开wlf波形文件,run.do为要查看的波形信号
) ?9 l* Y% D5 j! S7 W+ |  xwlf只能通过modelsim生成以及显示,不是通用的波形文件格式
3 e8 |3 _: M/ o' v9 j$ {: a
4 k" [, c1 _' f% @6 N! w+ W+ YVCD(value change dump)文件( \' g. y% T$ z: `7 B$ K
VCD是一个通用的波形文件格式,是IEEE1364标准(Verilog HDL语言标准,p325)中定义的一种ASCII文件.
4 M) I' F9 ~& o" h9 V可以通过Verilog HDL的系统函数$dumpfile,$dumpvars等来生成。通过$dumpvars的参数来规定抽取仿真中某个特定模块和信号的VCD数据。9 o7 I  E1 Y+ w" r) D( G* p6 l
文件主要包含了头信息,变量的预定义和变量值的变化信息。它包含了信号的变化信息,相当于记录了整个仿真的信息。可以这个文件来再现仿真以及显示波形。另外我们还可以通过这个文件来估计设计的功耗。可以在verilog代码中通过系统函数来dump VCD文件。另外,我们也可以通过modelsim 命令来生成VCD文件。具体的命令:
7 z' @3 d: ]( \" Jvcd file myfile.vcd        //准备在modelsim中生成myfile.vcd文件5 @7 D! F- O- `: n' p6 Z
vcd add /test/dut/*      //添加信号
* I7 v5 j' p6 {* e# n4 t: F3 C这个就生成一个含dut下所有信号的VCD数据信息。我们在使用来进行仿真- V' j- C' A5 }# A. V
6 V2 p" l: t  R' c; C
vsim -vcdstim myfile.com test;+ K0 K( c  N+ e8 z8 `
add wave /*;1 I$ \  w4 L  u+ O$ b! A
run -all;& t' U- h5 m# P4 o2 L! x
用法举例(通过仿真器生成):
& _( Q6 x: Y8 _) K0 b/ ~3 minitial begin0 ~; B' R  t2 y5 ?( ?4 o4 {
$dumpfile("result.dump");    //生成对应的文件
# ]" _, q! S' C$dumpvars[(<levels>), *];    //如何规定单一关注的信号0 z0 u& }, C& N3 R* e; Q$ V4 B
$dumpvars;                           //dump所有层次的信号
! w  ]+ w# a$ ~  E) l$dumpvars(1, top);                //top模块中的所有信号
: W+ }$ z8 V- @  ~$ X$dumpvars(0, top);                //top模块及其模块中的所有信号
/ f& }5 C9 @7 j4 v; K, P* Wend
5 k3 t6 O& S  _
5 Z/ M; Y( B5 \; Z1 cEncounter 和 PrimeTime PX (Prime Power)都可以通过输入网表文件,带功耗信息的库文件以及仿真后产生的VCD文件来实现功耗分析。
0 W. p3 n! h$ l$ \; {$ q$dumpfile("mmu_test_dump.txt");# p) n4 X# O1 E4 ]/ l1 y( p
$dumpvars(1,mmu_test.ret_out);    //mmu_test模块下的ret_out信号5 x, H  z9 B! N0 G  H6 M

7 s: o- q: u1 h& K) X
- I7 h$ J& k% \- a1 Rfsdb(fast signal database)文件% T2 q% O, q0 v3 N7 z; A
fsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。因此fsdb数据量小,而且会提高仿真速度。VCD文件使用verilog内置的系统函数来实现的,fsdb是通过verilog的PLI接口来实现的。$fsdbDumpfile,$fsdbDumpvars等- E; n8 R4 U% R/ _
Testbench中加入:
! P8 }6 k+ E0 B/ Ainitial
) p; ]7 J; i5 |4 S! ?begin
9 w/ e4 y1 ], ~- W. V, z$fsdbDumpfile("*.fsdb");
% x5 y  V7 }- ~' ~4 n$fsdbDumpvars(0,**);( t$ S" t1 X/ T9 z
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-31 05:57 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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