iverilog/ivtest/blif/blif02k_tb.v

53 lines
1.1 KiB
Coq
Raw Normal View History

module main;
reg [1:0] D0, D1;
reg [1:0] sel;
wire [1:0] Q, R;
test_mux DUT(.\S[1] (sel[1]), .\S[0] (sel[0]),
.\D0[1] (D0[1]), .\D0[0] (D0[0]),
.\D1[1] (D1[1]), .\D1[0] (D1[0]),
.\Q[1] (Q[1]), .\Q[0] (Q[0]),
.\R[1] (R[1]), .\R[0] (R[0]));
initial begin
D0 = 'b01;
D1 = 'b10;
sel = 0;
#1 ;
if (Q !== D0) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, Q=%b", D0, D1, sel, Q);
$finish;
end
if (R !== D0) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, R=%b", D0, D1, sel, R);
$finish;
end
sel = 1;
#1 ;
if (Q !== D1) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, Q=%b", D0, D1, sel, Q);
$finish;
end
if (R !== D1) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, R=%b", D0, D1, sel, R);
$finish;
end
sel = 2;
#1 ;
if (Q !== 'b00) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, Q=%b", D0, D1, sel, Q);
$finish;
end
if (R !== 'b00) begin
$display("FAILED -- D0=%b, D1=%b, S=%b, R=%b", D0, D1, sel, R);
$finish;
end
$display("PASSED");
end
endmodule // main