УДК 681.3.06
ТЕХНОЛОГИЯ РАЗРАБОТКИ ОТКАЗОУСТОЙЧИВЫХ ЦИФРОВЫХ УСТРОЙСТВ НА ПЛИС С ИСПОЛЬЗОВАНИЕМ ДИВЕРСНЫХ МОДЕЛЕЙ ВВОДА И ТЕСТИРОВАНИЯ ПРОЕКТОВ
ХАРЧЕНКОВ.С., ТАРАСЕНКОВ.В.____________
Рассматриваются этапы разработки цифровых устройств на ПЛИС (ЦУПС). Проводится анализ дефектов проектирования. Приводится пример создания отказоустойчивых ЦУПС с использованием диверсно-сти моделей ввода проекта и тестирования.
1. Введение. Постановка общей задачи
Использование современной элементной базы — микроконтроллеров и программируемых логических интегральных схем (ПЛИС) для создания цифровых систем управления комплексов критического применения, работающих в реальном масштабе времени, требует учета их особенностей и специфики проектирования. Так, при проектировании ЦУПС используют пакеты САПР, позволяющие на ПЭВМ провести синтез проекта, выполнить его верификацию и получить конфигурационный файл. Большая логическая ёмкость ПЛИС и сложность архитектуры затрудняют определение на этапе производства её полной исправности с требуемой достоверностью. Всё это и учёт ограниченности времени, отводимого на проверку ЦУПС перед этапом эксплуатации, позволяет предположить наличие дефектов проектирования. Следовательно, при оценке надежности ЦУПС, кроме дефектов аппаратных средств, возникающих при функционировании, необходимо учитывать дефекты проектирования, которые не были выявлены в процессе отладки, приемо-сдаточных испытаний и могут проявиться при эксплуатации.
Для систем управления реального времени очень важно при функционировании парировать ошибки, вызванные такими дефектами. Данная задача может быть решена при использовании версионной избыточности, предполагающей введение в архитектуру системы различных вариантов программно-аппаратной реализации резервных каналов [1]. Для ЦУПС такое решение имеет специфику, обусловленную особенностями проектирования и реализации отказоустойчивых структур на ПЛИС [2]. Цель статьи—разработка элементов многоверсион-ной технологии для создания ЦУПС, устойчивых к отказам, вызванным как физическими дефектами, так и дефектами проектирования.
Предлагается технология, предусматривающая применение двух видов диверсности (версионной избыточности) — разнообразия процессов создания ЦУПС: первый из них связан с диверсностью
моделей ввода проекта ПЛИС (например, с использованием графической и текстовых моделей), второй — с диверсностью их тестирования, основанной на использовании различных тестов и субъектов, выполняющих тестирование. При разработке такой многоверсионной технологии (МВТ) решаются задачи:
— анализ этапов и классификация причин и типов дефектов проектирования;
— определение последовательности выполнения и содержания операций при использовании диверсности моделей ввода проектов и процессов тестирования;
— систематизация и разработка принципов построения отказоустойчивых структур ЦУПС с версионной избыточностью;
— разработка и исследование аналитических моделей надежности;
— выбор структур ЦУПС и инструментальных средств для моделирования;
— анализ экспериментальных данных, полученных в результате разработки и эксплуатации.
В данной работе решаются первые три задачи, имеющие место при создании ЦУПС с помощью МВТ.
2. Этапы разработки и анализ дефектов проектирования ЦУПС
Технология получения конфигурационного файла, определяющего функциональный состав цифрового устройства при использовании ПЛИС, существенно отличается от синтеза ЦУ, выполненных на микросхемах малой и средней степени интеграции. Для их разработки ручным способом строились временные диаграммы или граф-схемы алгоритма работы. Этот процесс носил неформализованный, эмпирический характер. Синтез ЦУ на ПЛИС выполняется с помощью пакетов САПР (MAX+Plus II, FPGA Express, Actel Desktop), в состав которых входят: графические и текстовые редакторы, служащие для ввода проекта, компиляторы, преобразующие введенный проект в код конфигурационного файла, и средства симуляции и верификации, которыми осуществляют отработку и проверку функционирования ЦУПС.
Ввод проекта с помощью графического редактора для синтеза ЦУ предполагает использование стандартных логических элементов из имеющейся в пакете САПР библиотеки стандартных логических модулей — аналогов интегральных схем малой и средней степени интеграции серии 1533. С помощью текстовых редакторов осуществляют ввод проектов, создаваемых на языках описания аппаратуры. В качестве таких языков используют языки AHDL, VHDL, Verilog. Они дают возможность описывать алгоритмы функционирования ЦУ и имеют широкий набор арифметических и логических команд, являются языками высокого уровня, что позволяет с их помощью создавать свои типы данных.
РИ, 2002, № 3
71
Наличие в языках описания аппаратуры логических уравнений, состоящих из множества языковых конструкций, включая операторы CASE, IF, Then, а также констант делает невозможным проверку при тестировании всех существующих условных переходов и различных ветвей выполнения алгоритма.
Дефекты проектирования могут проявляться, когда входные данные, находясь в области, определенной техническим заданием, имеют значения, лежащие вне области, проверенной при тестировании [1-4]. Кроме этого, реальные входные данные носят случайный характер и могут иметь значения, отличающиеся от заданных и от проверенных при тестировании [3,5].
Дефекты проектирования могут вноситься из-за несовершенства инструментальных средств, в час -тности, компиляторов, с помощью которых получают конфигурационные файлы из исходных моделей ЦУ. Например, при создании проекта контроллера CAN-шины графическим способом использовался аналог счетчика 1533ИЕ7, взятый из библиотеки стандартных элементов. Тестирование данного контроллера показало несоответствие функционирования данной микросхемы её таблице истинности при синтезе проекта на ПЛИС MAX9320. При синтезе того же контроллера на ПЛИС Flex 10k20 отклонений от таблицы истинности не было обнаружено. В синтезированном логическом автомате, работа которого была описана на языке AHDL, были обнаружены “иголки” - короткие ложные импульсы, природу которых можно объяснить “гонкой” фронтов сигналов. Другим примером невыявления компилятором и средствами верификации дефектов проектирования является созданный на языке AHDL неполный дешифратор “8” из “3”, в котором не были описаны все его возможные логические состояния, из-за чего при определенной комбинации входных двоичных кодов выходные сигналы были искажены.
Таким образом, дефекты проектирования можно разделить на две группы: абсолютные и относительные [1]. К абсолютным относятся дефекты, не зависящие или незначительно зависящие от разработчика; они связаны с некорректностью и неполнотой технического задания, а также с несовершенством инструментальных средств, используемых при разработке проекта. Абсолютные дефекты, в силу природы их возникновения, могут находиться в различных версиях, реализуемых по одному ТЗ и при использовании одних и тех же инструментальных средств. Такие дефекты проявляются во всех версиях (резервных кана-
лах) проекта при одинаковых входных данных и вызывают отказ (сбой) каждого из каналов и ЦУ в целом.
Относительные дефекты проектирования вносятся непосредственно разработчиком проекта. Поэтому при создании нескольких версий по одному техническому заданию в каждой из них будут свои относительные дефекты. Особенно явно это проявляется, когда версии создают разные разработчики. Следовательно, такие дефекты носят индивидуальный характер, проявляются в разные моменты времени и могут быть парированы при использовании нескольких версий [6].
В том случае, когда разрабатывается более двух версий (N > 3, выделяют еще и групповые дефекты, которые проявляются одновременно в k версиях (N-1 > k > 3 и занимают промежуточное положение между относительными и абсолютными дефектами [1]. В свою очередь, абсолютные и групповые дефекты делятся на подмножества различаемых и неразличаемых дефектов в зависимости от вида искажения выходного сигнала устройства [7].
3. Элементы многоверсионной технологии разработки ЦУПС
Из анализа природы дефектов проектирования следует, что их нейтрализация возможна путем введения избыточности на аппаратном и программном уровнях. Под избыточностью на аппаратном уровне понимается применение гибридного резер-
Этапы проектирования
Модели ввода проекта
Разработка
Компиляция
Тестирование
Получение загрузочноп ________модуля
Выбор вариантов версий
Рис.1. Технология многоверсионого проектирования ЦУПС
72
РИ, 2002, № 3
Метод резервирования Внешнее Дублир ование Мажорні тфование
Внутреннее Дублир ование к. Мажоритирование Дубли эование і
Версионная избыточность (число версий) На уровне типа ПЛИС і С ґс Тс J E С Tc Ж1 С зс Тс 5
2 С X \
3
На уровне языков создания проекта 1 d ) d ) d ь <8> d ) ©
2 Q b d Ь d ь І ь ©
3 d b ( Ь і $
4 d b d ь
Рис. 2. Дерево гибридных ЦУПС с версионной избыточностью
вирования и использование в резервных каналах ЦУПС ПЛИС разных фирм-изготовителей. Под программным уровнем понимается наличие вариантов ввода проекта и, следовательно, получение разных версий конфигурационных файлов ПЛИС.
Пример получения альтернативных версий с использованием двух разных моделей разрабатывае -мого ЦУПС и различных вариантов тестирования показан на рис. 1.
Из него следует, что существующие дефекты проектирования начинают выявляться уже на этапе компиляции. После их устранения процесс отладки продолжают с помощью тестов, подаваемых на вход ЦУПС, и анализа выходных сигналов. Тестирование осуществляется в два этапа. Сначала версии V1 и V2 проверяются тестами, разработанными различными проектировщиками. Затем осуществляется “перекрестное” тестирование версий, при котором версии из группы V1 проверяются тестами, разработанными для групп версий V2, и наоборот. Использование разных вариантов тестов позволяет максимально снизить количество оставшихся дефектов проектирования, а благодаря различным вариантам их устранения формируются альтернативные версии, получае-
4. Типовые структуры ЦУПС с версионной избыточностью
В [2] предложены принципы построения и типовые архитектурные решения отказоустойчивых ЦУПС с версионной избыточностью, основанной на использовании:
а) различных исходных моделей;
б) различных инструментальных средств разработки и тестирования;
в) различных комбинаций версий выполнения функций ЦУПС на внутри- и внекристалльном уровнях;
г) ПЛИС различных фирм-изготовителей для реализации разных резервных каналов ЦУПС.
Согласно принятой классификации ЦУПС с версионной избыточностью систематизированы и объединены в общее дерево, фрагмент которого показан на рис.2. Из него следует порядок выбора признаков и формирования структур ЦУПС с разными видами избыточности. Так, ЦУПС №2, 5, 10, 12, 15 получены путем реализации двух версий выполне-
мые из исходных моделей (у11...у1п) и
(у]. ..У“). На этом этапе проектирования
возможна коррекция или уточнение технического задания в части диапазона данных, поступающих на вход ЦУПС, и его реакции. Анализ полученных альтернативных версий дает возможность создать не только “наилучший” суммарный вариант заданной реализации, но и получить ряд работоспособных версий (Уі ...Ур ), которые могут быть отобраны для создания отказоустойчивого ЦУПС.
РИ, 2002, № 3
Рис.3. Структурная схема четырехверсионной ЦУПС с внешним и внутренним дублированием
73
ния функций, ЦУПС №8, 13, 16 — трёх, а ЦУПС №3, 6 — четырёх. Резервные каналы ЦУПС № 1, 2, 7, 8 ,11 ,12 выполнены на ПЛИС одной фирмы — изготовителя, а резервные каналы ЦУПС №4, 5, 6, 9, 10, 14, 15, 16 — различных, причем число вариантов может быть равно двум из трех. Представленное множество может расширяться, если для получения конфигурационных файлов ПЛИС использовать различные инструментальные средства разработки, а также проводить тестирование полученных ЦУПС различными тестами.
На рис.3 изображена структурная схема четырех-версионной ЦУПС с внешним и внутренним дублированием. Она содержит два корпуса ПЛИС А1 и А2, внутри которых расположены два внутренних канала обработки (ВКО) и внутренний решающий орган (ВРО). ВКО выполнены по разным схемам (Vb V2, V3, V4). Вне ПЛИС имеется средство контроля (СК), следящее за исправностью резервных каналов и управляющее коммутацией выходных данных Z.
Входные данные X поступают одновременно на ВКО ПЛИС А1 и А2. В начале работы к выходу ЦУПС подключены выходы ВКО1 ПЛИС А1. ВРО сравнивает информацию, идущую с выходов ВКО, и в случае несовпадения результатов СК отключает коммутатором K выходы В КО і от выхода ЦУПС и подключает выходы исправной ПЛИС.
На рис.4 изображена схема трехверсионной ЦУПС. Она состоит из двух корпусов ПЛИС А1 и А2. В каждом корпусе синтезированы: три ВКО, выполненные по разным схемам (V1, V2, V3), мажоритар-
годаря наличию нескольких стандартных языков создания проектов, инструментальных средств разработки, разнообразию способов и методов тестирования, а также возможности применения ПЛИС разных фирм-изготовителей.
Литература: 1. Харченко В. С. Теоретические основы дефектоустойчивых цифровых систем с версионной избыточностью. Харьков: МО Украины, 1996. 503 с. 2. Kharchenko V.S., Tarasenko V. V. Multiversion Design Technologies of On-board Fault-tolerant FPGA Devices / / Proceedings of MAPLD Conference, 13-15 September, 2001, Maryland, USA, http: // klabc.org. 3. Липаев В.В. Надежность программных средств. М.: СИНТЕГ, 1998. 232 с. 4. Lyu M.R (edit.) Handbook of Software Reliability. New-York: Engineering. Mc — Graw — Hill Company, 1996. 805 р. 5. Simrins D.J. Software Rertormance Modelling and Management // IEEE Transactoin. Reliability, 1983, V.R 31, №3. P.32-41. 6. ХарченкоВ.С. Модели и свойства многоальтернативных отказоустойчивых систем// Автоматика и телемеханика. 1992. №12. С. 82-91. 7. Харченко В. С., Пискачева И.В., Скляр В.В. Метрики дивер-сности программных средств: классификация, анализ и применение для оценки надежности и безотказности компьютерных систем управления // Открытые информационные и компьютерные интегрированные технологии. Харьков: ХАИ, 2001. Вып.9. С.194-214.
Поступила в редколлегию 22.01.2002
Рецензент: д-р техн. наук, проф. Фурман И.А.
Харченко Вячеслав Сергеевич, д-р техн. наук, профессор, заведующий кафедрой компьютерных систем летательных аппаратов Национального аэрокосмического университета им. Н.Е. Жуковского, заслуженный изобретатель Украины. Научные интересы: надежность, живучесть и безопасность критических компьютерных систем и технологий. Адрес: Украина, 61070, Харьков, ул. Чкалова, 17, тел (0572) 44-25-14, 44-23-56.
ный элемент, выходной коммутатор и внутреннее средство контроля.
Входные данные X поступают одновременно на ВКО ПЛИС А1 и А2, затем на входы мажоритарного элемента и через коммутатор на выход ЦУПС. Во время работы ССК резервных каналов (А1, А2) следят за исправностью своих ВКО, мажоритарного элемента, коммутатора и обмениваются контрольной информацией между собой, что косвенно подтверждает и безотказную работу ССК. В случае обнаружения отказов, которые не парируются мажоритарным элементом, или отказа ПЛИС целиком в исправном резервном канале включается коммутатор, и данные Z подаются на выход ЦУПС.
Выводы
1. Анализ процесса проектирования ЦУПС подтвердил предположение о возможности наличия дефектов проектирования после проведения отработки и тестирования ЦУПС.
2. Использование диверсности при разработке и тестировании ЦУПС является одним из существенных методов повышения надежности ЦУПС в системах критического применения.
3. Внесение версионной избыточности в резервные каналы ЦУПС возможно бла-
Тарасенко Виталий Владимирович, начальник сектора нТ СКБ “Полисвит” ГНПО “Коммунар”. Научные интересы: отказоустойчивые цифровые устройства на ПЛИС. Адрес: Украина, 61070, Харьков, ул. Рудика, 1, тел. (0572) 44-78-64.
Рис.4. Структурная схема трехверсионной ЦУПС с внутренним мажоритированием и внешним дублированием
74
РИ, 2002, № 3