It seems that the clear answer is that there is no basis for making multiple labels for a single statement illegal. It was just done that way. By the way, your current "answer" still adds no clarity; you hint that with out this restriction it would be possible to have: A: begin : B statements; end There you leave us, assuming we would recognize some inherent problem with the above. I fail to see that problem. Sure, there are now two ways to disable the block of statements (disable A or disable B). There are now two ways to refer to variables defined in the scope. (assuming one of the statements was a declaration of a variable called foo, viewed from the statement before the label, is the variable A.foo or B.foo, or is it A.B.foo ? It would seem least surprizing that the variable be known as A.B.foo in this case, and that the source text "label : statement;" consistantly mean that we treat the the text as if it was: "begin : label statement; end" without regard for what statement consists of. If statement is "begin :B integer a; a = b + c; d = a; end" then and label is "A", we process this as if we had read: "begin : A begin :B integer a; a = b + c; d = a; end end" which is well defined, well behaved verilog. Bottom line: We should have good reasons for introducing special cases to a language. Orthaganality is a virtue. Michael McNamara mcnamara@cadence.com 408-914-6808 work 408-348-7025 cell -----Original Message----- From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Rich, Dave Sent: Monday, February 13, 2006 10:27 AM To: sv-bc@eda.org Subject: RE: [sv-bc] 10.8 Named blocks and statement labels - question Not all clear questions have clear answers :) If you ask me why begin/end blocks can't have both a statement label and a block name, I'll say that 'label : begin' is supposed to be the same as 'begin : label', as the example shows, and I agree that needs to be put in the normative text. So if you agree with that, then you observe that two labels would be provided for one named block without that restriction. Dave > -----Original Message----- > From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] > Sent: Monday, February 13, 2006 9:50 AM > To: Rich, Dave; sv-bc@eda.org > Subject: RE: [sv-bc] 10.8 Named blocks and statement labels - question > > I agree that it might be classified as an enhancement. What Mac has > asked is what is the justification for the restriction. I still have not > heard a clear answer. > > Shalom > > > -----Original Message----- > > From: Rich, Dave [mailto:Dave_Rich@mentor.com] > > Sent: Monday, February 13, 2006 7:43 PM > > To: Bresticker, Shalom; sv-bc@eda.org > > Subject: RE: [sv-bc] 10.8 Named blocks and statement labels - > > question > > > > No, Named blocks currently only have one name. Statement labels > > are > > another way to express a named block. If you want named blocks > > to have > > two names, that's another enhancement. > > > > Nesting block names is not the same as giving one block two > > names. > > > > > > > > Dave > > > > > > > -----Original Message----- > > > From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] > > > Sent: Monday, February 13, 2006 9:31 AM > > > To: Rich, Dave; sv-bc@eda.org > > > Subject: RE: [sv-bc] 10.8 Named blocks and statement labels - > > question > > > > > > That's a circular answer, I think: they can have only one > > name because > > > they can have only one name. > > > > > > Shalom > > > > > > > -----Original Message----- > > > > From: Rich, Dave [mailto:Dave_Rich@mentor.com] > > > > Sent: Monday, February 13, 2006 7:27 PM > > > > To: Michael (Mac) McNamara; Steven Sharp; Bresticker, > > Shalom; > > > > sv-bc@eda.org > > > > Subject: RE: [sv-bc] 10.8 Named blocks and statement labels > > - > > > > question > > > > > > > > Because a statement label is just syntactic sugar for a > > named > > > > block, and > > > > right now, named blocks only have one name. > > > > > > > > > -----Original Message----- > > > > > From: Michael (Mac) McNamara > > [mailto:mcnamara@cadence.com] > > > > > Sent: Monday, February 13, 2006 8:46 AM > > > > > To: Rich, Dave; Steven Sharp; > > shalom.bresticker@intel.com; > > > > sv-bc@eda.org > > > > > Subject: RE: [sv-bc] 10.8 Named blocks and statement > > labels - > > > > question > > > > > > > > > > Just curious: what is so bad about allowing multiple > > names > > > > for the > > > > same > > > > > block of code? I do not know of other languages with > > such a > > > > > restriction. > > > > > > > > > > > > > > > Michael McNamara > > > > > mcnamara@cadence.com > > > > > 408-914-6808 work > > > > > 408-348-7025 cell > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On > > > > Behalf Of > > > > > Rich, Dave > > > > > Sent: Friday, February 10, 2006 4:20 PM > > > > > To: Steven Sharp; shalom.bresticker@intel.com; sv- > > bc@eda.org > > > > > Subject: RE: [sv-bc] 10.8 Named blocks and statement > > labels - > > > > question > > > > > > > > > > Steve, > > > > > > > > > > The reason the rule "It shall be illegal to have both a > > label > > > > before a > > > > > begin or fork and a block name after the begin or fork." > > > > exists is > > > > > because there is only one block being created; otherwise, > > it > > > > wouldn't > > > > > have been a problem. > > > > > > > > > > I've got someone writing a proposal to put normative text > > > > that > > > > supports > > > > > the example. > > > > > > > > > > Dave > > > > > > > > > > > -----Original Message----- > > > > > > From: Steven Sharp [mailto:sharp@cadence.com] > > > > > > Sent: Thursday, February 09, 2006 4:53 PM > > > > > > To: shalom.bresticker@intel.com; sv-bc@eda.org; Rich, > > Dave > > > > > > Subject: RE: [sv-bc] 10.8 Named blocks and statement > > labels > > > > - > > > > question > > > > > > > > > > > > > > > > > > >From: "Rich, Dave" <Dave_Rich@mentor.com> > > > > > > > > > > > > >Well, section 17.2 does say so explicitly and there is > > an > > > > example > > > > in > > > > > > >10.8 of both a begin/end and fork/join with a matching > > end > > > > label. > > > > > > > > > > > > Actually, 17.2 says that it creates a named block > > around > > > > the > > > > statement > > > > > > to which it applies. This means that the label would > > not > > > > name the > > > > > > begin/end that it was attached to, but would create a > > new > > > > named > > > > block > > > > > > around the statement (the begin/end) that it was > > attached > > > > to.Received on Mon Feb 13 10:55:15 2006
This archive was generated by hypermail 2.1.8 : Mon Feb 13 2006 - 10:55:38 PST