iverilog/ivtest/ivltests/vhdl_notg_bit.v

53 lines
850 B
Verilog

module stimulus (output reg A);
initial begin
A = 1'b0;
#10 A = 1'b1;
end
endmodule
module scoreboard (input Y, A);
function truth_table (input a);
reg gate_operand;
reg gate_output;
begin
gate_operand = a;
case (gate_operand)
1'b0: gate_output = 1;
1'b1: gate_output = 0;
endcase
truth_table = gate_output;
end
endfunction
reg Y_t;
always @(A) begin
Y_t = truth_table (A);
#1;
//$display ("a = %b, b = %b, Y_s = %b, Y = %b", A, B, Y_s, Y);
if (Y_t !== Y) begin
$display("FAILED! - mismatch found for inputs %b in NOT operation", A);
$finish;
end
end
endmodule
module test;
stimulus stim (A);
not_gate duv (.a_i(A), .c_o(Y) );
scoreboard mon (Y, A);
initial begin
#100;
$display("PASSED");
$finish;
end
endmodule