Ed, In the BNF, a degenerate kind of constant_mintypmax_expression is a constant_expression. constant_mintypmax_expression ::= constant_expression | constant_expression : constant_expression : constant_expression So constant_primary ::= ( constant_mintypmax_expression ) ::= ( constant_expression ) This tradition can already be found in the earliest versions of the Verilog BNF. See, for example, http://www.verilog.com/VerilogBNF.html#REF153 http://www.verilog.com/VerilogBNF.html#REF147 By the way, the constant_* sublanguage in the BNF was only added by Verilog-2001. As noted in http://www.eda-stds.org/sv-ac/hm/2559.html I wouldn't have enforced the semantic restrictions of constantness via a BNF sublanguage, but would have left constant_expression as it was in http://www.verilog.com/VerilogBNF.html#REF146 -- Brad -----Original Message----- From: Eduard Cerny [mailto:edcerny@synopsys.COM] Sent: Wednesday, June 27, 2007 10:37 AM To: Brad Pierce; sv-ac@eda-stds.org Subject: RE: [sv-ac] P1800 - constant primary as delay in ## : Mantis 1901 Brad, yes, for constant_expression this will not do , but then I think it has to be cycle_delay_range ::= ## constant_primary | ## ( constant_expression ) | ## [ cycle_delay_const_range_expression ] because constant_primary does not allow expression. constant_mintypmax_expression does not make much sense in the range. Somehow from the discussion you pointed me to I could not see what exactly the conclusion was. Should a note be added that this form of expression is excluded from ## and the repetitions? Thanks, ed > -----Original Message----- > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of > Brad Pierce > Sent: Wednesday, June 27, 2007 1:05 PM > To: sv-ac@eda-stds.org > Subject: Re: [sv-ac] P1800 - constant primary as delay in ## > : Mantis 1901 > > Ed, > > It couldn't be > > ## constant_expression > > After the ## only a primary could be used, it couldn't for example, be > > ## P + Q > > without any parens. For a related example of this problem, see > > http://www.eda-stds.org/svdb/view.php?id=1480 > > I don't understand why a mintypmax expression would be specially > disallowed here, since it is already allowed today with an extra pair > of parens > > ## ((e1 : e2 : e3)) > > via > > ## ( constant_expression ) > ::= ## ( constant_primary ) > ::= ## ( ( constant_mintypmax_expression ) ) ::= ## ( ( e1 : e2 : > e3 ) ) > > Requiring the extra pair of parens seems arbitrary to me. See also > > http://www.boyd.com/1364_btf/report/full_pr/608.html > > which is now Mantis 1054. > > -- Brad > > -----Original Message----- > From: Eduard Cerny [mailto:edcerny@synopsys.COM] > Sent: Wednesday, June 27, 2007 9:41 AM > To: Eduard Cerny; Brad Pierce; sv-ac@eda-stds.org > Subject: RE: [sv-ac] P1800 - constant primary as delay in ## : Mantis > 1901 > > > Brad, however, constant_minTypmax_expression also allows 3 constants > which are not allowed in the delay. Perhaps it might be better to > state it as: > > cycle_delay_range ::= > ## constant_expression > | ## ( constant_expression ) > | ## [ cycle_delay_const_range_expression ] > > Would you agree? > > Thanks, > ed > > > > -----Original Message----- > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of > > Eduard Cerny > > Sent: Tuesday, June 26, 2007 9:11 PM > > To: Brad Pierce; sv-ac@eda-stds.org > > Subject: RE: [sv-ac] P1800 - constant primary as delay in ## > > : Mantis 1901 > > > > In that case yes, it can be easily changed. > > ed > > > > > > > -----Original Message----- > > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On > Behalf Of > > > Brad Pierce > > > Sent: Tuesday, June 26, 2007 5:36 PM > > > To: sv-ac@eda-stds.org > > > Subject: RE: [sv-ac] P1800 - constant primary as delay in ## > > > : Mantis 1901 > > > > > > The cycle_delay production that is used in > procedural_timing_control > > > > and clocking_drive is independent of the cycle_delay_range > > production used > > > in sequence_expr. > > > > > > -- Brad > > > > > > -----Original Message----- > > > From: Eduard Cerny [mailto:edcerny@synopsys.COM] > > > Sent: Tuesday, June 26, 2007 2:07 PM > > > To: Brad Pierce; sv-ac@eda-stds.org > > > Subject: RE: [sv-ac] P1800 - constant primary as delay in > > ## : Mantis > > > 1901 > > > > > > Brad, > > > > > > I think that ## can also be a cycle delay in procedural > > code and there > > > it is not restricted to a constant primary. This is why I did not > > > change the syntax but added a constraint. Is that a good > reason or I > > > > missed something? > > > > > > Thanks, > > > > > > ed > > > > > > > > > > -----Original Message----- > > > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On > > Behalf Of > > > > Brad Pierce > > > > Sent: Tuesday, June 26, 2007 4:36 PM > > > > To: sv-ac@eda-stds.org > > > > Subject: Re: [sv-ac] P1800 - constant primary as delay in ## > > > > : Mantis 1901 > > > > > > > > Ed, > > > > > > > > Why not just allow any constant_primary after ##? > > > > > > > > Then the rule for cycle_delay_range could be simplified to > > > > > > > > cycle_delay_range ::= > > > > ## constant_primary > > > > | ## [ cycle_delay_const_range_expression ] > > > > > > > > plus a footnote that in a cycle_delay_range it shall be > > > illegal for a > > > > constant_primary not to evaluate to a nonnegative integer? > > > > > > > > Recall that > > > > > > > > constant_primary ::= ( constant_mintypmax_expression ) > > > > ::= ( constant_expression ) > > > > > > > > -- Brad > > > > > > > > -----Original Message----- > > > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On > > Behalf Of > > > > Eduard Cerny > > > > Sent: Tuesday, June 26, 2007 11:31 AM > > > > To: sv-ac@eda-stds.org > > > > Subject: [sv-ac] P1800 - constant primary as delay in ## : > > > Mantis 1901 > > > > > > > > Hi, > > > > > > > > I have created a new mantis entry, 1901, and also attached > > > a proposal. > > > > > > > > Best regards, > > > > ed > > > > > > > > -- > > > > This message has been scanned for viruses and dangerous > > content by > > > > MailScanner, and is believed to be clean. > > > > > > > > > > > > -- > > > > This message has been scanned for viruses and dangerous > > content by > > > > MailScanner, and is believed to be clean. > > > > > > > > > > > > > > > > > > -- > > > This message has been scanned for viruses and dangerous > content by > > > MailScanner, and is believed to be clean. > > > > > > > > > > > > > -- > > This message has been scanned for viruses and dangerous content by > > MailScanner, and is believed to be clean. > > > > > > > > -- > This message has been scanned for viruses and dangerous content by > MailScanner, and is believed to be clean. > > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Jun 27 10:53:41 2007
This archive was generated by hypermail 2.1.8 : Wed Jun 27 2007 - 10:53:47 PDT