Есть схема - ATMega168+Cyclone II+RAM. Питание 3.3V; для FPGA - стабилизаторы LP3874 на 1.2V и на 2.5V там же.
Питание 3.3V нарастает линейно в течение 20ms. В моменты включения стабилизаторов на 1.2 и 2.5V возникают провалы на уровне 1.8V примерно на 0.2V длительностью ~400мкс. В ATMega168 BOD включен на 2.7V, время старта выставлено на 65ms +14CK.
Так вот, иногда при старте у примерно 2 - 3 из сотни изделий ATMega168 зависает. На Reset не реагирует, ни одной команды не выполняется. Вывести ее из этой позы можно двумя путями - выключив питание и снова включив, либо (!) запустив внутрисхемное программирование. После прохождения последнего вся система нормально стартует.
При нагреве до ~70 градусов вероятность зависания увеличивается, у некоторых экземпляров доходит до 1. При остывании - снова более-менее нормально себя ведет.
На вывод CLKO выведена тактовая частота. Так вот, при старте с зависанием на этой ноге появляется тактовая практически от нуля плавно нарастая до полной амплитуды. А при нормальном старте - при питании от 0 до 0.9V на этом выводе 0, выше 0.9V - тактовая появляется.
Если на питание подключить дополнительно к существующему керамическому конденсатору на 100 мкФ электролит на 2200..4700 мкФ, провалы по питанию исчезают и зависания нет.
Кто-нибудь сталкивался с подобными странностями? Вероятно система сброса некорректно себя ведет. Провалы питания как раз в районе реагирования BOD - 1.8V, хоть и не включенного.