birmaga.ru
добавить свой файл

1
Остроумов Сергей


Национальный аэрокосмический университет

им. Н.Е. Жуковский «ХАИ»

(Информатика и вычислительная техника)

Отказоустойчивая инфраструктура IP-ядер для SoC:
базовые варианты и реализация

ВВЕДЕНИЕ


На сегодняшний день наиболее важными характеристиками аэрокосмической и авиационной техники являются вес и габариты автоматизированных систем управления летальными аппаратами (АСУ ЛА). Это особенно важно в АСУ аэрокосмической техники, т. к. эти системы являются необслуживаемыми[1]. Снижения весогабаритных показателей можно добиться с использованием программируемых логических интегральных схем (ПЛИС)[2]. ПЛИС-технология предоставляет гибкость для создания систем на кристалле (SoC – system on chip), состоящих из различных IP-ядер (Intellectual Property Core). Существует достаточно большое разнообразие IP-ядер, которые могут внедрятся в кристалл ПЛИС[3]. Внедрение IP-ядер позволяет создавать внутри кристалла инфраструктуру IP-ядер[4], что является мощным инструментом для создания SoC. Особенно следует отметить то, что для SoC одним из IP-ядер может являться soft-процессор (soft-процессорная архитектура), с помощью которой возможно еще большее снижение весогабаритных показателей. Soft-процессор, в данном случае, может использоваться как обработчик поступающей информации, так и контроллер для управления различными версиями IP-ядер. Возможность встраивания нескольких IP-ядер позволяет повысить надежность SoC. В таком случае возможны следующие варианты: а) резервирование IP-ядер, б) адаптивная отказоустойчивая архитектура IP-ядер, в) использование диверсификации при проектировании[5].

Отказоустойчивость бортового центрального вычислительного комплекса, (БЦВК) построенного на основе SoC, обуславливает актуальность задач проектирования на основе ПЛИС.

Таким образом, цель научной работы – исследовать возможные варианты архитектур систем на кристалле (инфраструктуру IP-ядер – IIP) и предложить варианты отказоустойчивой системы с использованием диверсификации IP-ядра интерфейса, имплементируемого в SoC.


1. ИНФРАСТРУКТУРА SOC

В общем случае архитектура SoC имеет иерархическую структуру (Рис. 1).



Рис. 1. – Инфраструктура SoC

Во главе иерархии находится символ (проект) системы, состоящий из функциональных блоков. Эти блоки могут содержать другие блоки и т. д. В конечном итоге, SoC, состоящая из различных IP-ядер может быть внедрена в ПЛИС. Существует несколько вариантов получения IP-ядер.

1) покупка существующих IP-ядер у фирм-производителей микросхем ПЛИС. Поскольку стоимость IP-ядер, в таком случае, является немалой, возможен следующий вариант.

2) попытка создания схемотехнического проекта или Verilog HDL, or VHDL кодов для необходимого IP-ядра. При использовании диверсификации возможно внедрение нескольких проектов в рдин кристалл ПЛИС (схемотехнический, Verilog HDL, VHDL, AHDL и т. п.)[4].

Одной из составляющих SoC может быть процессорная архитектура, которая в терминах ПЛИС называется soft-процессором (Soft-processor – «мягкий» или «гибкий» процессор). В случае попытки создания такой архитектуры необходим ее анализ функциональности для нужной SoC (аэрокосмической или авиационной).

БЦВК является главной частью такой системы, поэтому ее надежности следует уделить особое внимание. Использование многоверсионности IP-ядер для такой системы может повышать отказоустойчивость или функциональность системы. Таким образом, возможно спроектировать несколько вариантов архитектур SoC с различными версиями IP-ядер.

2. ВАРИАНТЫ SOC

Таковыми являются (Рис. 2):


  1. одна soft-процессорная архитектура и одно IP-ядро;

  2. одна soft-процессорная архитектура и несколько IP-ядер;

  3. несколько soft-процессорных архитектур (они могут быть соединены) и одно IP-ядро;
  4. несколько soft-процессорных архитектур и несколько IP-ядро.










Рис. 2. – Варианты архитектур SoC на кристалле ПЛИС

