Difference between blocking and non-blocking, Computer Engineering

Assignment Help:

Difference between blocking and non-blocking

Verilog  language  has  two  forms  of  the  procedural  assignment  statement:  blocking  and  nonblocking. The two are distinguished by = and <= assignment operators. Blocking assignment statement (= operator) acts much like in traditional programming languages. Whole statement is done before control passes on to the next statement. Non-blocking (<= operator) evaluates all the right-hand sides for current time unit and assigns left-hand sides at the end of the time unit.

For example, the following Verilog program

// testing blocking and non-blocking assignment

module blocking;

reg [0:7] A, B;

initial begin: init1

A = 3;

#1 A = A + 1; // blocking procedural assignment

B = A + 1;

$display("Blocking: A= %b B= %b", A, B );

A = 3;

#1 A <= A + 1; // non-blocking procedural assignment

B <= A + 1;

#1 $display("Non-blocking: A= %b B= %b", A, B );

end

endmodule

produces the following output:

Blocking: A= 00000100 B= 00000101

Non-blocking: A= 00000100 B= 00000100

The  effect  is  for  all  non-blocking  assignments  to  use  old  values  of  variables  at  the beginning of current time unit and to assign registers new values at the end of the current time unit.  This  reflects  how  register  transfers  take place in  some  hardware  systems.  Blocking  procedural assignment is used for combinational logic and non-blocking procedural assignment for sequential.

 


Related Discussions:- Difference between blocking and non-blocking

Define user space, Define user space? The system space is divided from ...

Define user space? The system space is divided from virtual address space in which the user application programs reside. The letter space is known as user space.

Explain the structure of virtual enterprise, Explain the Structure of Virtu...

Explain the Structure of Virtual Enterprise. The virtual enterprise can be a suitable structure to explore the emerging opportunities for forming value in the information socie

What is schedulers, What is schedulers?  A process migrates between the...

What is schedulers?  A process migrates between the various scheduling queues throughout its life time. The OS must select processes from these queues in some fashion. This sel

Illustrate about first generation computers, Q. Illustrate about First Gene...

Q. Illustrate about First Generation Computers? It is certainly ironic that scientific inventions of great impact have frequently been linked with supporting a very sad as well

At least two optional data fields, As an XML expert you are needed to model...

As an XML expert you are needed to model a system for an online furniture shop. After an interview with the shop manager you have the certain information: The detail of th

Performance of pipelines with stalls, Performance of Pipelines with Stalls:...

Performance of Pipelines with Stalls: A stall is reason of the pipeline performance to degrade the ideal performance.                                             Average in

Split bus operation - universal serial bus , Split Bus Operation - universa...

Split Bus Operation - universal serial bus :   USB 2.0 devices utilize a special protocol in the reset time that is called "chirping", to negotiate the high speed mode

SWOT ANALYSIS, OPPORTUNITIES AND THREATS IN COMPUTER FEILD

OPPORTUNITIES AND THREATS IN COMPUTER FEILD

Engineering maths, calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

calculate dy/dx if y=[x-cos(1/cos(xe/2x))]/x

C pograming, why we use void main in c progrmeing

why we use void main in c progrmeing

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd