errata/557: Re: errata/557: PROPOSAL - 9.3.2, para. 2: net "continuous assignment"

From: Shalom.Bresticker@motorola.com
Date: Tue Mar 16 2004 - 01:20:00 PST

  • Next message: Shalom.Bresticker@motorola.com: "errata/563: 9.3.2, Example: minor corrections"

    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.