- + 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.