測試文件編寫(testbench)-FPGA
來自專欄 FPGA學習筆記
摘抄自 明德揚視頻課程
測試文件模板:
`timescale 1ns/1nsmodule testbench_name();//時鐘和複位reg clk;reg rst_n;//uut的輸入信號reg[3:0] din0;reg din1;//uut的輸出信號wire dout0;wire[4:0] dout1;//時鐘周期,單位為ns,可在此修改時鐘周期parameter CYCLE = 20; //周期為20ns//複位時間,此時表示複位三個時鐘周期的時間parameter RST_TIME = 3;//待測試的模塊例化module_name uut( .clk (clk), .rst_n (rst_n), .din0 (din0), .din1 (din1), .dout0 (dout0), .dout1 (dout1) );//生成本地時鐘50Minitial begin clk = ; forever #(CYCLE/2) // 每隔10ns,電平取反 clk = ~clk;end//產生複位信號initial begin rst_n = 1; #2; rst_n = 0; #(CYCLE*RST_TIME); rst_n = 1;end//輸入信號din0賦值方式initial begin #1; // 賦初值前,必須先有一個單位的延時 //賦初值 din0 = 0; #(10*CYCLE); //開始賦值end//輸入信號din1賦值方式initial begin #1; // 賦初值前,必須先有一個單位的延時 //賦初值 din1 = 0; #(10*CYCLE); //開始賦值endendmodule
推薦閱讀: