45 / 63 · Теория
Логические состязания и пределы эквивалентных выражений
Проанализируйте, как две эквивалентные в установившемся состоянии схемы дают разные переходные диаграммы из-за задержек.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
В таблице истинности нет времени
Если в следующем выражении зафиксировать B=C=1, F=1 и при A=0, и при A=1.
Но выходы реальных элементов меняются не одновременно со входами. При переходе A из 1 в 0 путь AB может раньше упасть в 0, а путь через инверторИнверсия — операция NOT, меняющая 0 на 1 и 1 на 0. Черта над формулой означает применение NOT ко всему выражению под ней. Подробнее позже подняться в 1. Возникает интервал двух нулевых слагаемых. Краткий 0 на выходе, который должен сохранять 1, называется static-1 hazard, статическим состязанием единичного уровня.
Сравните задержки числами
Предположим следующие задержки до входов OR. Числа объясняют принцип и не относятся к определённому техпроцессу.
| Событие | Время после переключения A |
|---|---|
| AB падает в 0 | 2 ns |
| растёт в 1 | 4 ns |
Оба входа OR нулевые примерно 2 ns. Ширина и само появление выходного импульса зависят также от задержки OR и передачи коротких импульсов. Правильность всех восьми комбинаций таблицы истинностиТаблица истинности перечисляет все возможные комбинации входов и выход для каждой из них. Изменения во времени проверяют отдельно по временным диаграммам. Подробнее не проверяет этот переходный эффект.
Одна ячейка ниже — 1 ns после изменения A. Предполагается изменение AB в 2 ns и NOT(A)C в 4 ns. Последние две строки — объединение входов без собственной задержки OR, а не измеренные диаграммы реального компонента. Проверьте, перекрывает ли путь BC=1 промежуток между двумя членами.
Показать данные диаграммы
| Сигнал | Диаграмма | Значения шины |
|---|---|---|
| время(ns) | 234523 | 0 → 1 → 2 → 3 → 4 → 5 |
| AB | 1.0... | |
| NOT(A)C | 0...1. | |
| входы OR | 1.0.1. | |
| с членом BC | 1..... |
Избыточный член может выполнять временную роль
Добавим BC, поддерживающий выход независимо от A, пока B=C=1.
По теореме консенсуса булевой алгебрыБулева алгебра оперирует значениями 0 и 1 и операциями AND, OR, NOT. Знак сложения здесь обычно означает OR, поэтому правила отличаются от сложения целых чисел. Подробнее функция для устойчивых входов та же. Но BC остаётся 1 при переключении A и перекрывает разрыв данного одиночного перехода. На карте Карно это соответствует покрытию соседних единиц общей группой.
Рассуждение действует при предположениях вроде изменения одного входа и двухуровневой SOP. Оно не решает проблемы одновременного изменения нескольких входов, динамических состязаний многоуровневой логики и аналоговых помех.
Записанный в RTL член может не сохраниться
Синтезатор способен удалить функционально избыточный BC. Одного добавления члена в исходник недостаточно для вывода, что физическая реализация свободна от состязаний. Выберите подходящую требованиям структуру и проверьте пути и время после реализации.
Основа синхронного тракта — соблюдение setupВремя предустановки (setup) — минимальное время, в течение которого входные данные должны быть стабильны до захватывающего фронта такта. При нарушении результат записи не гарантирован. Подробнее и holdВремя удержания (hold) — минимальное время, в течение которого входные данные должны оставаться стабильными после захватывающего фронта такта. Учитывайте контекст: это не то же самое, что обычное сохранение значения. Подробнее, чтобы регистрРегистр хранит многобитное состояние. Синхронные регистры в этом курсе записывают определённый вход на фронте тактового сигнала. Подробнее выбирал уже устойчивый выход. Использование комбинационных выбросов как такта, асинхронного сброса или триггера внешнего устройства может усугубить проблему. Проектируйте с учётом назначения сигнала и способа приёма.
Попробуйте сами
В заданы B=C=1, A меняется с 0 на 1. Какой член консенсуса можно добавить против static-1 hazard? Изменится ли установившаяся таблица истинности?
Прочитать объяснение
Добавляется BC. функционально эквивалентно исходному, но BC перекрывает интервал, где оба переходных пути могли быть 0. Предполагается изменение одного входа; сохранение этого члена в реальной структуре проверяется отдельно.