I am trying to use synchronous reset within an always block for a Moore FSM. Following are 2 blocks of code implementing the same, one uses Non-Blocking assignment and other uses Blocking assignment.
always @(posedge clock, posedge reset) begin
if(reset==1)
current_state <= Zero;
else
current_state <= next_state;
end
vs
always @(posedge clock, posedge reset)
begin
if(reset==1)
current_state = Zero;
else
current_state = next_state;
end
What would be the difference in outputs between these 2 blocks of code?