Компиляторы схем устойчивых к помехам и сбоям

Устойчивость логических схем к сбоям в настоящее время вызывает повышенный интерес. Это связано с рядом объективных причин, включая важность микроэлектроники для критически важных применений в космической и промышленной сферах. Здесь представлена упрощенная классификация дестабилизирующих воздействий, а также классификация ошибок, вызываемых этими воздействиями. И еще одна из этих объективных причин – быстрое увеличение частоты мягких ошибок в комбинационной логике по сравнению с другими типами ошибок. Это обусловлено некоторыми технологическими тенденциями в отношении уровня мягких ошибок комбинационной логики.

* - T. Yaran, S. Tosun Improving combinational circuit resilience against soft errors via selective resource allocation // 2017 IEEE 20th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS)

Существует множество методов проектирования, учитывающих SET. В нашем исследовании мы рассматриваем наиболее влиятельный, но, вероятно, наиболее недооцененный метод – логическое маскирование. Считается, что логическое маскирование не зависит от технологии и оказывает наибольшее влияние на уровень мягких ошибок (SER) схемы.

* - Asadi H, Tahoori MB, Fazeli M, Miremadi SG. Efficient algorithms to accurately compute derating factors of digital circuits. Microelectron Reliab 2012;52(6):1215–26.

Фактически, существует три типа маскирования:

Логическое маскирование – наиболее недооцененный механизм, поскольку, с одной стороны, он технологически независим и оказывает наибольшее влияние на итоговый SER, а с другой – не поддерживается ни одной из коммерчески доступных САПР.

RELIC разработан для снижения вероятности ошибок на выходах комбинационных схем, вызванных попаданием заряженных частиц. Алгоритм итерационный, и на каждой итерации проходит 3 основных этапа:

Метрикой может быть усредненное логическое маскирование, чувствительная площадь или даже скорректированная чувствительная площадь, учитывающая электрическое маскирование ячеек. Алгоритм ресинтеза жадный, то есть на каждой итерации выбирает реализацию подсхемы, вносящую наименьший вклад в чувствительную площадь. Таким образом, метрика чувствительности схемы к сбоям гарантированно не увеличивается в процессе ресинтеза. Когда алгоритм достигает предела по числу итераций или времени выполнения, ресинтезированная схема записывается в файл и верифицируется – проверяется на эквивалентность исходной.

Метод логического ресинтеза может применяться как на технологически независимом этапе, так и на этапе пост-маппинга, когда схема уже представлена в определенной технологической библиотеке. В настоящее время не существует методов маппинга в технологическую библиотеку, сохраняющих свойства логического маскирования. Поэтому RELIC работает с gate-level дизайном, выраженным в терминах стандартной библиотеки. Однако, если у пользователя есть только RTL-дизайн, мы можем выполнить предварительный синтез в открытой программе Yosys. RELIC можно рассматривать как отдельный этап в потоке проектирования или как дополнительный шаг в процессе многоэтапного логического синтеза.

RELIC может давать различную выгоду для разных схем. Это зависит от функции устройства, режимов начального синтеза, структуры схемы, настроек алгоритма и выбранных ограничений.