iverilog/ivtest/ivltests/task_init_var2.v

47 lines
782 B
Coq
Raw Normal View History

module static test();
task accumulate1(input integer value, output integer result);
begin:blk
static int acc = 1;
acc = acc + value;
result = acc;
end
endtask
task automatic accumulate2(input integer value, output integer result);
begin:blk
int acc = 1;
acc = acc + value;
result = acc;
end
endtask
integer value;
initial begin
static reg failed = 0;
accumulate1(2, value);
$display("%d", value);
if (value !== 3) failed = 1;
accumulate1(3, value);
$display("%d", value);
if (value !== 6) failed = 1;
accumulate2(2, value);
$display("%d", value);
if (value !== 3) failed = 1;
accumulate2(3, value);
$display("%d", value);
if (value !== 4) failed = 1;
if (failed)
$display("FAILED");
else
$display("PASSED");
end
endmodule