目录
2.总结——如何选取存储类型——定宽数组,动态数组,队列,关联数组
1.关联数组
建立超大容量得数组时有相当多的数据,有些数据不需要储存和访问,因此需要利用关联数组保存稀疏矩阵的元素,该数组只为实际写入的元素分配空间,这种方法所需的空间比定宽或者动态数组所占用的空间小很多。
1.1 声明方式
关联数组采用在方括号中放置数据类型的方式来进行声明,如:
bit [63:0] assoc[bit[63:0]];//以64bit数据为索引,查找关联数组中的64 bit的数据
int age[string];//以字符串为索引,查找关联数组中的int类型数据
integer i_array[*];//未规定索引类型,通配
给关联数组赋值
int imem[int];
imem[ 2'b3 ] = 1; //索引为2'b3,索引值为1
imem[ 16'hffff ] = 2;//索引为16'hffff,索引值为2
imem[ 4b'1000 ] = 5;//索引为4b'1000 ,索引值为5
$display( "关联数组中有%0d 个键值对\n", imem.num );//3个
关联数组的声明、初始化和遍历
initial begin
bit[63:0] assoc[int],idx=1;
//对稀疏分布的元素进行初始化
repeat(64) begin
assoc[idx]=idx;
idx=idx<<1;
end
//使用