RE: [sv-ec] FW: [sv-bc] Interface name in virtual interface declaration

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Apr 20 2007 - 08:41:31 PDT
If this discussion goes any further, it probably belongs back in the
sv-bc. :)

The requirement that a package be compiled before used is not because of
the actual package name visibility, it's so that the definition of the
identifiers inside the package are given before used.

Section 19.3 is just defining a global namespace for those items.

Dave

> -----Original Message-----
> From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org]
On
> Behalf Of Brad Pierce
> Sent: Friday, April 20, 2007 8:24 AM
> To: sv-ec@server.eda-stds.org
> Cc: Surya Pratik Saha
> Subject: Re: [sv-ec] FW: [sv-bc] Interface name in virtual interface
> declaration
> 
> >19.3 says, "The following items are visible in all compilation units:
> >modules, macromodules, primitives, programs, interfaces, and
packages."
> 
> I agree that interfaces, just like modules, can be used before they
are
> declared.
> 
> But if that sentence were a proof about interfaces, it would also be a
> proof about packages.
> 
> And the consensus is that package compilation must precede the
> references to it
> 
>   http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0000227
> 
> -- Brad
> 
> [ In reply to http://www.eda-stds.org/sv-ec/hm/4244.html . ]
> 
> -----Original Message-----
> From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
> Bresticker, Shalom
> Sent: Friday, April 20, 2007 2:17 AM
> To: sv-ec@eda-stds.org
> Cc: Surya Pratik Saha
> Subject: RE: [sv-ec] FW: [sv-bc] Interface name in virtual interface
> declaration
> 
> 19.3 says, "The following items are visible in all compilation units:
> modules, macromodules, primitives, programs, interfaces, and
packages."
> 
> Shalom
> 
> > -----Original Message-----
> > From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org]
> > On Behalf Of Brad Pierce
> > Sent: Friday, April 20, 2007 1:11 AM
> > To: sv-ec@server.eda-stds.org
> > Cc: Surya Pratik Saha; Maidment, Matthew R
> > Subject: RE: [sv-ec] FW: [sv-bc] Interface name in virtual interface
> > declaration
> >
> > The BNF in no way implies that "the interface identifier used in
> > virtual interface declaration has to be ... declared before the use
> > inside virtual interface declaration".
> >
> > Instead the BNF allows you to infer that a nonkeyword identifier
> > immediately following
> >
> >     virtual [interface]
> >
> > must be the name of an interface.  If you later learned that the
> > identifier is not actually the name of an interface, then that would
> > be an error according to the BNF.
> >
> > -- Brad
> >
> >
> > -----Original Message-----
> > From: Rich, Dave [mailto:Dave_Rich@mentor.com]
> > Sent: Thursday, April 19, 2007 2:49 PM
> > To: Brad Pierce; sv-ec@eda-stds.org
> > Cc: Surya Pratik Saha; Matthew.R.Maidment
> > Subject: RE: [sv-ec] FW: [sv-bc] Interface name in virtual interface
> > declaration
> >
> > I don't think the LRM requires interface identifiers to be defined
> > before referenced. There is certainly no requirement that a module
or
> > interface identifier be declared before it is instantiated.
> >
> > You will get an error at elaboration if you actually try to use the
> > virtual interface 'ij'. You won't see a compile time error here
> > because there could eventually be an interface called 'b' with a
> > modport called 't'.
> >
> > Dave
> >
> >
> >
> > > -----Original Message-----
> > > From: owner-sv-ec@server.eda.org
[mailto:owner-sv-ec@server.eda.org]
> > On
> > > Behalf Of Brad Pierce
> > > Sent: Wednesday, April 18, 2007 10:11 PM
> > > To: sv-ec@server.eda-stds.org
> > > Cc: Surya Pratik Saha; Matthew.R.Maidment
> > > Subject: [sv-ec] FW: [sv-bc] Interface name in virtual interface
> > > declaration
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf
Of
> > > Surya Pratik Saha
> > > Sent: Wednesday, April 18, 2007 5:10 AM
> > > To: sv-bc@eda-stds.org
> > > Subject: [sv-bc] Interface name in virtual interface declaration
> > >
> > > Hi,
> > > As per LRM, the BNF of virtual interface declaration is:
> > >
> > > *virtual_interface_declaration ::= virtual [ interface ]
> > > interface_identifier list_of_virtual_interface_decl ;
> > >
> > > list_of_virtual_interface_decl ::= variable_identifier [ =
> > > interface_instance_identifier ] { , variable_identifier [ =
> > > interface_instance_identifier ] }
> > >
> > > data_declaration ::= ... | virtual_interface_declaration
> > >
> > > data_type ::= ... | virtual [ interface ] interface_identifier
> > >
> > > *So, as per BNF, the interface identifier used in virtual
interface
> > > declaration has to be visible, i.e. the interface has to be
declared
> 
> > > before the use inside virtual interface declaration. But MTI-Vlog
is
> 
> > > treating it as hierarchical reference of interface identifier or
> > > interface instance identifier. So following case:
> > >
> > > *module m;
> > > virtual interface b.t ij;
> > > bot b();
> > > endmodule
> > > interface int_ii;
> > > endinterface
> > >
> > > module bot;
> > >     int_ii t();
> > > endmodule*
> > >
> > > is passed by MTI, wheras this is against the LRM. Please let me
know
> 
> > > your comments.
> > >
> > > --
> > > Regards
> > > Surya
> > >
> > >
> > >
> > >
> > >
> > > --
> > > This message has been scanned for viruses and dangerous content by
> > > MailScanner, and is believed to be clean.
> > >
> > >
> > > --
> > > This message has been scanned for viruses and dangerous content by
> > > MailScanner, and is believed to be clean.
> > >
> >
> >
> > --
> > This message has been scanned for viruses and dangerous content by
> > MailScanner, and is believed to be clean.
> 
> --
> This message has been scanned for viruses and dangerous content by
> MailScanner, and is believed to be clean.
> 
> 
> 
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Apr 20 08:41:54 2007

This archive was generated by hypermail 2.1.8 : Fri Apr 20 2007 - 08:42:17 PDT