Микросхемы должны быть устойчивы к сбоям от рождения
Содержимое ПЛИС (программируемой логической интегральной схемы) платы расширения
Структурная схема программно-аппаратного комплекса
Необходимы механизмы, обеспечивающие устойчивость микросхемы к сбоям и отказам. Ключевой задачей становится тестирование таких механизмов на ранних стадиях разработки
Идея метода -- в имитации возникновения радиационных сбоев и отказов и дальнейшей оценке их влияния

Внешний вид экспериментального образца программно-аппаратного комплекса
Александр Клименко
Основные пункты методики реализуются следующим образом:
1. Создание исходного проекта микросхемы. С использованием языков описания аппаратуры и САПР целевой микросхемы, на базе которой реализуется СнК, создается описание логической схемы СнК в формате Verilog netlist — первоначальный проект микросхемы.
2. Функциональное тестирование проекта микросхемы. С использованием программного комплекса ПАК, САПР ПЛИС Xilinx и первоначального проекта микросхемы реализуется описание логической схемы СнК в базисе ПЛИС — исходный проект микросхемы, реализуется в виде ПЛИС-прототипа в плате расширения N1. Функциональное тестирование осуществляется путем подачи воздействий на входы исходного проекта микросхемы и сравнения получаемых значений выходов с массивом эталонных значений (который должен быть сформирован на этапе разработки исходного проекта). Этот шаг методики позволяет удостовериться в функциональном соответствии исходного проекта СнК в базисе целевой микросхемы и его аналога в базисе ПЛИС.
3. Создание модифицированного проекта микросхемы и его функционального тестирования. Основная задача ПАК — оценка сбоеустойчивости проекта микросхемы — решается с использованием метода внедрения неисправностей. Реализация метода, представленная в экспериментальном образце ПАК, требует модификации первоначального проекта микросхемы (в базисе целевой микросхемы СнК) путем замены элементов логической схемы СнК на их функциональные аналоги в базисе ПЛИС, способные имитировать возникновение сбоя. Если рассматривать каждый функциональный аналог в виде черного ящика, то основным его отличием от оригинала будет наличие дополнительных входов — входов активации сбоев. Так, при модификации простейшего элемента — синхронного D-триггера, имеющего входы D, C и выход Q,— его функциональный аналог будет иметь три дополнительных входа (по количеству поддерживаемых в ПАК типов сбоев): вход i, вход s0 и вход s1. Вход i соответствует инверсии логического значения триггера, входы s0/s1 — соответственно, залипанию триггера в состоянии логических нуля и единицы. Если при тестировании на входы i, s0 и s1 подать сигналы логического нуля, то модифицированный триггер будет работать в режиме "без сбоев". В случае, если на каком-либо из этих входов будет логическая единица, то выход Q-триггера изменится для имитации соответствующего сбоя. Аппаратная поддержка трех типов сбоев достаточна для моделирования практически любых типов неисправностей, так как, независимо от природы возникновения, любой сбой или отказ обнаружится в появлении ошибочного значения в элементе памяти логической схемы устройства.
В экспериментальном образце ПАК управление сбоями осуществляется "микроядром обеспечения моделирования". В его состав входят аппаратные модули, которые должны быть синтезированы вместе с тестируемым проектом микросхемы в одной ПЛИС. В функции микроядра, помимо подачи сигналов активации неисправностей, входят подача значений на входы проекта микросхемы, фиксация значений его выходов, а также обмен данными с программным комплексом на рабочей станции.
Для проведения функционального тестирования модифицированного проекта микросхемы программный комплекс ПАК осуществляет: генерацию логической схемы микроядра обеспечения моделирования в базисе ПЛИС, создание модифицированного проекта микросхемы и его интеграцию с микроядром. Далее на базе полученного проекта в ПЛИС платы расширения N2 реализуется прототип модифицированного проекта и проводится его тестирование. Данный пункт методики предназначен для проверки корректности модификации исходного проекта, поэтому имитация неисправностей не производится, и сигналы активации сбоев не подаются.
4. Оценка сбоеустойчивости модифицированного проекта микросхемы. Для ПЛИС-прототипа, реализованного в плате расширения N2, проводится функциональное тестирование на основе концепции расширенного метода внедрения неисправностей (O. Brekhov and A. Klimenko, "Hardware-software simulation complex for FPGA-prototyping of fault-tolerant computing systems", Communications in Computer and Information Science, 678, 2016). Отличием данной концепции от стандартных подходов является учет условий эксплуатации конкретной микросхемы при организации тестирования. Суть концепции можно охарактеризовать как преобразование физических и химических воздействий на вещество целевой микросхемы, которые могут возникать в процессе ее эксплуатации, в последовательность сбоев, внедрение которых в ПЛИС прототип целевой микросхемы поддерживается аппаратно.
Для реализации описанного подхода создается программная модель возникновения неисправностей, включающая совокупность трех моделей: модели внешних воздействий (МВВ), модели возникновения угроз и модели локализации неисправностей (МЛН). Эти три модели позволяют сформировать список сбоев, использующийся при тестировании и характеризующий временя внесения неисправностей, их тип и множество элементов СнК, в которые они вносятся. Входными данными для МВВ являются: период активного существования космического аппарата (КА) базирования СнК, параметры его орбиты, модель радиационной защиты, учитывающая эффекты экранирования микросхемы окружающими конструкциями, а также характеристики корпуса микросхемы. Выходными данными МВВ являются параметры окружающей среды вблизи микросхемы (типы, интенсивность и направление движения заряженных частиц), определяющие воздействие на физическую среду чипа. Выходные данные МВВ являются входными данными МПУ, наряду с технологическими параметрами СнК и топологией микросхемы. Далее, выходными данными МПУ являются параметры изменений физической среды чипа, возникающих в результате воздействий, определенных МВВ. Выходные данные МПУ являются входными данными МЛН, наряду с топологией микросхемы. На основе входных данных модель МЛН формирует конечный список сбоев, использующийся при тестировании. В экспериментальном образце ПАК реализован интерфейс, позволяющий использовать при оценке сбоеустойчивости модифицированного проекта микросхемы различные реализации модели возникновения неисправностей, подключаемой в виде динамической библиотеки.
5. Разработка альтернативных сбоеустойчивых архитектур СнК и их тестирование. В процессе тестирования исходного и модифицированного проектов микросхемы (обозначим их как ИПМ0 и МПМ0, соответственно) в платах расширения N1 и N2 может выявиться недостаточная эффективность механизмов обеспечения сбоеустойчивости. В этом случае осуществляется перепроектирование первоначального проекта микросхемы — создается новый исходный проект (ИПМ1) с альтернативной реализацией средств обеспечения сбоеустойчивости. Данный проект реализуется в качестве ПЛИС прототипа в плате расширения N3, и проводится проверка его функционального соответствия проектам ИПМ0 и МПМ0. В случае успешного проведения тестирования ИПМ1 модифицируется аналогично ИПМ0 — создается модифицированный проект МПМ1 с интегрированным микроядром, который реализуется в ПЛИС платы расширения N4. Далее проводится параллельное тестирование проектов ИПМ0, ИПМ1 без внедрения неисправностей, а также МПМ0 и МПМ1 с их внедрением. В результате удается определить архитектуру СнК, имеющую достаточный уровень сбоеустойчивости при заданных условиях внешних воздействий.
Журнал "Коммерсантъ Наука" №2
от 05.04.2017, стр. 34![[ "\u0421\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435 \u041F\u041B\u0418\u0421 (\u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0438\u0440\u0443\u0435\u043C\u043E\u0439 \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u043B\u044C\u043D\u043E\u0439 \u0441\u0445\u0435\u043C\u044B) \u043F\u043B\u0430\u0442\u044B \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F " ]](https://im2.kommersant.ru/ISSUES.PHOTO/NAUKA/2017/002/graph_p35-1.png)
![[ "\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u043D\u0430\u044F \u0441\u0445\u0435\u043C\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u043D\u043E-\u0430\u043F\u043F\u0430\u0440\u0430\u0442\u043D\u043E\u0433\u043E \u043A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u0430 " ]](https://im2.kommersant.ru/ISSUES.PHOTO/NAUKA/2017/002/graph_p35-2.png)