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
使用verdi的gui介面。
verdi -cov -covdir
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相關的生成資訊。
覆蓋率選項,覆蓋率分析
covergroup選項提供不同的覆蓋率選項,來計算覆蓋率。乙個covergroup可能會被多個地方例化使用,預設情況下sv會將所有的例項的覆蓋率合併到一起計算。如果需要單獨列出每個covergroup例項的覆蓋率,需要以下設定覆蓋率選項。covergroup cov coverpoint tr.l...
覆蓋率分析
為什麼需要 覆蓋率分析?在發布 的時候,我們常常會對其進行一系列的測試來協調軟體的效能和功能,使他們和預計的相同。但是檢驗通常都是相當的困難,即使程式相當的簡單。開發者常常會借助一些 測試工具 test suite 來模擬或者重建執行指令碼。如果測試程式組是徹底的,那麼程式的各個功能都將被測試到並且...
如何保證測試的覆蓋率
一 首先測試需求分析要全面。測試需求分析分兩步 1 測試需求的獲取 顯式需求 1 原始需求說明書 2 產品規格書 3 軟體需求文件 4 有無繼承性文件 5 經驗庫 6 通用的協議規範 隱式需求 使用者的主觀感受,市場的主流觀點,專業人士的評價分析 2,需求的分析 產生測試需求文件 將不同的需求 劃分...