[an error occurred while processing this directive]
Это довольно удобная фича. (+)
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))
|
Отправлено
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:
info@telesys.ru