Testbench
testbench是一種驗(yàn)證的手段。首先,任何設(shè)計(jì)都是會(huì)有輸入輸出的。但是在軟環(huán)境中沒(méi)有激勵(lì)輸入,也不會(huì)對(duì)你設(shè)計(jì)的輸出正確性進(jìn)行評(píng)估。那么此時(shí)便有一種,模擬實(shí)際環(huán)境的輸入激勵(lì)和輸出校驗(yàn)的一種“虛擬平臺(tái)”的產(chǎn)生。在這個(gè)平臺(tái)上你可以對(duì)你的設(shè)計(jì)從軟件層面上進(jìn)行分析和校驗(yàn),這個(gè)就是testbench的含義。
簡(jiǎn)單的Testbench設(shè)計(jì)
//timescale 仿真時(shí)間單位/時(shí)間精度(時(shí)間精度不能比時(shí)間單位還要大)
timescale 1ns/1ps
//定義一個(gè)無(wú)輸入無(wú)輸出的Moudle
module Led_clg_tst();
//被測(cè)設(shè)計(jì)的輸入信號(hào),對(duì)應(yīng)測(cè)試腳本的輸出信號(hào)(注意要定義成reg)
reg clk;
reg rst_n;
//被測(cè)設(shè)計(jì)的輸出信號(hào),對(duì)應(yīng)測(cè)試腳本的輸入信號(hào)(注意要定義成wire)
wire led;
//例化待測(cè)模塊
Led led_test
(
.clk(clk),
.rst_n(rst_n),
.led(led)
);
//使用Initail生成rst_n激勵(lì)
initial
begin
//監(jiān)控Led信號(hào)變化
monitor(monitor(time,”led value= %b\n”,led);
end
//使用alwasys模擬產(chǎn)生25M的時(shí)鐘信號(hào)
always #20 clk = ~clk;
endmodule
-
設(shè)計(jì)
+關(guān)注
關(guān)注
4文章
818瀏覽量
69888
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論