Исследование вариантов частичного резервирования при проектировании сбоеустойчивых логических блоков ПЛИС
Д. В. Тельпухов, В. С. Рухлов, Г.А. Иванова, Д.И. Рыжова, В.В. Надоленко, А.И. Деменева Институт проблем проектирования в микроэлектронике, г. Зеленоград
Аннотация: В данной статье предложены варианты частичного резервирования сбоеустойчивых структур программируемых логических интегральных схем (ПЛИС) посредством формирования внутренней структуры из макроячеек, с возможностью исправления одиночных обратимых сбоев в вентилях схемы. Предложены варианты минимизации встроенной избыточности.
Проведена экспериментальная работа, по формированию сбоеустойчивых проектов комбинационных схем в базисе сбоеустойчивых ПЛИС.
Ключевые слова: комбинационная схема, ПЛИС, программируемые логические интегральные схемы, LUT, логический синтез, повышение сбое устойчивости, система автоматизации проектирования (САПР), инжектирование ошибок, кратковременные единичные сбои
1. Введение
Для всех ПЛИС [1, 2] ключевой особенностью являются группы регулярных структур - макроячеек - ЛБ (Логический блок, LUT - Look up table [3]). Структура типовой ячейки ЛБ представлена на Рис. 1.
Рис. 1. - Модель ячейки ЛБ. Проект в базисе ПЛИС формируется за счет изменения межсоединений ячеек ЛБ и конфигурационных данных этих ячеек [1, 2]. Таким образом, общая структура комбинационной части проекта в базисе ПЛИС равнозначно
представлена не только описанием на уровне мультиплексоров, но и на уровне ячеек ЛБ, а также и конфигурационных бит [1, 2].
Для создания сбоеустойчивой структуры ПЛИС необходимо спроектировать ПЛИС с защищенными от сбоев ячейками ЛБ.
2. Проектирование сбоеустойчивых ЛБ
Комбинационной частью ЛБ являются мультиплексоры [1, 2]. Для упрощения восприятия, на Рис. 2, мультиплексоры представлены в виде схематичного изображения из четырех уровней мультиплексоров, соответствующих входам в ЛБ.
Рис. 2. Упрощенная структура ЛБ, «дерево» из мультиплексоров Для защиты комбинационных схем от сбоев существует традиционный метод тройного модульного резервирования [4]. Такой подход может быть использован и в сбоеустойчивых ПЛИС [5].
На Рис. 3 представлена упрощенная структура ЛБ с применением тройного модульного резервирования и добавлением голосующего элемента. При возникновении одиночной ошибки в любом из трех одинаковых модулей голосующий элемент позволит получить корректный результат.
Рис. 3. Упрощенная структура ЛБ с применением тройного модульного резервирования Данный подход позволяет уменьшить вероятность возникновения ошибки, но также вносит значительную избыточность. Для минимизации
1
избыточности необходимо определить наиболее уязвимые узлы ЛБ и защитить их.
При условном разделении «дерева» мультиплексоров на четыре уровня - «А», «В», «С», «Б», соответствующих входам можно оценить влияния возникновения ошибки на выходе в зависимости от того, на каком именно уровне ошибка возникла, Рис. 4.
Рис. 4. Математическое ожидание ошибки на выходе Наиболее важным является уровень Б. Сбой, возникающий в единственном мультиплексоре этого уровня, всегда приводит к ошибке на выходе.
Для защиты уровня «Б» можно применить тройное резервирование с добавлением голосующего элемента, Рис. 5.
Рис. 5. Упрощенная структура ЛБ с применением тройного модульного резервирования уровня «В» Аналогичным образом можно выполнить резервирование уровней «С» (Рис. 6) и «В» (Рис. 7).
Рис. 6. Упрощенная структура ЛБ с применением тройного модульного резервирования уровня «С»
Рис. 7. Упрощенная структура ЛБ с применением тройного модульного резервирования уровня «B» Для сравнения надежности ЛБ и защищенных от сбоев ЛБ, можно оценить подверженность к возникновению ошибок каждую из моделей ЛБ, а также сравнить количество элементов в каждой ячеек (мультиплексоры представлены из набора двухвходовых элементов INV, AND, OR, AND, а в конфигурационных данных таблицы истинности содержится код h'A0A0).
Оценка сбоеустойчивости комбинационной схемы в базисе ПЛИС демонстрирует возможности проекта маскировать возможные сбои. Для оценки сбоеустойчивости, достаточно, поочередно вносить неисправности (одиночная обратимая инверсия текущего значения) в каждый вентиль проекта, моделируя при этом входные данные. Коэффициент чувствительностиатт;(1) - это метрика сбоеустойчивости, она определяет вероятность возникновения комбинации входных данных и единичной ошибки на мультиплексоре, приводящая к возникновению ошибки на выходе схемы в базисе ПЛИС [6- 8].
, гдеЕишясО?, еткх) обозначает характеристическую функцию набора
пар векторов (входных сигналов X и векторов ошибок e mux):
— _ 11, если набор (X, emux) приводит к ошибке
Emux ( X, emux ) = <
[0, иначе
Результат оценки представлен на Рис. 8.
Для упрощения введем названия ячеек ЛБ (LUT) соответственно по линии их резервирования: LUT-A - полное тройное резервирование, LUT-D -тройное резервирование последнего мультиплексора и так далее, по аналогии (LUT-B и LUT-C).
Рис. 8. Сводная диаграмма оценки подверженности к сбоям и количеству используемых вентилей Согласно полученным результатам, очевидно, что тройное модульное резервирование обеспечивает наименьшую вероятность возникновения ошибки, при более чем трехкратном увеличении количества вентилей. Резервирование наиболее критичной, с точки зрения оценки влияния на выход ЛБ, при данной последовательности конфигурационных бит, не улучшает маскирующие свойства ЛБ, ввиду сравнимой с мультиплексором
вероятности ошибки не только в ЛБ, но и в голосующем элементе. Наиболее сбалансированными являются промежуточные варианты, сочетающие низкую вероятность ошибки с незначительным увеличением встроенной избыточности.
3. Оценка устойчивости к сбоям комбинационных схем в базисе сбоеустойчивых ПЛИС
Результат оценки сбоеустойчивости схемы в базисе ПЛИС зависит не только от внутренних структур «дерева» мультиплексоров, но и от конфигурационных данных макроячеек, а также межсоединений ЛБ схемы проекта.
Для сравнения эффективности использования макроячеек с различными вариантами частичного резервирования необходимо провести логический синтез комбинационной схемы в базисе каждой из них.
При разработке проекта комбинационной схемы 18СА8'85 с17 (Рис. 9) в базис ПЛИС, получившаяся схема занимает два ЛБ, имеет пять входов и два выхода, при использовании каждого из вариантов исследуемых сбоеустойчивых или типовых ячеек.
Для повышения сбоеустойчивости разработчики прибегают к методам программного тройного модульного резервирования, используя для этого «свободные» ячейки ПЛИС.
Применим для проекта с17 программное тройное модульное резервирование (с17ТМЯ), где голосующий элемент является отдельной макроячейкой ЛБ (Рис. 10).
N3
N6
N7
N1
N2
1
Рис. 9. Комбинационная схема 1БСЛ8'85 с17
Рис. 10. Комбинационная схема 1БСЛ8'85 с17_ТМЯ Оценка сбоеустойчивости применена для проектов с17 и с17ТМЯ с различными вариантами защищенных ЛБ [9-11]. Коэффициент чувствительности (Рис. 11) и количество используемых вентилей (Рис. 12) для формирования ЛБ показаны ниже.
Рис. 11. Оценка вероятности возникновения сбоя в схемах с17 и с17ТМЯ в базисе ПЛИС
Количество вентилей
1600 т-
С17
■ C17TMR
LUT-A LUT-В LUT-С LUT-D LUT
Рис. 12. Количество используемых вентилей в схемах c17 и c17TMR в
базисе ПЛИС
4. Заключение
Согласно полученным результатам можно сделать вывод о неэффективности использования тройного модульного резервирования для схем, в которых количество вентилей, сопоставимо с количеством вентилей голосующего элемента. Также можно предложить различные варианты частичного резервирования ЛБ для поиска оптимального варианта по надежности и занимаемой площади, в зависимости от приоритетов финального проекта.
Работа выполнена при поддержке гранта РФФИ 16-37-00216 мол_а
Литература
1. Угрюмов Е.П. Цифровая схемотехника: учеб. пособие. СПб.: БХВ-Петербург, 2004. 528 с.
2. Тюрин С.Ф., Вихорев Р.В. Усовершенствованный метод реализации в FPGA систем логических функций, заданных в СДНФ // Инженерный вестник Дона, 2017, №1 URL: ivdon.ru/ru/magazine/archive/n1y2017/4044 .
3. Тюрин С.Ф., Городилов А.Ю., Данилова Е.Ю. Диагностирование логического элемента DC LUT FPGA // Инженерный вестник Дона, 2014, №2 URL: ivdon.ru/ru/magazine/archive/n2y2014/2313.
4. J. von Neumann Probabilistic logics and the synthesis of reliable organisms from unreliable components in Automata Studies, C. E. Shannon and J. McCarthy, Eds. Princeton, NJ: Princeton Univ. Press. 1956. pp. 43-98.
5. Carl Carmichael Triple Module Redundancy Design Techniques for Virtex
xilinx.com/support/documentation/application_notes/xapp197.pdf .
6. Стемпковский А.Л., Тельпухов Д.В., Соловьев Р.А., Мячиков М.В. Повышение отказоустойчивости логических схем с использованием нестандартных мажоритарных элементов // Информационные технологии,
2015, №10, том 21, С. 749—756.
7. Стемпковский А.Л., Тельпухов Д.В., Соловьев Р.А., Мячиков М.В., Тельпухова Н.В. Разработка технологически-независимых метрик для оценки маскирующих свойств логических схем // Вычислительные технологии.
2016.Т. 21. № 2.С. 53-62.
8. Гаврилов С.В., Гуров С.И., Жукова Т.Д., Рухлов В.С., Рыжова Д.И., Тельпухов Д.В.Методы повышения сбоеустойчивости комбинационных ИМС на основе избыточного кодирования // Прикладная математика и информатика. - М.: Изд-во факультета ВМК МГУ, 2016.№ 53. С. 96-105.
9. Гаврилов С.В., Иванова Г.А., Рыжова Д.И., Соловьев А.Н., Стемпковский А.Л. Методы синтеза помехозащищенных комбинационных блоков // Информационные технологии. 2015. Т. 21. № 11. С. 821-826.
10. Тельпухов Д.В., Рухлов В.С., Рухлов И.С. Исследование и разработка методов оценки сбоеустойчивости комбинационных схем, реализованных в базисе ПЛИС // Инженерный вестник Дона, 2016, №1 URL: ivdon.ru/ru/magazine/archive/n1y2016/3504.
11. Тельпухов Д. В., Рухлов В. С., Сташевский А. Н., Адамов Ю.Ф. Исследование метода инжектирования ошибок в задаче оценки
FPGAs
//
Xilinx
URL:
сбоеустойчивости логических схем в базисе ПЛИС // ЭЛЕКТРОННАЯ ТЕХНИКА. Серия 3: МИКРОЭЛЕКТРОНИКА. 2017. №4(168).С. 62-67.
References
1. UgryumovE.P. Tsifrovaya skhemotekhnika: ucheb.posobie. [Digitalcircuitry: atutorial]. SPb: BKhV-Peterburg, 2004. 528p.
2. TyurinS.F., VikhorevR.V. Inzenernyj vestnik Dona (Rus), 2017, №1. URL: ivdon.ru/ru/magazine/archive/n1y2017/4044.
3. TyurinS.F., GorodilovA.Yu., DanilovaE.Yu. Inzenernyj vestnik Dona (Rus), 2014, №2. URL: ivdon.ru/ru/magazine/archive/n2y2014/2313 .
4. J. von Neumann Probabilistic logics and the synthesis of reliable organisms from unreliable components in Automata Studies, C. E. Shannon and J. McCarthy, Eds. Princeton, NJ: Princeton Univ. Press, 1956, pp. 43-98.
5. Carl Carmichael Xilinx URL: xilinx.com/support/documentation/application_notes/xapp197.pdf.
6. Stempkovskiy A.L., Tel'pukhov D.V., Solov'ev R.A., Myachikov M.V. Informatsionnye tekhnologii.2015.№10.tom 21.pp. 749—756.
7. Stempkovskiy A.L., Tel'pukhov D.V., Solov'ev R.A., Myachikov M.V., Tel'pukhova N.V. Vychislitel'nye tekhnologii.2016. T. 21, № 2, pp. 53—62.
8. GavrilovS.V., GurovS.I, ZhukovaT.D, RukhlovV.S, RyzhovaD.I, Tel'pukhov D.V. Prikladnaya matematika i informatika. M: Izd-vo fakul'teta VMK MGU, 2016. № 53. pp. 96-105.
9. Gavrilov S.V., Ivanova G.A., Ryzhova D.I., Solov'ev A.N., Stempkovskiy A.L. Informatsionnye tekhnologii. 2015. T. 21. № 11. pp. 821-826.
10. Tel'pukhov D.V., Rukhlov V.S., Rukhlov I.S.Inzenernyj vestnik Dona (Rus), 2016, №1. URL: ivdon.ru/ru/magazine/archive/n1y2016/3504.
11. Tel'pukhov D. V., Rukhlov V. S., Stashevskiy A. N., Adamov Yu.F. ELEKTRONNAYa TEKhNIKA. Seriya 3: MIKROELEKTRONIKA (Rus), 2017, №4 (168), pp. 62-67.