Altifigence Academy

23 / 63 · Теория

Комбинационный выбор и задержка выхода регистра

Проанализируйте изменение интерфейса и задержки при сохранении результата MUX в регистре.

Зачем добавлять регистр к выходу

Комбинационный выход MUXМультиплексор — комбинационная схема, соединяющая один из нескольких входов с выходом по сигналу выбора. Соответствие битов выбора и номеров входов должно быть задано явно. Подробнее может меняться при каждом изменении селектора или данных. РегистрРегистр хранит многобитное состояние. Синхронные регистры в этом курсе записывают определённый вход на фронте тактового сигнала. Подробнее после него позволяет следующей ступени использовать значение, определённое на границе такта, но меняет момент наблюдения и задержку.

Пусть ak,bk,ska_k,b_k,s_k — входы, подготовленные перед фронтом k, а qk+1q_{k+1} — сохранённое значение после него:

yk=sk‾ak+skbk,qk+1=yky_k=\overline{s_k}a_k+s_kb_k,\qquad q_{k+1}=y_k

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

Сначала нарисуйте короткое расписание

Перед фронтомabselyq после фронта
101000
201111
310100

Если sel меняется между фронтами 1 и 2, y меняется раньше, а q хранится до фронта 2. Непосредственное сравнение изменения q с изменением входа может выглядеть как ошибка на один цикл.

Столбцы — упорядоченные моменты наблюдения, а не равномерная временная шкала. Заданы a=0, b=1. Посмотрите на интервал после изменения sel до следующего фронта, где q сохраняется.

Сначала меняется y, затем следует q
Показать данные диаграммы
Данные диаграммы: каждый символ — один интервал; точка сохраняет предыдущее состояние; p — один тактовый цикл.
СигналДиаграммаЗначения шины
событие23452после E1 → sel → 1 → после E2 → sel → 0 → после E3
sel01.0.
y01.0.
q0.1.0

Какие задачи регистр не решает

Неустойчивый вход около фронта захвата остаётся небезопасным даже с регистром. Селектор из другого тактового домена требует отдельного проектирования синхронизации. Это также не означает полного исчезновения выбросов на комбинационном y. Проверьте, использует ли интерфейс только q или другие пути используют ещё и y.

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

Рассмотрите входной регистр → MUX → выходной регистр на одном такте. На каком фронте выходной регистр обычно отражает новое значение входного регистра, появившееся на фронте k?

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

В обычном одноцикловом синхронном пути — на фронте k+1. На фронте k выходной регистр видит прежнее значение входного; новое проходит clock-to-Q и комбинационную задержку, готовясь к следующему фронту. Нельзя считать, что новое значение мгновенно проходит оба регистра на одном фронте.

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