From: Shalom Bresticker (Shalom.Bresticker@motorola.com)
Date: Sun Oct 14 2001 - 07:00:01 PDT
Precedence: bulk
The following reply was made to PR errata/47; it has been noted by GNATS.
From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Steven Sharp <sharp@cadence.com>
Cc: btf-bugs@boyd.com
Subject: Re: errata/47: Wrong description of tri0/1 in 3.7.4
Date: Sun, 14 Oct 2001 15:54:36 +0200
--------------64955FC3A0BFC550B61697CC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Arggh !!
You're right, at least in Verilog-XL !
That's an even worse bug! Now I consider fixing this in the LRM as critical!
Let me explain.
In any standard, it is accepted that where there is a conflict between the verbal
description and the formal description, then the formal description takes precedence.
In this case, the formal description is the truth tables in Tables 3-5 and 3-6,
which make no reference to strength. For example, 3-5 shows that if a tri0 is
driven with a 1, regardless of strength, then the wire is never 0.
Note that the corresponding truth tables 3-2 to 3-4 have the comment,
"Note that they assume equal strengths for both drivers".
Furthermore, I raised this issue way back in October 2000,
and nobody contradicted me then.
If I could interpret this wrongly, than others are liable to do so as well.
Therefore, the correct fix is:
- Delete the sentences:
"When no driver drives a tri0 net, its value is 0. When no driver drives a tri1 net, its value is 1.
The strength of this value is pull."
- Delete the sentences:
"A truth table for tri0 is shown in Table 3-5. A truth table for tri1 is shown in Table 3-6."
- Delete Table 3-5 and 3-6.
Thanks, Steven.
Shalom
Steven Sharp wrote:
> Sorry Shalom, but you have this backwards.
>
> >The descriptions of tri0 and tri1 in section 3.7.4 are inaccurate and
> misleading.
>
> Slightly misleading anyway.
>
> >The accurate sentence (for tri1) is "When no driver drives a tri1 net, its
> value is 1."
>
> No, that is the one that is misleading. It happens to be true, but does
> not specify its full effect.
>
> >Inaccurate are
> >"The tri0 and tri1 nets model nets with resistive pulldown and resistive pullup
> devices on them," and "A tri1 net is
> >equivalent to a wire net with a continuous 1 value of pull strength driving
> it."
>
> This is the one that is accurate and complete.
>
> >The difference occurs if the net is being driven by a driver weaker than pull.
> >In a true pullup net, the pullup will override the driver. In a tri1, the weak
> driver will succeed.
> >Similarly, if a true pullup net is also driven by a pull0
> >strength, there will be contention, but not in a tri1 net.
>
> Yes, that is when the difference occurs. If you try this in Verilog-XL,
> you will find that a tri1 acts exactly like a net with an implicit pullup.
>
> >Note that the second inaccurate sentence does not appear in 1364-1995.
>
> The second sentence was added to clarify the misleading one from 1364-1995.
>
> >At the very least, the second inaccurate sentence, which was
> >added in 1364-2001 should be deleted.
>
> The first sentence is an oversimplification and obviously could be
> misleading. Perhaps it should be modified. However, the second
> sentence acts to clarify the meaning of the first sentence.
>
> Steven Sharp
> sharp@cadence.com
--
**************************************************************************
Shalom Bresticker Shalom.Bresticker@motorola.com
Motorola Semiconductor Israel, Ltd. Tel #: +972 9 9522268
P.O.B. 2208, Herzlia 46120, ISRAEL Fax #: +972 9 9522890
**************************************************************************
--------------64955FC3A0BFC550B61697CC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Arggh !!
<p>You're right, at least in Verilog-XL !
<p>That's an even worse bug! Now I consider fixing this in the LRM
as critical!
<p>Let me explain.
<p>In any standard, it is accepted that where there is a conflict between
the verbal
<br>description and the formal description, then the formal description
takes precedence.
<p>In this case, the formal description is the truth tables in Tables 3-5
and 3-6,
<br>which make no reference to strength. For example, 3-5 shows that if
a tri0 is
<br>driven with a 1, regardless of strength, then the wire is never 0.
<p>Note that the corresponding truth tables 3-2 to 3-4 have the comment,
<br>"Note that they assume equal strengths for both drivers".
<p>Furthermore, I raised this issue way back in October 2000,
<br>and nobody contradicted me then.
<p>If I could interpret this wrongly, than others are liable to do
so as well.
<p>Therefore, the correct fix is:
<p>- Delete the sentences:
<br>"When no driver drives a tri0 net, its value is 0. When no driver drives
a tri1 net, its value is 1.
<br>The strength of this value is pull."
<p>- Delete the sentences:<br>
"A truth table for tri0 is shown in Table 3-5. A truth table
for tri1 is shown in Table 3-6."
<p>- Delete Table 3-5 and 3-6.
<p>Thanks, Steven.
<p>Shalom
<br>
<br>
<p>Steven Sharp wrote:
<blockquote TYPE=CITE>Sorry Shalom, but you have this backwards.
<p>>The descriptions of tri0 and tri1 in section 3.7.4 are inaccurate and
<br>misleading.
<p>Slightly misleading anyway.
<p>>The accurate sentence (for tri1) is "When no driver drives a tri1 net,
its
<br>value is 1."
<p>No, that is the one that is misleading. It happens to be true,
but does
<br>not specify its full effect.
<p>>Inaccurate are
<br>>"The tri0 and tri1 nets model nets with resistive pulldown and resistive
pullup
<br>devices on them," and "A tri1 net is
<br>>equivalent to a wire net with a continuous 1 value of pull strength
driving
<br>it."
<p>This is the one that is accurate and complete.
<p>>The difference occurs if the net is being driven by a driver weaker
than pull.
<br>>In a true pullup net, the pullup will override the driver. In a tri1,
the weak
<br>driver will succeed.
<br>>Similarly, if a true pullup net is also driven by a pull0
<br>>strength, there will be contention, but not in a tri1 net.
<p>Yes, that is when the difference occurs. If you try this in Verilog-XL,
<br>you will find that a tri1 acts exactly like a net with an implicit
pullup.
<p>>Note that the second inaccurate sentence does not appear in 1364-1995.
<p>The second sentence was added to clarify the misleading one from 1364-1995.
<p>>At the very least, the second inaccurate sentence, which was
<br>>added in 1364-2001 should be deleted.
<p>The first sentence is an oversimplification and obviously could be
<br>misleading. Perhaps it should be modified. However, the
second
<br>sentence acts to clarify the meaning of the first sentence.
<p>Steven Sharp
<br>sharp@cadence.com</blockquote>
<pre>--
**************************************************************************
Shalom Bresticker Shalom.Bresticker@motorola.com
Motorola Semiconductor Israel, Ltd. Tel #: +972 9 9522268
P.O.B. 2208, Herzlia 46120, ISRAEL Fax #: +972 9 9522890
**************************************************************************</pre>
</html>
--------------64955FC3A0BFC550B61697CC--
This archive was generated by hypermail 2.1.4
: Mon Jul 08 2002 - 12:54:47 PDT
and
sponsored by Boyd Technology, Inc.