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

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

Отправлено SM 04 августа 2004 г. 12:15
В ответ на: Дык а разве DEFAULTS ss = GND; END DEFAULTS; не это делает? отправлено ux 04 августа 2004 г. 11:42


TABLE
ss, y => z, ss;

s0, 0 => 0, s0;
s0, 1 => 1, s1;
s1, 0 => 1, s1;
s1, 1 => 0, s2;
s2, 0 => 0, s2;
s2, 1 => 1, s3;
s3, 0 => 0, s3;
s3, 1 => 1, s0;
END TABLE;

допустим


0123
s0=1000=ss[0]
s1=0100=ss[1]
s2=0010=ss[2]
s3=0001=ss[3]

согласно правилам синтеза AHDL для синтеза one-hot (один бит-один стейт) синтезируем (построчно таблицу)


ss_0_a = (ss[0] & !y);
ss_1_a = (ss[0] & y);
ss_1_b = (ss[1] & !y);
ss_2_a = (ss[1] & y);
ss_2_b = (ss[2] & !y);
ss_3_a = (ss[2] & y);
ss_3_b = (ss[3] & !y);
ss_0_b = (ss[3] & y);
ss[0] = (ss_0_a | ss_0_b);
ss[1] = (ss_1_a | ss_1_b);
ss[2] = (ss_2_a | ss_2_b);
ss[3] = (ss_3_a | ss_3_b);

Видим, что получилась достаточная конструкция без неопределенных состояний и игнорируем дефолты. Получили при сбое нахождение автомата ОДНОВРЕМЕННО в нескольких состояниях, если, конечно синтезатор для этого не предпримет никаких мер. Дефолт играл бы роль ТОЛЬКО при стирании из таблицы какой-либо строчки.

теперь пример номер 2. Где дефолты сыграют роль.


if (a) then
out = c;
end if;
if (b) then
out = d;
end if;

в этой конструкции - если A или B - то должно быть на выходе C или Д. Если !A и !B - то дефолт.

синтезируем для дефолта GND, т.е. в положительной логике.


out_a = A & C;
out_b = B & D;
out = out_a | out_b;

проверяем. Если (!A и !B) имеем дефолт, т.е. ноль. Если (A и !B) или (!A и B) - то имеем C или D. Если A и B то имеем C|D. Все правильно.

Синтезируем для дефолта VCC, в отрицательной логике.


out_a = !A | C;
out_b = !B | D;
out = out_a & out_b;

проверяем. Если !A и !B то выход VCC=дефолт. Если (A и !B) или (!А и B) - на выходе C или D. Если A и B, на выходе имеем C&D.

Понятно что такое дефолт, для чего нужен, и куда его совать?

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru