Bresticker, Shalom wrote: > Don't you effectively have this even today with the rules in 6.9: With virtual interfaces it is a bit different. For a normal hierarchical reference, the legality can be checked at elaboration and there is a definite "yes/no". For a virtual interface, the *simulation time* value of the virtual interface reference plays a role. Thus an elab time check would have to be conservative and disallow any reference to a local struct through a virtual interface. A hierarchical reference would allow things like: some_instance.struct1_decl1 = some_instance.struct1_decl2; which would be disallowed via a virtual interface. Gord. > "The scope of a data type identifier shall include the hierarchical > instance scope. In other words, each instance with a user-defined type > declared inside the instance creates a unique type. To have type > matching or equivalence among multiple instances of the same module, > interface, or program, a class, enum, unpacked structure, or unpacked > union type must be declared at a higher level in the compilation-unit > scope than the declaration of the module, interface, or program, or > imported from a package. For type matching, this is true even for packed > structure and packed union types." ? > > Shalom > >> The user is bound to wonder >> why it's okay to have "ifv1.vec = ifv2.vec" but not "ifv1.struc = >> ifv2.struc", where the 2nd case is only illegal if the type for > "struc" >> is local to the interface. > -- -------------------------------------------------------------------- Gordon Vreugdenhil 503-685-0808 Model Technology (Mentor Graphics) gordonv@model.com -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Jan 8 06:43:09 2007
This archive was generated by hypermail 2.1.8 : Mon Jan 08 2007 - 06:43:23 PST