I have just started learning Verilog and I've seen these three lines from different sources. I am confused about the difference between the three:
These lines seem to assign a value to c but what's the difference? Thanks.
1) <=
non-blocking and is performed on every positive edge of clock. these are evaluated in parallel so no guarantee of order. An example of this would be a register.
2) assign =
continual assignment to wire outside an always statement. value of LHS is updated when RHS changes.
3) =
blocking assignment, inside always statements enforces sequential order.