Re: paramset resolution

From: Geoffrey.Coram <Geoffrey.Coram_at_.....>
Date: Fri Dec 15 2006 - 09:12:49 PST
"Geoffrey.Coram" wrote:
> Should there be some text stating that paramsets cannot
> change the port list, neither in number nor in name?

Presently, this is not possible, and I was thinking it 
might make sense to say it explicitly.

I was thinking that this meant the simulator would "know"
the port list for each paramset based on the underlying
module.  However, I think that is not true for "paramsets
of paramsets."

Consider if one had 3 modules named mos3term, mos4term,
and mos5term, and then creates a set of paramsets that
refer to these 3 modules:
  paramset nmos1 mos3term
  paramset nmos1 mos4term
  paramset nmos1 mos5term

Now, suppose one creates
  paramset nmos2 nmos1 // with parameters L,W
along with
  paramset nmos2 mos5term // with parameters L,W,AD

The simulator does not know how many ports "nmos2" has
without first determining which of the "nmos1" 
paramsets is picked.

With the existing paramset rules, I believe the 
selection can always be made "locally" -- one picks
which nmos2 paramset to use, and then which nmos1
to use, and then if the "L" specified for the instance
is outside the range allowed by the module, the LRM
says this is an error.

(What probably needs to be expanded on is that
if the "L" specified is not allowed by any of the
"nmos1" paramsets, this should also be an error; 
the sentence:
    If a paramset assigns a value to a module parameter
    and this value is outside the range specified for
    that module parameter, it shall be an error.
was written assuming the paramset refers to a module
directly, not through another paramset.)

Also, it should be an error if a paramset has a
module parameter assignment statement that refers
to an identifier that is not a parameter of the
underlying module.

Setting aside paramsets for a moment, I'm assuming it's
an error for an instance to have an override for a
identifier that's not a parameter of the module
being instantiated -- or for an ordered list to have
more values than there are parameters of the module.
But I can't seem to find this spelled out.


I think, for "locality" of paramset selection, one in fact
cannot use the number of ports of the underlying module as
a selection criterion.  It shall be an error if the instance
connects to a non-existent port of the module, though.

-Geoffrey
Received on Fri Dec 15 09:12:57 2006

This archive was generated by hypermail 2.1.8 : Fri Dec 15 2006 - 09:13:03 PST