|
勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載45:基于仿真的第一個(gè)工程實(shí)例之測(cè)試腳本創(chuàng)建與編輯 特權(quán)同學(xué),版權(quán)所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
回到Quartus II工具中,如圖6.13所示,點(diǎn)擊菜單欄的“ProcessingàStartàStart Test Bench Template Writer”,隨后彈出提示“Test Bench Template Writer was successful”(在此之前,最好對(duì)整個(gè)工程做一次全編譯,否則可能報(bào)錯(cuò)),那么我們就已經(jīng)創(chuàng)建了一個(gè)Verilog測(cè)試腳本,在此腳本中,我們可以設(shè)計(jì)一些測(cè)試激勵(lì)輸入并且觀察相應(yīng)輸出,借此我們就能夠驗(yàn)證原工程的設(shè)計(jì)代碼是否符合要求。
圖6.13 生成測(cè)試腳本 我們打開(kāi)工程所在文件夾下的“…/simulation/modelsim”文件夾,如圖6.14所示,可以看到一個(gè)名為cy4.vt的測(cè)試腳本文件創(chuàng)建好了。
圖6.14 測(cè)試腳本文件 測(cè)試腳本文件在Notepad++中打開(kāi)了。這里的測(cè)試腳本只是一個(gè)基本的模板,它把設(shè)計(jì)文件cy4.v的接口在這個(gè)模塊里面例化申明了,我們還需要自動(dòng)動(dòng)手添加復(fù)位和時(shí)鐘的激勵(lì),編輯好的測(cè)試腳本如下所示。 `timescale 1 ns/ 1 ps module cy4_vlg_tst(); // test vector input registers reg ext_clk_25m; reg ext_rst_n; // wires wire clk_12m5; // assign statements (if any) cy4 i1 ( // port map - connection between master ports and signals/registers .clk_12m5(clk_12m5), .ext_clk_25m(ext_clk_25m), .ext_rst_n(ext_rst_n) ); initial begin // Initialize Inputs ext_clk_25m = 0; ext_rst_n = 0; // Wait 100 ns for globalreset to finish #100; ext_rst_n = 1; // Add stimulus here #2000; $stop; end always #20 ext_clk_25m =~ext_clk_25m; //產(chǎn)生25MHz時(shí)鐘源 endmodule 有朋友可能是第一次接觸測(cè)試仿真,關(guān)于仿真的基本概念請(qǐng)查看《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》第九章的設(shè)計(jì)仿真部分內(nèi)容。 |