pigtwo
Member level 4
Hello all,
I have a basic question about how a certain block is synthesized. Take for example the code below:
I understand that the first always block will produce a register that is clocked by 'clk' but what does the second always block synthesize to? Does it just become pure combination logic(IE even though state_next is declared a reg it would really synthesize as a wire)?
For clarification I don't mean how is an incrementer synthesized(this is just an example) but more generally how registers in a always@* block are handled.
Thank you for the help!
I have a basic question about how a certain block is synthesized. Take for example the code below:
Code Verilog - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 module blah(input wire clk); reg state, state_next; always @(posedge clk) begin state <= state_next; end always@* begin state_next = state + 1; end endmodule
I understand that the first always block will produce a register that is clocked by 'clk' but what does the second always block synthesize to? Does it just become pure combination logic(IE even though state_next is declared a reg it would really synthesize as a wire)?
For clarification I don't mean how is an incrementer synthesized(this is just an example) but more generally how registers in a always@* block are handled.
Thank you for the help!