From: Steven Sharp (sharp@cadence.com)
Date: Fri May 23 2003 - 15:50:09 PDT
Precedence: bulk
The following reply was made to PR errata/172; it has been noted by GNATS.
From: Steven Sharp <sharp@cadence.com>
To: etf-bugs@boyd.com
Cc:
Subject: errata/172: Implicit declarations
Date: Fri, 23 May 2003 18:40:45 -0400 (EDT)
Shalom has pointed out that with named begin-end blocks inside generates,
a reference to an identifier could be resolved to a declaration in a
surrounding scope. An implicit declaration should not be created even
though the net is not declared in the immediate scope. This seems pretty
obvious to me, but maybe others don't agree.
A related question is if there is a reference inside such a nested scope
which creates an implicit declaration, what scope should the declaration
be created in? It seems pretty clear that it should appear in the same
scope as the construct (instance or continuous assign) that referenced it,
but this should probably be specified.
The text for implicit declarations was already getting cumbersome, and
this would make it more so. Perhaps it needs to be reorganized. The
case where there is only a port declaration is different from the cases
for references in instances or continuous assigns, which are similar to
each other. Separately specifying the same rules for the latter two
cases is part of the clumsiness of the current organization. And those
rules should be separated into independent pieces: the two situations
that call for it (instance ports and cont assign LHS), what constitutes
a reference (the original point of this erratum, involving bit and part
selects and concatenations), what constitutes an undeclared identifier
(Shalom's first point above), what scope the declaration is made in (the
second point above), and how the net type is determined for the declaration.
Would anyone have a problem with a complete rewrite along these lines?
The difficulty of adding more to the description without reorganizing it
is why I haven't provided a proposal on this yet.
Steven Sharp
sharp@cadence.com
This archive was generated by hypermail 2.1.4
: Fri May 23 2003 - 15:50:41 PDT
and
sponsored by Boyd Technology, Inc.