modelsim中代碼覆蓋率使用詳解_第1頁
modelsim中代碼覆蓋率使用詳解_第2頁
modelsim中代碼覆蓋率使用詳解_第3頁
modelsim中代碼覆蓋率使用詳解_第4頁
modelsim中代碼覆蓋率使用詳解_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余11頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、代碼覆蓋率Modelsim代碼覆蓋率功能Codecoverage能報(bào)告出statement語句) 、branch(分支)、condition(條件)、expression(表達(dá))、toggle(信號翻轉(zhuǎn))、fsm(有限狀態(tài)機(jī))等多種覆蓋率情況。1、編譯選項(xiàng)(compileoption):在Modelsim的Workspace里選中需要查看代碼覆蓋率的文件,然后點(diǎn)擊右鍵選擇compilecompileproperties;,如下圖,Work3Ma:一日日5Name0test._drink_jiiachine.7?iidiine_inquart&r_Tn=Cend之后選擇“Covera

2、ge選項(xiàng),出現(xiàn)下圖所示的窗口,根據(jù)需要選擇選項(xiàng),這里選statementbranch、conditionexpression和toggle。選完點(diǎn)ok。hldrinkEditExecuteCompileAddtoProjectRemovefromProjectCloseProjectUpdateProperties.,ProjectSettings.CompileSelected;CompileAllCompileOut-of-DateCompileOrder.CompileReport-Compile5Jinmary.CompileProperties,.Statin2moduletest_

3、drink_me4wirecollect,disper5regalk?rst_nnichN/honie/eda3037rriodelsir2、編譯(compile)點(diǎn)工具欄中的附,編譯所有的選中的文件,成功后進(jìn)行下面的步3、仿真(simulate)StartSimulaliionDeigin|VHDLVerilog|Libraries|SDF-|OthersTypePath(注:不要選擇“Enableoptimization)選擇Others,出現(xiàn)如下圖所示的窗口:點(diǎn)工具欄中的出現(xiàn)下面的窗口:Name-,X杓也Library11dr1nk_K*ach1neModule1testtdr1nk_m

