System Verilog学习4——数据类型-关联数组

目录

1.关联数组

1.1 声明方式

2.总结——如何选取存储类型——定宽数组,动态数组,队列,关联数组

2.1使用灵活性

2.2存取速度

2.3 排序方式

2.4 占用系统的存储空间


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

//使用
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值