- + Issue 911: (31) Section 3.7 (Discipline presendence issues)
[Jon Sanders, 1/22/2001]
(31) Section 3.7 (Discipline presendence issues)
'default_discipline as a compiler directive seems like a very poor approach for library-based simulation and for simulation
based on configurations. It makes much more sense to put this information into a design unit such as connectrules or the
config. It is also more consistent with the way configs, connectrules are handled.
The compiler directive 'default discipline is not a very suitable way to specify how a hierarchy flattening action (discipline
resolution) is to be done.
Okay maybe someone could use the scope, qualifier fields of the default_discipline. However these refer to instance names and
there is no precedence in compiler directives for doing that. Instances haven't been created at compile time.
How are conflicting default_discipline references to be resolved?
e.g. in one part of a file there is;
'default_discipline electrical top.foo.bar
and in another part of the file there is;
'default_discipline mechanical top.foo.bar
Recommendation: Items 3 and 4 in the precendence list (those referring to instances) should be removed from the list. For
conflicts in compiler directives the last one should win but the LRM should be updated and a rule added that these compiler
directives for the same net must be compatiable.