Академический Документы
Профессиональный Документы
Культура Документы
ru
DOI: 10.22184/1992-4178.2019.185.4.82.87
П
ЛИС традиционно используются для построе- целых функциональных блоков в бортовой электронной
ния критически важных функциональных уз- системе. В первом случае разработчики модифицируют
лов, таких как средства контроля и управления исходный RTL-код вручную, увеличивая количество бло-
бортовыми системами сбора и обработки информации. ков с одинаковой функцией и добавляя схемы контроля,
Это означает, что к устройствам на основе ПЛИС предъ- позволяющие отследить корректность выполнения ими
являются повышенные требования в отношении устой- соответствующих операций. Во втором случае резерви-
чивости к отказам, вызываемым внешними воздействия- рование происходит на уровне аппаратуры, с физическим
ми. Одним из основных таких воздействий в приложении разделением однотипных блоков. Оба подхода имеют су-
к аппаратуре космического применения является влия- щественные недостатки: дополнительные временные за-
ние на электронную аппаратуру тяжелых заряженных ча- траты на разработку схемы резервирования и увеличе-
стиц (ТЗЧ), приводящих к случайному возникновению ин- ние используемой площади ПЛИС в первом случае и су-
дуцированного заряда в проводниках микросхемы и, как щественное удорожание и увеличение массогабаритных
следствие, к образованию нежелательных коротких па- параметров разрабатываемой аппаратуры – в о втором.
разитных импульсов (glitch), которые могут быть в даль- Для улучшения характеристик создаваемых изделий и со-
нейшем интерпретированы системой как полезные сиг- кращения времени их разработки целесообразно при-
налы, что, в свою очередь, может вызывать сбои и даже менение специализированных инструментов автомати-
выход системы из строя (рис. 1), зации проектирования, учитывающих соответствующие
Непрекращающееся уменьшение геометрических раз- требования к проектам.
меров транзисторов на современных
кристаллах, а также снижение напря-
жения питания ПЛИС приводят к то-
му, что влияние ТЗЧ на работоспо-
α
Синхросигнал
1
Компания Synopsys, старший инженер
по применению. Рис. 1. Влияние ТЗЧ на электронное оборудование
Фокус номера
Синтез и отладка RTL Статическая SpyGlass FPGA
VCS Simulator
Симуляция Другие инструменты
от третьих лиц
Инструменты размещения
и трассировки ПЛИС Рис. 2.
Identify RTL Debugger Автоматизированная Платформа
Отладка отладка в Verdi Synplify Premier
Плата на основе ПЛИС в реальном
времени и ее интеграция
с другими
инструментами
для разработки
проектов ПЛИС
Инструмент Synplify Premier от компании Synopsys в условиях воздействия ТЗЧ, инструмент Synplify Premier
широко известен среди инженеров, разрабатывающих позволяет автоматически внедрять специальные меха-
проекты под ПЛИС различной архитектуры. Он обладает низмы, повышающие их устойчивость к данному воздей-
рядом преимуществ перед стандартными средствами ав- ствию. Речь идет об алгоритмах троирования, схемах де-
томатизированного проектирования, предоставляемы- тектирования и исправления единичных сбоев в работе
ми компаниями – п роизводителями ПЛИС. В частности, аппаратуры, а также о механизмах защиты конечных ав-
за счет использования улучшенного алгоритма синте- томатов от случайных сбоев. Далее в статье будут рассмо-
за (Placement-Aware Logic Synthesis – л
огический синтез трены все указанные выше способы защиты, и для ПЛИС
с учетом размещения), доступного в Synplify Premier, мож- каждого типа будет выбран наиболее оптимальный ва-
но добиться лучших показателей по занимаемой площа- риант защиты проекта от воздействия ТЗЧ.
ди и быстродействию разрабатываемого устройства. Кро- На рынке представлено большое количество ПЛИС
ме того, данный инструмент имеет нативную интегра- различных типов: многократно программируемые ПЛИС
цию с платформой статической верификации SpyGlass, на основе SRAM, однократно программируемые ПЛИС
симулятором VCS и графической средой отладки Verdi (Antifuse), ПЛИС на основе флеш-памяти. Сравнение пе-
(рис. 2), что существенно ускоряет процесс разработки, речисленных типов ПЛИС представлено в табл. 1.
отладки и интеграции устройства, выполненного на базе Разработчики при построении аппаратуры выби-
ПЛИС. В системы, которые предполагается использовать рают тип ПЛИС на основе таких параметров как емкость,
скорость, стоимость и встроенные системы защиты от по- воздействиям за счет утроения количества функциональ-
мех. В дальнейшем для каждого типа ПЛИС применяют- ных блоков и добавления схемы оценки полученных ре-
ся различные алгоритмы повышения устойчивости к ТЗЧ, зультатов (рис. 3). Подобный подход позволяет детекти-
связанные с конкретной технологией их реализации. Эти ровать единичные сбои в работе устройства и исправлять
алгоритмы могут оказывать существенное влияние на их за счет сравнения ошибочных результатов, получен-
площадь и временные характеристики устройства. Таким ных от одного блока, с корректными результатами от
образом, перед разработчиком стоит задача определить, двух других блоков.
какой именно алгоритм защиты стоит применить к проек-
ту на ПЛИС определенного типа для достижения опти- Использование троирования в ПЛИС типа
мального быстродействия и устойчивости к помехам. SRAM
Существующие технологии повышения устойчивости ПЛИС на основе многократно программируемой памя-
схем к ТЗЧ можно разделить по видам функциональных ти SRAM подвержены влиянию ТЗЧ в первую очередь.
блоков, к которым они применимы: Самой их чувствительной частью является блок памяти,
1. комбинационные схемы и секвенциальная логика; хранящий файл конфигурации, который служит для фор-
2. конечные автоматы; мирования матрицы соединений и логических функций
3. память RAM. устройства. Ошибка в конфигурационной памяти при-
Ниже рассмотрены основные технологии, доступные водит к некорректной коммутации всей электрической
в инструменте Synplify Premier для каждого вида функ- схемы в ПЛИС, что фатально сказывается на функциони-
циональных блоков, реализованных в ПЛИС различных ровании электронной аппаратуры. Поэтому применение
типов. технологии троирования в проектах, реализованных на
ПЛИС типа SRAM, необходимо как на уровне логики, так
Технология на основе резервирования и на уровне регистров.
Как было сказано выше, технология резервирования Функциональные блоки в составе системы могут иметь
активно применяется в настоящее время для повыше- в своей структуре обратную связь.
ния устойчивости космической аппаратуры к воздей- В таких блоках возникновение ошибки, вызванной
ствию ТЗЧ. Троирование (Triple Modular Redundancy – ТЗЧ, приводит к ее «залипанию» на неопределенное число
TMR) обеспечивает устойчивость системы к внешним тактов. Для обеспечения устойчивости системы к сбоям
IN1
Логика OUT Логика OUT
IN2 IN
А
А0
0
IN1 IN Логика
Логика
➊
➋ А0
А1
➊
Логика
Логика OUT
0 OUT
➋ А1
А2
➋
Логика
Логика
IN2 0
➊ А2
Фокус номера
используются дополнительные блоки мажоритарного
принятия решения на выходе триггеров, входящих в цепь
обратной связи (рис. 4). Реализация технологии распре-
деленного троирования (Distributed TMR – DTMR) в ин-
IN A B C OUT
струменте Synplify Premier позволяет разработчикам
применять ее автоматически. Также инструмент дает
возможность при необходимости автоматически при-
менять троирование одновременно для нескольких бло-
ков (рис. 5).
Теоретически разработчик с помощью инструмента IN A0 B0
А А
IN1 IN1
Логика OUT Логика OUT
IN2 IN2
А
А0
IN1
Логика
OUT
А1
IN1
Логика Логика OUT
IN2
ERR
А2
Логика
IN2
имплементировать схему детектирования ошибок для специальные методы защиты конечных автоматов от не-
таких случаев, что будет рассмотрено ниже в соответ- желательных состояний.
ствующем разделе. Рассмотренная выше технология троирования мо-
жет обеспечить такую защиту, однако это произойдет
Использование троирования в ПЛИС типа ценой троекратного увеличения используемых ресур-
Antifuse и на основе флеш-памяти сов ПЛИС и ограничения по быстродействию. Именно
ПЛИС на основе технологии Antifuse или флеш-памяти поэтому в инструменте Synplify Premier реализован спе-
подвержены влиянию ТЗЧ на блоки конфигурационной циализированный механизм защиты конечных автома-
памяти в меньшей степени, чем ПЛИС типа SRAM, или тов от возникновения нежелательных состояний, кото-
не подвержены ему вовсе. Однако проблема, связанная рый требует существенно меньших затрат ресурсов и не
с влиянием индуцированной помехи на тракт тактовой накладывает ограничений на быстродействие защищен-
частоты, для них остается актуальной. Поэтому для улуч- ного конечного автомата. Рассмотрим пример, приве-
шения радиационной стойкости ПЛИС данных типов при- денный на рис. 8.
меняется локальное троирование синхронных элемен-
тов системы (рис. 7).
always @ (posedge clk)
if (rst)
Обеспечение устойчивости к ошибкам present_state <= s0;
else
в конечных автоматах present_state <= next_state;
Конечные автоматы являются критически важными ком- always @ (in1, present_state)
понентами систем, реализуемых на ПЛИС. Все состоя- case (present_state)
s0 : . . . . . ;
ния и переходы между ними должны определяться од- s1 : . . . . . ;
s2 : . . . . . ;
нозначно, и ни одно состояние не должно приводить s3 : . . . . . ;
default : next_state <= s3;
к «зависанию» автомата. Однако при возникновении слу- endcase
чайных эффектов, вызванных влиянием ТЗЧ, конечный
автомат может перейти в непредсказуемое состояние,
выход из которого не предусмотрен. Для того чтобы избе-
жать подобных эффектов, в проектах следует применять Рис. 8. Пример реализации конечного автомата
Фокус номера
Для обеспечения стабильных, независящих от помех
переходов в данном конечном автомате с использова-
А
нием инструмента Synplify Premier можно реализовать
следующие способы его защиты без непосредственной IN1
Логика OUT
модификации исходного RTL-кода: IN2
• механизм сброса системы в рабочее состояние в слу-
чае возникновения непредусмотренного состоя-
ния. Данный механизм применяется, если в Synplify
Premier установлен атрибут syn_encoding = safe. В та-
А0
ком случае система, оказавшись в непредусмотрен-
IN1
ном состоянии из-за влияния ТЗЧ, будет принуди- Логика OUT
тельно возвращена в состояние s0;
• сброс системы в состояние default в случае возник- =
ERROR_FLAG
новения непредусмотренного состояния. В данном А1 .
.
случае система перейдет в состояние s3. При этом Логика .
разработчик должен сам реализовать механизм об- IN2