Altifigence Academy

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

Проверка проекта: границы ширины, приоритета и циклического перехода

Оцените граничные значения и одновременные управления по заданной спецификации переходов.

Контракт счётчика modulo-10

Для 4-битного unsignedБеззнаковая интерпретация (unsigned) рассматривает битовую последовательность как неотрицательное целое. Диапазон n бит — от 0 до 2^n−1; знаковая интерпретация тех же битов может дать другое число. Подробнее count приоритет: reset, enable, хранение. При reset=1 получается 0; при enable=1 значения от 9 возвращаются в 0, остальные увеличиваются на 1.

N=⌈log⁡210⌉=4N=\lceil\log_2 10\rceil=4

Ширина 4 бита означает возможность хранения 16 состояний. Она не реализует автоматически требование использовать 10. В частности, при count=9 и enable=0 возврата в 0 быть не должно.

Каждый столбец — запись наблюдения одного положительного фронтаПоложительный фронт — момент перехода такта из 0 в 1. Его следует отличать от уровня, означающего весь интервал CLK=1. Подробнее. Входы показаны непосредственно перед фронтом, состояния со словом «после» в имени — сразу после обновления. Выравнивание столбцов обозначает порядок выборок, а не физическую задержку распространенияЗадержка распространения — время от изменения входа до установления правильного выхода. Логическая эквивалентность выражений и их временные характеристики — разные вопросы. Подробнее.
Начально count=9. В первом столбце без reset при enable=0 сохраняется 9; только в следующем с enable=1 происходит возврат в 0.

Удержание должно работать и на граничных значениях
Показать данные диаграммы
Данные диаграммы: каждый символ — один интервал; точка сохраняет предыдущее состояние; p — один тактовый цикл.
СигналДиаграммаЗначения шины
фронт2345E0 → E1 → E2 → E3
reset0.10
enable01..
count после23.49 → 0 → 1

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

  1. Найдите следующее значение при count=9, reset=0, enable=0.
  2. Объясните восстановление при count=15, enable=1.
  3. Определите, должен ли возникать импульс завершения при count=9, reset=1, enable=1. Предположите, что во время сбросаСброс возвращает состояние к заданному начальному значению. Нужно определить, синхронен он или асинхронен и имеет ли приоритет над другими управляющими сигналами. Подробнее выход определён как 0.

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

Сколько одношаговых переходов нужно для полного перебора count=0–15 и комбинаций reset/enable? Доказывает ли эта проверка автоматически все требования к длинным последовательностям?

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

16×2×2=6416\times2\times2=64. Если count полностью представляет состояние, а спецификация следующего состояния и выхода точна, одношаговая проверка даёт сильное свидетельство. Но она не доказывает пропущенные требования: инициализацию, предположения о входах, отдельное состояние импульса завершения, реальное время и другие условия.

При текущем count=9 одновременно выбраны reset=1 и enable=1. Каковы следующие count и импульс завершения по спецификации с приоритетом reset?

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

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