From: Shalom.Bresticker@freescale.com
Date: Mon Nov 29 2004 - 10:29:36 PST
2004-11-29: This includes changes discussed in ETF meeting
today. However, the ETF did not vote to approve it, due to
lack of time.
In 2.5.1:
1. In para. 2, CHANGE
"an optional size constant"
TO
"an optional size specification"
2. At the end of the second paragraph, append
the following sentence --
"It shall be legal to macro substitute these
three tokens."
3. REPLACE
"The first token, a size constant, shall specify
the size of the constant in terms of its exact
number of bits.
WITH
"The first token, a size specification, shall specify
the size of the constant in terms of its exact
number of bits."
4. In para. 7, CHANGE
"Simple decimal numbers without the size and the base format"
TO
"Simple decimal numbers without the size specification and the base format"
5. CHANGE
"A plus or minus operator preceding the size constant is a unary plus or minus operator."
TO
"A plus or minus operator preceding the size specification is a unary plus or minus operator."
6. REPLACE
"If the size of the unsigned number is smaller
than the size specified for the constant, the
unsigned number shall be padded to the left
with zeros. If the leftmost bit in the unsigned
number is an x or a z, then an x or a z shall
be used to pad to the left respectively."
WITH
"If a sized constant has an unsigned number
(i.e., third token) with a value that has
fewer bits than are specified by its size specification
(i.e., first token), the value of the unsigned
number shall be extended to the specified number
of bits by padding it to the left with zero (even
if the constant is signed), unless the leftmost bit
in the unsigned number is x or z, in which case
it shall be padded to the left with x or z
respectively."
7. REPLACE
"Unsized unsigned constants where the high order bit is
unknown (X or x) or three-state (Z or z) shall be extended
to the size of the expression containing the constant."
WITH
"The number of bits that
make up an unsized integer constant (which is
a simple decimal number or a based constant
without a size specification) shall be at least 32.
Unsized unsigned constants where the high order bit is
unknown (X or x) or three-state (Z or z) shall be extended
to the size of the expression containing the constant."
8. In Example 4
REPLACE
reg[11:0] a, b, c, d;
initial begin
a = 'h x; // yields xxx
b = 'h 3x; // yields 03x
c = 'h z3; // yields zz3
d = 'h 0z3; // yields 0z3
end
reg [84:0] e, f, g;
e = 'h5; // yields {82{1'b0}, 3'b101}
f = 'hx; // yields {85{1'hx}}
g = 'hz; // yields {85{1'hz}}
WITH
reg[11:0] a, b, c, d;
initial begin
a = 'h x; // a gets 12'h xxx
b = 'h 3x; // b gets 12'h 03x
c = 'h z3; // c gets 12'h zz3
d = 'h 0z3; // d gets 12'h 0z3
end
reg [31:0] e, f, g, h, i;
reg signed [31:0] j, k;
e = 'h5; // e gets 32'h0000_0005
f = 'hx; // f gets 32'hxxxx_xxxx
g = 'hz; // g gets 32'hzzzz_zzzz
h = 4'hx; // h gets 32'h0000_000x
i = 16'ox; // i gets 32'h0000_xxxx
j = 16'sb110; // j gets 32'h0000_0006
k = 3'sb110; // k gets 32'hffff_fffe
8. REMOVE NOTES 2 and 3.
http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&database=default&pr=428
This archive was generated by hypermail 2.1.4
: Mon Nov 29 2004 - 10:29:44 PST
and
sponsored by Boyd Technology, Inc.