| Anonymous | Login | 2010-09-08 03:27 PDT |
| Main | My View | View Issues | Docs | Wiki |
| Viewing Issue Simple Details [ Jump to Notes ] [ Wiki ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
| ID | Category | Severity | Date Submitted | Last Update | ||||||||
| 0001251 | [SystemVerilog P1800] SV-BC | minor | 2005-12-18 23:54 | 2010-02-08 21:46 | ||||||||
| Reporter | shalom | View Status | public | |||||||||
| Assigned To | ||||||||||||
| Priority | normal | Resolution | open | |||||||||
| Status | new | Product Version | ||||||||||
| Summary | 0001251: 9.7.6 does not explicitly say what happens if "wait" condition is 'x' or 'z' | |||||||||||
| Description |
From: Steven Sharp <sharp@cadence.com> To: etf-bugs@boyd.com, Shalom.Bresticker@freescale.com Cc: Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 13:51:01 -0500 (EST) 9.6 does not specify what happens if a "while" condition is x or z either. It does specify it for a "for" condition. 9.4 does define what it means for an expression to evaluate as "true" or "false". It does so in the context of "if" statements, but there is nothing to restrict the definition to that context. So that definition would apply to these other situations that refer to an expression being "true" or "false" also. It may not be the best organized, but I think it is specified. Steven Sharp sharp@cadence.com From: Shalom.Bresticker@freescale.com To: Steven Sharp <sharp@cadence.com> Cc: etf-bugs@boyd.com Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 21:06:18 +0200 (IST) I agree that this was the intent. However, the terms true and false are almost certainly used in other contexts where x and z are not included. So it would be more precise to say that x is considered false in the context of a condition, not an arbitrary expression. And even there, there are exceptions. Remember issue 237? Further, if someone looks up what is written in 9.6 or 9.7.6, there is no reason he should think that 9.4 is relevant. I see no reason not to specify it more clearly. Shalom On Tue, 15 Feb 2005, Steven Sharp wrote: > 9.6 does not specify what happens if a "while" condition is x or z either. > It does specify it for a "for" condition. > > 9.4 does define what it means for an expression to evaluate as "true" or > "false". It does so in the context of "if" statements, but there is > nothing to restrict the definition to that context. So that definition > would apply to these other situations that refer to an expression being > "true" or "false" also. It may not be the best organized, but I think > it is specified. From: Steven Sharp <sharp@cadence.com> To: etf-bugs@boyd.com, Shalom.Bresticker@freescale.com Cc: Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Tue, 15 Feb 2005 15:54:30 -0500 (EST) > I agree that this was the intent. However, the terms true and false are almost > certainly used in other contexts where x and z are not included. So it would > be more precise to say that x is considered false in the context of a > condition, not an arbitrary expression. > > And even there, there are exceptions. Remember issue 237? For that issue, the text in 15.6 clearly states how x is treated, and does not use the terms true and false. The correctness of the text is questionable, but it does not appear to conflict with the definitions of true and false. The conditional operator also describes how x is treated. However, it uses the terms true and false, and defines them differently from the definition for "if" statements. This could create confusion. > Further, if someone looks up what is written in 9.6 or 9.7.6, there is no > reason he should think that 9.4 is relevant. I agree that the organization is poor. It may work for someone reading the text from front to back, but not for someone looking something up. It could be specified better by repeating the definition every place it is used, or by moving the definition into a separate section and stating that it apples to all conditions in procedural statements. Steven Sharp sharp@cadence.com From: Shalom.Bresticker@freescale.com To: Steven Sharp <sharp@cadence.com> Cc: etf-bugs@boyd.com Subject: Re: errata/650: 9.7.6 does not explicitly say what happens if "wait" condition is x or z Date: Wed, 16 Feb 2005 04:56:53 +0200 (IST) Yes to all you wrote. By chance, I am reviewing Clause 14 (Specify blocks) due to some specify syntax which appears to be accepted by most of the simulators, but is not allowed by the BNF. (Expect an errata on it in the near future.) 14.2.4.1 says, "If the conditional expression evaluates to x or z, it shall be treated as true." Again, in context that is probably the correct behavior, but it is different than elsewhere. Shalom |
|||||||||||
| Additional Information |
This was imported from BTF650: http://www.boyd.com/1364_btf/report/full_pr/650.html [^] |
|||||||||||
| Tags | No tags attached. | |||||||||||
| Type | Clarification | |||||||||||
| Attached Files | ||||||||||||
|
|
||||||||||||
| There are no notes attached to this issue. |
| Mantis 1.1.7[^] Copyright © 2000 - 2008 Mantis Group |