What does it mean if a task is declared with the automatic keyword in Verilog?
task automatic do_things; input [31:0] number_of_things; reg [31:0] tmp_thing; begin // ... end endtask;
Note: This question is mostly because I’m curious if there are any hardware programmers on the site. 🙂
It means that the task is re-entrant – items declared within the task are dynamically allocated rather than shared between different invocations of the task.
You see – some of us do Verilog… (ugh)