[sv-ec] Problems with Associative arrays and wildcard index type

From: Rich, Dave <Dave_Rich_at_.....>
Date: Mon May 08 2006 - 09:13:28 PDT
There are a number of problems with using the wildcard index on an
associative array with a number of other language features. The wildcard
is the index that has no defined size, specified like

 

int AA[*];

 

Unfortunately, any operation that would require a fixed size index will
not work with a wildcard. For example, the foreach loop needs to create
a local variable that matches they type if the index. We currently don't
have a dynamically sized integral data type to work with.

 

There are a number of different solutions to this problem.

 

1.	Remove the wildcard index. It probably too late to do this, but
this is what I would do.
2.	Make the wildcard index type equivalent to an int or longint
3.	Let the compiler choose a fixed size index based on all
reference to the array and the maximum possible index size
4.	Make it illegal to reference an associative array that uses a
wildcard index in places where the size of the index is needed
5.	Create a dynamically sized packed type.

 

I have made a proposal for #4. #5 is beyond the scope of this WG, but
the door has not been locked shut on it sometime in the future with #4.

 

See Mantis 1457
<http://www.eda.org/svdb/bug_view_page.php?bug_id=0001457> 

 

Dave

 

 

 

 

 

 

David Rich
Verification Technologist
Design Verification & Test Division
Mentor Graphics Corporation
dave_rich@mentor.com
Office:   408 487-7206
Cell:     510 589-2625

 
Received on Mon May 8 09:13:32 2006

This archive was generated by hypermail 2.1.8 : Mon May 08 2006 - 09:13:58 PDT