The proposal approved for erratum 101 makes clear that built-in
integer types and packed structs have 1 dimension. But neither
that proposal nor the approved proposal for erratum 254 (see its
definition of simple bit vector type) indicate that they are packed
arrays.
According to 254 each built-in type *matches* a packed array of one
dimension. For example,
typedef bit signed [7:0] BYTE; // matches the byte type
typedef bit signed [0:7] ETYB; // does not match the byte type
hence $typeof(BYTE) == $typeof(byte) and $typeof(ETYB) != $typeof(byte).
But BYTE and byte are not identical types and they are distinguishable
with $typename().
In open erratum 51, James Vellenga points to possible ambiguity
in the following text from Section 4.2 --
"An integer type with a predefined width can be treated as a single
dimension packed array ..."
Is this really ambiguous? If so, what textual tweaking would need
to be made? How about something along these lines --
"Although an integer type with a predefined width is not a packed array,
it matches (see Section 5.8.1), and can be selected from as if it
were, a packed array type with a single [n-1:0] dimension"
Additionally, would it be a useful enhancement to allow the "array"
querying functions such as $left() to be applicable also to built-in
integer types?
-- Brad
Received on Wed Nov 24 15:34:51 2004
This archive was generated by hypermail 2.1.8 : Wed Nov 24 2004 - 15:34:54 PST