Now I notice that subclause 20.2.3 adds a restriction that is not mentioned in the main subclauses about implicit port connections (19.11.3-4). It says - An implicit port cannot be used to reference a generic interface. This sentence makes no sense to me, but I'm guessing that it's trying to make it illegal to set up an implicit port connection on an interface-type port whose declaration uses the interface keyword instead of the name of some interface. This seems to me like an arbitrary restriction that should be removed, but if it's going to remain, it should at least be expressed more clearly, and in the same subclauses as other restrictions on implicit port connections. -- Brad ________________________________ From: Rich, Dave [mailto:Dave_Rich@mentor.com] Sent: Thursday, April 27, 2006 9:20 AM To: Brad Pierce; sv-bc@eda.org Subject: RE: [sv-bc] Connecting interface-type ports using implicit port connections 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:45:05 2006
This archive was generated by hypermail 2.1.8 : Thu Apr 27 2006 - 09:45:11 PDT