4、ach1neMciulevital2000LibraryieeeLibrarymadl寫1n)_l1bLibrarystdLibrarystd.develoeerskitLibrarywork/homeZeda3O3/models1m/dr1nk_macii1./lwme/da.3O3/models1m/t!est.Mf11E*日nwR4t/*ws/eda3D3AjdBlsifi/t-E5t-dr1nh_jw*iine,vline箏工后】內(nèi)B:dtitihrwHmi:I.Sfins-OCHKQilrxrtffstjirrti-EEhrHAFiNfnfllJg4、觀察結(jié)果完成以上操作后,代碼覆蓋

5、率的窗口就出現(xiàn)了,之后代碼覆蓋率的情況就出現(xiàn)在各窗口中下面介紹各子窗口:ileEMilWitnvFqriTuUCompilt;芋|山14已包dcJQj.GiL?:*:,|圖西 a/MkS|M謗3=*.。而由而&FullpathT/p白Sium匚4IElitwt-r1nk_rwKh,,,|目di-l!+._nazh1isz.,*!=.,史.h,r.ID*ISWindowJjelp*理:1J-iiftffnun工丁Tl-i.hi:作Y?曾分DeISilS亡;IPrfrJ&ci|面Libi占|力simFll&a|曜Memo*Missedwci吧&,ftlisSMiSR

6、itemcnlH-u-clak_PMfaIm.v才西?inECowt+-比InTEaticeyittT_di-1r+._rw*dAXtfft-drir*_WKiL門rUE-LM0TOi;4-La*d.La*Ln.I3T4T*-FffE:匕TEqv與rt-rn卜ala.l-,ntCPTT;4nd.TEH:/inLflnL-=A.LLn|STJTt-FEfTEEM!eLviTCdine.LntC-TVEHTT;LnLfiqunzjLnJbeginLa.l-EEGX;dl匹*i5*Tbl!,LL+rt-lbl:wuL14FETTFW:ginLf(nLcA.LLn.|3T4Tt-fWfMC-l!eLv

7、iTdine_Lnt(run-all)源代碼癡口|TsmTsmL LZ34.Z34.5 5%-Tfi-%-Tfi-y y口L L: :M M,. . TK;n_tlTK;n_tl.號號T_.1T_.17777_.h_.h7 7T_.1T_.17 7T T-X-3Ki-X-3Ki99fl-M-99fl-M-s-s-TV1J1T1:FlQ:!7.1噌或J3imkm;KhimewI1時riflkEiKhiiriU,(1)Workspace窗口在workspace窗口選擇Files標(biāo)簽頁并拖動滾動條到右側(cè),設(shè)計(jì)的每個文件顯示了語句、分支、條件和表達(dá)式等語句的執(zhí)行覆蓋率匯總統(tǒng)以設(shè)計(jì)中的每一條目來顯示執(zhí)行

8、覆蓋統(tǒng)計(jì)(2)MissedCoverage(未覆蓋到對象列表窗)窗口本窗口用于顯示所選擇文件未被執(zhí)行的語句、分支、條件、表達(dá)式或未翻轉(zhuǎn)過的信號。在workspace窗口的Files標(biāo)簽頁中選擇不同的文件,Coverage窗口的顯示會隨著選擇的文件而更新MissedCoverageMCovudin1MissedBranches二jdrink_maohin-vjXFisif(quartar_inJ1XT90elseif(quarter_in)!-XrW3elseifquarter_in)沁120$1&if(quarterin)StatementBranchConditionLxpressi

9、onroggleMissed計(jì)信息。在workspace窗口選擇Files標(biāo)簽頁并拖動滾動條到右側(cè),本窗口將上圖為分支覆蓋率的情況上圖為statementcoverage(語句覆蓋率)的情況。此時選擇任何一個實(shí)體在源代碼窗口中顯示相應(yīng)的行,設(shè)計(jì)如果包含為被執(zhí)行的語句或分支的行,則被粉紅色高亮顯示,如下圖。圖中包含了Hits和BC欄用來顯示語句執(zhí)行(statementHitS)和分支覆蓋(BC)的情況。5/home/eda303/modelsim/drinkinachine.v*國coveragenumber.tgtgzzzzzzzzzzzzzzXXXXXXXXexex一.H H/xr,/xr二

10、m m4545i-Ji-J8 8o o1 1M M3434r-r-6 67 78 89 9D D1201204 45 5BBQsBR-B66QJ_94-9Q.-9999ooon-oc8 :endendFTFTEEN:beginifnlckelin)state-if(dim?寫elseif(quaibeginstate*dXco:endsndTWQTT;begilnif(nLckin)statelseif(dlmstateCodeCoverageShow回u.dRiiknidcTme.vdriukonacliinu.vf-Hits和BC欄中的每一行圖標(biāo)將會被數(shù)字代替,這些數(shù)字代表了該語句或分支被

11、執(zhí)行的次數(shù)。F表描述了個圖標(biāo)的含義:圖標(biāo)描述0表示本語句已被執(zhí)行過岡表示本行的某語句從未被執(zhí)行過區(qū)或國表示條件語句的“真”或“假”分支未被執(zhí)行過回表不本行被指7K不做代碼覆蓋統(tǒng)計(jì)操作完后,在CurrentExclusion窗口就會出現(xiàn)被排除的文件,同時源代碼窗口的Hits欄的一些行會出現(xiàn)回,表明這些行不做代碼覆蓋統(tǒng)計(jì)Details=+#卻itlie/eda303/modclsim/testdrink.machine.v+司HitsBCLnII3939o o1 1AMAM56567 7S S9 9i i2 23535. .11111111111111222222_222222_.31waystS

12、Uelk-clk;initialbeginclk-O;rtn-lJbl;16ffrst_filJbD;acisFilersmujJtt_tW*1d二口劑前110wLls-t僧己麻jinalysisAllWindowsptmtHitsSimr%StiIIIts:現(xiàn)閭驚FFle?tioei-!*di303/ncd*!hormatCompileSirmiulaleaddlookWindow西RhIMIFx 給”“DalKEts,rrCotigCoverageErflifileActiveprocessL2Z二1H歸d知Touqlct密口IMFull%5、創(chuàng)建代碼覆蓋率報(bào)告如下圖所示,在主窗口菜單欄選

13、擇ToolCodeCoverage-ReportsMissed專pnessiJ5taEEme*rpmwFn-p隼nnnTgTr;F在該窗口中可以查看狀態(tài)翻轉(zhuǎn)統(tǒng)計(jì),翻轉(zhuǎn)覆蓋統(tǒng)計(jì)了信號從一個狀態(tài)變換到另一個狀態(tài)的次數(shù)。具體操作入下圖所示:轉(zhuǎn)的具體情況NameValueKindMode-RdeinkEiicfrdingPirojeclSetEing.,上述操作完之后出現(xiàn)Objects窗口,這樣就可以查看每個信號翻電通軍電SnWin掌SoureeMemoryConCrills*WorksiteShowTab5TabbedMOIJI/證號JdrInk一Id/wst_drIr+jachirw川*Cover

14、agein&ranceStALI圮三點(diǎn),leniicia5MddelSimSEPLUS6.1cQlMecdObjttl:&Uebugwin-d&w-s=百詞NetInwrn*lNetInternalNetInTOrrmiNetInternalPackedrrayInwrrtaiPackedArrayInternalPickedArrayIiKTerrtalPxkitdArrflymtcFgl中配k.edarrayZrtwrrtal1W4lOffl1004即1ODS1QC94 九 $ 揖33.Ill生tsn3S.31注m3mss.sn玨由m包*collKt*dispens

15、e-4n1cke1_ot*dirae_aut*clIk*r?t_n*nlckel.in*din+quarter.ln出現(xiàn)下圖所示的子窗口(報(bào)告設(shè)置窗口),根據(jù)需求設(shè)置各選項(xiàng)和報(bào)告存放路徑。點(diǎn)ok后即可查看CodeCoverageReport二DO文件DO文件是一種腳本文件,可以一次執(zhí)行多條命令1、創(chuàng)建簡單的DO文件一般仿真:#compilethefiles(vlog:forverilog,vcom:forVHDL)vlogdrink_machine.vtest_drink_machine.v# Loadsimulationvsimwork.test_drink_machine# vsim-no

16、voptwork.test_drink_machine#-novopt:dontselectEnableoptimmization.#addwaveaddwave-coloryellowsim:/test_drink_machine/clkaddwavesim:/test_drink_machine/rst_naddwave-radixbinarysim:/test_drink_machine/nickel_inaddwave-formatLiteralsim:/test_drink_machine/dime_inaddwavesim:/test_drink_machine/quarter_i

17、naddwavesim:/test_drink_machine/collectaddwavesim:/test_drink_machine/dispenseaddwavesim:/test_drink_machine/nickel_outaddwavesim:/test_drink_machine/dime_out# -color:setthewavescolor# -format:setthewavesformat,ithasthreeoption:# Logic,LiteralandEvent,ifyouhavenot# setit,theformatisLogic.# -radix:se

18、tthesignalsradixnotation.ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7Tffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii# Runsimulationrun-all代碼覆蓋率仿真:vlog-coversbcetdrink_machine.vtest_drink_machine.vvsim-coveragework.test_drink_machine# coverageexclude-add/home/eda303/modelsim/test_drink_machine.vall# coverageexclude-remove/home/eda303/modelsim/test_drink_machine.vall# coverageexclude-add/home/eda303/modelsim/drink_machine.v105# coverageexclude-remove/home/ed

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論