Hi, Thomas - At 05:19 PM 12/3/2007, Alsop, Thomas R wrote: >Hi Cliff, > >If I understand correctly, if an IP provider uses () in the default port >declaration, this means that the default port semantics WRT .* as >defined by 1619 apply to this port. In other words, if there is no >parent declaration for this signal, the instantiation will use the >default. If we do not use the (), then the semantics change which force >the implicit .name semantics. In other words if the parent does not >have the signal, then an error occurs. > >So, if an IP provider were to start using default port values and wanted >to protect themselves from unconnected ports that have default values, >they would not use the () in order to force users to always have a >matching name in the parent and the child. > >The distinction which becomes clear, then is whether or not the signal >exists in the parent and the child. When an IP provider uses () there >does not have to be a match. If they do not have the () then parent and >child MUST match, even when using a default. This is correct. >Okay, that makes sense now. The bottom line is whether or not we want to >provide this enhancement. This will complicate the proposal and I am >not convinced it provides a lot of benefit to it. I still go back to my >argument that IP providers need to be diligent and understand what they >are getting into. If they really wanted to ensure that their IP not be >misused with default port connections then they shouldn't use them at >all. As long as IP providers and the general SystemVerilog RTL designer population can be trusted to use the proposed default-ports enhancement correctly, then my concern is unfounded. I do not believe IP and RTL designers will always do the right thing; hence, my concern. >But I don't see that this is something that can't be added in a later >version of the spec. In fact, it shouldn't be too hard to add this >enhancement later such that it is backwards compatible with the existing >proposal. Unfortunately, I do not think this is true. If default ports are used and then later enhanced with () declarations, previously working default ports could start to fail. That having been said, I believe Gord understood what I was talking about and is opposed to this modification both now and in the future. I am not even 100% convinced that my modification adequately addresses my concern, but it does get me part way. I say, go ahead and pass this. I will vote no so I can tell those I teach that I thought this was a bad idea. When I tell students that something is a bad idea, they pay closer attention to the feature and will more likely use it correctly. >-Tom Regards - Cliff ---------------------------------------------------- Cliff Cummings - Sunburst Design, Inc. 14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005 Phone: 503-641-8446 / FAX: 503-641-8486 cliffc@sunburst-design.com / www.sunburst-design.com Expert Verilog, SystemVerilog, Synthesis and Verification Training -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Dec 3 18:23:10 2007
This archive was generated by hypermail 2.1.8 : Mon Dec 03 2007 - 18:23:27 PST