SystemVerilog中数组的维度相关概念解析

SystemVerilog中数组的维度相关概念解析

1. sv多维数组相关概念解析

首先看下SystemVerilog标准中对packed(合并)和unpacked(非合并)数组的定义
在这里插入图片描述

简单说来就是定义在数组名左边的是packed部分,右边的是unpacked部分
合并数组部分定义的维度在内存空间中是连续排放的,非合并数组是非连续存放,以32位内存系统为例两种数组的内存存储形式如下图所示:
在这里插入图片描述

多维数组里packed和unpacked维度示意如下(ijk三个维度对应packed,lmn三个维度对应unpacked):
bit [i][j][k] array [l][m][n];

再引申一下看看多维数组的下标对应情况
下面是sv语法中的描述:
在这里插入图片描述

可见在进行多维数组引用时,packed部分的维度在引用时比unpacked部分要高,unpacked部分的维度越靠近数组名越低,packed部分也是越靠近数组名越低。
总结下来数组的维度排序从低到高依次是:
1、先从左到右依次对unpacked部分维度排序
2、再从左到右依次对packed部分维度排序

还是用上面多维数组的例子:
// packed unpac

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值