如何編寫testbench的總結(jié)_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、如何編寫testbench的總結(jié)(非常實(shí)用的總結(jié))1激勵的設(shè)置相應(yīng)于被測試模塊的輸入激勵設(shè)置為reg型,輸出相應(yīng)設(shè)置為wire類型,雙向端口inout在測試中需要進(jìn)行處理。方法1:為雙向端口設(shè)置中間變量inout_reg作為該inout的輸出寄存,inout口在testbench中要定義為wire型變量,然后用輸出使能控制傳輸方向。eg:inout[0:0]bi_dir_ptwire[0:0]bi_dir_ptreg[0:0]bi_di

2、r_pt_regregbi_dir_pt_oeassignbi_dir_pt=bi_dir_pt_oebi_dir_pt_reg:1bz用bi_dir_pt_oe控制端口數(shù)據(jù)方向,并利用中間變量寄存器改變其值。等于兩個模塊之間用inout雙向口互連。往端口寫(就是往模塊里面輸入)方法2:使用fce和release語句,這種方法不能準(zhǔn)確反映雙向端口的信號變化,但這種方法可以反映塊內(nèi)信號的變化。具體如示:moduletest()wireda

3、ta_inoutregdata_regreglink#xx延時fcedata_inout=1bx強(qiáng)制作為輸入端口...............#xxreleasedata_inout釋放輸入端口endmodule從文本文件中讀取和寫入向量1)讀取文本文件:用$readmemb系統(tǒng)任務(wù)從文本文件中讀取二進(jìn)制向量(可以包含輸入激勵和輸出期望值)。$readmemh用于讀取十六進(jìn)制文件。例如:reg[7:0]mem[1:256]a8bit25

4、6wd定義存儲器meminitial$readmemh(“mem.data“mem)將.dat文件讀入寄存器mem中initial$readmemh(“mem.data“mem1281)參數(shù)為寄存器加載數(shù)據(jù)的地址始終2)輸出文本文件:打開輸出文件用$fopen例如:integerout_fileout_file是一個文件描述,需要定義為integer類型out_file=$fopen(“cpu.data“)cpu.data是需要打開的文

5、件,也就是最終的輸出文本設(shè)計(jì)中的信號值可以通過$fmonit$fdisplay2.Verilog和Ncverilog命令使用庫文件或庫目錄ex).ncverilogfrun.fvliblib.vylib2libext.v一般編譯文件在run.f中庫文件在lib.v中l(wèi)ib2目錄中的.v文件系統(tǒng)自動搜索#10000$shm_close即可。4.ncverilog編譯的順序:ncverilogfile1file2....有時候這些文件存在依

6、存關(guān)系如在file2中要用到在file1中定義的變量這時候就要注意其編譯的順序是從后到前就先編譯file2然后才是file2.5.信號的強(qiáng)制賦值fce首先fce語句只能在過程語句中出現(xiàn)即要在initial或者always中間.去除fce用release語句.initialbeginfcesig1=1b1...releasesig1endfce可以對wire賦值這時整個都被賦值也可以對reg賦值.6加載測試向量時,避免在時鐘的上下沿變化為

7、了模擬真實(shí)器件的行為,加載測試向量時,避免在時鐘的上下沿變化,而是在時鐘的上升沿延時一個時間單位后,加載的測試向量發(fā)生變化。如:assign#5c=a^b……@(posedgeclk)#(0.1`cycle)A=1testbench的波形輸出moduletop...initialbegin$dumpfile(“.top.vcd“)存儲波形的文件名和路徑一般是.vcd格式.$dumpvars(1top)存儲top這一層的所有信號數(shù)據(jù)$du

8、mpvars(2top.u1)存儲top.u1之下兩層的所有數(shù)據(jù)信號(包含top.u1這一層)$dumpvars(3top.u2)存儲top.u2之下三層的所有數(shù)據(jù)信號(包含top.u2這一層)$dumpvars(0top.u3)存儲top.u3之下所有層的所有數(shù)據(jù)信號endendmodule產(chǎn)生隨機(jī)數(shù)seed是種子$rom(seed)ex:din=$rom(20)仿真時間為unsigned型的64位數(shù)據(jù)$timeex:...timec

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論