Господа, прошу помощи с описанием двумерных массивов на VHDL.
Объявил вот такой вот массив :
Код
type SDRAM is array (0 to 3, 0 to 3) of std_logic_vector (15 downto 0);
variable memory : SDRAM;
Хочу я записать по адресу SDRAM(0,0) что-нибудь.
Я пишу так :
Код
memory(0, 0) := DQ;
Но столкнулся с проблемой, что меняя индексы строки т.е проводя записи в memory(0, 0) , memory(0, 1) memory(0, 2) итд. у меня данные пишутся только по адресу memory(0, 0).
Соответственно с чтением массива проблема аналогичная.
upd.При чём если записать так:
Код
for i in 0 to 3 loop
memory(0, i) <= DQ;
end loop;
Данные пишутся во все ячейки.... Не понимаю...
Как это побороть ? И в чём моя ошибка ?
Ну и второй вопрос.
А каким образом можно аналогичный массив создать (чтобы можно было обращаться к данным по адресу строки и столбца) в неситезируемом подмножестве VHDL, для минимизации вычислительных ресурсов.
Массив нужен для простенькой модели SDRAM памяти