Number | 89
|
Category | errata
|
Synopsis | 2.8.1: Multiple Attribute Instances in BNF
|
State | lrmdraft
|
Class | errata-simple
|
Arrival-Date | Aug 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