RE: [sv-bc] assignment to input

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Sep 22 2006 - 22:16:44 PDT
We as a committee are trying to promote convergence, not divergence.
Sometimes it really doesn't mater what we decide as a committee,
especially when we try to change things that have already been
implemented for a while.  The marketplace will do that for us, and they
don't need a majority vote, just enough $$$.

Same thing with requiring ' in '{} assignment patterns and mixing ansi
and non-ansi styles in the same port list. They just have been
implemented too long and used too much to change them.

> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Friday, September 22, 2006 5:59 PM
> To: sharp@cadence.com; shalom.bresticker@intel.com;
sv-bc@eda-stds.org;
> Rich, Dave
> Subject: RE: [sv-bc] assignment to input
> 
> 
> >From: "Rich, Dave" <Dave_Rich@mentor.com>
> 
> >There is no rule that says you can't change the LRM if it is
warranted.
> >That is why we have a committee.
> 
> I completely agree.  But if we want to make progress, we cannot keep
> revisiting decisions that have already been made, unless it is
warranted.
> One reason it might be warranted is if new issues are found that were
> not considered when the decision was made.  That is not the case here.
> 
> 
> >In this case, some change is warranted
> >be cause the behavior of 'input bit clk' is not semantically defined.
> 
> It seems clearly enough defined to me.  Shalom was able to come to the
> same conclusion that I did, based on the LRM text (as did you
initially).
> Your later interpretation is directly contradicted by the LRM text, so
> it cannot be correct.  I have not seen any other interpretations that
> are consistent with the LRM text.
> 
> 
> > I also don't
> >think we should be letting people declare wires on types that aren't
> >currently defined and letting implementations diverge on their
> >semantics.
> 
> Implementors are free to provide their users with whatever nonstandard
> language extensions they wish.  Many language extensions in the
current
> standard started out that way, including everything donated from
Superlog.
> Of course, there is no guarantee that any nonstandard extension will
go
> into the standard, or that it will be unchanged in the process.  That
is
> the risk you take in providing or using them.  It is your choice as an
> implementor whether you want to take that risk.
> 
> 
> >Wires should only be used for multiply driven signals,
> 
> That is an opinion at one extreme of the spectrum.  I believe that
> wires have some value beyond multiple driver resolution.  That is why
> we proposed the uwire extension in Verilog.  Also, there may be
> situations where you want to provide generic connectivity without
> having to know whether there are multiple drivers.  Wires have the
> advantage of acting more like real hardware wires than variables do.
> 
> An opinion at the opposite extreme would be that nets should be used
> for all connectivity, and that all types you want to connect should be
> allowed on nets.  You might think that is not workable, but Verilog
> used to manage it, and I believe VHDL still does.
> 
> 
> > and changing the
> >default back to a var kind will also solve the issue of assigning to
> >input ports that was recently raised.
> 
> That assumes that everyone agrees that the issue is a problem, and
that
> the solution is to disallow assigning to input ports.  Legacy Verilog
> designs have relied on the alternate solution of port-collapsing for a
> long time now.  And if you want to enforce single-driver semantics,
the
> uwire net type does it better than variables.
> 
> 
> Steven Sharp
> sharp@cadence.com
Received on Fri Sep 22 22:16:56 2006

This archive was generated by hypermail 2.1.8 : Fri Sep 22 2006 - 22:17:12 PDT