zoukankan      html  css  js  c++  java
  • [Tool] Verdi 用法(dump waveform)

    原文地址:https://blog.csdn.net/lbt_dvshare/article/details/86604379

    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
    +all Dump all signals including memory, MDA, packed array, structure, union, power-related, and packed structure
    +mda Dump all memory and MDA signals
    +strength Enable strength dumping
    +struct Dump all structs (default on)
    +power Dump power-related signals (default on)
    others check 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
    1.  
      $fsdbDumpfile("test.fsdb",50)
    2.  
      $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:
    1.  
      initial begin
    2.  
      $fsdbDumpvars(0, dut);
    3.  
      $fsdbAutoSwitchDumpfile(2000, XXX, 20);
    4.  
      en
    • Split by Time Period
    1.  
      integer i;
    2.  
      initial begin
    3.  
      $fsdbDumpvars(0, dut);
    4.  
      i=0;
    5.  
      forever begin
    6.  
      $fsdbSwitchDumpfile($sformatf("XXX_%0d", i));
    7.  
      #time period;
    8.  
      i = i+1;
    9.  
      end
    10.  
      end

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

    • Use $fsdbDumpon, $fsdbDumpoff to specify time interval
    1.  
      initial begin
    2.  
      $fsdbDumpvars(0, dut, "+fsdbfile+interval.fsdb");
    3.  
      #40 $fsdbDumpoff;
    4.  
      #40 $fsdbDumpon;
    5.  
      #40 $fsdbDumpoff;
    6.  
      #40 $finish;
    7.  
      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
    1.  
      initial begin
    2.  
      $fsdbSuppress(dut.inst_a, dut.inst_b);
    3.  
      $fsdbDumpvars(0, dut);
    4.  
      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"
    1.  
      initial begin
    2.  
      $fsdbDumpSVA(0, dut);
    3.  
      end

    1.6 Q: How to dump memory arrays?

    • Use $fsdbDumpMDA(depth, instance)
    • vcs compile option : -debug_pp, +memcbk  is needed
    1.  
      initial begin
    2.  
      $fsdbDumpMDA(1, dut.i_pram);
    3.  
      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
    1.  
      %> setenv NOVAS_FSDB_ENV_DUMP_SEQ_NUM 1
    2.  
      %> setenv NOVAS_FSDB_ENV_MAX_GLITCH_NUM 0
    3.  
      %> setenv FSDB_REGION
    4.  
      then re-run simulation

    1.9 Q: How to dump force information?

    • By simulation command
      • simv +fsdb+force
    %> simv +fsdb+force
    
    • By Environment variable
    1.  
      %> setenv FSDB_FORCE
    2.  
      then re-run simulation
  • 相关阅读:
    Python: Best Way to Exchange Keys with Values in a Dictionary?
    install pymssql on centos
    centos 5.5 deploy full procedure
    centos 5.5 deploy full procedure
    change defaut python to 2.6.5 on centos
    Python: Best Way to Exchange Keys with Values in a Dictionary?
    install eventlet ,redis,dreque on centos
    install freetds on centos
    use alias
    install eventlet ,redis,dreque on centos
  • 原文地址:https://www.cnblogs.com/loveic/p/13855365.html
Copyright © 2011-2022 走看看