From: Shalom.Bresticker@motorola.com
Date: Mon Jul 22 2002 - 08:14:26 PDT
Precedence: bulk
>Number: 76
>Category: errata
>Originator: Shalom.Bresticker@motorola.com
>Description:
Section 4.1.14 contains the following:
Another form of concatenation is the replication operation.
The first expression shall be a non-zero, non-X and non-Z
constant expression, the second expression follows the rules
for concatenations. This example replicates "w" 4 times.
{4{w}} // This is equivalent to {w, w, w, w}
a[31:0] = {1`b1, {0{1`b0}} }; //illegal. RHS becomes {1`b1,;
a[31:0] = {1`b1, {1`bz{1`b0}} }; //illegal. RHS becomes {1`b1,;
a[31:0] = {1`b1, {1`bx{1`b0}} }; //illegal. RHS becomes {1`b1,;
The comments on the three examples of illegal concatenations
look strange.
"RHS becomes {1 b1,;" looks cut off.
I propose to just leave them as "illegal". Anyone who reads
the preceding paragraph will immediately understand the
reason. The existing comments are just confusing.
I also propose to change "non-zero" to "positive".
I propose the following wording:
Another form of concatenation is the replication operation.
The first expression shall be a positive, non-X and non-Z
constant expression, the second expression follows the rules
for concatenations.
The following example replicates "w" 4 times.
{4{w}} // This is equivalent to {w, w, w, w}
The following examples show illegal concatenations.
a[31:0] = {1`b1, { 0{1`b0}} }; //illegal
a[31:0] = {1`b1, {1`bz{1`b0}} }; //illegal
a[31:0] = {1`b1, {1`bx{1`b0}} }; //illegal
This archive was generated by hypermail 2.1.4
: Thu Oct 10 2002 - 09:24:26 PDT
and
sponsored by Boyd Technology, Inc.