In Verilog we have two type of assignments:
- Blocking assignments:
=
- Non-blocking assignments:
<=
The main difference is that in the blocking assignments the order matters, while in the non-blocking assignments the assignments are done simultaneously.
To show the difference:
Produces:
Produces: