Which region does push_back or any other queue methods get scheduled if those operations are inside an always block?
Apart from popping the queue in the same edge, is there anything that can contribute to race in below snippet.
Kindly educate.
always @(posedge clk)
begin
if(condition)
q.push_back(1);
end
always @(posedge clk)
if (q.size() == 1) begin
// Do something and pop the entry
end
always @(posedge clk)
if (q.size() == 1) begin
// Some checks
end