iverilog/ivtest/ivltests/pr224.v

38 lines
721 B
Verilog

// Extracted from PR#224
module test;
reg clk;
reg [3:0] ack;
task first;
input [1:0] p;
begin
@(posedge clk); $display("got posedge clk");
`ifdef LINE_A
//A: line below compiles under XL/NC - iverilog complains
@(posedge ack[p]); $display("got posedge ack[p]");
`else
//B: line below core dumps under vvp - OK under vvm
@(posedge ack); $display("got posedge ack");
`endif
@(posedge clk); $display("got posedge clk");
$display("PASSED");
$finish;
end
endtask
initial #5 first(1);
initial
begin
ack <= 0; clk <= 0;
#10 clk <= 1;
#10 ack <= 3; clk <= 0;
#10 clk <= 1;
#10 $display("FAILED");
$finish;
end
endmodule // test