- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【SoCVista】有关FSDB文件的一些问题
收集整理自开源 IP 通吃岛 /bbs
有关 FSDB 波形文件的一些问题
作者:justdoit 、winfire 、dicer、5life 等等
一、介绍
三个术语:
VCD :Value Change Dump 文件,
Fsdb :Fast Signal DataBase 文件,
WLF :Wave Log File 文件,
对于 WLF 波形日志文件,只要我们使用过 modelsim ,应该都很熟。但我们在波形窗口观察波形时,仿真结束时都会生
成一个*.wlf 的文件(默认是 vsim.wlf) 。
我们下次就可以通过通过 modelsim 直接打开这个保存下来的波形。
vsim -view vsim.wlf -do run.do 其中 run.do 中的内容为要查看的波形信号。
要强调的是这个 wlf 文件只能是由 modelsim 来生成,也只能通过 modelsim 来显示。不是一个通用的文件文件格式。
VCD 文件是 IEEE1364 标准(Verilog HDL 语言标准) 中定义的一种 ASCII 文件。可以通过 Verilog HDL 的系统函数
$dumpfile,$dumpvars 等来生成。我们可以通过$dumpvars 的参数来规定。我们抽取仿真中某个特定模块和信号的 VCD 数
据。它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整
个仿真的信息。我们可以这个文件来再现仿真,也就能够显示波形。另外我们还可以通过这个文件来估计设计的功耗。
解决了前一段时间一直不知道这个 vcd 文件用来干什么的疑问。因为 VCD 是 Verilog HDL 语言标准的一部分,因此所有
的 verilog 的仿真器都要能实现这个功能。因此我们可以在 verilog 代码中通过系统函数来 dump VCD 文件。另外,我们
可以通过 modelsim 命令来 dump VCD 文件,这样可以扩展到 VHDL 中。具体的命令:
vcd file myfile.vcd
vcd add /test/dut/*
这个就生成一个含 dut 下所有信号的 VCD 数据信息。我们在使用来进行仿真
vsim -vcdstim test;add wave /*;run -all;
fsdb 文件是 verdi 使用一种专用的数据格式,类似于 VCD ,但是它是只提出了仿真过程中信号的有用信息,除去了VCD
中信息冗余,就像对 VCD 数据进行了一次 huffman 编码。因此 fsdb 数据量小,而且会提高仿真速度。我们知道 VCD 文
件使用 verilog 内置的系统函数来实现的,fsdb 是通过 verilog 的PLI 接口来实现的。$fsdbDumpfile,$fsdbDumpvars 等
另外,在 VCS 仿真器中还有一种 VCD +的数据格式VPD ,详细情况参照VCS 的使用。
我们为什么要输出 fsdb 格式的波形文件的, 原因之一 VCD 文件比较大,读取时间长,故用 fsdb 格式的波形文件, 其二
是该格式可以由 Debussy 读取, 以便使用Debussy 进行代码分析。
我们要输出 fsdb 的话, 要通过 PLI 来调用 Debussy 的系统函数.
收集整理自开源 IP 通吃岛 /bbs
二、产生 FSDB 波形的一些方法和技巧
1、Modelsim 产生 FSDB 波形文件:
1). 编译 PLI 接口
= 在 DEBUSSY 目录中有PLI 接口代码
...\Novas\Debussy\share\PLI\modelsim_pli54\WINNT
此目录下有源码, 还有一个批处理文件 make.bat,打开作一些路径上的改动
set MODELSIM_PATH=c:\simulators\modeltech_5.3a
cl -c -I%MODELSIM_PATH%\include veriuser.c
link -dll -out:novas.dll -nodefaultlib:libcmt.lib -export:init_usertfs veriuser.obj pli.lib
%MODELSIM_PATH%\win32\mtipli.lib shell32.l
文档评论(0)