Исследование и разработка методов оценки сбоеустойчивости комбинационных схем, реализованных в базисе ПЛИС
Д. В. Тельпухов, В. С. Рухлов, И. С. Рухлов Институт проблем проектирования в микроэлектронике
Аннотация: В статье представлен метод создания модели комбинационной схемы, реализованной в базисе программируемых логических интегральных схем (далее ПЛИС) на основе её исходного описания. Данная модель представляет собой эквивалентную логическую схему в базисе внутренних логических элементов ПЛИС. Полученная схема может быть использована для расчета различных параметров, таких как быстродействие, площадь, потребляемая мощность и т. д. В статье предлагается использовать данную модель для оценки сбоеустойчивости по отношению к одиночным ошибкам, возникающим в комбинационных участках схемы или в регистрах конфигурации. Кроме того, полученная эквивалентная схема может быть модифицирована и повторно синтезирована в среде САПР для повышения логической устойчивости к одиночным сбоям. Непосредственная оценка маскирующих свойств логической схемы по исходному описанию невозможна из-за процесса синтеза и существенного изменения структуры схемы, а оценка характеристик сбоеустойчивости после размещения в кристалл недоступна из-за отсутствия в современных САПР (Altera Quartus II, Xilinx ISE, Synopsys Synplify) необходимых инструментов для получения эквивалента схемы на уровне логических вентилей. Единственной возможностью является создание собственных инструментов анализа нет-листа и построение модели комбинационной схемы для оценки её сбоеустойчивости.
Ключевые слова: оценка сбоеустойчивости, ресинтез, комбинационная схема, ПЛИС, инжектирование ошибок.
1. Введение
Важным этапом разработки микроэлектронных устройств, работающих под воздействием радиации и других дестабилизирующих факторов, является оценка сбое - и отказоустойчивости интегральных микросхем. В различных областях человеческой деятельности, где цена ошибки слишком высока, например, на атомных станциях и в авиации, применяются различные программные и аппаратные средства повышения надежности, чаще всего связанные с той или иной реализацией принципов кратного резервирования. Таким образом, уже на этапе разработки необходимо иметь возможность получать оценки различных параметров отказоустойчивости [1] (наработка на отказ и др.) для сравнения эффективности применяемых методов.
Важным этапом при создании надежных схем в базисе ПЛИС является оценка параметров сбоеустойчивости, включающих маскирующие свойства логической схемы. В настоящее время для оценки сбоеустойчивости схем, реализованных в этом базисе, разработан ряд методов и подходов. В таблице 1 представлены основные методы оценки сбоеустойчивости ПЛИС, с указанием их основных недостатков.
Таблицы
В таблицах должны использоваться краткие заголовки, а упоминаемые в них величины сопровождаться соответствующими единицами измерений. Таблицы являются частью текста и не должны создаваться как графические объекты (примером является таблица №1).
Таблица № 1
Существующие методы оценки сбоеустойчивости и их особенности
№ п/п Название метода Краткое описание Недостатки
1 SEU Mitigation in Cyclone IV Devices Встроенные аппаратные средства с использованием дополнительного программного обеспечения для инжектирования ошибок в конфигурационные блоки памяти инжектирование ошибок только в блоки памяти, игнорируя комбинационные схемы
2 A FPGA-based Fault Injection Technique for SEU Fault Программно-аппаратные реализации на основе двух одинаковых схем ПЛИС и дополнительной обвязки - в виде устройства инжектирования ошибок на внутренние входы ячеек инжектирование ошибок только на входы ячеек, игнорируя возможность
Model одной из этих ПЛИС, при этом происходит ввод одинаковых данных на входы обеих схем ПЛИС, а также считывание и анализ данных с выходов этих схем возникновения ошибки на каждом элементе внутри ячейки
3 Оценка радиационной стойкости Программно-аппаратные реализации на основе двух одинаковых схем ПЛИС и дополнительной обвязки в виде ускорителя частиц, для имитации воздействия внешней среды, при этом происходит ввод одинаковых данных на входы обеих схем ПЛИС, а также считывание и анализ данных с выходов этих ПЛИС сложно реализуемый и непредсказуемом в своем поведении метод
Общим недостатком приведенных методов является тот факт, что ни один из них не позволяет получить параметр сбоеустойчивости в контексте маскирующих свойств логики. Результатом всех представленных методов является параметр интенсивности отказов (Soft Error Rate (SER)), который является интегральным параметром, зависящим как от логической структуры схемы, так и от технологических характеристик элементной базы кристалла. Это не дает возможности применить подход ресинтеза комбинационных схем для повышения маскирующих свойств исходной схемы.
В настоящее время повышение сбоеустойчивости интегральных схем обеспечивается добавлением избыточности на уровне элементной базы, временной избыточностью, а также применением различных методик
самопроверок [2]. Несмотря на достигнутые успехи в разработке кодовых методов защиты, используемых при хранении, передаче, а также арифметической обработке данных [3,4], для обеспечения требуемого уровня сбоеустойчивости арифметических и логических схем до сих пор используют методы кратного резервирования [5,6].
В настоящее время одним из динамично развивающихся направлений цифровой схемотехники являются программируемые логические интегральные схемы - ПЛИС. Одним из широко используемых сегодня типов ПЛИС являются ПЛИС FPGA (англ. field-programmable gate array) -программируемые пользователем вентильные матрицы, которые имеют много логических элементов - конфигурируемых пользователем логических блоков - и гибкую архитектуру. В настоящее время ПЛИС активно применяются в аппаратуре специального назначения, такой как изделия, применяемые в области авионики, космонавтики, управления ответственными промышленными объектами, например, атомными электростанциями. В таких устройствах очень большое внимание уделяется надежности элементной базы. В том числе остро стоит проблема повышения сбоеустойчивости программируемых интегральных схем.
Существующие методы повышения сбоеустойчивости для комбинационных схем чаще связаны с методами кратного резервирования, однако, добавление избыточности повышающей сбоеустойчивость для таких схем требует учёта используемой архитектуры ПЛИС, т.к. иначе велика вероятность отсутствия повышения сбоеустойчивости или обратного эффекта от добавления подобной избыточности.
2. Разработка маршрута построения сбоеустойчивой комбинационной схемы в базисе ПЛИС.
Повышение сбоеустойчивости в данном случае обязано учитывать особенности архитектуры, используемой в проекте ПЛИС. Используемые
методы отличаются для разных схем, однако можно построить общий маршрут проектирования для всех схем ПЛИС, показанный на рис. 1.
Рис. 1. - Маршрут проектирования сбоеустойчивых схем ПЛИС на основе незащищенной элементной базы.
Описание этапов маршрута проектирования сбоеустойчивых схем в базисе ПЛИС.
•Исходное описание. Включает в себя исходные данные проекта, такие как используемая схема ПЛИС, режим работы схемы, исходные данные схемы проекта.
•Синтез в САПР. Происходит компиляция исходного проекта в среде проектирования для выбранного устройства ПЛИС. В результате синтеза получаем значения конфигурационных регистров и нет-лист проекта.
•Нет-лист является описанием исходной схемы в базисе ПЛИС. Создается для моделирования в сторонних САПР.
•Создание модели ПЛИС. На основе анализа нет-листа на языке высокого уровня строится модель используемых в проекте блоков структуры ПЛИС. В данной модели установлены значения регистров конфигурации.
•Оценка сбоеустойчивости. Для модели, описанной на языке высокого уровня, используется один из алгоритмов оценки сбоеустойчивости (Fault injection[7], Probabilistic gate models[8], Probabilistic Transfer Matrix[9]). На основе данной оценки получаем линейный коэффициент полинома ошибки. Данный коэффициент можно использовать для относительной оценки сбоеустойчивости всего проекта [10,11].
Оценив сбоеустойчивость схемы, записываем проект в конфигурационные регистры схемы ПЛИС, либо применяется один из методов повышения сбоеустойчивости, и повторяем маршрут.
3. Создание модели ПЛИС для оценки сбоеустойчивости
Для оценки сбоеустойчивости комбинационной схемы обычно требуется создать её модель, а затем произвести оценку сбоеустойчивости полученной модели. При проектировании схем в базисе ПЛИС компилятор средств САПР генерирует структуру конфигурационной памяти устройства на основе исходного кода, убирая избыточность и изменяя исходную схему. Таким образом применить метод оценки надежности для исходного описания схемы на языках высокого уровня в данном базисе невозможно. Для моделирования в сторонних САПР среда разработки предлагает нет-лист с указанием значений конфигурационных регистров, коммутируемых связей и используемых ячеек, в том числе используемых буферах ввода/вывода.
Для оценки сбоеустойчивости комбинационной схемы в базисе ПЛИС необходимо создать модель, включающую все используемые в проекте блоки ПЛИС на основе данных нет-листа. Для данной модели можно применить
метод инжектирования ошибок [12] с оценкой характеристик её сбоеустойчивости. Получаемый в результате линейный коэффициент полинома ошибки, позволяет оценить сбоеустойчивость и сравнить эквивалентные схемы, имеющие разную логическую структуру, или использующие разные механизмы логической защиты.
Данный метод можно использовать для одного проекта, с дополнительным введением различных методов повышения сбоеустойчивости в модель и за несколько итераций определить наиболее сбоеустойчивый вариант.
Совокупность методов оценки и повышения сбоеустойчивости позволяют создавать защищенные от сбоев проекты на основе ПЛИС, не имеющих встроенных аппаратных средств защиты.
Создание комбинационной части модели проекта происходит на основе языка Verilog. Все участки схемы реализуются на основе мультиплексоров. Каждый из мультиплексоров представлен набором элементов, состоящим из логических «И», «ИЛИ», «ИНВЕРСИЯ».
В дальнейшем, описание предлагаемого подхода базируется на ПЛИС Altera Max II. Данный чип не имеет каких-либо встроенных средств по оценке или повышению сбоеустойчивости комбинационной логики, и имеет стандартную структуру, таким образом, при незначительной доработке метод можно использовать для других чипов ПЛИС.
По результатам моделирования была реализована модель комбинационной части схемы ПЛИС, представленная на рис. 2.
:
Рис. 2. - Модель схемы Altera Max ii.
В модели ПЛИС присутствуют все блоки, кроме регистров и пользовательской флешь памяти. Для этих блоков существуют свои методы по защите от сбоев и оценке их сбоеустойчивости.
Одним из наиболее значимых элементов являются ячейки логических блоков (ЛБ). Каждая ячейка представлена набором мультиплексоров [13], управление которыми происходит через входы A,B,C,D. На входы мультиплексоров подаются значения с конфигурационных регистров. Таким
образом, реализуется произвольная логическая функция. Модель ячейки ЛБ представлена на рис. 3.
Рис. 3. - Модель ячейки ЛБ.
Аналогичным образом создаются модели блоков ввода/вывода и системные шины.
Модель ПЛИС включает в себя конфигурационные регистры. Состояние регистров реализует логические функции проекта. Данные о значении состояния конфигурационных регистров проекта генерируются в нет-лист средствами САПР.
При построении модели проекта, кроме данных нет-листа, в модель включены строковые и столбцовые шины, а также локальные связи.
4. Оценка сбоеустойчивости комбинационной схемы в базисе ПЛИС Max II.
Для иллюстрации разработанного метода оценки сбоеустойчивости комбинационной схемы в базисе ПЛИС была использована типовая комбинационная схема «С17» из набора бенчмарк схем ISCAS85 (Рис. 4).
Рис. 4. - Схема C17 из набора ISCAS85
Для создания проекта использовался САПР Quartus II 10.0 Web Edition. На основе анализа нет-листа сгенерирована модель комбинационной схемы проекта в базисе ПЛИС. Результат построения модели представлен на рис. 5.
На данном рисунке значения регистров с логической "1" изображены голубым цветом в прямоугольнике, с логическим "0" - белым. При подаче логической "1" на управляющий сигнал мультиплексора, на выходе мультиплексора выводится текущее значение ближайшего входа к линии управления на выход мультиплексора.
5. Заключение
Существующие методы моделирования одиночных сбоев для оценки сбоеустойчивости комбинационных схем могут быть применены и для схем, реализованных в базисе ПЛИС, однако, для этого требуется воссоздать эквивалентную модель схемы, реализованную в базисе логических вентилей.
В данной работе был представлен метод генерации такого описания по нет-листу синтезированного проекта. Этот подход закладывает основу для методов повышения сбоеустойчивости путем оптимизации и ресинтеза комбинационных схем в базисе ПЛИС.
При создании защищенного от сбоев устройства на ПЛИС, требуется оценить: действительно ли добавление избыточности в исходном коде проекта повышает сбоеустойчивость всей схемы, и насколько один метод повышения сбоеустойчивости работает лучше другого для данной задачи.
:
Рис. 5. - Модель схемы C17 из набора ISCAS85 в базисе ПЛИС Altera
Max ii
Исследование выполнено за счет гранта Российского научного фонда (проект №14-19-01036).
Литература
1. Строцев А.А., Андреев А.А. Оценка нахождения реконфигурируемой вычислительной системы в состояниях эффективного функционирования // «Инженерный вестник Дона», 2012, №4 (часть 1). - URL: ivdon.ru/magazine/archive/n4p1y2012/1212.
2. Гаврилов С.В., Иванова Г.А., Рыжова Д.И., Соловьев А.Н., Стемпковский А.Л. Методы синтеза помехозащищенных комбинационных блоков. Информационные технологии. 2015. Т. 21. № 11. С. 821-826.
3. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М.: Техносфера, 2006, 320 с.
4. Амербаев В. М., Корнилов А. И., Стемпковский А. Л., Модулярная логарифметика - новые возможности для проектирования модулярных вычислителей и преобразователей // IV Всероссийская научно-техническая конференция «Проблемы разработки перспективных микро - и наноэлектронных систем - 2010»: сб. научн. тр. - М.: ИППМ РАН, 2010.
5. El-Maleha A. H., Oughalia F. C., A generalized modular redundancy scheme for enhancing fault tolerance of combinational circuits / Microelectronics Reliability, vol. 54, №1, 2014, 316-326 pp.
6. Стемпковский А.Л., Тельпухов Д.В., Соловьев Р.А., Мячиков М.В. Повышение отказоустойчивости логических схем с использованием нестандартных мажоритарных элементов // Журнал "Информационные технологии", №10, том 21, С. 749—756, 2015 г.
7. Han J., Chen H., Liang J., Zhu P., Yang Z., and Lombardi F., "A stochastic computational approach for accurate and efficient reliability evaluation," IEEE Transactions on Computers, vol. 63, no. 6, pp. 1336-1350, 2014.
8. Han J., Chen H., Boykin E., and Fortes J., "Reliability evaluation of logic circuits using probabilistic gate models," Microelectronics Reliability, vol. 51, no. 2, pp. 468-476, 2011.
9. Krishnaswamy S., Viamontes G. F., Markov I. L., and Hayes J. P., "Accurate reliability evaluation and enhancement via probabilistic transfer matrices," in Proceedings of the Design, Automation and Test in Europe, vol. 1, pp. 282-287,March 2005.
10. Стемпковский А.Л., Тельпухов Д.В., Соловьев Р.А., Рухлов В.С. Тестовая система для сравнения алгоритмов, увеличивающих надежность комбинационных схем // Журнал "Информационные технологии", №12, том 21, С. 910—915, 2015 г.
11. Стемпковский А.Л., Тельпухов Д. В., Соловьев Р.А., Мячиков М.В. Разработка технологически-независимых метрик для оценки маскирующих свойств логических схем Журнал "Вычислительные технологии" №2, том 21, 2016 г.
12. Стемпковский А.Л., Тельпухов Д.В., Соловьев Р.А., Соловьев А.Н., Мячиков М.В. «Моделирование возникновения неисправностей для оценки надежностных характеристик логических схем» // Информационные технологии. 2014. № 11. С. 30-36.
13. С.Ф. Тюрин, Городилов А.Ю., Данилова Е.Ю. Диагностирование логического элемента DC LUT FPGA // «Инженерный вестник Дона», 2014, №2. - URL: www.ivdon.ru/ru/magazine/archive/n2y2014/2313.
References
1. Strocev A.A., Andreev A.A. Inzenernyj vestnik Dona (Rus), 2012, №4 (chast' 1). URL: ivdon.ru/magazine/archive/n4p1y2012/1212.
2. Gavrilov S.V., Ivanova G.A., Ryzhova D.I., Solov'ev A.N., Stempkovskij A.L. Informacionnye tehnologii. 2015. T. 21. № 11. pp. 821-826.
3. Morelos-Saragosa R. Iskusstvo pomehoustojchivogo kodirovanija. Metody, algoritmy, primenenie. [Art error-correcting coding. The methods, algorithms, applications]. M.: Tehnosfera, 2006, 320 p.
4. Amerbaev V. M., Kornilov A. I., Stempkovskij A. L., IV Vserossijskaja nauchno-tehnicheskaja konferencija «Problemy razrabotki perspektivnyh mikro - i nanojelektronnyh sistem - 2010»: sb. nauchn. tr. M.: IPPM RAN, 2010.
5. El-Maleha A. H., Oughalia F. C. Microelectronics Reliability, vol. 54, №1, 2014, 316-326 pp.
6. Stempkovskij A.L., Tel'puhov D.V., Solov'ev R.A., Mjachikov M.V. Zhurnal "Informacionnye tehnologii", №10, tom 21, pp. 749—756, 2015 g.
7. Han J., Chen H., Liang J., Zhu P., Yang Z., and Lombardi F., "A stochastic computational approach for accurate and efficient reliability evaluation," IEEE Transactions on Computers, vol. 63, no. 6, pp. 1336-1350, 2014.
8. Han J., Chen H., Boykin E., and Fortes J., "Reliability evaluation of logic circuits using probabilistic gate models," Microelectronics Reliability, vol. 51, no. 2, pp. 468-476, 2011.
9. Krishnaswamy S., Viamontes G. F., Markov I. L., and Hayes J. P., "Accurate reliability evaluation and enhancement viaprobabilistic transfer matrices," in Proceedings of the Design, Automation and Test in Europe, vol. 1, pp. 282-287, March 2005.
10.Stempkovskij A.L., Tel'puhov D.V., Solov'ev R.A., Ruhlov V.S. Zhurnal "Informacionnye tehnologii", №12, tom 21, pp. 910—915, 2015 g.
11.Stempkovskij A.L., Tel'puhov D. V., Solov'ev R.A., Mjachikov M.V. Zhurnal "Vychislitel'nye tehnologii" №2, tom 21, 2016 g.
12.Stempkovskij A.L., Tel'puhov D.V., Solov'ev R.A., Solov'ev A.N., Mjachikov M.V. Informacionnye tehnologii. 2014. № 11. pp. 30-36.
13.S.F. Tjurin, Gorodilov A.Ju., Danilova E.Ju. Inzenernyj vestnik Dona (Rus), 2014, №2. URL: http://www.ivdon.ru/ru/magazine/archive/n2y2014/2313.