Re: [sv-ec] Struct access via virtual interfaces

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Mon Jan 08 2007 - 06:42:45 PST
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