Re: [sv-bc] Re: implicit instantiation of top-level modules?


Subject: Re: [sv-bc] Re: implicit instantiation of top-level modules?
From: Steven Sharp (sharp@cadence.com)
Date: Thu Jul 10 2003 - 13:46:17 PDT


>Date: Thu, 10 Jul 2003 10:42:43 -0700
>From: Greg Jaxon <Greg.Jaxon@synopsys.com>

>I understand the use of upward references to module_names to be analogous to
>C++ class references: i.e. something you'd use only to reach static data,
typedefs,
>local functions, or other entities shared by all instances of the module.

Not necessarily. Each instance might want to reference something in their
parent, which might be a different instance for each. If all instances
wanted to share the same object, they would use a full name. The only
reason for using an upward reference (aside from being too lazy to type
the full name) is specifically to get a resolution that may be different
for different instances.

And while it might be poor practice, there is no requirement that an
upward reference resolve to anything remotely similar in different instances.
One instance might resolve a.b[3] to an integer variable in its parent
that is being bit-selected, while another might resolve it to an
array of reals in the top-level module that is being indexed. This
would be insane, but is perfectly legal.

Steven Sharp
sharp@cadence.com



This archive was generated by hypermail 2b28 : Thu Jul 10 2003 - 13:47:37 PDT