From the course: Learning Verilog for FPGA Development

Unlock the full course today

Join today to access over 23,200 courses taught by industry experts.

Nonblocking assignments

Nonblocking assignments

- [Instructor] Now it's time to learn what non blocking means. Non blocking means that all assignments work concurrently. The term blocking does not refer to the order of events, but rather to the order of evaluation by the compiler in a blocking assignment time is not blocked the compiler is, this project only has one source file, and it doesn't have any test bench modules. In this example, we have a sequential module that takes two inputs, I and clock and outputs a single bit named Oh, we have a temporary registered name temp, and an always block sensitive to the positive edge of the clock line. Now, inside the block, notice that I'm making two blocking assignments in a particular order in lines 26 and 27. First, I'm assigning to temp, the value of I and then I'm assigning the same value to O, so semantically this means that the input goes to the output temp is only there for convenience, it doesn't get synthesized. Let me…

Contents