Re: errata/599: intermediate variables with @*

From: Shalom.Bresticker@freescale.com
Date: Wed Jul 21 2004 - 04:20:00 PDT

  • Next message: eric_mahurin@yahoo.com: "errata/601: macro formal argument usage"

    The following reply was made to PR errata/599; it has been noted by GNATS.

    From: Shalom.Bresticker@freescale.com
    To: eric_mahurin@yahoo.com
    Cc: etf-bugs@boyd.com
    Subject: Re: errata/599: intermediate variables with @*
    Date: Wed, 21 Jul 2004 14:19:11 +0300 (IDT)

     The block will not evaluate twice, because tmp1 and tmp2 do not change during the waiting period of the @.
     
     I think that answers your comment about loop counters also.
     
     Regardless, your question has been previously discussed.
     
     See the thread beginning at
     http://boydtechinc.com/etf/archive/etf_2002/0068.html
     
     You can find an archive of the full discussion about @* at
     http://boydtechinc.com/etf/archive/etf_2004/2687.html
     
     Shalom
     
     
    > In 9.7.5, @* triggers on all variables which are read by the statement. But, why have intermediate variables as triggers. As in the example:
    >
    > always @* begin // equivalent to @(a or b or c or d or tmp1 or tmp2)
    > tmp1 = a & b;
    > tmp2 = c & d;
    > y = tmp1 | tmp2;
    > end
    >
    > Having tmp1 and tmp2 as event triggers seems to serve no purpose other than to have the simulator evaluate this block twice instead of once when a, b, c, or d changes. Also, if intermediate variables (i.e. loop counters) are shared between always blocks, it can cause the simulator to hang in an event loop.
    >
    > If a variable is always assigned (blocking) before it is read within the statement, I don't see why @* needs to imply it.
    >
    > Maybe this could be an optional feature.
     
     --
     Shalom Bresticker Shalom.Bresticker @freescale.com
     Design & Reuse Methodology Tel: +972 9 9522268
     Freescale Semiconductor Israel, Ltd. Fax: +972 9 9522890
     POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 5441478
     
     



    This archive was generated by hypermail 2.1.4 : Wed Jul 21 2004 - 04:20:10 PDT and
    sponsored by Boyd Technology, Inc.