ISSUE 233

Add Proposal  Add Analysis  Edit Class, Environment, or Release
Number 233
Category errata
Synopsis 12.3.4: nonport declarations for identifiers mentioned in list_of_port_declarations
State open
Class errata-discuss
Arrival-DateDec 25 2002
Originator "Brad Pierce" <Brad.Pierce@synopsys.com>
Release 2001b: 12.3.4
Environment
204,227,233,234,292,332,345,452
Description
In 12.3.4, about the new ANSI-like list of port declarations
style, the example notes that

"It is illegal to redeclare any ports of the module
in the body of the module"

It's clear from the BNF, that port declarations may
not be included in the body of the module. But what about
nonport declarations, such as reg declarations, for
identifiers already mentioned in the list of port declarations?

Which, if any, of the following examples are legal?

module m1( input in, output reg signed out );
wire in;
reg signed out;
...

module m2( input in, output out );
wire in;
reg signed out;
...

module m3( input in, output out );
reg [15:0] out ;
...

According 12.3.4, "Each declared port provides the complete
information about the port."

-- Brad


Fix
Audit-Trail
From: "James A. Markevitch" <jam@magic.com>
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/233: 12.3.4: nonport declarations for identifiers mentioned in list_of_port_declarations
Date: Sun, 30 Nov 2003 18:43:11 -0800 (PST)

The comments below are intended to discuss legal syntax. Once that has
been generally agreed upon, I will write the proposed changes to the text.

> In 12.3.4, about the new ANSI-like list of port declarations
> style, the example notes that
>
> "It is illegal to redeclare any ports of the module
> in the body of the module"
>
> It's clear from the BNF, that port declarations may
> not be included in the body of the module. But what about
> nonport declarations, such as reg declarations, for
> identifiers already mentioned in the list of port declarations?
>
> Which, if any, of the following examples are legal?
>
> module m1( input in, output reg signed out );
> wire in;
> reg signed out;
> ...

Illegal. Both the "wire" and "reg" statements are illegal, since the
signals were declared using ANSI C-like declarations.

> module m2( input in, output out );
> wire in;
> reg signed out;
> ...

Illegal for the same reason.

> module m3( input in, output out );
> reg [15:0] out ;
> ...

Illegal for the same reason.

> According 12.3.4, "Each declared port provides the complete
> information about the port."
>
> -- Brad

James Markevitch
From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/233: 12.3.4: nonport declarations for identifiers mentioned
in list_of_port_declarations
Date: Mon, 01 Dec 2003 14:33:23 +0200

> > In 12.3.4, about the new ANSI-like list of port declarations
> > style, the example notes that
> >
> > "It is illegal to redeclare any ports of the module
> > in the body of the module"

This sentence needs to be in the main body of the text in order to be normative.

--
Shalom Bresticker Shalom.Bresticker@motorola.com
Design & Reuse Methodology Tel: +972 9 9522268
Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890
POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478



Unformatted



Hosted by Boyd Technology