How I Answered: I explained that blocking assignments (=) execute sequentially, one after the other, like normal C statements, and they can cause race conditions if used in clocked always blocks. Non-blocking assignments (<=) allow all right-hand side values to be evaluated first and then update the left-hand side at the end of the time step, making them ideal for modeling synchronous logic like flip-flops.
Sigiloso
How I Answered: I explained that blocking assignments (=) execute sequentially, one after the other, like normal C statements, and they can cause race conditions if used in clocked always blocks. Non-blocking assignments (<=) allow all right-hand side values to be evaluated first and then update the left-hand side at the end of the time step, making them ideal for modeling synchronous logic like flip-flops.