ISSUE 190

Number 190
Category errata
Synopsis 9.5.1: Extra zero in Example 1
State closed
Class errata-discuss
Arrival-DateNov 12 2002
Originator Anders Nordstrom
Release 2001b: 9.5.1
Environment
Description
Example 1 in section 9.5.1 shows a casez which does instruction decode on the most significant bit. Case item 3 has a 0 after the most significant bit while the others does not. With the extra zero, not only the most significant bit is considered.
Fix
Change the third casez item to:
8'b0001????: instruction3 (ir);

-----------------------------------------------------------

Proposal for Errata 190:

In Example 1 in 9.5.1:

REPLACE the example code:

reg [7:0] ir;

casez (ir)
8'b1???????: instruction1(ir);
8'b01??????: instruction2(ir);
8'b00010???: instruction3(ir);
8'b000001??: instruction4(ir);
endcase

WITH the following modified code:

reg [7:0] ir;

casez (ir)
8'b1???????: instruction1(ir);
8'b01??????: instruction2(ir);
8'b0001????: instruction3(ir);
8'b000001??: instruction4(ir);
endcase

NOTE: The only change is to the third case item where the 0 following the 1
in the case item expression is changed to a ?.
Audit-Trail

From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: asic@sympatico.ca
Cc: etf-bugs@boyd.com
Subject: Re: errata/190: Extra zero in Example 1 Section 9.5.1
Date: Wed, 13 Nov 2002 15:37:12 +0200

>Category: errata
>Confidential: no
>Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com>
>Release: 2001b
>Class: TBD
>Description:

--------------1D0DF0C705158BBE5735CC14
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I don't see the problem.

The text and code are:

Example 1-The following is an example of the casez statement. It demonstrates an instruction decode, where values of the most significant bits select which task should be called. If the most significant bit of ir is a 1, then the task instruction1 is
called, regardless of the values of the other bits of ir.

reg [7:0] ir;

casez (ir)
8'b1???????: instruction1(ir);
8'b01??????: instruction2(ir);
8'b00010???: instruction3(ir);
8'b000001??: instruction4(ir);
endcase

Do you mean you think that case item 3 should have been 8'b001????? and case item4 should be 8'b0001????
I don't think that is the intent of the example.

Shalom

> Example 1 in section 9.5.1 shows a casez which does instruction decode on the most significant bit. Case item 3 has a 0 after the most significant bit while the others does not. With the extra zero, not only the most significant bit is considered.

--------------1D0DF0C705158BBE5735CC14
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

I don't see the problem.

The text and code are:

Example 1-The following is an example of the casez statement. It demonstrates
an instruction decode, where values of the most significant bits select
which task should be called. If the most significant bit of ir is a 1,
then the task instruction1 is called, regardless of the values of the other
bits of ir.

reg [7:0] ir;

casez (ir)

8'b1???????: instruction1(ir);

8'b01??????: instruction2(ir);

8'b00010???: instruction3(ir);

8'b000001??: instruction4(ir);

endcase

Do you mean you think that case item 3 should have been 8'b001?????
and case item4 should be 8'b0001????

I don't think that is the intent of the example.

Shalom
<blockquote TYPE=CITE>Example 1 in section 9.5.1 shows a casez which does
instruction decode on the most significant bit. Case item 3 has a 0 after
the most significant bit while the others does not. With the extra zero,
not only the most significant bit is considered.


--------------1D0DF0C705158BBE5735CC14--


From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: drm@xilinx.com
Cc: etf-bugs@boyd.com
Subject: Re: errata/190: PROPOSAL - 9.5.1: Extra zero in Example 1
Date: Thu, 08 May 2003 15:02:38 +0300

Strictly speaking, no change is necessary, since the text states,
"values of the most significant bits select which task should be called".
That is still true since if the 5 most significant bits are 00010, then
instruction3 is called.

However, if you really want to change it, then maybe you want to change the
codings to:
1???????
01??????
001?????
0001????

Shalom


drm@xilinx.com wrote:

> Change the third casez item to:
> 8'b0001????: instruction3 (ir);
>
> -----------------------------------------------------------
>
> Proposal for Errata 190:
>
> In Example 1 in 9.5.1:
>
> REPLACE the example code:
>
> reg [7:0] ir;
>
> casez (ir)
> 8'b1???????: instruction1(ir);
> 8'b01??????: instruction2(ir);
> 8'b00010???: instruction3(ir);
> 8'b000001??: instruction4(ir);
> endcase
>
> WITH the following modified code:
>
> reg [7:0] ir;
>
> casez (ir)
> 8'b1???????: instruction1(ir);
> 8'b01??????: instruction2(ir);
> 8'b0001????: instruction3(ir);
> 8'b000001??: instruction4(ir);
> endcase
>
> NOTE: The only change is to the third case item where the 0 following the 1
> in the case item expression is changed to a ?.
>
> http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&pr=190

Unformatted



Hosted by Boyd Technology