Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

begin end block and Non-blocking Statements

Status
Not open for further replies.

vickyuet

Member level 2
Joined
Oct 3, 2006
Messages
51
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
pakistan
Activity points
1,691
Question 1:
statements in verilog are executed in parallel but my question is What if we put them inside a
procedural block?

Begin
Statement 1;
Statement 2;

end

Now tell me in which order these are executed?both parallel or statement 1 then 2?

Question2:
If statements inside begin end runs sequentially then why non-blocking statements(<=) runs in parallel,though they are in begin end block
REGARDS,
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
49,122
Helped
14,379
Reputation
29,022
Reaction score
13,131
Trophy points
1,393
Location
Bochum, Germany
Activity points
283,168
1. You already anticipated the answer in question 2, apparently you know it.

2. The statements don't run in parallel. In the below sequence, a is always set to 1. The point is, that the expression LHS (left hand side, or the result) won't be updated before the block ends. The difference only matters, if a is read inside the block.
Code:
begin
  a <= 0;
  a <= 1;
end
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top