Number | 20
|
Category | errata
|
Synopsis | A.2.8 should prevent all variable declaration assignments in named blocks
|
State | lrmdraft
|
Class | errata-discuss
|
Arrival-Date | Aug 19 2001
|
Originator | Dennis Marsa, Xilinx
|
Release | 2001b: A.2.8, 2.8.2, 9.8.1-2, 10.2.1, 10.3.1
|
Environment |
|
Description |
"In section A.2.8 on Block Item Declarations, the rule for "block_item_declaration" specifically prohibits reg's declared within named blocks from being initialized, though integer/real/time variables can be initialized." "As I recall, people thought it was confusing to have initializations on regs declared within named blocks because it might look like it got initialized every time the block was entered. So they probably tried to disallow that, but failed to cover integer/real/time variables." A.2.8 should be fixed to prevent all variable declaration assignments. Note that 6.2.1 says, "Variable declaration assignments are only allowed at the module level. |
Fix |
REPLACE the following BNF rules of section A.2.8: block_item_declaration ::= { attribute_instance } block_reg_declaration | { attribute_instance } event_declaration | { attribute_instance } integer_declaration | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration | { attribute_instance } real_declaration | { attribute_instance } realtime_declaration | { attribute_instance } time_declaration block_reg_declaration ::= "reg" [ "signed" ] [ range ] list_of_block_variable_identifiers ";" list_of_block_variable_identifiers ::= block_variable_type { "," block_variable_type } block_variable_type ::= variable_identifier | variable_identifier dimension { dimension } WITH the following new rules for section A.2.8: block_item_declaration ::= {attribute_instance} "reg" ["signed"] [range] list_of_block_variable_identifiers ";" | {attribute_instance} "integer" list_of_block_variable_identifiers ";" | {attribute_instance} "time" list_of_block_variable_identifiers ";" | {attribute_instance} "real" list_of_block_real_identifiers ";" | {attribute_instance} "realtime" list_of_block_real_identifiers ";" | {attribute_instance} event_declaration | {attribute_instance} local_parameter_declaration | {attribute_instance} parameter_declaration list_of_block_variable_identifiers ::= block_variable_type { "," block_variable_type } list_of_block_real_identifiers ::= block_real_type { "," block_real_type } block_variable_type ::= variable_identifier { dimension } block_real_type ::= real_identifier { dimension } Note: Syntax items that appear in "quotes" should be interpreted as being in BOLD font. These same updates should also be made to the following syntax boxes which appear within IEEE 1364-2001: 1. Section 2.8.2, Syntax 2-7: The rule for "block_item_declaration" should be updated as proposed above. 2. Section 9.8.1, Syntax 9-13: The rule for "block_item_declaration" should be updated as proposed above. 3. Section 9.8.2, Syntax 9-14: The rule for "block_item_declaration" should be updated as proposed above. 4. Section 10.2.1, Syntax 10-1: The rules for "block_item_declaration", "block_reg_declaration", "list_of_block_variable_identifiers", and "block_variable_type" should all be replaced with the entire set of proposed rules above. 5. Section 10.3.1, Syntax 10-3: The rules for "block_item_declaration" "block_reg_declaration", "list_of_block_variable_identifiers", and "block_variable_type" should all be replaced with the entire set of proposed rules above. |
Audit-Trail |
From: Dennis Marsa <drm@xilinx.com> To: btf-bugs@boyd.com Cc: eft@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declaration assignments in named blocks Date: Mon, 26 Aug 2002 14:13:57 -0600 The following is a proposal for addressing errata/20. Regards, Dennis Marsa Xilinx, Inc. --------------------------------------------------------------------------- In section 6.2.1 "Variable declaration assignment", 1st paragraph, last sentence, it is stated that: "Variable declaration assignments are only allowed at the module level." This statement forbids variable declaration assignments within tasks, functions and named blocks. The BNF rules for tasks, functions and named blocks use the rule "block_item_declaration" to specify which kinds of declarations are allowed within those constructs. In the current definition of the "block_item_declaration" rule, variable declaration assignment of "reg" variables is prohibited by its use of the "block_reg_declaration" rule. "block_reg_declaration" is similar in structure to the "reg_declaration" rule, except that the syntax for specifying an initial value assignment is not present in the rule for "block_reg_declaration". The rule for "block_item_declaration" goes on to reference the rules "integer_declaration", "real_declaration", "realtime_declaration", and "time_declaration". However, these rules permit the variable declaration assignment syntax, which contradicts the statement made in section 6.2.1 that "Variable declaration assignments are only allowed at the module level." To fix, the following changes to section A.2.8 are proposed. For reference, the (current) BNF syntax rules of section A.2.8 (page 717) are specified as follows in IEEE 1264-2001 block_item_declaration ::= { attribute_instance } block_reg_declaration | { attribute_instance } event_declaration | { attribute_instance } integer_declaration | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration | { attribute_instance } real_declaration | { attribute_instance } realtime_declaration | { attribute_instance } time_declaration block_reg_declaration ::= "reg" [ "signed" ] [ range ] list_of_block_variable_identifiers ";" list_of_block_variable_identifiers ::= block_variable_type { "," block_variable_type } block_variable_type ::= variable_identifier | variable_identifier dimension { dimension } The following BNF rules are proposed as a complete replacement for the contents of section A.2.8: block_item_declaration ::= { attribute_instance } block_reg_declaration | { attribute_instance } event_declaration | { attribute_instance } block_integer_declaration (Modified) | { attribute_instance } local_parameter_declaration | { attribute_instance } parameter_declaration | { attribute_instance } block_real_declaration (Modified) | { attribute_instance } block_realtime_declaration (Modified) | { attribute_instance } block_time_declaration (Modified) block_reg_declaration ::= "reg" [ "signed" ] [ range ] list_of_block_variable_identifiers ";" block_real_declaration ::= (New Rule) "real" list_of_block_real_identifiers ";" block_realtime_declaration ::= (New Rule) "realtime" list_of_block_real_identifiers ";" block_time_declaration ::= (New Rule) "time" list_of_block_variable_identifiers ";" list_of_block_variable_identifiers ::= block_variable_type { "," block_variable_type } list_of_block_real_identifiers ::= (New Rule) block_real_type { "," block_real_type } block_variable_type ::= variable_identifier | variable_identifier dimension { dimension } block_real_type ::= (New Rule) real_identifier | real_identifier dimension { dimension } Note: (Modified) identifies existing alternative there were modified (New Rule) identifies proposed new BNF rules These notations are not part of the proposal and should not be included in the updated section A.2.8. Note: Syntax items that appear in "quotes" should be interpreted as being in BOLD font. These same updates should also be made to the following syntax boxes which appear within IEEE 1364-2001: 1. Section 2.8.2, page 18, Syntax 2-7: The rule for "block_item_declaration" should be updated as proposed above. 2. Section 9.8.1, page 145, Syntax 9-13: The rule for "block_item_declaration" should be updated as proposed above. 3. Section 9.8.2, page 146, Syntax 9-14: The rule for "block_item_declaration" should be updated as proposed above. 4. Section 10.2.1, page 152, Syntax 10-1: The rules for "block_item_declaration", "block_reg_declaration", "list_of_block_variable_identifiers", and "block_variable_type" should all be replaced with the entire set of proposed rules above. 5. Section 10.3.1, page 157, Syntax 10-3: The rules for "block_item_declaration" "block_reg_declaration", "list_of_block_variable_identifiers", and "block_variable_type" should all be replaced with the entire set of proposed rules above. From: "Brad Pierce" <Brad.Pierce@synopsys.com> To: <etf-bugs@boyd.com> Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declaration assignments in named blocks Date: Mon, 18 Nov 2002 11:53:05 -0800 >Category: errata >Confidential: no >Originator: "Brad Pierce" <Brad.Pierce@synopsys.com> >Release: 2001b >Class: TBD >Description: Instead of the proposed additions, I propose that we remove the following nonterminals -- block_reg_declaration list_of_block_variable_identifiers block_variable_type and modify the first option to use reg_declaration. Possibly a footnote could be added pointing out that 6.2.1 says that variable declarations are only allowed at the module level. Also note -- 1) there should be a semicolon after parameter_declaration (see ETF issue #114) 2) block_variable_type can be compressed to a single production -- block_variable_type ::= variable_identifier {dimension} -- Brad From: "Brad Pierce" <Brad.Pierce@synopsys.com> To: <etf-bugs@boyd.com> Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declaration assignments in named blocks Date: Mon, 18 Nov 2002 11:58:03 -0800 >Category: errata >Confidential: no >Originator: "Brad Pierce" <Brad.Pierce@synopsys.com> >Release: 2001b >Class: TBD >Description: I propose that we enhance the standard to remove the unnecessary restriction of section 6.2.1 ("Variable declaration assignments are only allowed at the module level") and allow variable declaration assignments at the named block level, too. -- Brad From: Dennis Marsa <drm@xilinx.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declarationassignments in named blocks Date: Thu, 21 Nov 2002 10:33:57 -0700 >Category: errata >Confidential: no >Originator: Dennis Marsa <drm@xilinx.com> >Release: 2001b >Class: TBD >Description: Brad Pierce wrote: > > Instead of the proposed additions, I propose that we > remove the following nonterminals -- > > block_reg_declaration > list_of_block_variable_identifiers > block_variable_type > > and modify the first option to use reg_declaration. > > Possibly a footnote could be added pointing out that > 6.2.1 says that variable declarations are only allowed > at the module level. As I mentioned in the ETF meeting of 11/18, there are many instances in the BNF where pseudo-semantic (yet entirely syntactic) requirements are expressed using an alternate set of BNF rules: e.g.: expression vs constant_expression statement vs function_statement module_item vs non_port_module_item and in this particular situation: module_item_declaration vs block_item_declaration reg_declaration vs block_reg_declaration My proposal for this errata introduces additional rules of this sort: integer_declaration vs block_integer_declaration real_declaration vs block_real_declaration realtime_declaration vs block_realtime_declaration time_declaration vs block_time_declaration If Brad's propsal is attractive to the group, there are many additional opportunities to simplify the BNF in a similar manner. > Also note -- > > 1) there should be a semicolon after parameter_declaration > (see ETF issue #114) Yes, agreed. > 2) block_variable_type can be compressed to a single > production -- > > block_variable_type ::= > variable_identifier {dimension} Also, agreed. Incorporating Brad's observations, my updated proposal for section A.2.8 is: block_item_declaration ::= { attribute_instance } block_reg_declaration | { attribute_instance } event_declaration | { attribute_instance } block_integer_declaration (Modified) | { attribute_instance } local_parameter_declaration ";" (Modified; adding ";") | { attribute_instance } parameter_declaration ";" (Modified; adding ";") | { attribute_instance } block_real_declaration (Modified) | { attribute_instance } block_realtime_declaration (Modified) | { attribute_instance } block_time_declaration (Modified) block_reg_declaration ::= "reg" [ "signed" ] [ range ] list_of_block_variable_identifiers ";" block_real_declaration ::= (New Rule) "real" list_of_block_real_identifiers ";" block_realtime_declaration ::= (New Rule) "realtime" list_of_block_real_identifiers ";" block_time_declaration ::= (New Rule) "time" list_of_block_variable_identifiers ";" list_of_block_variable_identifiers ::= block_variable_type { "," block_variable_type } list_of_block_real_identifiers ::= (New Rule) block_real_type { "," block_real_type } block_variable_type ::= (Modified) variable_identifier { dimension } block_real_type ::= (New Rule) real_identifier { dimension } From: Dennis Marsa <drm@xilinx.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/20: A.2.8 should prevent all variabledeclarationassignments in named blocks Date: Thu, 21 Nov 2002 10:37:43 -0700 >Category: errata >Confidential: no >Originator: Dennis Marsa <drm@xilinx.com> >Release: 2001b >Class: TBD >Description: Brad Pierce wrote: > > I propose that we enhance the standard to remove the > unnecessary restriction of section 6.2.1 ("Variable > declaration assignments are only allowed at the module > level") and allow variable declaration assignments at > the named block level, too. Presumably, there was some reason for disallowing variable declaration assignments in named blocks, tasks & functions. Anyone familiar with this decision? Dennis From: "Brad Pierce" <Brad.Pierce@synopsys.com> To: <etf-bugs@boyd.com> Cc: Subject: Re: errata/20: A.2.8 should prevent all variabledeclarationassignments in named blocks Date: Thu, 21 Nov 2002 13:59:13 -0800 >Category: errata >Confidential: no >Originator: "Brad Pierce" <Brad.Pierce@synopsys.com> >Release: 2001b >Class: TBD >Description: In my opinion, that's not a strong enough reason. If we removed every feature from Verilog that could confuse a user, there wouldn't be much left. -- Brad From: Shalom.Bresticker@motorola.com To: Brad Pierce <Brad.Pierce@synopsys.com> Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declaration assignments in named blocks Date: Fri, 22 Nov 2002 13:16:03 +0200 (IST) >Category: errata >Confidential: no >Originator: Shalom.Bresticker@motorola.com >Release: 2001b >Class: TBD >Description: > I propose that we enhance the standard to remove the > unnecessary restriction of section 6.2.1 ("Variable > declaration assignments are only allowed at the module > level") and allow variable declaration assignments at > the named block level, too. What about in tasks and functions ? And while on the subject, does anyone see benefit in allowing specparam, task, and/or function declarations within named blocks? From: Shalom.Bresticker@motorola.com To: Brad Pierce <Brad.Pierce@synopsys.com> Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variabledeclarationassignments in named blocks Date: Fri, 22 Nov 2002 13:19:06 +0200 (IST) >Category: errata >Confidential: no >Originator: Shalom.Bresticker@motorola.com >Release: 2001b >Class: TBD >Description: > In my opinion, that's not a strong enough reason. > If we removed every feature from Verilog that > could confuse a user, there wouldn't be much left. Note that this would be a substantive enhancement change, not an errata fix. From: Michael McNamara <mac@verisity.com> To: Shalom.Bresticker@motorola.com Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declaration assignments in named blocks Date: Fri, 22 Nov 2002 09:35:22 -0800 Shalom.Bresticker@motorola.com writes: > Precedence: bulk > > The following reply was made to PR errata/20; it has been noted by GNATS. > > From: Shalom.Bresticker@motorola.com > To: Brad Pierce <Brad.Pierce@synopsys.com> > Cc: etf-bugs@boyd.com > Subject: Re: errata/20: A.2.8 should prevent all variable declaration > assignments in named blocks > Date: Fri, 22 Nov 2002 13:16:03 +0200 (IST) > > >Category: errata > >Confidential: no > >Originator: Shalom.Bresticker@motorola.com > >Release: 2001b > >Class: TBD > >Description: > > I propose that we enhance the standard to remove the > > unnecessary restriction of section 6.2.1 ("Variable > > declaration assignments are only allowed at the module > > level") and allow variable declaration assignments at > > the named block level, too. > > What about in tasks and functions ? > I am OK with this change, for both named blocks in procedural code, and also for named blocks (as well as local declarations) within tasks and fucntions. > And while on the subject, does anyone see benefit in allowing > specparam, task, and/or function declarations within named blocks? First, this really isn't a related topic, in my opinion. Declarations inside of named blocks allows an item to come into existance for a limited time, and then disappear until that block is again active. This is useful for registers used in a local scope. Specparams: Specparams are special variable that was created for asic signoff, primarily to give delay calculators a limited way to insert corrected timing information into a simulation. We did allow this beast to crawl out and become a full fledged parameter, partially based on Cadence never correctly constraining where its declaration could occur; and subsequently due to users finding real value in using SDF to affect more than timing. I do not see any value to allowing specparams to come into existance, and then disappear: as when one runs the timing tool, quite likely few of the named blocks are actually active. Task/Functions All I can imagine that it might mean to have a task or function declared inside a named block is that these tasks and functions can only be called by code inside the named block? This seems to be of fairly limited value; imposing a small modicum of method encapsulation, but likely far less than one would really want. So I am unconvinced of the need to allow task, function or specparam declataions inside named blocks. -mac From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declarationassignments in named blocks Date: Tue, 26 Nov 2002 18:29:44 +0200 Michael McNamara wrote: > > > I propose that we enhance the standard to remove the > > > unnecessary restriction of section 6.2.1 ("Variable > > > declaration assignments are only allowed at the module > > > level") and allow variable declaration assignments at > > > the named block level, too. > > > > What about in tasks and functions ? > > > > I am OK with this change, for both named blocks in procedural code, > and also for named blocks (as well as local declarations) within > tasks and fucntions. Note that in contrast to named blocks, which are static, tasks and functions can be automatic as well as static. I imagine there would be no problem to do the obvious: In a static task/function, the declaration assignments would be executed at time 0, together with all the initial statements of the design, and in automatic tasks/functions, the declaration assignments would be executed when the task/function is entered. -- 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: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declarationassignments in named blocks Date: Wed, 27 Nov 2002 13:12:47 +0200 Note that named blocks, tasks, and functions can define parameters, but the parameters can not be redefined in instantiations because they are not instantiated. They can be redefined only by defparams. The LRM does not note this. From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: Dennis Marsa <drm@xilinx.com> Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declarationassignments in named blocks Date: Wed, 27 Nov 2002 15:43:12 +0200 As Dennis writes, these requirements are "entirely syntactic". In my opinion, they have to be kept. Otherwise, you wipe out the basis for the entire BNF. What is syntax if not context-based ? The semantic restrictions come into play where the requirements are based on the value/meaning of the terms. For example, the requirement in an old-style port list that the port declaration statements inside the module need to match the module port list. > > 1) there should be a semicolon after parameter_declaration > > (see ETF issue #114) While true, I would not mix #114 into this. This change has to go with the rest of #114. > > 2) block_variable_type can be compressed to a single > > production -- > > > > block_variable_type ::= > > variable_identifier {dimension} While true, it might be wiser to leave it in the original form, to emphasize the similarity to variable_type. > Incorporating Brad's observations, my updated proposal for section A.2.8 is: It could be simplified as follows: > block_item_declaration ::= > {attribute_instance} reg [signed][range] > block_variable_type {, block_variable_type} ; > | {attribute_instance} integer block_variable_type {, block_variable_type} ; > | {attribute_instance} time block_variable_type {, block_variable_type} ; > | {attribute_instance} real block_real_type {, block_real_type} ; > | {attribute_instance} realtime block_real_type {, block_real_type} ; > | {attribute_instance} event_declaration > | {attribute_instance} local_parameter_declaration > | {attribute_instance} parameter_declaration > block_variable_type ::= variable_identifier { > dimension } > block_real_type ::= real_identifier { > dimension } From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: mac@verisity.com Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declarationassignments in named blocks Date: Wed, 27 Nov 2002 15:50:03 +0200 Michael McNamara wrote: > > And while on the subject, does anyone see benefit in allowing > > specparam, task, and/or function declarations within named blocks? > > First, this really isn't a related topic, in my opinion. > > Declarations inside of named blocks allows an item to come into > existance for a limited time, and then disappear until that block is > again active. This is useful for registers used in a local scope. I don't think so. 9.8.3 explicitly states. "All variables shall be static-that is, a unique location exists for all variables and leaving or entering blocks shall not affect the values stored in them. " Furthermore, they can be referenced from outside the block using hierachical names. Anyway, I also do not see the need. -- 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: "Brad Pierce" <Brad.Pierce@synopsys.com> To: <etf-bugs@boyd.com> Cc: Subject: Re: errata/20: A.2.8 should prevent all variable declaration Date: Tue, 10 Dec 2002 19:16:25 -0800 Summary of the four main options for issue #20 -- Preserve the existing semantics -- 1) Simplify the BNF, add a semantic check. 2) Expand the BNF in exactly the spirit of the current BNF. 3) Expand the BNF, but compress the productions where possible. Extend the language -- 4) Allow variable declaration assignments in named blocks, tasks and functions. -- Brad From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: Brad Pierce <Brad.Pierce@synopsys.com> Cc: etf-bugs@boyd.com Subject: Re: errata/20: A.2.8 should prevent all variable declaration Date: Wed, 11 Dec 2002 11:59:38 +0200 With respect to #4, the last sentence in the first paragraph of 6.2.1 would have to change. It would also be necessary to define and add text there explaining what happens in automatic tasks and functions, and also in 10.2.3 for tasks. In fact, I think that 10.3 (on functions) should contain a subsection similar to 10.2.3, which would explain memory usage in functions. Shalom > Summary of the four main options for issue #20 -- > > Preserve the existing semantics -- > > 1) Simplify the BNF, add a semantic check. > > 2) Expand the BNF in exactly the spirit of the current BNF. > > 3) Expand the BNF, but compress the productions where possible. > > Extend the language -- > > 4) Allow variable declaration assignments in named blocks, > tasks and functions. -- 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: Shalom.Bresticker@motorola.com To: drm@xilinx.com Cc: etf-bugs@boyd.com Subject: Re: errata/20: PROPOSAL - A.2.8 should prevent all variable declaration assignments in named blocks Date: Sat, 14 Dec 2002 19:16:00 +0200 (IST) I remind everyone that there are several alternate proposals to #20, so this is not THE proposal to #20. Further, I cannot accept the addition of the semicolons as part of #20, because they cannot be separated from the rest of #114. Adding them without the rest of #114 makes the BNF wrong. They should be left off here and treated separately in #114. Shalom From: Dennis Marsa <drm@xilinx.com> To: Shalom.Bresticker@motorola.com Cc: etf-bugs@boyd.com Subject: Re: errata/20: PROPOSAL - A.2.8 should prevent all variable declarationassignments in named blocks Date: Fri, 10 Jan 2003 15:14:59 -0700 Shalom.Bresticker@motorola.com wrote: > > ************************************************************ > Shalom's proposal: > > > block_item_declaration ::= > {attribute_instance} "reg" ["signed"] [range] list_of_block_variable_identifiers ";" > | {attribute_instance} "integer" list_of_block_variable_identifiers ";" > | {attribute_instance} "time" list_of_block_variable_identifiers ";" > | {attribute_instance} "real" list_of_block_real_identifiers ";" > | {attribute_instance} "realtime" list_of_block_real_identifiers ";" > | {attribute_instance} event_declaration > | {attribute_instance} local_parameter_declaration > | {attribute_instance} parameter_declaration > > list_of_block_variable_identifiers ::= > block_variable_type { "," block_variable_type } > > list_of_block_real_identifiers ::= > block_real_type { "," block_real_type } > > block_variable_type ::= variable_identifier { dimension } > block_real_type ::= real_identifier { dimension } > Shalom's alternative proposal is OK with me. The proposal should also include the references to all the syntax boxes that need to be updated as well. > NOTE: I do NOT add the semicolons after the parameter > declarations. These should be left for issue #114. Fine. > By the way, doesn't Dennis's proposal require a definition > of block_integer_declaration as well? Yes, it does. Thanks. Dennis From: Shalom.Bresticker@motorola.com To: Dennis Marsa <drm@xilinx.com> Cc: etf-bugs@boyd.com Subject: Re: errata/20: PROPOSAL - A.2.8 should prevent all variable declarationassignments in named blocks Date: Sat, 11 Jan 2003 22:08:50 +0200 (IST) > Shalom's alternative proposal is OK with me. The proposal should > also include the references to all the syntax boxes that need > to be updated as well. The references are the same as in the original proposal, except that, as noted, list_of_block_variable_identifiers does not change. |
Unformatted |
|
Hosted by Boyd Technology