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. -- BradReceived 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