I think the proposal is OK, with one small quibble. It says, "For other types of statements, the optional statement label creates a named block around the statement." It should say what type of named block is created, in order to exclude creating a named fork...join_none block. Shalom > -----Original Message----- > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On > Behalf Of Rich, Dave > Sent: Wednesday, February 22, 2006 10:12 AM > To: sv-bc@eda.org > Subject: RE: [sv-bc] Mantis 1348: 10.8,9 don't say that > statement labels create named blocks > > Proposal has been attached to mantis item > > > -----Original Message----- > > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On > Behalf Of > > Bresticker, Shalom > > Sent: Tuesday, February 21, 2006 8:16 AM > > To: sv-bc@eda.org > > Subject: [sv-bc] Mantis 1348: 10.8,9 don't say that statement > labels > > create named blocks > > > > Hi, > > > > Following the email discussion, I filed Mantis 1348 on the > subject of > > statement labels: > > > > This comes from the email discussions beginning at > http://www.eda.org/sv- > > bc/hm/3905.html. > > > > 10.8 has the following example: > > > > labelB: fork // label before the begin or fork ... > > join : labelB > > > > The block_identifier labelB after 'join' is not clear. This > is a > > block_identifier whereas the labelB before the 'fork' is a > statement > > label, not a block identifier. > > > > 10.8 does not justify how you can do this. 10.8 does not say > that > "label: > > statement" is the same as "begin :label statement end". > > > > 10.9 has the following example, > > > > module ... > > always always1: begin ... t1: task1( ); ... end > > ... > > endmodule > > > > always begin > > ... > > disable u1.always1.t1; // exit task1, which was called from > always1 > > (static) > > end > > > > (Here also the IEEE reformatting caused "(static)" to jump to > the next > > line.) > > > > Here the statement label 'always1' here is used as a > hierarchical > scope, > > where 10.8 does not say that labels create such scopes. > > > > I found that > > 17.2 ("Immediate assertions") says, "The optional statement > label > > (identifier and colon) creates a named block around the > assertion > > statement (or any other SystemVerilog statement) and can be > displayed > > using the %m format specification." > > > > Such a statement certainly belongs in 10.8 and also in the > discussion > of > > hierarchies in Clause 19. > > > > But it is still a problem. The wording implies that > > > > labelB: fork > > join > > > > is equivalent to > > > > begin :labelB > > fork > > join > > end > > > > and not to > > > > fork :labelB > > join > > > > And even if it were, it still does not say that you can use a > statement > > label in place of a block identifier after an end or join. > > > > Shalom Bresticker > > Intel Jerusalem LAD DA > > +972 2 589-6852 > > +972 54 721-1033 > > I don't represent Intel > >Received on Wed Feb 22 00:25:32 2006
This archive was generated by hypermail 2.1.8 : Wed Feb 22 2006 - 00:26:00 PST