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的

相关推荐
技术小白爱FPGA2 天前
zynq7000- linux平台 PS读写PL测试
linux·fpga开发
Z22ZHaoGGGG2 天前
verilog中数据跨时钟处理方法
单片机·嵌入式硬件·fpga开发·自动化
FPGA_小田老师2 天前
FPGA基础知识(十):深入理解建立时间与保持时间违例
fpga开发·时序约束·建立时间违例·保持时间违例
贝塔实验室2 天前
LDPC 码的度分布
线性代数·算法·数学建模·fpga开发·硬件工程·信息与通信·信号处理
javajenius2 天前
Quartus II下载安装教程Quartus II 18保姆级安装步骤(附安装包)
其他·fpga开发
颜子鱼2 天前
FPGA中复位信号的省略
fpga开发
cycf2 天前
面向模块的综合技术之过约束(十)
fpga开发
颜子鱼3 天前
FPGA-状态机架构
fpga开发
颜子鱼3 天前
FPGA-状态机
fpga开发
GateWorld3 天前
FPGA设计中的“幽灵信号:一条走线,两种命运——浅析路径延迟导致的逻辑错误
fpga开发