RE: [sv-bc] Re: 1619 suggestions

From: Clifford E. Cummings <cliffc_at_.....>
Date: Mon Dec 03 2007 - 18:22:47 PST
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