Three new methods to support iteration over the keys stored in the
dictionary:
* setFirst: set start of iterator to begin og dictionary
* setLast: set start of iterator to end of dictionary
* iter(dir): iterate over keys in dictionary in dir direction
The key pointer type t_dict_key_ptr is now moved to the public part
of the DictP package to support using in testbench code when saving the
keys with different lengths from iter() function.
Error return values are now of type t_dict_error with 3 possible values:
(NO_ERROR, KEY_INVALID, KEY_NOT_FOUND)
The new checker monitor WishBoneBusMonitorP checks that address & data
on the WishBone bus are equal to the ones wihich were given at the local
port of the WishBoneMasterE unit to initiate the transfer.
New testcases for checking correctness of removing and overwriting
entries in dictionary. Furthermore the hasKey() method is tested and
the clearing of the dictionary with the clear() method
A new packae DictP.vhd is added which contains a simple implementation
of a dictionary type. It consists of a protected type t_dict which
contains procedures & functions which serve as methods to interact with
the protected type. The t_dict type is realised by a (double)
linked-list using access types.
The key type is string of arbitrary size, the data type is
std_logic_vector of arbitrary size. The t_dict type provides following
interface methods:
* set: set a key/value pair
* get: get a key/value pair
* del: remove a key/value pair
* init: initialise the dictionary
* clear: remove all key/value pairs
* hasKey: check if a key exists in the dictionary
* size: get number of key/value pairs
By using an actual version of GHDL, we don't need the VHDL-08
proposal libraries anymore. Enough features of VHDL-08 are integrated
in GHDL to compile OSVVM and our testbenches
By using an std_logic_vector access type for the data field in the
queue record, we cann now push data with any arbitrary length in the
t_queue object. Mixed lengths are also possible now :)