//===============================================================
// SD工作室 Verilog 教學eBOOK (Taiwan Version:01)
//---------------------------------------------------------------
// 網址: http://sanddservice.no-ip.org/
//---------------------------------------------------------------
// Module Name:mux4_1_example01_SD_Testbench.v
// 範例:Xilinx ISE 如何建立測試平台原始碼[Testbench Simulation 範例01]
// 目的:1.認識4X1 Multiplexor之FPGA電路如何在測試平台進行模擬驗證運算
// 2.認識Verilog HDL Testbench[ISim]編寫應用
//===============================================================
`timescale 1ns / 1ps
//不需要宣告mux4_1_example01_SD.v中所需的input和output ports
module mux4_1_example01_SD_Testbench;
//TestBench通常input ports會改宣告成reg型態
//TestBench通常output ports會改宣告成wire型態
reg [3:0] Input0_t, Input1_t, Input2_t, Input3_t;
reg [2:0] Sel_t;
wire [3:0] Data_out_t;
always
//initial
begin
//assign values to input register
Input0_t <= 4'HA;
Input1_t <= 4'HB;
Input2_t <= 4'HC;
Input3_t <= 4'HD;
//case 0 - 指定Input0變數在Sel_t <= 2'b00,在延遲1個單位時間之後,
// 顯示其執行模擬運算Data_out變數=HA
Sel_t <= 2'b00;
#1 $display("Data_out_t = %b", Data_out_t);
//case 1 - 指定Input1變數在Sel_t <= 2'b01,在延遲1個單位時間之後,
// 顯示其執行模擬運算Data_out變數=HB
Sel_t <= 2'b01;
#1 $display("Data_out_t = %b", Data_out_t);
//case 2 - 指定Input2變數在Sel_t <= 2'b10,在延遲1個單位時間之後,
// 顯示其執行模擬運算Data_out變數=HC
Sel_t <= 2'b10;
#1 $display("Data_out_t = %b", Data_out_t);
//case 3 - 指定Input2變數在Sel_t <= 2'b11,在延遲1個單位時間之後,
// 顯示其執行模擬運算Data_out變數=HD
Sel_t <= 2'b11;
#1 $display("Data_out_t = %b", Data_out_t);
end
mux4_1_example01_SD mux4_1(Input0_t, Input1_t, Input2_t, Input3_t, Sel_t,
Data_out_t);
endmodule
//--------------------------------------------------------------------------
mux4_1_example01_SD_Testbench.v 於[ISim]測試平台進行模擬驗證運算之WaveForm
留言列表