SV芯片验证之定长数组

本文详细介绍了Verilog与System Verilog(SV)中的数组概念,包括非组合型数组(unpacked array)和组合型数组(packed array)的声明、初始化及使用方法,并探讨了数组在循环结构foreach中的应用。

声明:本内容来自于学习路科验证发布在B站上的免费视频课程后的笔记

一、非组合型数组unpacked array

1、在verilog中,数组经常会被用来存储数据

reg [15:0] RAM [0:4095];

//RAM是数组名,[0:4095]是元素,表示有4096个元素,每个元素有16位。reg是元素的类型

2、在SV中,就将上面这种方式声明的数组称之为非组合型数组它表示数组中的成员之间存储的数据是相互独立

wire [7:0] table [3:0]; //有4个元素,每个元素有8个bit。这些元素的类型是线网类型。

3、在SV中,它保留了verilog中非组合型数组的声明方式,同时也扩展了一些类型:event、logic、bit、byte、int、longint、shortreal、real。它也保留了verilog索引非组合型数组和数组片段的方式,这种方式为数组和数组片段的拷贝带来了方便。

int a1 [7:0] [1023:0];

int a2 [1:8] [1:1024]; //[1:8]是高维,[1:1024]是低维

a2 = a1; //复制一整个数组

a2[3] = a1[0]; //此处的a2[3]等同于a2[3][1:1024],表示将右边a1的1024个元素赋值给左边的a2的1024个元素

4、 声明非组合型数组的方式

logic [31:0] data [1024];

logic [31:0] data [0:1023];

此处不理解,我的理解是

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值