[Tool] Verdi 用法(dump waveform)

1.1 Basic Usage(add in top module)

  • Specifying fsdb file : $fsdbDumpfile(file_name,file_size(MB))
  • Dumping fsdb information : $fsdbDumpvars(depth, instance, options)
  • Depth :
    • 0 : all signals in all scopes.
    • 1 : all signals in current scope.
    • 2 : all signals in the current scope and all scopes one level below.
    • n : all signals in the current scope and all scopes n-1 levels below.
  • Options (Optional) :
OptionsDescription
+allDump all signals including memory, MDA, packed array, structure, union, power-related, and packed structure
+mdaDump all memory and MDA signals
+strengthEnable strength dumping
+structDump all structs (default on)
+powerDump power-related signals (default on)
otherscheck on verdi -doc //$VERDI_HOME/doc/linking_dumping.pdf
  • vcs compile option : -debug_pp is needed
    • Recommend : VCS and Verdi should align at least same version
$fsdbDumpfile("test.fsdb",50)
$fsdbDumpvars(0, chip_top,"+power","+struct", "+mda");

1.2 Q: How to split fsdb file?

  • Split by FSDB Size
    • $fsdbAutoSwitchDumpfile(File_size(MB), File_name, number_of_file)
    • Recommend File Size: RTL not over 2G, netlist not over 5G:
initial begin
    $fsdbDumpvars(0, dut);
    $fsdbAutoSwitchDumpfile(2000, XXX, 20);
en
  • Split by Time Period
integer i;
initial begin
    $fsdbDumpvars(0, dut);
    i=0;
    forever begin
        $fsdbSwitchDumpfile($sformatf("XXX_%0d", i));
        #time period;
        i = i+1;
    end
end

1.3 Q: How to dump a certain time interval only?

  • Use $fsdbDumpon, $fsdbDumpoff to specify time interval
initial begin
    $fsdbDumpvars(0, dut, "+fsdbfile+interval.fsdb");
    #40 $fsdbDumpoff;
    #40 $fsdbDumpon;
    #40 $fsdbDumpoff;
    #40 $finish;
end

1.4 Q: How to not dump a certain instance?

  • Use $fsdbSupress(instance) to specify certain instance
  • NOTE : $fsdbSuppress must be specified before $fsdbDumpvars
initial begin
    $fsdbSuppress(dut.inst_a, dut.inst_b);
    $fsdbDumpvars(0, dut);
end

1.5 Q: How to dump assertion?

  • Use $fsdbDumpSVA(depth, instance)
  • vcs compile option : -sverilog -debug_pp is needed
  • NOTE: After Verdi 1703SP1-1, please add runtime option "+fsdb+sva_success"
initial begin
    $fsdbDumpSVA(0, dut);
end

1.6 Q: How to dump memory arrays?

  • Use $fsdbDumpMDA(depth, instance)
  • vcs compile option : -debug_pp, +memcbk  is needed
initial begin
    $fsdbDumpMDA(1, dut.i_pram);
end

1.7 Q: How to dump lib cells signal to fsdb?

  • vcs compile option : -debug_acc -debug_region=cell+lib is needed
Example: vcs -debug_acc -debug_region=cell+lib <other options>

1.8 Q: How to dump glitch information?

  • By simulation command
    • Before Verdi/1509, simv +fsdb+sequential +fsdb+glitch=0 +fsdb+region
    • After Verdi/1509, simv +fsdb+delta
%> simv +fsdb+sequential +fsdb+glitch=0 +fsdb+region
  • By Environment variable
%> setenv NOVAS_FSDB_ENV_DUMP_SEQ_NUM 1
%> setenv NOVAS_FSDB_ENV_MAX_GLITCH_NUM 0
%> setenv FSDB_REGION
then re-run simulation

1.9 Q: How to dump force information?

  • By simulation command
    • simv +fsdb+force
%> simv +fsdb+force
  • By Environment variable
