2017-06-27

vak: (Default)
Обычно под асинхронным триггером понимают так называемую RS-защёлку, состоящую из пары соединённых крест-накрест элементов И-НЕ:



Работа такого триггера описывается таблицей:
/Set  /Reset  Действие
---------------------------
  0     0     Запрещено
  1     0     Q = 0
  0     1     Q = 1
  1     1     Без изменения
Недостаток этой схемы состоит в наличии запрещенного состояния: когда на вход поступают нули, выход оказывается в неопределённом, или хуже того, в метастабильном состоянии.

Между тем, гораздо более удобным оказывается схема, состоящая из элементов И + ИЛИ:



Функционирует эта схема похожим образом, но без неопределённого состояния:
 Set  Enable  Действие
---------------------------
  x     0     Q = 0
  1     1     Q = 1
  0     1     Без изменения
Как можно заметить, защёлка И+ИЛИ работает в "положительной" логике: передний фронт на входе превращается в передний фронт на выходе и наоборот, отрицательный фронт превращается в отрицательный. Комбинируя с другой положительной логикой, можно получить все нужные примитивы для асинхронного дизайна. К примеру, добавив на входах пару элементов И и ИЛИ, получаем известный С-элемент Мюллера.