System Verilog-packed array以及unpacked array

如下声明:

verilog 复制代码
logic [7:0] data [255:0]

维度在标识符前面的部分称为packed array,在标识符后面的部分称为unpacked array,一维的pakced array也称为vector。

packed array

packed array只能由单bit数据类型(bit,logic,reg)、enum以及其他packed array和packed structure组成。packed array保证在内存中一定是一段连续的bit

unpacked array

unpacked array的元素数据类型没有限制,unpacked array在内存中不一定是一段连续的bit

多维数组

二维数组通常被用于memory,第一维代表地址宽度,第二维代表数据宽度

如下代码:

logic [2:0][3:0] data [4:0][5:0]

这是一个什么样的数据类型呢?我们应该从unpacked dimension部分从左往右读,再从packed dimension部分从左往右读。因此这是一个[4:0][5:0][2:0][3:0]的4维数组

packed 与unpacked

enum、struct也有packed和unpacked之分。编写design时,不能将unpacked类型的数据赋值给packed类型的数据,反之亦然。

packed类型的数据其元素(成员)也必须都是recursively packed的,unpacked数据可以包含packed或者unpacked,其中packed的数据内部的元素(成员)同样必须是recursively packed的

相关推荐
redcocal3 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
思尔芯S2C18 小时前
高密原型验证系统解决方案(下篇)
fpga开发·soc设计·debugging·fpga原型验证·prototyping·深度调试·多fpga 调试
看未来捏18 小时前
【数字集成电路与系统设计】Chisel/Scala简介与Verilog介绍
scala·verilog·chisel
坚持每天写程序18 小时前
xilinx vivado PULLMODE 设置思路
fpga开发
redcocal1 天前
地平线内推码 kbrfck
c++·嵌入式硬件·mcu·算法·fpga开发·求职招聘
小桶qa2 天前
音频左右声道数据传输_2024年9月6日
音频·verilog
邹莉斯3 天前
FPGA基本结构和简单原理
fpga开发·硬件工程
悲喜自渡7213 天前
易灵思FPGA开发(一)——软件安装
fpga开发
ZxsLoves3 天前
【【通信协议ARP的verilog实现】】
fpga开发
爱奔跑的虎子3 天前
FPGA与Matlab图像处理之伽马校正
图像处理·matlab·fpga开发·fpga·vivado·xilinx