Verdi Utility使用总结

it2025-03-23  8

                                Verdi Utility使用总结

 

一、Verdi Utility

 1.1.how to submit job to run verdi utility?

If design is big, need submit job to run verdi utilityCMD:utilq <verdi_utility> [options]

 

 1.2.fsdbdebug

For dumping the FSDB information and generating a log file for debugging

 

 1.2.How to get waveform information (value information, scope, ...) in an fsdb? 

Common usage : check fsdb version, check whether glitch is dumped %> module load Verdi %> fsdbdebug -info XXX.fsdb

 

 1.3.Other : dump design hierarchy, value changes, value change count ...

%> module load Verdi %> fsdbdebug -help

 

 1.4.fsdbedit

For modifying scope hierarchies in the FSDB file

  1.4.1.How to use fsdbedit to add scope on the existed fsdb file? 

Hierarchy from B to A.B %> module load Verdi %> fsdbedit in.fsdb -insert_scope '/$scope(A)/B' -out out.fsdb

  1.4.2.How to use fsdbedit to delete scope on the existed fsdb file?

Hierarchy from A.B to B %> fsdbedit in.fsdb -delete_scope '/$scope(A)/B' -out out.fsdb

  1.4.3.How to use fsdbedit to add/delete multi-scope by configuration?

Hierarchy from A.B.C.D to D %> fsdbedit in.fsdb -delete delete.cfg -out out.fsdb configuration format: -delete_scope '/A/B/$scope(C)' -delete_scope '/A/$scope(B)' -delete_scope '$scope(A)'

  1.4.4.Any other usage please use following method to search

%> module load Verdi %> fsdbedit -help

 

 1.5.fsdbextract

For post-processing an existing FSDB fileRecommend : fsdb file should not exceed 20G, if exceed, please use $fsdbAutoDumpSwitchFile to split

   1.5.1.How to cut waveform into small parts?

Extract the fsdb file from 100ps to 1000ps, default time unit is ns %> module load Verdi %> fsdbextract in.fsdb -bt 100ps -et 1000ps -o out.fsdb Extract the fsdb file of specified scope A.B and its subscopes %> module load Verdi %> fsdbextract in.fsdb -s /A/B -level 0 -o out.fsdb Other  %> module load Verdi %> fsdbextract -help

  1.5.2.How to shift a waveform?

%> module load Verdi %> fsdbextract old.fsdb -time_shift 10ns -o new.fsdb

 

 1.6.fsdbmerge

Merge several FSDB files into a single file.fsdbmerge doesn't support extract signals from different fsdb then merge, if need, please use fsdbextract first

  1.6.1.How to merge multiple waveforms?

Basic %> module load Verdi %> fsdbmerge in1.fsdb in2.fsdb -o out.fsdb  Advanced : overwrite, show warning when disjoint ... %> module load Verdi %> fsdbmerge -help

  1.6.2.Fail to do fsdbmerge ?

Check if you can open each of your fsdb. If not, re-dump again.

 1.7. fsdbrecover

Recover corrupted FSDB filesIf fsdbrecover can't recover your fsdb file, please re-dump the waveform

  1.7.1. How to recover an unfinished fsdb file?

%> module load Verdi %> fsdbrecover in.fsdb %> fsdbrecover in.fsdb -o recover.fsdb -del_src //-del_src will delete source fsdb file after finished

 1.8 fsdbreport

Report the time sequence, address values, and instruction values of a simulation

  1.8.1. How to get signal information in specified condition in an fsdb?

%> module load Verdi %> fsdbreport in.fsdb -exp "/A/wire_A=='h30 & /A/clk==1" -s /A/port_C

  1.8.2 Other advanced usage

%> fsdbreport -help

 1.9 fsdb2saif

Convert an FSDB file into backward SAIF format

  1.9.1 How to use fsdb2saif on mix vhdl design?

add -vhdl in the option, this option can allow convert 9 MVL to 4 states value instead of skipping VHDL signals %> fsdb2saif verilog_and_vhdl.fsdb -vhdl Other advanced usage %> fsdb2saif -help

 

 

 

 

最新回复(0)