RE: [sv-bc] MERGE REVIEW draft 2: Chapter 10

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Apr 10 2007 - 06:18:33 PDT
This is the result of Mantis 1002, not Stu's editing. The similar
sentence you mention in 10.3.1 was actually also added by Mantis 1002.

The difference between blocking and nonblocking assignments is
historical. If the LHS requires an evaluation (e.g., variable array
index, where variable value needs to be evaluated), then in a
nonblocking assignment it is evaluated together with the right-hand
side, whereas in a blocking assignment it is evaluated at the time of
assignment to the left-hand side. 

The result is that the LHS and RHS are evaluated together in a
nonblocking assignment whether or not there is a delay, whereas they are
evaluated together in a blocking assignment only if there is no delay.
When they are evaluated 'together', the LRM does not specify whether the
LHS is evaluated first or the RHS.

> 10.3.2 "The order of evaluation of the variable_lvalue and the
> expression on the right-hand
> side is undefined."  This eliminated "if timing control is not
> specified".  I don't know whether the change is correct or not, but
> removing the 'if' phrase seems to yield a significant difference in
> the
> meaning of the sentence.  And it wasn't removed from a similar
> sentence
> in 10.3.1.  Why was this phrase only wrong for nonblocking
> assignments?

Shalom

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Apr 10 06:19:04 2007

This archive was generated by hypermail 2.1.8 : Tue Apr 10 2007 - 06:19:41 PDT