文章目录
一、概述
合并数组(packed array),又可称为合并数组、压缩数组。非合并数组同理,有非合并数组、非压缩数组之称。名称上无需太多纠结!
合并数组与非合并数组相比,最大的不同是,合并数组的存放方式是连续的比特集合,中间没有任何闲置的空间!
合并数组应用最多的场景是:既希望能够把某个数据类型当做一个整体来访问,也希望能够把它分解成更小的单元。例如:有一个32bit的寄存器,有时候需要把它看成四个8bit的数据,有时候则希望把它看成单个的无符号数据。
在SystemVerilog绿皮书上说:任何数组类型都可以合并,包括动态数组、队列和关联数组,但是这一点我有点存疑,我们日常工作中使用最多则是定宽数组的合并数组和非合并数组!