%> setenv FSDB_FORCE
then re-run simulation
  • 19
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 《Verdi用户指南》是一本详细介绍使用Verdi验证工具的手册。Verdi是一种常用的硬件验证工具,广泛应用于数字电路验证领域。这本用户指南旨在帮助读者了解Verdi的基本操作和高级功能,并指导读者如何使用Verdi进行电路验证。 这本用户指南首先介绍了Verdi的基本概念和工作原理。它解释了Verdi的核心组成部分,包括信号触发器、波形显示器和报告生成器等。读者可以通过学习这些基础知识,深入了解Verdi的工作流程和功能。 接着,用户指南详细介绍了Verdi的各种功能和操作方法。它讲解了如何加载设计文件、设置断点、调试信号、查看波形和报告等。读者可以根据自己的需要选择合适的操作步骤,提高电路验证的效率和准确性。 此外,用户指南还包括了一些高级功能和技巧。例如,它介绍了如何使用Verdi进行时序分析、时钟域交叉比较和电源敏感性分析等。这些高级功能可以帮助读者更全面地了解和验证设计电路的性能。 最后,用户指南还提供了一些常见问题和解决方法,以帮助读者解决在使用Verdi过程中遇到的困惑和挑战。 总而言之,《Verdi用户指南》是一本全面而详细的手册,为读者提供了关于Verdi验证工具的详细介绍和操作指导。它适用于从初学者到资深工程师的各个层次的读者,帮助他们更好地应用Verdi进行数字电路验证。 ### 回答2: 《Verdi用户指南》是一本详细介绍了Verdi工具的使用方法和功能的指南。Verdi是一款在VCS仿真环境下用于调试和分析查看数字设计波形图的工具。 《Verdi用户指南》可以帮助用户了解Verdi的基本概念和使用方法。首先,指南会介绍如何正确配置Verdi的环境和启动Verdi工具。包括设置仿真环境变量、加载必要的库文件等等。 接着,指南会详细介绍Verdi的各个功能模块。例如,它会解释如何使用Verdi的波形查看器功能来观察设计的波形图,并且指导用户如何使用层次化视图和信号过滤器来快速定位关键信号。此外,指南还会介绍Verdi的调试功能,例如如何设置断点、观察变量的值等等。 此外,《Verdi用户指南》还会向用户展示如何使用Verdi的时间轴视图功能来分析设计波形的时序关系,以及如何使用层次化导航功能和交叉探究功能来深入了解设计的内部结构和信号传播路径。 最后,指南还会提供一些常见问题和故障排除的解决方案,以帮助用户在使用Verdi过程中遇到问题时能够快速找到解决方法。 总的来说,《Verdi用户指南》是一本非常有用的指南,可以帮助用户充分发挥Verdi工具的功能,提高数字设计的调试和分析效率。无论是初学者还是有经验的用户,都可以从中获得实用的技巧和知识。 ### 回答3: 《Verdi用户指南》是针对Verdi仿真调试工具的一个详细说明文档。Verdi是一款广泛应用于硬件设计领域的工具,它能够帮助工程师进行RTL和门级仿真、调试以及覆盖率分析等工作。 《Verdi用户指南》会详细介绍如何使用Verdi工具进行仿真调试。首先,它会介绍Verdi的安装和配置,包括如何选择适合的版本和安装步骤。然后,它会详细说明Verdi的界面和功能,包括如何打开设计文件、添加观察点、设置断点以及运行仿真等操作。 此外,《Verdi用户指南》还会介绍一些高级功能,如Verdi的调试功能和波形窗口的使用方法。它会解释如何使用Verdi的时序窗口、信号窗口和层次窗口等工具来查看设计的波形,以及如何使用观察点来监视信号值的变化。此外,它还会介绍如何使用Verdi进行覆盖率分析,以帮助工程师评估设计的测试覆盖率。 总之,《Verdi用户指南》是一本详细而全面的手册,旨在帮助工程师更好地理解和使用Verdi工具。通过熟练使用Verdi,工程师可以更高效地进行RTL和门级仿真、调试和覆盖率分析等工作,从而提高硬件设计的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值