![代碼覆蓋率說明個人總結(jié)資料全_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/7/61fd5bc4-0b98-4275-92d9-9c2f178303bd/61fd5bc4-0b98-4275-92d9-9c2f178303bd1.gif)
![代碼覆蓋率說明個人總結(jié)資料全_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/7/61fd5bc4-0b98-4275-92d9-9c2f178303bd/61fd5bc4-0b98-4275-92d9-9c2f178303bd2.gif)
![代碼覆蓋率說明個人總結(jié)資料全_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/7/61fd5bc4-0b98-4275-92d9-9c2f178303bd/61fd5bc4-0b98-4275-92d9-9c2f178303bd3.gif)
![代碼覆蓋率說明個人總結(jié)資料全_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/7/61fd5bc4-0b98-4275-92d9-9c2f178303bd/61fd5bc4-0b98-4275-92d9-9c2f178303bd4.gif)
![代碼覆蓋率說明個人總結(jié)資料全_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/7/61fd5bc4-0b98-4275-92d9-9c2f178303bd/61fd5bc4-0b98-4275-92d9-9c2f178303bd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、代碼覆蓋率說明一、 指令介紹代碼覆蓋率分為行覆蓋率、條件覆蓋率、狀態(tài)機覆蓋率和翻轉(zhuǎn)覆蓋率。在vcs仿真工具下覆蓋率信息存儲在.cm文件中,使用urg工具解析、合并和生成報告;在ncsim仿真工具下覆蓋率信息存儲在icc.data文件中,使用iccr工具解析、合并和生成報告。代碼覆蓋率指令主要包括編譯、運行和生成覆蓋率報告三個部分,指令結(jié)構(gòu)大體同功能覆蓋率。為了工具的統(tǒng)一性和方便界面提取,先做如下規(guī)定: 覆蓋率數(shù)據(jù)庫文件夾均放在CovData目錄下,ncsim生成的放入ncsim子目錄、vcs生成的放入vcs子目錄。 覆蓋率報告均放在CovReport目錄下,ncsim生成的放入ncsim子目錄
2、、vcs生成的放入vcs子目錄。 每條用例都生成獨自的同用例名的覆蓋率數(shù)據(jù)庫和覆蓋率報告文件夾。 最后生成總的覆蓋率數(shù)據(jù)庫和覆蓋率報告文件夾,名稱為total。文檔指令描述中,TC_NAME表示匹配用例名。1、vcs仿真環(huán)境1) 樣例rm -r simv* CovData/vcs/* FcovReport/vcs/* CovReport/vcs/*vcs -lca +v2k -sverilog -cm line+cond+fsm+tgl -cm_dir CovData/vcs/test_1.cm +define+marco=VCS+ test_1.sv./simv -cm line+cond+
3、fsm+tgl -cm_dir CovData/vcs/test_1.cm +ntb_random_seed=666666 2&1 |tee log/vcs/test_1.logvcs -lca +v2k -sverilog -cm line+cond+fsm+tgl -cm_dir CovData/vcs/test_2.cm +define+marco=VCS+ test_2.sv./simv -cm line+cond+fsm+tgl -cm_dir CovData/vcs/test_2.cm +ntb_random_seed=888888 2&1 |tee log/vcs/test_2.
4、logvcs -lca +v2k -sverilog -cm line+cond+fsm+tgl -cm_dir CovData/vcs/test_3.cm +define+marco=VCS+ test_3.sv./simv -cm line+cond+fsm+tgl -cm_dir CovData/vcs/test_3.cm +ntb_random_seed=555555 2&1 |tee log/vcs/test_3.logurg -dir CovData/vcs/test_1.vdb -metric group -report FcovReport/vcs/test_1 -format
5、 texturg -dir CovData/vcs/test_2.vdb -metric group -report FcovReport/vcs/test_2 -format texturg -dir CovData/vcs/test_3.vdb -metric group -report FcovReport/vcs/test_3 -format texturg -dir CovData/vcs/*.vdb -metric group -report FcovReport/vcs/total -format texturg -dir CovData/vcs/test_1.cm -metri
6、c line+cond+fsm+tgl -report CovReport/vcs/test_1 -format texturg -dir CovData/vcs/test_2.cm -metric line+cond+fsm+tgl -report CovReport/vcs/test_2 -format texturg -dir CovData/vcs/test_3.cm -metric line+cond+fsm+tgl -report CovReport/vcs/test_3 -format texturg -dir CovData/vcs/*.cm -metric line+cond
7、+fsm+tgl -report CovReport/vcs/total -format text2) 指令說明(1)編譯-lca:增加LCA的支持,vcs0812與以后的版本需要,此前的版本不需要。-cm line+cond+fsm+tgl:增加編譯期添加行覆蓋率、條件覆蓋率、狀態(tài)機覆蓋率、翻轉(zhuǎn)覆蓋率信息。-cm_dir CovData/vcs/TC_NAME.cm:將編譯期生成的覆蓋率信息(不包括功能覆蓋率)放到CovData/vcs目錄中,若目錄不存在,將自動創(chuàng)建。生成的代碼覆蓋率數(shù)據(jù)庫文件夾以cm后綴,名稱要求同用例名,例:test_1.cm。注:在vcs仿真器下,代碼覆蓋率信息(行覆
8、蓋率、條件覆蓋率、狀態(tài)機覆蓋率、翻轉(zhuǎn)覆蓋率)存放在cm后綴的數(shù)據(jù)庫文件夾中;功能覆蓋率和斷言覆蓋率存放在vdb后綴的數(shù)據(jù)庫文件夾0中。cm后綴的數(shù)據(jù)庫的生成與編譯和運行階段都有關(guān),vdb后綴的數(shù)據(jù)庫的生成僅與運行階段有關(guān)。(2)運行-cm line+cond+fsm+tgl:增加運行期添加行覆蓋率、條件覆蓋率、狀態(tài)機覆蓋率、翻轉(zhuǎn)覆蓋率信息。-cm_dir CovData/vcs/TC_NAME.cm:將運行期生成的覆蓋率數(shù)據(jù)庫放到CovData/vcs目錄中,若目錄不存在,將自動創(chuàng)建。代碼覆蓋率信息將寫入以cm后綴的數(shù)據(jù)庫文件夾中,生成的功能覆蓋率數(shù)據(jù)庫文件夾以vdb后綴,名稱要求同用例名,例
9、:test_1.vdb。注:在運行期中,-cm_dir命令只能指定代碼覆蓋率信息存放的數(shù)據(jù)庫文件夾,而以功能覆蓋率信息存放的數(shù)據(jù)庫文件夾是不能指定后綴的,且存放路徑同代碼覆蓋率數(shù)據(jù)庫文件夾,因此雖然指定了cm后綴,但生成的功能覆蓋率數(shù)據(jù)庫文件夾仍以.vdb后綴。(3)生成覆蓋率報告urg -dir CovData/vcs/TC_NAME.cm -metric line+cond+fsm+tgl -report CovReport/vcs/TC_NAME -format text:用于生成各個用例的代碼覆蓋率報告。urg -dir CovData/vcs/*.cm -metric line+co
10、nd+fsm+tgl -report CovReport/vcs/total -format text:用于生成總的代碼覆蓋率報告。其中:-dir用于讀入指定目錄下指定覆蓋率數(shù)據(jù)庫XXX.cm文件夾,通配符 * 表示讀入指定目錄下所有覆蓋率數(shù)據(jù)庫文件夾。-metric用于指定輸出覆蓋率類型,line表示行覆蓋率、cond表示條件覆蓋率、fsm表示狀態(tài)機覆蓋率,tgl表示跳轉(zhuǎn)覆蓋率。這里必須和仿真環(huán)節(jié)相對應(yīng),否則沒有該類型的覆蓋率信息,urg工具會報錯。 -report用于指定輸出覆蓋率報告的路徑,每個用例的代碼覆蓋率報告要求分別輸出到同用例名CovReport/vcs/TC_NAME的目錄下,
11、總的代碼覆蓋率報告要求輸出到CovReport/vcs/total的目錄下。若指定的目錄不存在,將自動創(chuàng)建。 -format用于指定輸出報告的格式,text表示輸出文本格式,不指定則輸出html格式。 注:由于指定了其他的覆蓋率類型,因此此時在輸出功能覆蓋率報告時需要添加-metric group。否則不能得到功能覆蓋率的報告。2、ncsim指令介紹1) 樣例cov.cmd(ICCR腳本文件)set TC_NAME test_1set TC_NAME test_2set TC_NAME test_3set TC_NAME totalset_dut_modules test DUV_TESTme
12、rge CovData/ncsim/* -output totalsh mkdir -p FcovReport/ncsim/$TC_NAMEsh mkdir -p CovReport/ncsim/$TC_NAMEload_test CovData/ncsim/$TC_NAMEreport_summary -module -best DUV_TEST CovReport/ncsim/$TC_NAME/dashboard.txtreport_summary -d -instance -cgopt test FcovReport/ncsim/$TC_NAME/dashboard.txtreport_
13、detail -both -module -best DUV_TEST CovReport/ncsim/$TC_NAME/modinfo.txtreport_detail -both -d -instance -cgopt test FcovReport/ncsim/$TC_NAME/grpinfo.txtrm -r irun* iccr* CovData/ncsim/* FcovReport/ncsim/* CovReport/ncsim/* IN*mkdir FcovReport/ncsimirun -sv -svseed 666666 -covoverwrite test_1.sv -c
14、overage a -covwork CovData -covdesign ncsim -covtest test_1iccr -keywords+summary+detail+code+func+test_1 cov.cmdirun -sv -svseed 888888 -covoverwrite test_2.sv -coverage a -covwork CovData -covdesign ncsim -covtest test_2iccr -keywords+summary+detail+code+func+test_2 cov.cmdirun -sv -svseed 555555
15、-covoverwrite test_3.sv -coverage a -covwork CovData -covdesign ncsim -covtest test_3iccr -keywords+summary+detail+code+func+test_3 cov.cmdiccr -keywords+summary+detail+func+total cov.cmdiccr -keywords+summary+detail+code+total cov.cmd2) 指令說明(1)編譯irun指令將編譯和運行集成,因此對添加代碼覆蓋率沒額外需求。(2)運行-coverage a:收集覆蓋率
16、選項,a表示所有的覆蓋率,b表示行覆蓋率,e表示條件覆蓋率,f表示狀態(tài)機覆蓋率,t表示翻轉(zhuǎn)覆蓋率,u表示基于SV的功能覆蓋率。-covoverwrite:再次運行時可覆蓋已生成的覆蓋率數(shù)據(jù)庫,不加則不能覆蓋。-covwork:指定生成的cov_work目錄,要求指定為CovData目錄。-covdesign:指定成生的design目錄,要求指定為ncsim目錄。-covtest:指定生成的test目錄,要求指定為TC_NAME目錄,用于存放覆蓋率數(shù)據(jù)庫icc.data。注:ncsim仿真器下,所有的覆蓋率信息都存放在icc.data庫中,與vcs的分數(shù)據(jù)庫文件夾存放有所不同。(3)生成覆蓋率報
17、告-keywords 腳本:用命令行的方式啟動ICCR,關(guān)鍵字的功能在腳本中描述。ICCR生成覆蓋率報告的流程為:合并覆蓋率數(shù)據(jù)庫(僅用于輸出總覆蓋率報告) = 讀覆蓋率數(shù)據(jù)庫 = 輸出覆蓋報告(概要報告或者詳細報告)。cov.cmd腳本說明:1) 和中間描述在-keywords中添加該關(guān)鍵字將執(zhí)行的指令。注意,一條指令只能在一行中描述,和也必須分列一行。2) 在-keywords中添加的關(guān)鍵字順序和關(guān)鍵字所對應(yīng)的指令執(zhí)行的順序無關(guān)。3) 每一條用例必須對應(yīng)一套和,在該套關(guān)鍵字描述將給通配符$TC_NAME賦值為用例名,如:set TC_NAME TC_NAME。用于在每次運行用例時在-key
18、words中添加用例名使每次運行只輸出以該條用例名命名的覆蓋率報告文件,以方便界面處理。4) 需在腳本中添加和的關(guān)鍵字套,用于輸出總的覆蓋率報告。其中的指令包括:set:指定通配符為total;set_dut_modules:指定rtl代碼的頂層模塊名如DUV_TEST為了合并代碼覆蓋率,指定用例模塊名如test為了合并功能覆蓋率,不指定則合并不成功,可以同時指定多個。merge:合并覆蓋率數(shù)據(jù)庫,CovData/ncsim/* 表示合并CovData/ncsim/目錄下的所有覆蓋率數(shù)據(jù)庫文件,-output total表示輸出合并后的覆蓋率數(shù)據(jù)庫至CovData/ncsim/total目錄下
19、。5) sh mkdir:在配置好通配名或者合并好覆蓋率數(shù)據(jù)庫后需要創(chuàng)建覆蓋率報告目錄,代碼覆蓋率目錄按照要求為CovReport/ncsim/TC_NAME|total,功能覆蓋率目錄按照要求為FcovReport/ncsim/TC_NAME|total。6) load_test:讀指定目錄下覆蓋率數(shù)據(jù)庫,目錄為CovData/ncsim/TC_NAME|total。7) report_summary:輸出覆蓋率概要信息。-module表示為基于模塊的;-b表示輸出報告為行覆蓋率,-e表示輸出報告為條件覆蓋率,-s表示為狀態(tài)機覆蓋率,-t表示為翻轉(zhuǎn)覆蓋率,可以同時指定多個;DUV_TEST為
20、rtl的頂層模塊名; 表示將覆蓋率報告重鏡象至指定文件中,按照要求每條用例或總代碼覆蓋率概要信息必須保存在CovReport/ncsim/TC_NAME|total/dashboard.txt文件中。這些參數(shù)都是必須的,否則輸出報告有誤。8) report_detail:輸出覆蓋率詳細信息。-module表示為基于模塊的;-b表示輸出報告為行覆蓋率,-e表示輸出報告為條件覆蓋率,-s表示為狀態(tài)機覆蓋率,-t表示為翻轉(zhuǎn)覆蓋率,可以同時指定多個;DUV_TEST為rtl的頂層模塊名; 表示將覆蓋率報告重鏡象至指定文件中,按照要求每條用例或總代碼覆蓋率概要信息必須保存在CovReport/ncsim/TC_NAME|total/modinfo.txt文件中。這些參數(shù)都是必須的,否則輸出報告有誤。以上第 5) 至 8) 條每次運行時都必須執(zhí)行。通過配置關(guān)鍵字(用例名)的方式,每運行一條用例時都啟動一次ICCR輸出一份該用例的覆蓋率報告,所有用例運行完后再啟動一次ICCR輸出一份總的覆蓋率報告。二、 輸出分析代碼覆蓋率輸出有兩種方式,圖形工具和文本輸出。1、圖形工具vcs仿真器下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防溺水安全應(yīng)急預(yù)案
- 三人共同創(chuàng)業(yè)店鋪股權(quán)分配合同2025
- 專利實施許可合同備案示范合同
- KTV股東合作合同模板
- 上海市新車買賣合同標準模版
- 產(chǎn)品采購合同質(zhì)量保證協(xié)議書
- 個人與個人借款合同范例
- 個人購房正式合同樣本
- 標準借款合同
- 個人與銀行借款合同典范模板
- 改革開放前后家鄉(xiāng)的變化教學課件
- 一年級的成長歷程
- 2024年南京鐵道職業(yè)技術(shù)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 正月十五元宵節(jié)介紹課件
- 病毒性肺炎疾病演示課件
- 中考英語語法填空專項練習附答案(已排版-可直接打印)
- 口腔醫(yī)學中的人工智能應(yīng)用培訓課件
- 軟星酒店網(wǎng)絡(luò)規(guī)劃與設(shè)計
- 自然辯證法概論(新)課件
- 基層醫(yī)療機構(gòu)基本情況調(diào)查報告
- 六西格瑪(6Sigma)詳解及實際案例分析
評論
0/150
提交評論