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

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Apr 19 2007 - 15:10:41 PDT
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.
Received on Thu Apr 19 15:11:00 2007

This archive was generated by hypermail 2.1.8 : Thu Apr 19 2007 - 15:11:16 PDT