Altifigence Academy

13 / 37 · Проверка знаний

Проверка проекта: эквивалентность выбора и момент наблюдения

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

Прочитайте условия и нарисуйте временной порядок

Комбинационный выход y=s‾a+sby=\overline s a+sb, а sampled_y сохраняет y на положительном фронтеПоложительный фронт — момент перехода такта из 0 в 1. Его следует отличать от уровня, означающего весь интервал CLK=1. Подробнее. Предположим, при a=1,b=0,s=0a=1,b=0,s=0 значение уже один раз сохранено. Затем между фронтами s меняется на 1.

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

Ниже показан порядок наблюдения условий задачи при a=1, b=0. На интервале различия комбинационного и сохранённого выходов объясните, какой сигнал показывает текущий вход, а какой — предыдущий захват.

Изменения между фронтами и сохранённое значение
Показать данные диаграммы
Данные диаграммы: каждый символ — один интервал; точка сохраняет предыдущее состояние; p — один тактовый цикл.
СигналДиаграммаЗначения шины
событие234захвачено → sel меняется → следующий фронт
sel01.
y10.
sampled_y1.0

Дополнительные задачи проектирования

  1. Докажите по восьми комбинациям, что схема y=(a & ~s) | (b & s) эквивалентна однобитному MUXМультиплексор — комбинационная схема, соединяющая один из нескольких входов с выходом по сигналу выбора. Соответствие битов выбора и номеров входов должно быть задано явно. Подробнее.
  2. При удалении sampled_y функциональное выражение сохраняется. Объясните, какое временное свойство исчезает.
  3. Объясните, почему при слишком близких переключении s и положительном фронте идеальные значения RTL не гарантируют поведение реального оборудования.

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

Можно ли обнаружить инверсию выбора в 4-битном MUX, проверяя только векторы a=b?

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

Нет: одинаковые входы дают один результат при любом выборе. Например, при a=0101, b=1010 нужно проверить и s=0, и s=1, чтобы различить полярность выбора и передачу каждого бита.

Каковы (y, sampled_y) непосредственно перед следующим положительным фронтом в условиях выше?

Выберите ответ

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