ISSUE 154

Number 154
Category errata
Synopsis A.1.5: attribute ambiguity in non_port_module_items
State lrmdraft
Class errata-simple
Arrival-DateOct 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.
<blockquote TYPE=CITE>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.

 
<blockquote TYPE=CITE>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.

 
<blockquote TYPE=CITE>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--

Unformatted


Hosted by Boyd Technology