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-Date | Dec 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