как объявить двумерные массивы и их элементы в VHDL
Мне нужно объявить значения, которые счетчик должен принимать в 2D-массиве. Кроме того, как выбрать элементы из массива и использовать их (скажем, назначить их другой переменной) как объявить элементы этого 2D-массива ?
type lutable is array (0 to 4, 0 to 63) of integer range 0 to 4000;
1 ответов
в 2D массиве, например:
type lutable is array (0 to 4, 0 to 2) of integer range 0 to 4000;
signal sample_array: lutable;
вы можете назначить другой сигнал следующим образом:
out_signal<=sample_array(in_a, in_b);
содержимое массива может быть объявлено, например, по умолчанию (внимание, это не поддерживается всеми инструментами синтеза!):
signal sample_array: lutable:=( (1000, 2000, 3000),
(4000, 3000, 2000),
(100, 200, 300),
(1,2,3),
(5,6,7));
или через постоянный массив, например:
signal sample_array: lutable;
constant sample_array_init: lutable:=( (1000, 2000, 3000),
(4000, 3000, 2000),
(100, 200, 300),
(1,2,3),
(5,6,7));
...
sample_array<=sample_array_init;
...
или, конечно, элемент за элементом:
sample_array(1,1)<=1000;
...