42 lines
772 B
Coq
42 lines
772 B
Coq
|
|
/*
|
||
|
|
* This is a simplified version of the test program for issue 1323691
|
||
|
|
* from the iverilog bugs database.
|
||
|
|
*/
|
||
|
|
`timescale 1ns/1ns
|
||
|
|
|
||
|
|
|
||
|
|
module main;
|
||
|
|
|
||
|
|
parameter early_empty=1;
|
||
|
|
|
||
|
|
reg re;
|
||
|
|
|
||
|
|
reg rc_isEmpty, rc_willBeEmpty;
|
||
|
|
wire empty;
|
||
|
|
|
||
|
|
assign empty = (early_empty!=0) ?
|
||
|
|
rc_willBeEmpty && re || rc_isEmpty :
|
||
|
|
rc_isEmpty;
|
||
|
|
|
||
|
|
|
||
|
|
initial begin
|
||
|
|
rc_isEmpty <= 1'bx;
|
||
|
|
rc_willBeEmpty <= 1'b1;
|
||
|
|
re <= 1'b0;
|
||
|
|
rc_isEmpty <= 1'b0;
|
||
|
|
|
||
|
|
#1 if (empty !== 1'b0) begin
|
||
|
|
$display("FAILED -- empty == %b (s.b. 0)", empty);
|
||
|
|
$finish;
|
||
|
|
end
|
||
|
|
|
||
|
|
rc_isEmpty <= 1;
|
||
|
|
#1 if (empty !== 1'b1) begin
|
||
|
|
$display("FAILED -- empty == %b (s.b. 1)", empty);
|
||
|
|
$finish;
|
||
|
|
end
|
||
|
|
|
||
|
|
$display("PASSED");
|
||
|
|
end
|
||
|
|
endmodule
|