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

Example to show a single digit, Q. Example to show a single digit ? Dis...

Q. Example to show a single digit ? Displaying a single digit (0 to 9) Presume that a value 5 is stored in BL register then to output BL as ASCII value add character ‘0' to

Coso framework, The COSO Framework consists of six broad classes of control...

The COSO Framework consists of six broad classes of control activities. Initial responses should identify and define one of the broad classes (Ex: segregation of duties or indepe

Data Warehousing Job Scheduling, 1) Define a job scheduling strategy that w...

1) Define a job scheduling strategy that will meet business requirement of reporting availability by 6am CST for the following cubes? Show the job scheduling dependencies in a pict

What is domain explain, Q. What is Domain explain? Domain can be an apa...

Q. What is Domain explain? Domain can be an apartment complex, a town or even a country. Sub-domains can correspond to organizations like expertsmind. United States comes under

Microprocessor and interfacing, Write an ALP to count positve and numbers f...

Write an ALP to count positve and numbers from array.

Predicates - first-order logic, Predicates - first-order logic: First ...

Predicates - first-order logic: First and foremost in first-order logic sentences, because predicates. Hence the indications of that some things are related in some way. So af

What is software engineering, Software engineering is:- The application...

Software engineering is:- The application of a disciplined engineering move towards to the development of software systems. A body of information and knowledge in software d

Can a vector have a component equivalent to zero, Q. Can a vector have a co...

Q. Can a vector have a component equivalent to zero and still have a nonzero magnitude? Answer:- Yes For example the 2-dimensional vector (1, 0) has length sqrt (1+0) = 1

Determine Boolean identities using Boolean algebra, Prove the following ide...

Prove the following identities   a. A ‾B ‾C‾ + A ‾BC ‾ + AB ‾C ‾ + ABC ‾ = C ‾ b. AB + ABC + A ‾ B + AB ‾C = B + AC Ans. a. LHS = A'B'C' + A'BC' + AB'C' + ABC' =

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