//EX4_2_p100
module EX4_2_p100(A,B,C,F);
input A,B,C ; // A, B ,C 1位元輸入
output F ; // Output 1位元輸出
reg F;
always@(A or B or C)
begin
case({A,B,C})
3'b000:F=1'b0;
3'b001:F=1'b1;
3'b010:F=1'b0;
3'b011:F=1'b0;
3'b100:F=1'b0;
3'b101:F=1'b0;
3'b110:F=1'b0;
3'b111:F=1'b1;
endcase
end
endmodule
// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps
module Test_bench;
reg t_A = 1'b0; // 暫存器資料初值為‘0’
reg t_B = 1'b0; // 暫存器資料初值為‘0’
reg t_C = 1'b0; // 暫存器資料初值為‘0’
wire t_F;
integer i;
EX4_2_p100 DUT(.A(t_A), .B(t_B), .C(t_C),.F(t_F));
// initial程序結構區塊, 產生A、B輸入信號波形
initial begin
$monitor(t_A,t_B,t_C,t_F);
for (i=0; i<16; i=i+1) begin
{t_A,t_B,t_C} = i;
#20;
end
end
initial
begin
#200; // 模擬終止時間 200 ns
$stop;
end
endmodule
沒有留言:
張貼留言