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

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Apr 27 2006 - 09:04:57 PDT
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:05:07 2006

This archive was generated by hypermail 2.1.8 : Thu Apr 27 2006 - 09:05:17 PDT