ISSUE 89

Number 89
Category errata
Synopsis 2.8.1: Multiple Attribute Instances in BNF
State lrmdraft
Class errata-simple
Arrival-DateAug 01 2002
Originator "Matt Maidment" <mmaidmen@ichips.intel.com>
Release 2001b: 2.8.1
Environment
Description
Hello.

I've been studying attributes in the 1364-2001 spec and believe
there's a problem with the BNF.

The 1364-2001 BNF indicates that there can be multiple (0 or
more) attribute instances per language element. Using the BNF
for module declarations as an example:

module_declaration ::=
{attribute_instance} module_keyword module_identifier....

we see that multiple attribute instances are allowed per module
definition. An attribute instance is defined as:

attribute_instance ::=(*attr_spec {,attr_spec }*)

The combination of the 2 BNF entries implies that there
are two ways to specify more than one attribute, either
in multiple attribute instances:

(*attr1*)(*attr2*) module mymodule(...

or as multiple specifications within one attribute instance:

(*attr1,attr2*) module mymodule (...

Why is it that multiple attribute specifications can be spec'ed in
a single attribute instance or spec'ed in multiple attribute instances?
Shouldn't one attribute instance be sufficient? It seems that the
allowance of multiple attribute instances is an errata in the BNF.

It's curious that no example in the spec makes use of multiple
attribute instances. Perhaps this is a hint that multiple instances
were never intended?

Thanks,

Matt
--
Matt Maidment
mmaidmen@ichips.intel.com
(503)712-2915
Intel Corporation
MS JF4-409
2111 NE 25th Ave.
Hillsboro, Oregon 97124



Fix
Multiple attribute instances are OK.
Nested attributes are the subject of issue #218.

Change one of the example to show multiple instances:

In 2.8.1, Example 1 contains three examples of full_case, parallel_case:

(* full_case, parallel_case *)
(* full_case=1, parallel_case=1 *)
(* full_case, // no value assigned
parallel_case=1 *)

CHANGE the second from:

(* full_case=1, parallel_case=1 *)

TO:

(* full_case=1 *) (* parallel_case=1 *) // Multiple attribute instances also OK

(including the comment)
Audit-Trail

From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: Re: errata/89: Multiple Attribute Instances in BNF
Date: Mon, 18 Nov 2002 12:44:11 -0800

>Category: errata
>Confidential: no
>Originator: "Brad Pierce" <Brad.Pierce@synopsys.com>
>Release: 2001b
>Class: TBD
>Description:
Proposal --

Adopt the style of A.5.4 and globablly substitute all
occurrences of

{ attribute_instance }

with

[ attribute_instance ]

-- Brad




From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: Re: errata/89: Multiple Attribute Instances in BNF
Date: Mon, 18 Nov 2002 18:40:14 -0800

>Category: errata
>Confidential: no
>Originator: "Brad Pierce" <Brad.Pierce@synopsys.com>
>Release: 2001b
>Class: TBD
>Description:
According to issues SV-BC13/SV-BC13a of the SystemVerilog
Basic Committee, Cliff proposed a simplified BNF for attributes
and sent it to 1364.

Where is that proposal?

-- Brad




From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Brad Pierce <Brad.Pierce@synopsys.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/89: Multiple Attribute Instances in BNF
Date: Wed, 20 Nov 2002 16:20:34 +0200

>Category: errata
>Confidential: no
>Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com>
>Release: 2001b
>Class: TBD
>Description:
> According to issues SV-BC13/SV-BC13a of the SystemVerilog
> Basic Committee, Cliff proposed a simplified BNF for attributes
> and sent it to 1364.

The way I read it, Cliff was supposed to make a proposal and send it,
but I don't think that happened.


From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Brad Pierce <Brad.Pierce@synopsys.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/89: Multiple Attribute Instances in BNF
Date: Thu, 21 Nov 2002 10:30:54 +0200

>Category: errata
>Confidential: no
>Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com>
>Release: 2001b
>Class: TBD
>Description:
I disagree.

This came up incidentally during the discussion of 1364.1 pragmas.

Allowing multiple attribute_instances makes the code more modular.

Shalom

> Adopt the style of A.5.4 and globablly substitute all
> occurrences of
>
> { attribute_instance }
>
> with
>
> [ attribute_instance ]


From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/89: Multiple Attribute Instances in BNF
Date: Thu, 21 Nov 2002 10:46:27 +0200

>Category: errata
>Confidential: no
>Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com>
>Release: 2001b
>Class: TBD
>Description:
Also, see

http://boydtechinc.com/btf/archive/btf_2000/0946.html
http://boydtechinc.com/btf/archive/btf_2000/0947.html
http://boydtechinc.com/btf/archive/btf_2000/0951.html

Instead, I would suggest changing one of the examples in 2.8.1 to be a
multiple attribute instance.


From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: Re: errata/89: Errata: Multiple Attribute Instances in BNF
Date: Wed, 11 Dec 2002 19:45:39 -0800

There should also be an example of nested attributes.
An attr_spec can contain a constant_expression.
A constant_expression can contain attributes.

-- Brad



From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Brad Pierce <Brad.Pierce@synopsys.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/89: Errata: Multiple Attribute Instances in BNF
Date: Thu, 12 Dec 2002 08:16:02 +0200

Good point. We need to discuss that one.
I don't think that was ever intended.

Shalom


> There should also be an example of nested attributes.
> An attr_spec can contain a constant_expression.
> A constant_expression can contain attributes.

--
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."




From: Gordon Vreugdenhil <gvreugde@Synopsys.COM>
To: Shalom Bresticker <Shalom.Bresticker@motorola.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/89: Errata: Multiple Attribute Instances in BNF
Date: Thu, 12 Dec 2002 08:05:12 -0800

Although structurally such nestings of attributes are permitted in the
grammar, I would suggest that we disallow such cases via semantic
rules in the language.

Although I can conceive of artificial uses for such nestings, I don't
think that fits with the original intent and would also needlessly
complicate implementation.

Gord.


Shalom Bresticker wrote:
>
> Precedence: bulk
>
> The following reply was made to PR errata/89; it has been noted by GNATS.
>
> From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
> To: Brad Pierce <Brad.Pierce@synopsys.com>
> Cc: etf-bugs@boyd.com
> Subject: Re: errata/89: Errata: Multiple Attribute Instances in BNF
> Date: Thu, 12 Dec 2002 08:16:02 +0200
>
> Good point. We need to discuss that one.
> I don't think that was ever intended.
>
> Shalom
>
>
> > There should also be an example of nested attributes.
> > An attr_spec can contain a constant_expression.
> > A constant_expression can contain attributes.
>
> --
> 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."
>
>
>

--
----------------------------------------------------------------------
Gord Vreugdenhil gvreugde@synopsys.com
Staff Engineer, VCS (Verification Tech. Group) (503) 547-6054
Synopsys Inc., Beaverton OR

From: Steven Sharp <sharp@cadence.com>
To: etf-bugs@boyd.com
Cc:
Subject: Re: errata/89: Errata: Multiple Attribute Instances in BNF
Date: Thu, 12 Dec 2002 18:25:40 -0500 (EST)

> There should also be an example of nested attributes.
> An attr_spec can contain a constant_expression.
> A constant_expression can contain attributes.

This was accidental. There was no intent to allow nested attributes.

Steven Sharp
sharp@cadence.com

Unformatted


Hosted by Boyd Technology