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

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

Отправлено ReAl 05 сентября 2002 г. 20:02
В ответ на: вопрос по AHDL отправлено SM 05 сентября 2002 г. 13:10

"учите матчасть"
Во-первых:
если сигнал FOO не прописан в defaults - это эквивалентно

DEFAULTS
FOO = gnd;
END DEFAULTS;


Во-вторых: если для сигнала уровнем по умолчанию есть gnd, то можете считать, что все сигналы на него выходят на самом деле как бы "с открытым эмиттером". Т.е.

DEFAULTS FOO=gnd; END DEFAULTS;
FOO = MOO;
FOO = KWA;
эквивалентно
FOO = MOO # KWA;


если для сигнала уровнем по умолчанию есть vcc, то можете считать, что все сигналы на него выходят на самом деле как бы "с открытым коллектором". Т.е.

DEFAULTS FOO=vcc; END DEFAULTS;
FOO = MOO;
FOO = KWA;
эквивалентно
FOO = MOO & KWA;


Несмотря на "автоматическое" gnd по умолчанию, я предпочитаю прописывать явно те сигналы, для которых я эту фишку использую с умолчанием на gnd.
Эта фича удобна, скажем, втаком месте:

cnt1, cnt2, cnt3 : LPM_COUNTER ....
cnt23reset : node;

DEFAULTS
(cnt1,cnt2,cnt3).sclr = gnd; -- это не нужно, но видно, что будет
-- так использоваться
END DEFAULTS;
if reset then
...
(cnt1,cnt2,cnt3).sclr = vcc;
end if;

... много строк кода

if some_condition then
cnt1.sclr = vcc;
end if;

...
if another_condition then
(cnt2,cnt3).sclr = cnt23reset;
end if;



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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru