18 / 37 · Проверка знаний
Проверка проекта: границы ширины, приоритета и циклического перехода
Оцените граничные значения и одновременные управления по заданной спецификации переходов.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Контракт счётчика modulo-10
Для 4-битного unsignedБеззнаковая интерпретация (unsigned) рассматривает битовую последовательность как неотрицательное целое. Диапазон n бит — от 0 до 2^n−1; знаковая интерпретация тех же битов может дать другое число. Подробнее count приоритет: reset, enable, хранение. При reset=1 получается 0; при enable=1 значения от 9 возвращаются в 0, остальные увеличиваются на 1.
Ширина 4 бита означает возможность хранения 16 состояний. Она не реализует автоматически требование использовать 10. В частности, при count=9 и enable=0 возврата в 0 быть не должно.
Каждый столбец — запись наблюдения одного положительного фронтаПоложительный фронт — момент перехода такта из 0 в 1. Его следует отличать от уровня, означающего весь интервал CLK=1. Подробнее. Входы показаны непосредственно перед фронтом, состояния со словом «после» в имени — сразу после обновления. Выравнивание столбцов обозначает порядок выборок, а не физическую задержку распространенияЗадержка распространения — время от изменения входа до установления правильного выхода. Логическая эквивалентность выражений и их временные характеристики — разные вопросы. Подробнее.
Начально count=9. В первом столбце без reset при enable=0 сохраняется 9; только в следующем с enable=1 происходит возврат в 0.
Показать данные диаграммы
| Сигнал | Диаграмма | Значения шины |
|---|---|---|
| фронт | 2345 | E0 → E1 → E2 → E3 |
| reset | 0.10 | |
| enable | 01.. | |
| count после | 23.4 | 9 → 0 → 1 |
Дополнительные задачи проектирования
- Найдите следующее значение при count=9, reset=0, enable=0.
- Объясните восстановление при count=15, enable=1.
- Определите, должен ли возникать импульс завершения при count=9, reset=1, enable=1. Предположите, что во время сбросаСброс возвращает состояние к заданному начальному значению. Нужно определить, синхронен он или асинхронен и имеет ли приоритет над другими управляющими сигналами. Подробнее выход определён как 0.
Попробуйте сами
Сколько одношаговых переходов нужно для полного перебора count=0–15 и комбинаций reset/enable? Доказывает ли эта проверка автоматически все требования к длинным последовательностям?
Прочитать объяснение
. Если count полностью представляет состояние, а спецификация следующего состояния и выхода точна, одношаговая проверка даёт сильное свидетельство. Но она не доказывает пропущенные требования: инициализацию, предположения о входах, отдельное состояние импульса завершения, реальное время и другие условия.
При текущем count=9 одновременно выбраны reset=1 и enable=1. Каковы следующие count и импульс завершения по спецификации с приоритетом reset?
При одновременных условиях действует заданный приоритет. В ветви reset и count, и импульс определены как 0, поэтому прежнее count=9 не вызывает импульса циклического перехода.