N
nicety
Guest
I am in the process of analyzing the code given to me. Is the following
always construct synchronous or not? What change should I make to the
code to make it work correctly? Thanx in advance.
The code and the warning is as follows.
always @(REclk or circ_queue_empty or RE_nRESET)
begin
if(~RE_nRESET)
InWAIT <= 1'b1;
else if((circ_queue_empty == 1'b0) && (REclk == 1'b1))
InWAIT <= 1'b1;
else if((circ_queue_empty == 1'b1) && (REclk == 1'b0))
InWAIT <= 1'b0;
end
Warning: Verilog HDL Always Construct warning at Dbeq.v(89): variable
"InWAIT" may not be assigned a new value in every possible path through
the Always Construct. Variable "InWAIT" holds its previous value in
every path with no new value assignment, which may create a
combinational loop in the current design.
always construct synchronous or not? What change should I make to the
code to make it work correctly? Thanx in advance.
The code and the warning is as follows.
always @(REclk or circ_queue_empty or RE_nRESET)
begin
if(~RE_nRESET)
InWAIT <= 1'b1;
else if((circ_queue_empty == 1'b0) && (REclk == 1'b1))
InWAIT <= 1'b1;
else if((circ_queue_empty == 1'b1) && (REclk == 1'b0))
InWAIT <= 1'b0;
end
Warning: Verilog HDL Always Construct warning at Dbeq.v(89): variable
"InWAIT" may not be assigned a new value in every possible path through
the Always Construct. Variable "InWAIT" holds its previous value in
every path with no new value assignment, which may create a
combinational loop in the current design.