RE: [sv-bc] uwire & wire -vs- reg

From: Stuart Sutherland <stuart_at_.....>
Date: Tue Jul 10 2007 - 12:19:19 PDT
Steven,

This is very valuable information, and I appreciate your sharing it.  I
adopted the modeling style long ago of declaring all ports as a logic type,
except for bidirectional busses.  I also teach my students that style.  It
makes writing Verilog coding much easier and faster, and tremendously
shortens the learning curve for new Verilog users.  Verilog user's love this
simplification of the language!  In addition, a major Verilog user company
presented a great paper at DAC about three years that discussed how the
single-source semantics of the logic type helped expose functional errors in
a large design with lots of continuous assignments that would have taken
much longer to find and debug if nets had been used.  That paper was before
uwire was added to the language, which would also have exposed those coding
errors.

Prior to this new information about the possible impact on performance, I
saw little need for Cliff's recent idea of allowing procedural assignments
to nets.  Being able to use the logic type almost everywhere simplifies the
language enough (at least in regard to data declarations).  Based on your
comment, I now fully endorse Cliff's suggestion.  I want to be able to use
net types everywhere, including for procedural assignments.  That will give
me the language simplification that is needed, without the risk of losing
the performance optimizations of port collapsing.

Cliff, I would like to encourage you to write up a full proposal on the
exact changes to the LRM (including BNF) for this enhancement, and create a
Mantis item for the enhancement request.

Stu
~~~~~~~~~~~~~~~~~~~~~~~~~
Stuart Sutherland
Sutherland HDL, Inc.
stuart@sutherland-hdl.com
503-692-0898
 

> -----Original Message-----
> From: owner-sv-bc@server.eda.org 
> [mailto:owner-sv-bc@server.eda.org] On Behalf Of Steven Sharp
> Sent: Tuesday, July 10, 2007 11:24 AM
> To: cliffc@sunburst-design.com; sv-bc@server.eda.org; 
> Dave_Rich@mentor.com
> Subject: RE: [sv-bc] uwire & wire -vs- reg
> 
> 
> >From: "Rich, Dave" <Dave_Rich@mentor.com>
> 
> >Cliff,
> >
> >The 'net' kind is essentially a builtin resoltion function 
> that has no
> >stored value (trireg being an exception). I believe that 
> going forward
> >in SV, you should always recommend using variables for all signals
> >except in cases where multiple drivers are anticipated.
> 
> This has the potential to seriously impact simulation performance,
> depending on the details of the implementation.  Port-collapsing
> of nets has major performance advantages.
> 
> Steven Sharp
> sharp@cadence.com
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 
> 
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jul 10 12:19:41 2007

This archive was generated by hypermail 2.1.8 : Tue Jul 10 2007 - 12:19:57 PDT