"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. -GeoffreyReceived 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