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 Fri May 12 15:58:13 2006
This archive was generated by hypermail 2.1.8 : Fri May 12 2006 - 15:58:21 PDT