From: Steven Sharp (sharp@cadence.com)
Date: Wed May 19 2004 - 18:20:00 PDT
The following reply was made to PR enhancement/350; it has been noted by GNATS.
From: Steven Sharp <sharp@cadence.com>
To: sharp@cadence.com, etf-bugs@boyd.com, JBhasker@eSilicon.com
Cc:
Subject: RE: enhancement/350: PROPOSAL - Deprecate configs in Verilog source
Date: Wed, 19 May 2004 21:40:33 -0400 (EDT)
Bhasker,
>Also Sec 13.1 states "... a config is a design element, similar to a module,
which
>exists in the Verilog namespace . .".
The second half of this statement is misleading or wrong, since 13.1.1 talks
about the case where a config has the same name as a module, which would not
be possible if they existed in the same namespace. That is why I removed
this statement in my proposal.
At any rate, satisfying this statement does not require that configs be in
the same files as modules. Modules from one kind of files (Verilog source)
and configs from another kind of file (library mapping files) can still be
compiled into the same design libraries. In fact, the current text already
requires compiling configs from the non-Verilog library mapping files.
> Even though, I agree that the BNF is not complete,
>I believe the intention was to allow config declarations as part of the Verilog
source.
I agree. An interpretation based solely on the LRM text might conclude
that they are not allowed already. However, I am not trying to make such
a legalistic argument. I believe that the intent was to allow them,
regardless of what the BNF says. I also believe that allowing them is a
bad idea.
>So a file can contain many modules, and config declarations; all
>of these design elements get compiled into a library (specified by the library
map file
>for that file) and user simulates the appropriate top, could be either a config
or a
>module. At least, this has been my interpretation of the LRM.
Aside from having modules and config declarations in the same file, this
proposal does not change any of that.
>Deprecating a newly added "standard" feature is not a straightforward task.
I would have thought that a newly added feature was the easiest kind to
deprecate. It may be more embarassing, but that isn't as important as
fixing problems.
> I suggest:
>
>1. Retain the current functionality and fix bugs (and state limitations if
any), and
>2. Suggest modeling style to write each config in a separate file (as Verilog
HDL source)
> and state advantages.
Suggested modeling styles don't solve the most serious problem. As long as
configs are allowed in Verilog source files, the config keywords have to be
reserved in Verilog HDL. That creates a serious backward compatibility
problem for legacy Verilog code. 15% of the customer designs in our suite
will not compile in Verilog-2001 if these particular keywords are reserved.
If that is typical of legacy Verilog code, I think the impact on the Verilog
user community is severe enough to justify making this change.
I have pointed out other issues with this modeling style mainly to show
that users wouldn't be losing much.
Steven Sharp
sharp@cadence.com
This archive was generated by hypermail 2.1.4
: Wed May 19 2004 - 18:20:12 PDT
and
sponsored by Boyd Technology, Inc.