Number | 154
|
Category | errata
|
Synopsis | A.1.5: attribute ambiguity in non_port_module_items
|
State | lrmdraft
|
Class | errata-simple
|
Arrival-Date | Oct 08 2002
|
Originator | "Brad Pierce" <Brad.Pierce@synopsys.com>
|
Release | 2001b: 2.8.2 (Syntax 2-6), 12.1 (Syntax 12-1), 12.1.3 (Syntax 12-3), A.1.5
|
Environment |
|
Description |
In A.1.5, there is an ambiguity regarding attribute_instances. Specifically, in the third option of non_port_module_item -- | {attribute_instance} module_or_generate_item the '{attribute_instance}' should be removed, leaving simply | module_or_generate_item This fixes the ambiguity. As an added benefit of that fix, module_item could be simplified to the following -- module_item ::= port_declaration | non_port_module_item A more far-reaching simplification would be -- 1) remove {attribute_instance} from throughout port_declaration, module_or_generate_item and non_port_module_item 2) simplify module_item as above 3) modify module_declaration as follows -- { module_item } --> { { attribute_instance } module_item } { non_port_module_item } --> { { attribute_instance } non_port_module_item } -- Brad |
Fix |
REPLACE the following two BNF rules of section A.1.5 (Also in Syntax 2-6 (2.8.2), Syntax 12-1 (12.1), and Syntax 12-3 (12.1.3): module_item ::= module_or_generate_item | port_declaration ";" | { attribute_instance } generated_instantiation | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration | { attribute_instance } specify_block | { attribute_instance } specparam_declaration non_port_module_item ::= { attribute_instance } generated_instantiation | { attribute_instance } local_parameter_declaration | { attribute_instance } module_or_generate_item | { attribute_instance } parameter_declaration | { attribute_instance } specify_block | { attribute_instance } specparam_declaration WITH: module_item ::= port_declaration ";" | non_port_module_item non_port_module_item ::= module_or_generate_item | { attribute_instance } generated_instantiation | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration | { attribute_instance } specify_block | { attribute_instance } specparam_declaration NOTE: Items enclosed in "" should be interpreted as being in BOLD font. |
Audit-Trail |
From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: Brad Pierce <Brad.Pierce@synopsys.com> Cc: etf-bugs@boyd.com Subject: Re: errata/154: A.1.5, attribute ambiguity in non_port_module_items Date: Wed, 09 Oct 2002 09:48:58 +0200 >Category: errata >Confidential: no >Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com> >Release: 2001b >Class: TBD >Description: --------------839D7ED5B47DB49DCC4A809C Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Stefen, please mark that this erratum affects also Syntax 2-6, Syntax 12-1 and Syntax 12-3. Brad, see comments below. > In A.1.5, there is an ambiguity regarding attribute_instances. > > Specifically, in the third option of non_port_module_item -- > > | {attribute_instance} module_or_generate_item > > the '{attribute_instance}' should be removed, leaving simply > > | module_or_generate_item > > This fixes the ambiguity. Agreed. And then module_or_generate_item should be moved to be the first option. > As an added benefit of that fix, > module_item could be simplified to the following -- > > module_item ::= > port_declaration > | non_port_module_item Agreed. Elegant. > A more far-reaching simplification would be -- > > 1) remove {attribute_instance} from throughout > port_declaration, module_or_generate_item and > non_port_module_item > > 2) simplify module_item as above > > 3) modify module_declaration as follows -- > > { module_item } --> > { { attribute_instance } module_item } > > { non_port_module_item } --> > { { attribute_instance } non_port_module_item } No, I do not agree to this. module_or_generate_item appears in generate_item, for example. port_declaration appears in list_of_port_declarations. Etc. -- 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 "The devil is in the details." --------------839D7ED5B47DB49DCC4A809C Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> Stefen, please mark that this erratum affects also Syntax 2-6, Syntax 12-1 and Syntax 12-3. Brad, see comments below.
Specifically, in the third option of non_port_module_item --
| {attribute_instance} module_or_generate_item
the '{attribute_instance}' should be removed, leaving simply
| module_or_generate_item
This fixes the ambiguity.
module_item ::=
1) remove {attribute_instance} from throughout
2) simplify module_item as above
3) modify module_declaration as follows --
{ module_item } -->
{ non_port_module_item
module_or_generate_item appears in generate_item, for example.
-- 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 "The devil is in the details." --------------839D7ED5B47DB49DCC4A809C-- |
Unformatted |
|
Hosted by Boyd Technology