23 / 63 · Теория
Комбинационный выбор и задержка выхода регистра
Проанализируйте изменение интерфейса и задержки при сохранении результата MUX в регистре.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Зачем добавлять регистр к выходу
Комбинационный выход MUXМультиплексор — комбинационная схема, соединяющая один из нескольких входов с выходом по сигналу выбора. Соответствие битов выбора и номеров входов должно быть задано явно. Подробнее может меняться при каждом изменении селектора или данных. РегистрРегистр хранит многобитное состояние. Синхронные регистры в этом курсе записывают определённый вход на фронте тактового сигнала. Подробнее после него позволяет следующей ступени использовать значение, определённое на границе такта, но меняет момент наблюдения и задержку.
Пусть — входы, подготовленные перед фронтом k, а — сохранённое значение после него:
Говоря о задержке, обязательно определяйте, когда подаются входы и когда наблюдаются выходы. В интерфейсе, где и вход, и выход определены как выходы регистров, число промежуточных регистровых ступеней определяет задержку в циклах.
Сначала нарисуйте короткое расписание
| Перед фронтом | a | b | sel | y | q после фронта |
|---|---|---|---|---|---|
| 1 | 0 | 1 | 0 | 0 | 0 |
| 2 | 0 | 1 | 1 | 1 | 1 |
| 3 | 1 | 0 | 1 | 0 | 0 |
Если sel меняется между фронтами 1 и 2, y меняется раньше, а q хранится до фронта 2. Непосредственное сравнение изменения q с изменением входа может выглядеть как ошибка на один цикл.
Столбцы — упорядоченные моменты наблюдения, а не равномерная временная шкала. Заданы a=0, b=1. Посмотрите на интервал после изменения sel до следующего фронта, где q сохраняется.
Показать данные диаграммы
| Сигнал | Диаграмма | Значения шины |
|---|---|---|
| событие | 23452 | после E1 → sel → 1 → после E2 → sel → 0 → после E3 |
| sel | 01.0. | |
| y | 01.0. | |
| q | 0.1.0 |
Какие задачи регистр не решает
Неустойчивый вход около фронта захвата остаётся небезопасным даже с регистром. Селектор из другого тактового домена требует отдельного проектирования синхронизации. Это также не означает полного исчезновения выбросов на комбинационном y. Проверьте, использует ли интерфейс только q или другие пути используют ещё и y.
Попробуйте сами
Рассмотрите входной регистр → MUX → выходной регистр на одном такте. На каком фронте выходной регистр обычно отражает новое значение входного регистра, появившееся на фронте k?
Прочитать объяснение
В обычном одноцикловом синхронном пути — на фронте k+1. На фронте k выходной регистр видит прежнее значение входного; новое проходит clock-to-Q и комбинационную задержку, готовясь к следующему фронту. Нельзя считать, что новое значение мгновенно проходит оба регистра на одном фронте.