From: Steven Sharp (sharp@cadence.com)
Date: Mon Aug 11 2003 - 14:01:42 PDT
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.