Number | 76
|
Category | errata
|
Synopsis | 4.1.14: unclear examples of illegal concatenations
|
State | lrmdraft
|
Class | errata-simple
|
Arrival-Date | Jul 22 2002
|
Originator | Shalom.Bresticker@motorola.com
|
Release | 2001b: 4.1.14
|
Environment |
|
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 |
Fix |
In 4.1.14, CHANGE FROM: 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,; TO: 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. { 0{1'b0}} //illegal {1'bz{1'b0}} //illegal {1'bx{1'b0}} //illegal |
Audit-Trail |
From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: etf-bugs@boyd.com Cc: Subject: Re: errata/76: PROPOSAL - 4.1.14: unclear examples of illegal concatenations Date: Mon, 31 Mar 2003 10:51:31 +0300 In fixing #76, I wrote "The following examples show illegal replications." instead of "The following examples show illegal concatenations." |
Unformatted |
|
Hosted by Boyd Technology