[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено SM 14 февраля 2005 г. 21:24
В ответ на: Ответ: (+) отправлено Oldring 14 февраля 2005 г. 20:49

Я не понял про "последовательные конструкции" - как это их нет? Просто вместо указания события в списке чувствительности процесса указываются более конкретные вещи, такие как клок, асинхронный сброс, разрешение и прочие "свойства" того типа, которым объявлена переменная. Смысл в том, что типом при определении переменной является имя модуля (который может быть написан на любом языке). DFF, NODE и прочее являются хоть и примитивами, но модулями. Тот же NODE это есть просто соединение входа с выходом, а DFF - это вход на выход через flip-flop. Никто не остановит меня от определения переменной как массива арифметико-логических устройств например... Для понимания это может сразу сложновато, но открывает много удобных возможностей.
На мой взгляд такой подход гораздо более универсален, чем просто переменная типа "сигнал" (ну пусть даже верилоговские скупые reg и wire), с которым потом еще разбирайся, на что он и зачем реагирует.

Функции есть, то есть в роли функций могут выступать те-же любые модули. Я в праве написать (my_out1, my_out2) = my_module(my_input1, my_input2); Или a=DFF(in,my_clk);

То есть модуль это есть универсальная конструкция. И я его могу подключить как экземпляр, могу вызвать как функцию, а могу определить переменную типа модуль.

Вот например простенькое описание автомата (чисто последовательная (не комбинаторная) конструкция):


my_fsm : MACHINE WITH STATES (S0, S1, S2);

my_fsm.clk=clock;
my_fsm.reset=reset;

case (my_fsm) is
when S0 =>
if (input[]==12) then
my_fsm = S1;
elsif (input[]==15) then
my_fsm = S2;
end if;
when S1 =>
if (ack[0]) then
my_fsm = s0;
end if;
when S2 =>
if (ack[1]) then
my_fsm = s0;
end if;
when others =>
my_fsm = s0;
end case;


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru