RE: [sv-bc] Connecting interface-type ports using implicit port connections

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Apr 27 2006 - 09:20:26 PDT
I don't think .* should apply to interface ports. They are two separate
solutions to solve the same problem with unmanageable port lists.

 

But if you insist, I think a generic interface formal should match any
interface actual. A modport does not need to be consider for a match.

 

________________________________

From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org] On
Behalf Of Brad Pierce
Sent: Thursday, April 27, 2006 9:05 AM
To: sv-bc@server.eda.org
Subject: [sv-bc] Connecting interface-type ports using implicit port
connections

 

The description of .name and .* implicit port connections in 19.11
requires the equivalence of the port expression and type in the port
declaration.  But I don't know what this means when applied to
interface-type ports.

 

In the following, is the first port instantiation legal and the second
illegal?  If so, what's the practical justification for this difference?

 

   extern interface IFC #(N=0);

 

   extern BOT0 (      IFC ifc_32_0, ifc_16_0);

   extern BOT1 (interface ifc_32_1, ifc_16_1);

 

   module TOP;

       IFC #(32) ifc_32_0 ( ), ifc_31_1 ( );

       IFC #(16) ifc_16_0 ( ), ifc_16_1 ( );

       BOT0 bot0 (.*);

       BOT1 bot1 (.*);

   endmodule

 

And what are the rules for modports?  If the port expression uses a
modport, but the port declaration doesn't, can an implicit port
connection be made?

 

If a port expression could legally be explicitly connected to a
correspondingly named interface-type port, then an implicit port
connection should be legal, too.

 

-- Brad

 

 
Received on Thu Apr 27 09:20:35 2006

This archive was generated by hypermail 2.1.8 : Thu Apr 27 2006 - 09:20:40 PDT