1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
`timescale 100 ps / 10 ps
module main;
wire Q;
reg D, G;
LD u1 (.Q(Q), .D(D), .G(G));
initial begin
D = 0;
G = 1;
#1 if (Q !== 0) begin
$display("FAILED -- D=%b, G=%b --> Q=%b", D, G, Q);
$finish;
end
D = 1;
#1 if (Q !== 1) begin
$display("FAILED -- D=%b, G=%b --> Q=%b", D, G, Q);
$finish;
end
G = 0;
#1 if (Q !== 1) begin
$display("FAILED -- D=%b, G=%b --> Q=%b", D, G, Q);
$finish;
end
D = 0;
#1 if (Q !== 1) begin
$display("FAILED -- D=%b, G=%b --> Q=%b", D, G, Q);
$finish;
end
G = 1;
#1 if (Q !== 0) begin
$display("FAILED -- D=%b, G=%b --> Q=%b", D, G, Q);
$finish;
end
$display("PASSED");
end // initial begin
endmodule // main
|