RE: Comment on Issue 211

From: Steven Sharp (sharp@cadence.com)
Date: Mon Aug 11 2003 - 14:01:42 PDT

  • Next message: Steven Sharp: "Re: errata/402: PROPOSAL - 9.5: evaluation of case expression"

    Precedence: bulk

    Like Mac, I interpret all of the text about overriding parameters as not
    applying to localparams because they are not technically parameters.
    There is no need for a special rule about skipping localparams for
    overrides, any more than there is a special rule about skipping regs
    or nets for overrides; the overrides simply don't apply to any objects
    other than parameters, which means that they don't apply to localparams.
    This results in skipping them when overriding by position (just as you
    would skip any other non-parameter declaration), and producing an error
    when overriding by name (just as you would produce an error for any other
    attempt to override a name that is not a parameter).

    However, this argument is weakened by the practice of using the term
    parameter elsewhere to refer to both parameters and localparams. It
    would have been too much work to change all the old references to
    parameters to say "parameters and localparams". It was a lot easier
    to just say that localparams act like parameters except in regard to
    overrides.

    Unfortunately, the description of that exception can be misinterpreted
    as meaning that you can try to override localparams just like parameters,
    but it produces an error when you do. Nor are the engineers working
    on ModelSim the only ones who have come to this conclusion. The
    engineer implementing localparams in NC-Verilog came to this same wrong
    conclusion, and I had to correct them. This indicates that the text
    needs some clarification.

    Steven Sharp
    sharp@cadence.com



    This archive was generated by hypermail 2.1.4 : Mon Aug 11 2003 - 14:05:24 PDT and
    sponsored by Boyd Technology, Inc.