Синхронизация и распределение асинхронного сброса - проблемы и решения
Отсутствие координации между асинхронным сбросом и синхронными логическими часами приводит к периодическим сбоям при включении питания. В этой серии статей мы обсуждаем требования и проблемы асинхронного сброса и исследуем передовые решения для проектирования ASIC и FPGA.
Асинхронный сброс традиционно используется в конструкциях СБИС для приведения синхронной схемы в известное состояние после включения питания. Операция разблокировки асинхронного сброса должна быть скоординирована с сигналом синхронных логических часов, чтобы исключить сбои синхронизации из-за возможного конфликта между сбросом и часами. Отсутствие такой координации приводит к периодическим сбоям при включении питания. Проблема усугубляется при рассмотрении больших многочастотных доменов. Помимо проблем с синхронизацией, распределение асинхронного сброса на миллионы триггеров является сложной задачей, требующей методов, аналогичных CTS (Синтез дерева часов) и требующих аналогичных ресурсов области и маршрутизации.
Рассмотрены требования и проблемы асинхронного сброса с уделением особого внимания вопросам синхронизации и распределения. Обсуждаются недостатки классических решений для синхронизации сброса (синхронизация источника дерева сброса) и распределения (синтез дерева сброса). Представлены передовые решения для более быстрой и простой сходимости по времени и более надежной синхронизации и распределения сбросов. Подробно описаны различные подходы к проектированию ASIC и FPGA.
В части 1 (эта статья) описываются проблемы, связанные с асинхронным сбросом, и излагаются подходы к их решению. В части 2 обсуждаются дополнительные решения для правильного асинхронного сброса в ASIC и FPGA. Некоторые полезные частные случаи обсуждаются в Части 3.
1. Проблемы с асинхронным сбросом
Функция сброса обычно включена в цифровые СБИС, чтобы привести логику в известное состояние. Сброс в основном требуется для логики управления и может быть исключен из логики тракта данных, уменьшая область логики. Сброс может быть синхронным или асинхронным относительно тактового сигнала.
Синхронный сброс требует наличия активных часов, вызывает определенную задержку, связанную с тактовым циклом, и может повлиять на синхронизацию трактов данных. С другой стороны, синхронные сбросы детерминированы и не вызывают метастабильности.
Асинхронный сброс не требует активных часов для приведения триггеров в известное состояние, имеет меньшую задержку, чем синхронный сброс, и может использовать специальные входные контакты триггера, которые не влияют на синхронизацию пути данных. Однако асинхронный сброс имеет ряд недостатков:
-
Они могут вызвать метастабильность в шлепках, что приведет к недетерминированному поведению.
-
Для включения DFT необходимо сделать асинхронный сброс напрямую доступным.
-
Асинхронный сброс может вызвать проблемы с надежностью в приложениях rad-hard, подверженных явлениям переходного процесса с единичным событием (SET) [1].
Оставляя в стороне обсуждение того, какой тип сброса лучше [2], в этой статье мы сосредоточимся на проблемах и решениях, связанных с асинхронным сбросом. Некоторые из методов, представленных в этой статье, применимы как к асинхронному, так и к синхронному сбросу.
Асинхронный сброс широко используется в цифровых проектах. Типичными драйверами асинхронного сброса являются внешние порты, в зависимости от состояния источника питания (RC-цепи, сторожевые устройства), кнопки ручного сброса и внешние ведущие устройства, такие как микропроцессоры.
Во многих случаях асинхронный сброс может быть заменен синхронным, но в некоторых ситуациях функция асинхронного сброса является обязательной. Одним из примеров является синхронная конструкция, которая не получает активных часов при включении питания (часы либо нестабильны, либо стробируются для снижения мощности), но требует определенного известного состояния для своих внешних интерфейсов. Другой пример - конструкция с низким энергопотреблением, которая требуется для минимизации энергопотребления во время процесса включения питания без активных тактовых импульсов.
Использование асинхронного сброса непросто. Хотя относительное время между часами и сбросом можно игнорировать во время подтверждения сброса, релиз сброса должен быть синхронизирован с часами. Избегание синхронизации фронта сброса при отпускании может привести к метастабильности. На Рисунке 1 показан активный высокий асинхронный сброс. Утверждение сброса (а) влияет на выход Q триггера в течение детерминированно ограниченного времени (задержка распространения, T R-pd ) и независимо от тактового сигнала CLK. Во время сброса (b) должны выполняться условия установки и удержания синхронизации для порта RST относительно порта CLK синхронизации. Нарушение условий установки и удержания для порта RST (также известного как время восстановления и удаления при сбросе) может привести к тому, что триггер станет метастабильным, что приведет к сбою конструкции из-за переключения в неизвестное состояние. Обратите внимание, что эта ситуация аналогична нарушению условий установки и удержания для порта данных триггера D.
щелкните, чтобы увеличить изображение
Рис. 1. Подтверждение и освобождение активного высокого асинхронного сброса. (a) Утверждение асинхронного сброса. (b) Разблокирование асинхронного сброса с нарушением времени. (Источник:vSync Circuits)
Встроенный
- Беспроводные обновления:пять типичных проблем и решений
- Основные тенденции и проблемы, связанные с печатными платами
- Anvo-Systems и Mouser подписывают дистрибьюторское соглашение
- Swissbit:аппаратные решения безопасности для защиты данных и устройств
- Rutronik и AP Memory подписывают глобальное дистрибьюторское соглашение
- Тенденции и проблемы IIoT, за которыми стоит следить
- Безопасность промышленного Интернета вещей:проблемы и решения
- Проблемы автомобильного производства и решения IoT
- 5 основных логистических задач и решений для обрабатывающей промышленности
- Проблемы проектирования высокоскоростных печатных плат, связанные с целостностью сигнала, и их решения