RE: [sv-bc] expressions not allowed in RHS or continous assign or on port connection list

From: Rich, Dave <Dave_Rich@mentor.com>
Date: Thu Apr 08 2010 - 00:10:57 PDT

Shalom,

This particular case was not just about writing bad code, but writing
bad code that performs equally badly across all implementations. People
really, really want interoperability. They do not want features whose
results are "implementation dependant". Sometimes, language restrictions
are there for future removal until their results can be made
deterministic. That may or may not ever happen.

If we don't put in this particular restriction, then users start writing
code dependant on implementation A. Other users start writing code
dependant on a different implementation B, which might be incompatible
implementation A. Then we're stuck trying to put this into the LRM.

Dave

> -----Original Message-----
> From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com]
> Sent: Wednesday, April 07, 2010 8:05 PM
> To: Steven Sharp; john@svtii.com; sv-bc@eda.org; Rich, Dave
> Subject: RE: [sv-bc] expressions not allowed in RHS or continous
assign
> or on port connection list
>
> There has been in recent years a tendency to try to make illegal
various
> construct uses on the grounds that the user *might* write something
that
> causes problems instead of "trusting the user to write a reasonable
> function" and warning him to avoid certain uses that would cause
> problems, thereby outlawing certain useful forms.
>
> SV and Verilog have come under criticism both for being too lenient
(by
> those who like strict type-checking, etc.) and for being too strict.
Both
> camps often bring VHDL as a counter-example. I personally favor the
> lenient school, relying on coding guidelines to guide users and on
code
> checkers to detect bad uses.
>
> Shalom
>
>
> > Yes, it is possible for a user to call a function in a
> > continuous assignment
> > which has a side effect. This could cause a problem.
> > However, it is also
> > possible that the user has correctly written a pure function
> > that does not
> > have any side effects. Rather than specifying extra rules
> > about what kind
> > of functions are legal here, the LRM may be trusting the user
> > to write a
> > reasonable function. And function calls are too useful to be
outlawed
> > completely here. Making certain functions illegal here would
> > also not be
> > backward compatible with Verilog.
> ---------------------------------------------------------------------
> Intel Israel (74) Limited
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Apr 8 00:19:01 2010

This archive was generated by hypermail 2.1.8 : Thu Apr 08 2010 - 00:19:15 PDT