- When modeling sequential logic use nonblocking assignments.
- When modeling latches use nonblocking assignments
- When modeling combinational logic with an always block, use blocking assignments
- When modeling both sequential and combinational logic within the same always block, use nonblocking assignments
- Do not mix blocking and nonblocking assignments in the same always block
- Do not make assignments to the same variable from more than one always block
What is combinational logic?
Combinational logic uses only the present inputs to determine the output
Combinational logic is used to implement basic boolean operations
What is sequential logic?
Sequential logic uses both present inputs and previous outputs to determine the current input
Sequential logic is used to create memory elements
Sequential logic uses the feedbacks from the output to inputs