Altifigence Academy

19 / 63 · Теория

Основы хранения состояния: обратная связь, SR- и D-защёлки

Разберите два устойчивых состояния перекрёстной связи, запрещённый вход SR и прозрачный интервал D-защёлки.

Выход, не определяемый одними текущими входами

Чтобы помнить краткое нажатие переключателя после отпускания, нужно состояние. Выход комбинационной схемы определяется текущими входами, а в схеме памяти на следующий результат влияет и предыдущее состояние.

Для SR-защёлкиЗащёлка — элемент хранения, который следует за входом, пока управляющий сигнал активен, и удерживает значение, когда он неактивен. Этим она отличается от триггера, записывающего данные только на фронте. с высоким активным уровнем из двух перекрёстно соединённых NOR:

Q=R+Q‾‾,Q‾=S+Q‾Q=\overline{R+\overline Q},\qquad \overline Q=\overline{S+Q}

При S=R=0 устойчивы оба решения (Q,Q̅)=(1,0) и (0,1). Обратная связь удерживает ранее выбранное состояние. Однако даже при обозначении Q̅ в запрещённом режиме реальный выход может не быть дополнением Q.

SRQ после установленияЗначение
00Прежнее QХранение
101set
010reset
11Оба выхода NOR равны 0Условие, исключённое из нормальной работы

После одновременного снятия S=R=1 цифровая таблица истинностиТаблица истинности перечисляет все возможные комбинации входов и выход для каждой из них. Изменения во времени проверяют отдельно по временным диаграммам. Подробнее не гарантирует конечное состояние. «Запрещённый» означает не физическую невозможность входа, а отсутствие гарантии нужного хранения, поэтому проект должен его избегать. У SR-защёлки на NAND с active-lowАктивный низкий уровень (active-low) означает, что запрос или функция активны при сигнале 0. Суффикс _n — распространённое соглашение об именовании; реальное поведение задаёт спецификация. Подробнее и полярность входов, и запрещённая комбинация другие.

D-защёлка разделяет данные и разрешение

В идеальной функциональной модели исправной защёлки при enable=1 Q следует за D, при enable=0 удерживает прежнее значение.

Q+={DE=1QE=0Q^{+}=\begin{cases}D & E=1\\ Q & E=0\end{cases}

Связь с SR объясняется выражениями S=EDS=ED, R=ED‾R=E\overline D. Построение безопасной реальной защёлки из произвольных элементов с задержками — отдельная задача: необходимы временные условия изменения данных и закрытия enable.

Трактуйте CLK как enable и найдите прозрачный интервал D-защёлки

Предположим, что оба q первоначально равны 0. D-защёлка следует за D при CLK=1 и удерживает значение при CLK=0. D-триггер захватывает D только при переходе CLK из 0 в 1.

В левой защёлке рисунка читайте CLK как E. Удерживая CLK=1, меняйте D несколько раз: Q тоже меняется. После снижения CLK до 0 изменения D уже не влияют на Q. Правый триггерТриггер записывает вход на заданном фронте такта и удерживает его до следующего фронта. Вход должен удовлетворять ограничениям setup и hold. Подробнее сравним в следующей лекции.

Не всякая обратная связь создаёт память

Соединение выхода одного инвертораИнверсия — операция NOT, меняющая 0 на 1 и 1 на 0. Черта над формулой означает применение NOT ко всему выражению под ней. Подробнее с его входом не создаёт правильную однобитную память: у Q=Q‾Q=\overline Q нет решения 0/1. Элемент памяти должен иметь устойчивые состояния, управление входами и временные условия.

Дополнительное чтение: MIT OpenCourseWare — Sequential Logic

Попробуйте сами

У D-защёлки с высоким активным уровнем начальное Q=0. Последовательно подаются (E,D): (0,1)→(1,1)→(1,0)→(0,0)→(0,1). Каково устойчивое Q на каждом шаге?

Прочитать объяснение

0→1→0→0→0. На двух шагах с E=1 выход следует за D; последнее D=1 не сохраняется, поскольку E=0. Это идеальное поведение при выполнении временных условий.

Выбор действует в этом браузере. Его можно изменить внизу страницы.