From: Steven Sharp (sharp@cadence.com)
Date: Mon Aug 18 2003 - 16:22:59 PDT
Precedence: bulk
>12.2.1, para. 1, says,
>
>"However, a defparam statement in a hierarchy under a
>generate scope or array of instances shall not change a parameter value outside
>that hierarchy."
>
>Why is there a restriction on defparams under an array of instances?
>
>This was Steven Sharp's addition.
It is similar to a defparam inside a generate-for affecting a parameter
outside the generate-for: it could modify the parameter that determined
the number of instances that should be instantiated in the array. The
problem is not as severe as with generates, since at least it is impossible
to modify something so that the defparam should not have been instantiated
at all.
Note also that trying to do this will not be useful in general. All of
the instances in the array will be trying to defparam the same parameter
instance. If they are setting it to the same value, this is pretty useless.
If they are setting it to a different value (which I think is only possible
if there are defparams outside the array setting different parameter values
in different instances in the array, which are then used in the RHS of a
defparam inside the array), then the LRM does not actually specify what
should happen (none of the defparams is later in the source in any way,
and they are not in different source files, see 12.2.1).
Steven Sharp
sharp@cadence.com
This archive was generated by hypermail 2.1.4
: Mon Aug 18 2003 - 16:26:28 PDT
and
sponsored by Boyd Technology, Inc.