Subject: RE: [sv-ec] Agenda for meeting 10 February 2003
From: Kevin Cameron x3251 (Kevin.Cameron@nsc.com)
Date: Mon Feb 10 2003 - 14:12:55 PST
> From: "David W. Smith" <david.smith@synopsys.com>
> 
> Actually there were discussions in the favor of the use of var (thereby
> ref). Aso the addition of new keywords.
> 
> This is, and will continue to be, a hot topic in the committee.
> Unfortunately it also tends to be a very distracting issue. The fundamental
> issue in language design is NOT syntax is being added. The fundamental issue
> is what semantics are being added. The question of the appropriate use of
> operators (obfuscation related) vs keywords (backward compatability related)
> is important but secondary to the question of the semantics.
> 
I'd like to disagree with you there. Since large amounts of functionality
currently describing testbenches and designs is in C/C++, the ability to 
migrate that IP simply into SV at a future date is important. The less
syntactic (and semantic) compatibility between the languages the harder
that migration is (and the slower it goes). This is also an issue with
software/hardware trade-off where you want to specify algorithms in a
way that fits with the compilers for embedded processors (C/C++) and with
synthesis tools (SV) i.e the code should be polymorphic where possible. 
So I view syntax as being as important as semantics for this particular
language.
> Clearly the issue of backward compatility exists in any language.
> Unfortunately Verilog was not designed with many extension mechanisms in the
> language limiting the choices of how to add new features. We are definitely
> trying to add some new mechanisms (member syntax, classes, etc) so that
> backward compatability will be possible while adding new features. But,
> there will always be problems (as you have found in Verilog-1995,
> Verilog-2001, etc...).
> 
> I would also like to point out that adding as many new semantics to this
> language and restricting the additions to being only operators will result
> in an API like language (completely unreadable except to the initiated).
> Some new keywords will have to be added. The art is which ones.
> 
> Regards
> David
It's debatable how readable any of these languages are to the uninitiated,
the only plus I find in keywords is that I can get them colored differently
in Emacs which seems to make it more readable (thanks Mac).
Regards,
Kev.
 
