ISSUE 650

Add Proposal  Add Analysis  Edit Class, Environment, or Release
Number 650
Category errata
Synopsis 9.7.6 does not explicitly say what happens if "wait" condition is
State open
Class errata-simple
Arrival-DateFeb 15 2005
Originator Shalom Bresticker <Shalom.Bresticker@freescale.com>
Release 2001b
Description


Fix

Unknown
Audit-Trail
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


On Tue, 15 Feb 2005, Steven Sharp wrote:

>
> > 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
>

--
Shalom Bresticker Shalom.Bresticker @freescale.com
Design & Verification Methodology Tel: +972 9 9522268
Freescale Semiconductor Israel, Ltd. Fax: +972 9 9522890
POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 5441478

[ ]Freescale Internal Use Only [ ]Freescale Confidential Proprietary

Unformatted

x or z

Hosted by Boyd Technology