From: Paul Graham (pgraham@cadence.com)
Date: Tue Sep 11 2001 - 15:00:56 PDT
Precedence: bulk
> Section 3.5 then gives the rules that if the identifier name is used in a
> port declaration, "an implicit net of type wire shall be assumed, with the
> vector width of the port expression declaration". If the identifier is not
> used in a port declaration, "then an implicit scalar net of default net
> type shall be assumed".
That's a misleading citation. The paragraph which you quote says in its
entirety:
If an identifier is used in the terminal list of a primitive
instance or a module instance, and that identifier has not been
explicitly declared previously in one of the declaration
statements of the instantiating module, then an implicit scalar
net of default net type shall be assumed. See Section 19 for a
discussion of control of the type for implicitly declared nets
with the `default_nettype compiler directive.
So the alternative to a port declaration is a wire connected to a
module or primitive instance. There is no mention of assignments in
section 3.5.
So section 3.5 needs another paragraph to make it clear:
If an identifier appears as the target of a continuous assignment
statement, and that identifier has not been declared previously,
then an implicit scalar wire declaration is assumed for that
identifier.
Paul
--------------------
Stefen Boyd Boyd Technology, Inc.
stefen@BoydTechInc.com (408)739-BOYD
www.BoydTechInc.com (408)739-1402 (fax)
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:54:46 PDT
and
sponsored by Boyd Technology, Inc.