[an error occurred while processing this directive]
я не смог описать (с первой попытки :-) присвоение, но вобщем уже понял, спасибо за советы
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено yes 12 ноября 2003 г. 10:27
В ответ на: vitus_strom правильно мыслит.. (Капелька теории про VHDL-ные массивы) отправлено zlyh 11 ноября 2003 г. 20:02

изначальнл хотел присвоить "строки" двумерного массива к одномерному
(присвоение сигналов пишу как =)
что то типа (я уже сам не помню точно)
s1 std_logic_vector(1 to 4)
s2 array(1 to 4, 1 to 4) of std_logic

s1(2 to 3)=s2(2,1 to 2)

такое не идет (несовместимость типов), хотя по науке (и если С++ к ней приравнять Ж;-) и посмотреть описание std_logic_vector имеем тип lvalue==rvalue

ну да бог с ним,
если s2 описать как array(1 to 4) of std_logic_vector(1 to 4)

то можно s1(2 to 3)=s2(2)(1 to 2)

в конкретном случае так можно, но фантазия легко подсказывает варианты, в которых проще описать ситуацию двумерными или трехмерными массивами (например LRU)
понятно, что вообще многомерные массивы баловство и индекс можно вычислять, но понятность описания - имхо важное свойство языка


ну а объявлять незаконстрейненный тип чтобы потом создать всего один объект такого типа - я смысла не вижу
то есть

type triangl_array is array (integer range ) of std_logic_vector(8 downto 0);
signal tmp : triangl_array(1 to 12);

имхо ==

type triangl_array is array (1 to 12) of std_logic_vector(8 downto 0);
signal tmp : triangl_array;


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru