FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt

FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt

ID:59476141

大?。?35.50 KB

頁數(shù):23頁

時(shí)間:2020-09-14

FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt_第1頁
FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt_第2頁
FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt_第3頁
FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt_第4頁
FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt_第5頁
資源描述:

《FPGA軟件驗(yàn)證技術(shù)(下)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、——Testbench的編寫方法什么是Testbench測試平臺(tái)(Testbench)指一段仿真代碼,用來為設(shè)計(jì)產(chǎn)生特定的輸入序列,也用來觀測設(shè)計(jì)輸出的響應(yīng)。測試平臺(tái)是系統(tǒng)的控制中心,驗(yàn)證的任務(wù)就是確定產(chǎn)生什么樣的輸入模式,以及獲得期望的設(shè)計(jì)輸出。在不改變所設(shè)計(jì)的硬件系統(tǒng)的前提下采用模塊化的方法進(jìn)行編碼驗(yàn)證。把設(shè)計(jì)描述和功能驗(yàn)證描述分開。測試平臺(tái)從來都不需要硬件實(shí)現(xiàn)tesbench基本框架測試平臺(tái)是一個(gè)封閉的空間testbench基本框架testbench的目標(biāo)驗(yàn)證HDL代碼功能的正確性;1)待驗(yàn)證的模塊加載到模擬驗(yàn)證環(huán)境;2)產(chǎn)生驗(yàn)證所需的激勵(lì)。3)對輸入激勵(lì)碼,構(gòu)造出其對應(yīng)的正確

2、輸出結(jié)果。4)提供一種機(jī)制,自動(dòng)判斷Design的正確性。如何編寫testbench1)TestBench是個(gè)無輸入輸出的HDL頂層模塊。2)其內(nèi)部需要實(shí)例化DUT模塊。3)需要定義被測模塊內(nèi)的連接線4)為被測頂層模塊提供符合規(guī)范的輸入激勵(lì)??蓪憺榧?lì)模塊或直接在Testbench中添加。5)觀察設(shè)計(jì)輸出和內(nèi)部信號(hào)并與理想結(jié)果相比較。6)不需要只使用可綜合的語句。可以使用系統(tǒng)任務(wù)語句實(shí)現(xiàn)。testbench書寫結(jié)構(gòu)(1)`timescale1ns/1psmoduletestbench();參數(shù)說明寄存器、線網(wǎng)類型變量的定義、說明;DUT實(shí)例化語句時(shí)鐘信號(hào)定義、賦初值;定義置/復(fù)位信號(hào)

3、的變化情形;用一個(gè)或多個(gè)initial語句塊產(chǎn)生DUT的模擬激勵(lì)向量用task等定義DUT外部時(shí)序接口endmoduleTestbench書寫結(jié)構(gòu)(2)`timescale1ns/100psmoduleTestBench();參數(shù)說明;寄存器、線網(wǎng)類型變量的定義、說明;DUT實(shí)例語句;時(shí)鐘信號(hào)定義、賦初值;定義置/復(fù)位信號(hào)的變化情形;`include“產(chǎn)生輸入激勵(lì)碼的HDL代碼段”;endmodule常用信號(hào)的產(chǎn)生方式1)時(shí)鐘信號(hào)的產(chǎn)生方式使用always語句產(chǎn)生。forever語句產(chǎn)生。2)復(fù)位信號(hào)產(chǎn)生在initial語句中賦值的方法產(chǎn)生。時(shí)鐘信號(hào)1)使用always循環(huán)語句產(chǎn)生不

4、斷變化的時(shí)鐘信號(hào)parameterPERIOD=10;regclk;initialclk=0;always#(PERIOD/2)Clk=~Clk;時(shí)鐘信號(hào)2)使用forever語句實(shí)現(xiàn)initialbegin#20clk=1;foreverbegin#(PERIOD*0.5)clk=0;#(PERIOD*0.5)clk=1;endend通過修改延時(shí)時(shí)間可以改變時(shí)鐘信號(hào)的占空比復(fù)位信號(hào)復(fù)位信號(hào)在驗(yàn)證中只考慮開始仿真時(shí)復(fù)位一次,根據(jù)不同的復(fù)位考慮復(fù)位時(shí)間的長短。復(fù)位信號(hào)直接在initial塊中賦值即可。regrstb;initialbeginrstb=1’b0;#1000rstb=1’b

5、1;end施加激勵(lì)的方式行激勵(lì)強(qiáng)制激勵(lì)使用循環(huán)添加激勵(lì)預(yù)設(shè)輸入激勵(lì)碼向量方式使用task語句系統(tǒng)任務(wù)和系統(tǒng)函數(shù)行激勵(lì)在initial語句中按順序添加絕對延時(shí)激勵(lì)reg[7:0]ts_data;Initialbegints_data=8’b0;#100Ts_data=8’h47;#100Ts_data=8’h1f;end優(yōu)點(diǎn):添加方便,簡潔,易于理解;缺點(diǎn):難于管理,不容易過程化。強(qiáng)制激勵(lì)添加強(qiáng)制賦值的方式,添加激勵(lì)源。1)使用assign和deassign語句initialbegin#10assigntop.dut.fsm1.state_reg=`init_state;#20deas

6、signtop.dut.fsm1.state_reg;end2)使用force和release語句initialbegin#10forcetop.dut.counter.scan_reg.q=0;#20releasetop.dut.counter.scan_reg.q;end使用循環(huán)語句在initial語句塊中用循環(huán)結(jié)構(gòu)描述具有一定變化規(guī)則的輸入激勵(lì)信號(hào)initialbeginfor(i=0;i<=255;i=i+1)@(negedgeclk)stimulus=i;#20$finish;end優(yōu)點(diǎn):1)每次循環(huán)迭代你可賦值一個(gè)新的激勵(lì)向量信號(hào)間的時(shí)序關(guān)系是有規(guī)律的2)Testbenc

7、h非常緊湊,易于管理預(yù)設(shè)輸入激勵(lì)碼向量方式將所需的輸入激勵(lì)碼表示為一定形式的向量表;輸入激勵(lì)碼向量預(yù)存于文件中;使用時(shí)從文件中按一定的時(shí)序節(jié)拍讀入文件中的輸入激勵(lì)碼向量VerilogHDL提供的支持:$readmemb(“File_Name”,Test_Vector);從文件中讀取二進(jìn)制輸入激勵(lì)碼向量$readmemh(“File_Name”,Test_Vector);從文件中讀取十六進(jìn)制輸入激勵(lì)碼向量initialbegin$readmemh("ethe

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。