From the course: Learning Verilog for FPGA Development

Unlock the full course today

Join today to access over 22,700 courses taught by industry experts or purchase this course individually.

Nonblocking assignments

Nonblocking assignments - FPGA Tutorial

From the course: Learning Verilog for FPGA Development

Start my 1-month free trial

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