From: Shalom.Bresticker@motorola.com
Date: Mon Jul 26 2004 - 05:35:11 PDT
The following proposal was worked out by Jason and Gord,
only slightly edited by Shalom.
12.1.3 was deleted by the resolution of issue #113.
That leaves the following discussion in para. 1 of 12.2.1:
"Using the <i>defparam</i> statement, parameter values can be
changed in any module instance throughout the design using
the hierarchical name of the parameter. However, a defparam
statement in a hierarchy under a generate scope or array of
instances shall not change a parameter value outside that
hierarchy. See 12.5 for hierarchical names."
(The xref is to 12.4 in 2001/D3, but issue #113 bumps 12.4
to 12.5 instead.)
This proposal is to change para. 1 of 12.2.1 to:
"Using the <i>defparam statement</i>, parameter values can be
changed in any module instance throughout the design using
the hierarchical name of the parameter. See 12.5 for
hierarchical names.
However, a defparam statement in a hierarchy in or under a
generate block instance (see 12.4) or an array of instances
shall not change a parameter value outside that hierarchy.
Note: Each instantiation of a generate block is considered
to be a separate hierarchy scope. Therefore this rule
implies that a defparam statement in a generate block may
not target a parameter in another instantiation of the same
generate block, even when the other instantiation is created
by the same loop generate construct. For example, the
following code is not allowed:
genvar i;
generate
for(i=0; i < 8; i = i+1) begin : somename
flop my_flop(in[i], in1[i], out1[i]);
defparam somename[i+1].my_flop.xyz = i ;
end
endgenerate
Similarly, a defparam statement in one instance of an array
of instances may not target a parameter in another instance
of the array.
http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&database=default&pr=17
This archive was generated by hypermail 2.1.4
: Mon Jul 26 2004 - 05:35:25 PDT
and
sponsored by Boyd Technology, Inc.