ISSUE 526

Number 526
Category errata
Synopsis 7.8: "conflicting strength is ignored" ??
State lrmdraft
Class errata-discuss
Arrival-DateJan 06 2004
Originator Shalom.Bresticker@motorola.com
Release 2001b: 7.1.2, 7.8
Description
7.8 "pullup and pulldown sources" says,

"A pullup source shall place a logic value 1 on the nets connected in its terminal list. A pulldown source shall place a logic value 0 on the nets connected in its terminal list. The signals that these sources place on nets shall have pull strength in the absence of a strength specification. If conflicting strength specification is declared, it shall be ignored. There shall be no delay specifications for these sources."

What does "conflicting strength specification" mean ?

I thought it meant if I specify strong1, for example.

But I tried that in Verilog-XL and found that if I specify strong1,
it really does get strong1.

So the sentence is definitely unclear and possibly incorrect.

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

Fix

In 7.8,

CHANGE

"The signals that these sources place on nets shall have pull strength in the
absence of a strength specification. If conflicting strength specification is
declared, it shall be ignored."

TO

"The signals that these sources place on nets shall have pull strength in the
absence of a strength specification. If there is
a strength1 specification on a pullup source or
a strength0 specification on a pulldown source,
the signals shall have the strength specified.

A strength0 specification on a pullup source and
a strength1 specification on a pulldown source
shall be ignored."

CHANGE the last sentence in 7.8 from

"In this example, the p1 instance drives neta and the p2 instance drives netb."

TO

"In this example, the p1 instance drives neta and the p2 instance drives netb
with strong strength."


In 7.1.2, at the end of the paragraph discussing pullups and pulldowns,
add "See 7.8 for more details."


Audit-Trail
From: Steven Sharp <sharp@cadence.com>
To: etf-bugs@boyd.com, Shalom.Bresticker@motorola.com
Cc:
Subject: Re: errata/526: 7.8 "conflicting strength is ignored" ??
Date: Tue, 6 Jan 2004 14:30:04 -0500 (EST)

>What does "conflicting strength specification" mean ?

I would guess that it means specifying a 0 drive strength on a pullup
or a 1 drive strength on a pulldown. For example:

pullup (weak0) p1(w);

This will produce a warning in XL and NC, and drive w with pull1 (ignoring
the weak0 specification). The warning in NC actually calls this a
conflicting drive strength, which doesn't prove anything except that
another implementor came to the same conclusion that I did about what
this term was intended to mean.

Steven Sharp
sharp@cadence.com

From: Shalom.Bresticker@motorola.com
To: Steven Sharp <sharp@cadence.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/526: 7.8 "conflicting strength is ignored" ??
Date: Tue, 6 Jan 2004 22:39:08 +0200 (IST)

But that is simply illegal, both according to the text (7.1.2) and the BNF
(Syntax 7-1). So maybe it was intended to refer to the strength0 part of a
(strength0, strength1) specification for a pullup (and opposite for
pulldown)?

Shalom


On Tue, 6 Jan 2004, Steven Sharp wrote:

> >What does "conflicting strength specification" mean ?
>
> I would guess that it means specifying a 0 drive strength on a pullup
> or a 1 drive strength on a pulldown. For example:
>
> pullup (weak0) p1(w);
>
> This will produce a warning in XL and NC, and drive w with pull1 (ignoring
> the weak0 specification). The warning in NC actually calls this a
> conflicting drive strength, which doesn't prove anything except that
> another implementor came to the same conclusion that I did about what
> this term was intended to mean.

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

From: Steven Sharp <sharp@cadence.com>
To: sharp@cadence.com, Shalom.Bresticker@motorola.com
Cc: etf-bugs@boyd.com
Subject: Re: errata/526: 7.8 "conflicting strength is ignored" ??
Date: Tue, 6 Jan 2004 16:17:13 -0500 (EST)

>But that is simply illegal, both according to the text (7.1.2) and the BNF
>(Syntax 7-1). So maybe it was intended to refer to the strength0 part of a
>(strength0, strength1) specification for a pullup (and opposite for
>pulldown)?

That makes sense. In that case, the extra strength is completely ignored,
as the strange sentence says. Not matching the drive direction isn't
really a conflict, but someone might have used that term anyway for this
mismatching direction.

This particular text does not appear in the original XL manual or the
OVI 2.0 LRM, so it was presumably added during the IEEE standardization
process. Maybe somebody from the 1364-1995 days can remember something.

Steven Sharp
sharp@cadence.com


Fix replaced by Shalom.Bresticker@motorola.com on Thu Feb 12 07:23:52 2004

In 7.8,

CHANGE

"The signals that these sources place on nets shall have pull strength in the
absence of a strength specification. If conflicting strength specification is
declared, it shall be ignored."

TO

"The signals that these sources place on nets shall have pull strength in the
absence of a strength specification. If there is
a strength1 specification on a pullup source or
a strength0 specification on a pulldown source,
the signals shall have the strength specified.

A strength0 specification on a pullup source and
a strength1 specification on a pulldown source
shall be ignored."

CHANGE the last sentence in 7.8 from

"In this example, the p1 instance drives neta and the p2 instance drives netb."

TO

"In this example, the p1 instance drives neta and the p2 instance drives netb
with strong strength."


In 7.1.2, at the end of the paragraph discussing pullups and pulldowns,
add "See 7.8 for more details."




Unformatted


Hosted by Boyd Technology