RE: [sv-bc] FW: Can a keyword be used as identifier if context is clear?

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Sun May 14 2006 - 07:30:06 PDT
Just to be fair, note that the vendor that Ben Cohen said allows the
"instance" keyword is not the one employing Steven Sharp.

Shalom

> -----Original Message-----
> From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org]
On
> Behalf Of Steven Sharp
> Sent: Saturday, May 13, 2006 1:58 AM
> To: sv-bc@server.eda.org
> Subject: RE: [sv-bc] FW: Can a keyword be used as identifier if
context
> is clear?
> 
> As the person who requested the "1364-2001-noconfig", let me provide a
> few more details of the situation.  We deliberately chose to use what
> became the "1364-2001-noconfig" keyword set, for two reasons.
> 
> 1. All the keyword conflicts in our collection of legacy Verilog-1995
>    customer designs were with keywords from configs.  Without those
>    keywords, our users had nearly 100% backward compatibility with
>    Verilog-1995.  With those keywords, they only had 85% backward
>    compatibility.  This is presumably representative of all legacy
>    designs of all Verilog users.
> 
> 2. There were reasons it was undesirable to allow configs in Verilog
>    source files.  At that point in time, there seemed to be support
> within
>    the 1364 BTF for disallowing them there.  And as it turned out, a
>    mistake in the 1364-2001 BNF disallowed configs in Verilog source
> files.
>    If they were not allowed in Verilog source files, there was no
reason
> to
>    reserve their keywords there.
> 
> Ultimately, the 1364 committee decided to allow configs in Verilog
> source
> files after all.  The mistake in the 1364-2001 BNF was fixed in 1364-
> 2005.
> As part of the compromise for this, I requested the addition of the
> "1364-2001-noconfig" version specifier.  We could have used this as a
> nonstandard specifier, but preferred to have it standardized.  This
also
> makes it available to any other users who want to be able to compile
> both
> 100% of Verilog-2001 code and 99% of legacy Verilog-1995 code with a
> single
> dialect.  It is a very useful dialect in practice.
> 
> It may also be reasonable to have a "1364-2005-noconfig" version
> specifier.
> Since configs are definitely allowed in Verilog-2005 source files, it
> could
> not handle source files containing configs.  However, in practice
those
> are
> probably rare.  And since "uwire" is the only new keyword in
1364-2005,
> this
> dialect would still handle nearly 100% of Verilog-1995 designs.  This
> may be
> another useful dialect in practice.
> 
> The similar argument for  "1800-2005-noconfig" is weaker.  With all
the
> new 1800 keywords, less than half of legacy Verilog designs will
compile
> under "1800-2005", with or without "-noconfig".  So it doesn't really
> help
> much.  However, I do like the suggestion that "-noconfig" be allowed
as
> a
> qualifier to each of these version specifiers.
> 
> Note that in the future the version specifiers may need to deal with
> Verilog-AMS keywords.  Having independent qualifiers to allow
inclusion
> of the AMS keywords with each of the existing 1364 and 1800 versions
> is cleaner and more flexible than having to provide a specific version
> specifier with a keyword list for each combination.
> 
> Steven Sharp
> sharp@cadence.com
Received on Sun May 14 07:30:23 2006

This archive was generated by hypermail 2.1.8 : Sun May 14 2006 - 07:30:49 PDT