RE: Combinational sensitivity question

From: Michael McNamara (mac@verisity.com)
Date: Wed Jul 10 2002 - 12:46:11 PDT

  • Next message: Clifford E. Cummings: "SV-BC Info & Conference Call Agenda"

    Precedence: bulk

    My initial intuitive impression is that variable delays should not be
    automatically included in @* sensitivity lists.

    -mac

    Steven Sharp writes:
    > Precedence: bulk
    >
    > Reading the recent list of errata that didn't make it into the printed
    > standard brought up an issue for me.
    >
    > There are two descriptions in section 9.7.5 of what goes into the
    > implicit event_expression list for @*. The first is an "everything but"
    > description, which includes all net and reg identifiers except for those
    > in wait or event expressions, or that are lvalues.
    >
    > The second description lists nets and variables that are supposed to be
    > included by the rules.
    >
    > Unfortunately, there are cases that are included by the first description
    > but not included by the second one. I had assumed that the second
    > description was intended as an incomplete set of examples of what might
    > get included by the first description (which was the official rule).
    > However, the errata modify the second description to add identifiers used
    > in index expressions on the left hand side of assignments. The fact that
    > such a correction was made implies that the second description was intended
    > to be a complete one.
    >
    > One case that is unclear is identifiers used in delay controls. These are
    > identifiers that are not excluded in the first description, but are not
    > mentioned in the second description. Are they supposed to be included in
    > the sensitivity list?
    >
    > Example:
    >
    > always @*
    > a = #(delay) b;
    >
    > Should "delay" be included in the sensitivity list?
    >
    > Note that in the similar situation in a continuous assignment
    >
    > assign #(delay) a = f(b);
    >
    > changes in the value of delay do not cause the continuous assignment to
    > be evaluated (at least not in Verilog-XL or NC-Verilog). This can be
    > seen by putting a $display in the function f, or by testing the delay
    > behavior. Based on this, I would expect that delay controls should not
    > contribute to the implicit event_expression list.
    >
    > Other opinions? Should we add this as an erratum? What if we find other
    > cases where these descriptions disagree?
    >
    > Steven Sharp
    > sharp@cadence.com
    >



    This archive was generated by hypermail 2.1.4 : Wed Jul 10 2002 - 16:43:33 PDT and
    sponsored by Boyd Technology, Inc.