> David W. Smith
> Synopsys Scientist
> 
> -----Original Message-----
> From:  Michael McNamara
> 
> 
> David: I do recognize the committee's sense of urgency to address the
> hundreds of other issues before it; however as a board member of Accellera I
> do want to make sure the team is aware of the large practical value of doing
> everything possible to make additions of new functionality enter this living
> language by using syntax that today is illegal.  This way the new
> functionality has no downside: if their is no desire to use it the new
> capability in a design, no change it required.
> 
> Hence the choice of using '&' versus 'ref' as an operator is an extremely
> large issue in that use of 'ref' as an operator creates a new reserved word,
> removing that word from the list of legal variable names that existing
> designs very well may include today.
> 
> An extremely significant criteria that should be applied in the evaluation
> of any proposed addition to a living language like Verilog is that the
> addition not break existing designs, of which there are hundreds of
> thousands.
> 
> So, when and if this proposal makes it to the IEEE, and to the design
> community, recognize that there will be huge push back against the
> introduction of new keywords.
> 
> Because to my reading, no one has expressed any reason in FAVOR of the use
> of 'ref', I am curious as to why this use has attracted half of the votes?
> 
> 
> David W. Smith writes:
>  > Hi Jay,
>  > Now that I have given the procedural response I want to respond to a
> couple of points that you made. I noticed the same issue about  > how the
> vote was split. I guess my personal response is that it is not a real big
> issue either way. The & has some positives but  > also implies some things
> which are not true (the use for taking a reference and declaring a reference
> that this means in C++ does  > not exist in Verilog - to use it for one
> would imply the other). Having said that it could be lived with. We spent a
> week  > considering. Many arguments had been made on this in the past (for
> var: var from the java community, trying to make it clear that it  > does
> NOT mean the same thing as & in C++) (for &: allusion to the use within C
> and C++). 
>  > 
>  > What I do not want to do is spend more time on it. The choice is NOT a
> critical issue and does not affect any semantics in the  > language. Yes we
> have to talk to SV-BC and have them deal with the change from 'var' to
> 'ref'. Same would be true if & had won.  > 
>  > So, focusing on the future we have lots to deal with to complete the
> review of CH 11 and 12. Let's try and focus on this and not get  > bogged
> down in decisions already made.  > 
>  > Regards
>  > David
>  > 
>  > -----Original Message-----
>  > From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of Jay
> Lawrence  > Sent: Friday, February 07, 2003 5:42 PM  > To: Neil Korpusik;
> sv-ec@eda.org; david.smith@synopsys.com  > Subject: RE: [sv-ec] Agenda for
> meeting 10 February 2003  > 
>  > 
>  > 
>  > 
>  > I think the intent here was to narrow down the choices (as we did with  >
> fork/join choices last week). It is very telling to me that 4 of the 6  >
> votes for & come from the "user/consultant community" and all of the  >
> 'ref' votes are from vendors. Quite frankly, I'm just thrilled 'var' has  >
> virtually been eliminated so that we can preserve it for replacing 'reg'  >
> as keyword in future generations of the language.  > 
>  > I could easily be convinced to change my vote to '&'.
>  > 
>  > The only remaining issue as far as I'm concerned is a coordination issue
> > with sv-bc. In that world, we had tentatively agreed that 'var' would be
> > used on ports to indicate that a variable could be connected to the port
> > and had "shared variable" semantics. There was some discussion that this
> > should be the same as the "pass-by-reference" world.  > 
>  > There is also a desire for sv-cc to be able to specify
>  > pass-by-reference.
>  > 
>  > If we can reconcile these issues with the other committees then I'm  >
> happy with '&' for pass by reference to tasks and functions.  > 
>  > jay
>  > 
>  > 
>  > ===================================
>  > Jay Lawrence
>  > Architect - Functional Verification
>  > Cadence Design Systems, Inc.
>  > (978) 262-6294
>  > lawrence@cadence.com 
>  > ===================================
>  > 
>  > > -----Original Message-----
>  > > From: Neil Korpusik [mailto:Neil.Korpusik@eng.sun.com] 
>  > > Sent: Friday, February 07, 2003 8:31 PM
>  > > To: sv-ec@eda.org; david.smith@synopsys.com
>  > > Subject: Re: [sv-ec] Agenda for meeting 10 February 2003
>  > > 
>  > > 
>  > > Hi David, 
>  > > 
>  > > It looks like you are missing Kev's vote from your 
>  > > summary. I believe that he voted for '&' which leaves
>  > > us with a 6-6 tie between 'var' and '&'. 
>  > > 
>  > > Is there anyone out there that is willing to change 
>  > > their vote from 'ref' to '&' ? 
>  > > 
>  > > If you voted for 'ref' simply because you didn't give
>  > > it much thought, or don't really care one way or the other  > > perhaps
> you should abstain or give it a bit more thought. 
>  > > I saw several good reasons given for going with '&' and 
>  > > didn't see any justification for var/ref.
>  > > 
>  > > Neil 
>  > > 
>  > > 
>  > > ------------- Begin Included Message -------------
>  > > 
>  > > From: "David W. Smith" <david.smith@synopsys.com>
>  > > To: <sv-ec@eda.org>
>  > > Subject: [sv-ec] Agenda for meeting 10 February 2003
>  > > Date: Fri, 7 Feb 2003 17:10:22 -0800
>  > > MIME-Version: 1.0
>  > > X-Priority: 3 (Normal)
>  > > X-MSMail-Priority: Normal
>  > > Importance: Normal
>  > > X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
>  > > There will be an extra meeting for the SV-EC committee from 
>  > > 11:00am until
>  > > 1:00pm PDT on Monday 10 February 2003.
>  > > 
>  > > Meeting will start promptly at 11:00am and may run over in 
>  > > order to complete
>  > > review of all three chapters.
>  > > 
>  > > Dial in Information 
>  > > 
>  > > 
>  > > 
>  > > * PARTICIPANT CODE: 516134 
>  > > * Toll Free Dial In Number: (877)233-7845 
>  > > * International Access/Caller Paid Dial In Number: (505)766-5458 
>  > > 
>  > > 
>  > > 
>  > > Agenda 
>  > > 
>  > > 
>  > > 
>  > > 1. Review and approve minutes from Feb 3 meeting (as ammended 
>  > > on web site).
>  > > 2. Review and resolve email voting results on var/ref/& (see attached)
> > > 3. Review open action item status  > > 4. Review LRM 
>  > >     a. Review 11, 12 
>  > >     b. Vote on acceptance of Chapters 1-11, 12 (with 
>  > > condition that all
>  > > relate action items will be approved)
>  > > 
>  > > 5. Address any other issues before committee
>  > > 
>  > > For the rest of the review process discussion will be limited to the  >
> > following items:  > > 
>  > > clarification 
>  > > problems
>  > > solutions to clarification and problems
>  > > 
>  > > No new proposals will be entertained.
>  > > 
>  > > A copy of the LRM is available at: 
>  > >  <http://www.sutherland-hdl.com/download/SystemVerilog_3.1_draft1.pdf>
>  > > http://www.sutherland-hdl.com/download/SystemVerilog_3.1_draft1.pdf 
>  > > 
>  > > Please review the information available on the website: 
>  > >  < <http://www.eda.org/sv-ec> http://www.eda.org/sv-ec>
>  > > <http://www.eda.org/sv-ec> http://www.eda.org/sv-ec. 
>  > > 
>  > > David W. Smith
>  > > Synopsys Scientist
>  > > 
>  > > Synopsys, Inc.
>  > > Synopsys Technology Park
>  > > 2025 NW Cornelius Pass Road
>  > > Hillsboro, OR 97124
>  > > 
>  > > Voice: 503.547.6467
>  > > Main: 503.547.6000
>  > > FAX:  503.547.6906
>  > > Email: david.smith@synopsys.com
>  > >  <http://www.synopsys.com/> http://www.synopsys.com
>  > > 
>  > > 
>  > > 
>  > > ------------- End Included Message -------------
>  > > 
>  > > 
>  > 
> 
> 
> 
This archive was generated by hypermail 2b28 : Mon Feb 10 2003 - 14:14:16 PST