Прежде чем узнать, что такое упакованные и распакованные массивы, давайте также посмотрим, как узнать, что это за массив, просто по их объявлению.
Упакованные массивы имеют имя объекта перед объявлением размера. Например:
bit [3][7] a;
Распакованный массив имеет имя объекта после объявления размера. Например:
bit a[3];
Упакованный массив создает память, а распакованный - нет.
Вы можете получить доступ / объявить распакованный массив так же, как это
reg unpacked_array [7:0] = '{0,0,0,0,0,0,0,1};
Вы можете смешивать как упакованные, так и распакованные массивы, чтобы создать многомерную память. Например:
bit [3:0][7:0]a[2:0].
Создает массив из 4 (т. Е. 4 * 8) байтов с глубиной 3.