Pergunta de entrevista da empresa Cirrus Logic

Difference between blocking and non-blocking assignments and when are they used

Resposta da entrevista

Sigiloso

21 de mar. de 2016

Blocking assignment blocks the simulator from executing any other statements. It evaluates the expression on the right of the assignment and updates the left immediately (used in modelling combinational logic) eg. A = B+C Non-blocking assignment evaluates expression on the right of the assignment but does not update the left until the next active edge of the clock. Allows for concurrency since all non-blocking assignments are evaluated concurrently, and update at the next active edge of the clock (used in modelling sequential logic) eg. A <= B+C.