Индексировать 2d элемент массива - PullRequest
0 голосов
/ 30 ноября 2018

В VHDL я создал следующий пакет:

--! Custom, 8 bit register map package
package regmap_package is

    --! Amount of registers in the array
    constant reg_nr : natural := 8;

    --! The 8bit register map array type
    type regmap_t is array(0 to (reg_nr - 1)) of std_logic_vector(7 downto 0);

end package regmap_package;

Используя этот пакет, можно получить доступ к новому типу regmap_t, который представляет собой двумерный массив размером reg_nr x 8 бит.

В vhdl я не могу понять, как мне получить доступ к одному биту в этом массиве.Мне удалось получить доступ только к одному «регистру», то есть к 8 целым битам.Я пытаюсь получить что-то вроде этого:

some_signal <= regmap_var(0,1);

Чтобы получить доступ ко 2-му (бит номер 1, считая с 0) из 1-го регистра (номер 0).

1 Ответ

0 голосов
/ 30 ноября 2018

Это не двумерный массив, это только одномерный массив, где элементы сами являются одномерным массивом.Поэтому вам нужно сохранить каждый индекс в своем собственном ()

some_sl_signal <= regmap_var (0) (1); </p>

...