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.comReceived 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