[sv-bc] RE: [sv-ec] Question about interface ports on modules

From: Rich, Dave <Dave_Rich_at_.....>
Date: Wed Apr 15 2009 - 11:27:34 PDT
Francoise,
Michael,

There is no problem have an interface instance at the top level, The
issue is there no way to connect the port of a top level instance,
regardless of whether the port is an interface or regular signal.

From my simulation P.O.V., the synthesis flow is the same as the
separate compilation use model for simulation. So what it does in the
absence of port connections at the top level is a tool issue. I do
believe synthesis tools do require specifying what would have been
connected to an interface port outside the language.


-----Original Message-----
From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org] On
Behalf Of Francoise Martinolle
Sent: Wednesday, April 15, 2009 10:28 AM
To: Michael Burns; sv-ec@server.eda.org
Subject: RE: [sv-ec] Question about interface ports on modules


 Michael,

I remember that the connection of a interface instance at a higher level
of hierarchy
was written to make connection to an interface instance at a lower level
of hierarchy illegal.
I think that interfaces which are top level should be allowed. That is
my opinion.
However the LRM makes implicit instantiation of interfaces illegal :
only modules and
programs can be implicitly instantiated as top levels.

In section 25.3:
================
Interfaces can be declared and instantiated in modules (either flat or
hierarchical), but modules can neither
be declared nor instantiated in interfaces. In contrast to modules (see
23.3) and programs (see 24.3), interfaces
are never implicitly instantiated.

Francoise
    '

-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
Michael Burns
Sent: Wednesday, April 15, 2009 1:15 PM
To: sv-ec@eda.org
Subject: [sv-ec] Question about interface ports on modules


Hi folks,

There is a restriction in 23.3.3.4 (that has been around since Accellera
SV) that any interface ports of a module must be connected to an
interface instance at a higher level of hierarchy. This would seem to
preclude creating an RTL design with interface ports at the top level.
What is the reason for this restriction? Am I misunderstanding the
meaning here?

More specifically, for simulation one would normally have a testbench
that instantiates the DUT and connects the interface ports - no problem
there. However, many other tools (synthesis, formal, back-end, etc.)
read in just the DUT. Would those tools be required to reject a design
with top-level interface ports?

Thanks,
Mike


--
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 Wed, 15 Apr 2009 11:27:34 -0700

This archive was generated by hypermail 2.1.8 : Wed Apr 15 2009 - 11:30:38 PDT