Co-Authored By:

Asked by: Marcello Tuenissen
technology and computing databasesWhat is the difference between blocking and nonblocking?
In this way, what is blocking and nonblocking in Verilog?
Well, "=" is blocking assignment and "<=" is nonblocking assignment. "=" executes code sequentially inside a begin / end, whereas nonblocking "<=" executes in parallel. After all, you can make blocking assignments with assign statements outside of always blocks, and those all run in parallel.
Hereof, what is blocking in Verilog?
A blocking assignment gets its name because a blocking assignment must evaluate the RHS arguments and complete the assignment without interruption from any other Verilog statement. The assignment is said to "block" other assignments until the current assignment has completed.
Blocking refers to operations that block further execution until that operation finishes. In the given example, localStorage is a blocking operation as it stalls execution to read.