systemverilog 数组

您所在的位置:网站首页 verilog端口数组 systemverilog 数组

systemverilog 数组

2023-08-19 10:59| 来源: 网络整理| 查看: 265

欢迎关注“IC 学社” IC学社

本文介绍SystemVerilog常用且非常重要的数据类型 ------ 定宽数组。介绍内容如下:

文章目录 1. 定宽数组声明格式2. 一维数组3. 二维数组4. 数组的基本操作4.1 数组初始化4.2 数组的基本操作 - for4.3 数组的基本操作 - foreach 5 多维数组6 数组的注意事项

1. 定宽数组声明格式

定宽数组的格式声明为:Type name [constant] , 其中 type 为存储数据的类型。 例如: int array[16], array为数组的名字,int为数组数据的存储类型为int型数据,16为数组的大小,共16个元素。

2. 一维数组

SV一维数组是常用数组,一维代表数组存储的数据为一个维度。 例如:int array[16]; //array为数组名字,数组元素共16个,索引为0…15,存储的数据类型为int型。这里数组的索引为 0…15,索引只有一个维度。 例如:int array[256],数组的索引为0~255共256个数据,如下图所示:

一维数组图示

注:数组的索引从0开始。

3. 二维数组

二维数组亦为SV常用数组,二维可以理解为数组存储的数据为两个维度。 例如: int array[8][4], array为数组的名字,int为数组数据的存储类型为int型数据,数组的大小为8行4列,共32个元素。 例如,int array[256][3], 可以理解为如下图所示,256行3列:

二维数组图示

注:数组的索引从0开始。

4. 数组的基本操作 4.1 数组初始化

为数组初始化,使用赋值符号:{} and{n{}}。 例如:

int ascend[4] = ‘{0,1,2,3}; // 对4个元素进行初始化 int descend[5]; descend = ‘{4,3,2,1,0}; // 为5个元素赋值 descend[0:2] = ‘{5,6,7}; // 为前3个元素赋值 ascend = ‘{4{8}}; // 4个值全部为8 {8,8,8,8} descend = ‘{9, 8, default:-1}; // {9,8, -1, -1, -1} 4.2 数组的基本操作 - for

遍历数组常用方法之一为for循环,如下例所示:

initial begin bit [31:0] src[5],dst[5]; for (int i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3