[sv-ec] Proposal for ERR-41 associatve array index restrictions (with formatting)
Subject: [sv-ec] Proposal for ERR-41 associatve array index restrictions (with formatting)
From: Dave Rich (David.Rich@synopsys.com)
Date: Tue Nov 11 2003 - 07:49:53 PST
The following changed refer to SV3.1 or SV3.1aDraft1
Add the text in blue to the end of the fist paragraph in section 4.9
Associative arrays do not have any storage allocated until it is used,
and the index expression is not
restricted to integral expressions, but can be of any type where the equality operation has been defined..
Add a new section after 4.9.6
4.9.7 Other user defined types
Example:
typedef struct {real R; int I[*];} Unpkt;
int array_name [ Unpkt ];
In general, associative arrays that specify an index of any type have
the following properties
- Declared Indices must have the equality
operator defined for its
type to be legal. This includes all of the dynamically sized types as
legal Index types
- An Index expression that is or contains X or Z
in any of its
elements is invalid.
- An Index expression that is or contains a null
class handle or
chandle in any of its elements is invalid.
- An Index expression that is or contains an
empty value for any of it elements does not make the Index invalid.
- If the relational operator is defined for the
Index type, the ordering is as defined in the preceding sections. If
not, the relative ordering of any two entries in such an associative
array can vary, even between successive runs of the same tool. However,
the relative ordering must remain the same within the same simulation
run while no Indices have been added or deleted.
--
--
David.Rich@Synopsys.com
Technical Marketing Consultant
http://www.SystemVerilog.org
tele: 650-584-4026
cell: 510-589-2625
This archive was generated by hypermail 2b28
: Tue Nov 11 2003 - 11:20:43 PST