From: Shalom.Bresticker@motorola.com
Date: Tue Mar 16 2004 - 01:20:00 PST
The following reply was made to PR errata/557; it has been noted by GNATS.
From: Shalom.Bresticker@motorola.com
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/557: PROPOSAL - 9.3.2, para. 2: net "continuous assignment"
Date: Tue, 16 Mar 2004 11:34:21 +0200 (IST)
OK, that makes sense.
However, the usage of "procedural continuous assignment" here is still
wrong, because that term everywhere else means either both force and
assign or just assign. It never means just force.
Further, while this section discusses what happens when a forced variable
is released, it never discusses what happens when a forced net is released.
Therefore, I will propose to change paragraphs 2-4 from
A force statement to a variable shall override a procedural assignment or procedural continuous assignment that takes place on the variable until a release procedural statement is executed on the variable. After the release procedural statement is executed, the variable shall not immediately change value (as would a net that is assigned with a procedural continuous assignment). The value specified in the force statement shall be maintained in the variable until the next procedural assignment takes place, except in the case where a procedural continuous assignment is active on the variable.
A force procedural statement on a net overrides all drivers of the net-gate outputs, module outputs, and continuous assignments-until a release procedural statement is executed on the net.
Releasing a variable that currently has an active procedural continuous assignment shall re-establish that assignment.
TO
A *force* statement to a variable shall override a procedural assignment
or an *assign* procedural continuous assignment to the variable until a *release*
procedural statement is executed on the variable.
When released, then if the variable does not currently
have an active *assign* procedural continuous assignment, the variable shall
not immediately change value. The variable shall maintain its current value
until the next procedural assignment or procedural continuous assignment to the variable.
Releasing a variable that currently has an active *assign* procedural
continuous assignment shall immediately re-establish that assignment.
A *force* procedural statement on a net shall override all drivers of the net --
gate outputs, module outputs, and continuous assignments -- until a *release*
procedural statement is executed on the net. When released, the net
shall immediately be assigned a new value as determined by the drivers of the net.
Shalom
> Sorry Shalom, but I believe that your interpretation of the intent of this
> sentence is incorrect. I believe that my interpretation of the intent is
> correct, and that "as would a net that is assigned with a procedural
> continuous assignment" is referring to a net that was forced. It is
> contrasting the effect of a release on a variable with a release on a net.
> A variable retains its value until it is next assigned, while a net
> immediately jumps to the value that is being driven onto it (since that
> value is conceptually being driven continuously, not updated at specific
> times).
>
> I now have support for my interpretation. Just look at 9.3.2 in the 1995
> standard. It says "After the release procedural statement is executed, the
> register does not immediately change value (as would a net that is forced)."
>
> Apparently it was decided for the 2001 standard to start referring to forces
> as a subset of procedural continuous assignments, and therefore the term
> "forced" was changed to "assigned with a procedural continuous assignment".
> Apparently this confused you, but the original intent clearly matches my
> interpretation.
--
Shalom Bresticker Shalom.Bresticker@motorola.com
Design & Reuse Methodology Tel: +972 9 9522268
Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890
POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478
[x]Motorola General Business Information
[ ]Motorola Internal Use Only
[ ]Motorola Confidential Proprietary
This archive was generated by hypermail 2.1.4
: Tue Mar 16 2004 - 01:20:09 PST
and
sponsored by Boyd Technology, Inc.