Предлагаемые варианты архитектур зависят от функциональности и технического задания проектируемой системы. Так, первый вариант без использования диверсификации либо других средств повышения отказоустойчивости является наиболее простым. Однако применение такой архитектуры в критических приложениях, а тем более в аэрокосмической технике неприемлемо, т. к. она не обслуживаемая. Второй вариант может использоваться как для расширения функциональности, так и для повышения отказоустойчивости, поскольку возможно использование многоверсионности для IP-ядер. В такой архитектуре soft-процессор используется для обработки информации и для переключения между различными версиями IP-ядер. В следующей архитектуре используется резервирование soft-процессорных IP-ядер. В таком случае, IP-ядро может использовано несколькими soft-процессорами. Эти soft-процессоры могут также использоваться как для увеличения производительности системы, так и для повышения отказоустойчивости (о чем говорит прерывистая линия – связь между soft-процессорами). Последний вариант наиболее сложен, однако позволяет добиться наиболее высоких показателей надежности и функциональности поскольку резервируются все составляющие SoC. При такой архитектуре любой soft-процессор может использовать свободное IP-ядро. Если soft-процессоры обмениваются между собой служебной информацией (соединены между собой), они могут решить какой элемент отказал и адаптировать систему до работоспособного состояния. Если необходимо использование различных версий IP-ядер (например, атомная энергетика), этого можно достигнуть использованием диверсификации проектов[5]. Спроектировать такие системы помогают мощные системы автоматизированного проектирования (САПР).

3. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ IP-ЯДЕР ДЛЯ SOC НА ПЛИС


Как говорилось ранее, IP-ядра могут быть использованы как функциональные блоки. Также, возможно их использование для поддержки отказоустойчивости (Рис. 4). В таком случае IP-ядро используется для организации скользящего резервирования и переключения между работающими soft-процессорами и IP-ядрами.



Рис. 4. – IP-ядро как средство поддержки отказоустойчивости
В качестве примера, мы разработали три версии интерфейса Manchester-II для повышения отказоустойчивости интерфейсного обмена[6]. Как видно из рисунка (Рис. 5) интерфейс Manchester-II был разработан в трех версиях: схемотехнический проект, код на языке Verilog и VHDL. Тестирование и верификация проводилась с помощью САПР Quartus-II, результаты которых представлены на рис. 6.



Рис. 5. – SoC архитектура с диверсифицированным интерфейсом






Рис. 6. – Временные диаграммы работы интерфейса


4. ВЫВОДЫ

В аэрокосмической технике вопросам отказоустойчивости уделяется особое внимание. Это особенно актуально, если речь идет о создании информационно-управляющих систем (БЦВК), связанных с жизнью человека. В таком случае возможны несколько вариантов повышения отказоустойчивости: стандартные методы резервирования внутри кристалла ПЛИС[7], многоверсионная разработка проектов[5] и динамическая реконфигурация внутри ПЛИС[8]. Использование диверсификации и предложенных архитектур является мощным средством для создания SoC. Также следует отметить возможность использования IP-ядер как средства поддержки отказоустойчивости в SoC.


СПИСОК ЛИТЕРАТУРЫ


  1. Микрин Е. А. Бортовые комплексы управления космическими аппаратами и проектирование их программного обеспечения. – М.: МНТУ, 2003. – 336с.

  2. Ушаков А.А., Желтухин А.В., Скляр В.В., Остроумов Б.В., Харченко В.С. Разработка и использование анализа рисков для цифровых систем на ПЛИС//Радиоэлектроника и компьютерные системы. – 2006. – № 7. 88 – 98 с.

  3. Popovich A. The use of the development system on chip technology based on FPGA // Constituents and technologies. – 2004. – № 6. – pp 114 – 116.

  4. Tabatabaei S., Ivanov A.. Embedded timing analysis: A SoC infrastructure. IEEE Design & Test of Computers, 19(3): May–June 2002, pp22–34.

  5. Ushakov A. A., Kharchenko V. S. Methods of Modeling and Error-Tolerant Design of Dependable Embedded SOPC/FPGA-Decisions by Use of Multiversion Technology // Proceedings of East-West Design and Test Workshop (EWDTW’04). – Yalta, Alushta, Crimea, Ukraine. – 2004. pp. 172–178.

  6. Aircraft internal time division command/response multiplex data bus. Military standard. MIL-STD-1553B, September 21 1978. – 66p.

  7. Остроумов С. Б. Разработка вариантов отказоустойчивых архитектур на ПЛИС с использованием динамической реконфигурации // ИКТМ-2005 Тезисы докладов. – Х.: ХАИ, 2005. – 337 с.

  8. Прохорова Ю. Н., Остроумов С. Б. Современные отказоустойчивые архитектуры в компьютерных системах. – П.: ІІТ, 2006. – 52 с.