VCS中的覆蓋率分析


VCS在仿真過程中,也可以收集Coverage Metric。其中覆蓋率類型有:

1)Code Coverage:包括control_flow和value兩部分的coverage,line_coverage, branch_coverage, toggle_coverage, 

                              FSM_coverage。

2)Functional Coverage:包括covergroup,SVA。

 

Coverage Database的產生:包含所有的有關coverage的信息,默認放在simv.vdb文件夾下。

db中的默認路徑是,snps/coverage/db/testdata/line.verilog.data.xml

                     fsm/cond/tgl/branch等xml信息。

在編譯命令中:vcs [cover_options] [compile_options] source.v

[cover_options]可以是:-cm line+cond+tgl+fsm+branch+assert

  -cm_dir在compile options中改變simv.vdb文件夾的位置。

  -cm_name指定testname。主要改變testname在db中的命名。

在仿真過程中:simv [cover_options] [run_options]

[cover_options]可以是:-cm line+cond+tgl+fsm+branch+assert

[run_options]指定runtime options。

 

Coverage Reports的產生:

使用工具URG(Unified Report Generator)產生html格式文件。

        urg  -dir  dir1 [urg_option] -dbname merge

使用DVE的GUI界面。

        dve -cov -dir <simv.vdb>

使用verdi的gui界面。

    verdi -cov -covdir <simv.vdb>

    verdi -cov -h,打印coverage mode下的幫助信息

 

其他的vcs編譯和仿真中的option:

  -cm_hier,在編過程中,指定收集coverage的scope。

  -cm_assert_hier,在編譯過程中,只是指定不收集coverage的assert hier。

      其中hier的表示,+/- module,+/- tree,+/-assert

  -cm_count,在gui和urg report中,顯示次數,比如toggle的次數。

 

  -cm_glitch period,不收集一定范圍的glitch的coverage。simulation option

  -cm_start/stop,指定coverage收集的時間,simulation option

coverage group相關的option;

  -covg_disable_cg,關閉所有的coverage group的收集

 

urg生成report中的option:

  -dir,指定需要拿到的db的hier,

  -dbname,指定輸出的merge db的hier

 

  -elfile,指定exclusive的file,這樣更好計算coverage。

  -elfilelist

 

  -noreport,不輸出最終的report,只是merge db

  -format text/both,指定report的輸出格式

 

  -matric [line,cond,fsm,tgl,branch,assert]執行計算的coverage類型

  -parallel,並行merge

  -full64,以64bit的程序進行merge

  

  -plan,-userdata,-userdatafile,-hvp_no_score_missing,指定hvp相關的生成信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM