-►
Электроника, технологии производства материалов электронной техники
УДК 681.3
С.Ф. Тюрин, А.В. Греков, А.В. Набатов
микропрограммно-аппаратное восстановление логики
программируемых логических интегральных схем
с использованием функционально-полных толерантных
элементов
В современных системах управления космических аппаратов, вооружения и военной техники, АЭС и медицинских систем широко применяются программируемые логические интегральные схемы (ПЛИС). Аппаратура должна быть высоконадежной, в связи с этим появляется задача создания отказоустойчивых ПЛИС, поскольку нередко отсутствует возможность замены микросхемы [1].
Отказы, возникающие в ПЛИС, делят на функциональные и параметрические. К функциональным относят потерю информации в конфигурационной и пользовательской памяти, «залипание» информации в ячейках памяти, невозможность перезаписи, отказы внутренних блоков [2].
Логические блоки в настоящее время занимают не более 10 % кристалла, но методы «саморемонта» этих блоков пока ограничиваются процедурами замены отказавших ячеек резервными, т. к. это реализовано и для ячеек матрицы памяти. Однако в случае исчерпания резервов такие логические блоки не могут использоваться [3].
Предлагается программно-, точнее - микропрограммно-аппаратная реализация восстановления логики с использованием аппаратно адаптированного алгоритма ПЛА [4, 5]. При этом логические функции могут быть восстановлены за несколько тактов, что, конечно, снижает быстродействие, но создает возможность реализации ПЛИС хотя бы части алгоритмов, допускающих снижение производительности.
Постановка задачи. Рассмотрим биты констант - масок для алгоритма ПЛА [4, 5]. Константы хранятся в ПЗУ, и если ресурсы ПЛИС позволяют, возможно параллельное аппаратное
вычисление нескольких конъюнкций (максимальное быстродействие). В крайнем случае реализуется вычисление по отдельным конъюнкциям (минимальное быстродействие).
Основная маска (о) выделяет путем поразрядной конъюнкции значащие биты во входном векторе, а дополнительная (!) проверяет путем суммирования по модулю два значения этого значащего бита:
2 = (Х,ХЮ ) ® ХШ = Х,Х,оХ,! V Х^оХш. (1)
Преобразуя для представления выражение (1) в ФПТ [6] базисе х Х2 V хз х4, получим:
= =_ (2)
— Х;Х;оХ ^ V Х1Х10Х^
2 . — Х (Х(о Х(! V Х ( V Хю Х.
(3)
Такое представление требует трех элементов Х1Х2 V Хз Х4 при условии наличия парафазных входов, либо шести при отсутствии таковых (для получения инверсий Х, Хо, Хш) (рис. 1).
В принципе, необходима инверсия только Х , разряды масок-констант х х можно формировать сразу в инверсном виде.
Реализация в традиционном базисе 4 И-НЕ имеет вид:
- - — (4)
2 ХХл Х^Хл ХХ;~ Х;Й .
Х 1Х! Х о Х ! Х1Х о Х! . (5)
Такое представление требует четырех элементов 4И-НЕ при условии наличия парафазных входов, либо семи при отсутствии таковых (рис. 2).
В случае если по всем разрядам 2 данной конъюнкции заданной разрядности получены нули, то все соответствующие выходные функ-
Рис. 1. Вычисление одного разряда х. в базисе Х1Х2 V хз Х4
ции получают единицы, т. е. выходной вектор путем поразрядной дизъюнкции суммируется с маской хо заданной разрядности.
Экспериментальная часть. Рассмотрим получение функции равенства данной конъюнкции единице. По всем разрядам х . данной восьмиразрядной конъюнкции заданной разрядности получены нули:
г = 2122X3X4X5X6X7X8.
(6)
Преобразуем это выражение, используя двойную инверсию, для реализации в ФПТ базисе
Х1 х 2 V хз Х4:
X = X1 X2 X3 X 4 X5 X6 X7 X8 . (7)
Преобразуем выражения под двойной инверсией, исключив нижнюю инверсию:
X = (XI X2 Zз X4) V (Z5 Z6 X7 Z8 ). (8)
Введем еще четыре двойные инверсии:
X = (XI X2 Zз X4) V (Z5 Z6 X7 Z8 ). (9)
Преобразуем еще раз выражения под двойными инверсиями, исключив нижние инверсии:
х = (х1 V х2) • (х3 V х4) V (х5 V х6) • (х7 V х8). (10) С учетом инверсий на входах ФПТ элементов,
получим:
X = (XI V Z2 ) • (хз V X4 ) V (х5 V X6) • (х7 V X8). (11) Таким образом, необходимо четыре элемента
для реализации четырех дизъюнкций
X: V X2;хз V Z4;X5 V X6;Z7 V X8. (12)
Два элемента необходимы для реализации конъюнкций:
(х1 V х2)(хз V х4);
(13)
(х5 V хб)(х7 V х8). (14)
Седьмой элемент реализует дизъюнкцию, последний элемент выполняет верхнюю инверсию, итого восемь элементов, задержка - четыре элемента. Это без учета необходимости инверсиро-вания х.
I
Рассмотрим реализацию в базисе 4И-НЕ:
X = х1 х2 X3 X4 х5 хб х7 х8. (15)
Вводя еще две двойных инверсии, получим:
X = х1 X2 х3 X4 • X5 X6 х7 х8 .
(16)
Без учета инверсий получаем шесть элементов против восьми элементов ФПТ, задержка одинакова: четыре элемента.
Это неплохое соотношение, практически новый закон. Таким образом, для реализации вычисления восьмиразрядной конъюнкции при наличии парафазных входов необходимо 32 против 38 (табл. 1).
Рис. 2. Вычисление одного разряда Х . в базисе 4И-НЕ
Таблица 1
Сравнение ФПТ/4И-НЕ затрат на реализацию восьмиразрядной конъюнкции при наличии парафазных входов
Количество ФПТ Задержка ФПТ Количество 4И-НЕ Задержка 4И-НЕ
8-3+8=32 6 84+6=38 6
40 35 30 25 20 15 10 5 0
□ ФПТ ■ 4И-НЕ
Количество
Задержка
Оценим затраты на реализацию двухбайтной конъюнкции. В этом случае при ФПТ реализации:
X = х1 X2 X3 X4 X5 X6 X7 х8 • X9 х10 х11 х12 х13 х14 х15 х16. (17)
Далее, выражение (17) может быть представлено в двух частях:
ха = (х1 V х2) • (х3 V х4) V (х5 V х6) • (х7 V х8); (18)
хъ = (х1 V х2) • (х3 V х4) V (х5 V х6) • (х7 V х8). (19)
Тогда, поскольку (18) и (19) требуют по восемь элементов, для реализации выражения (17) необходимо 8 + 8 = 16 элементов плюс еще один элемент для реализации последней конъюнкции (16) - всего 17 элементов, задержка 4 + 1 = 5.
Подсчитаем затраты на реализацию двухбайтной конъюнкции в базисе 4И-НЕ:
X = X1 X2 X3 X4 X5 X6 X7 ...X16 .
Далее получим:
X = х1 X 2 х3 X 4 •...хв х14 х15 х16.
(20)
(21)
Необходимо 10 элементов 4И-НЕ, задержка четыре.
Для 4И-НЕ получаем выигрыш в быстродействии.
Рассуждая аналогично, можно получить оценки для 32-разрядной конъюнкции (табл. 2).
Анализ полученных результатов. С использованием мультиплексора на восемь переменных для реализации восьми функций потребуется 127 • 8 = 1016 ФПТ элементов (это 8128 транзисторов!). Задержка равна семи [7].
Предлагаемая реализация потребует для п конъюнкций восемь переменных (31)п элементов блока конъюнкций БК и блоков значения конъюнкций + блоков функций БФ. Задержка также равна семи. При этом настроечных входов будет (8 + 8 + 8) • п, где 8 - разрядность основной маски, дополнительной маски и маски функций против 256.
Блоки функций (БФ) реализуют соответствующий разряд функции, если соответствующая конъюнкция равна единице. При этом один разряд выходной функции, например, хв1 равен:
хв1= х1хы V х2хЬ2 V ... V х8х1о8 . (22)
Блок вычисления систем логических функций по алгоритму ПЛА представлен на рис. 3.
Блок вычисления систем логических функций по алгоритму ПЛА настраивается константами хо, х^ хо по числу конъюнкций п. То есть такие тройки констант хо, хл, хо необходимы для каждой из п конъюнкций. Вычисления проводятся по заданному входному вектору X .
4
Таблица 2
Сравнение ФПТ/4И-НЕ затрат на реализацию 16 и 32-рязрядной конъюнкции при наличии парафазных входов
Количество ФПТ Задержка ФПТ Количество 4И-НЕ Задержка 4И-НЕ
16-разрядной конъюнкции 16 • 3 + 17 = 65 2 + 5 = 7 16 • 4 + 10 = 74 2 + 4 = 6
32-разрядной конъюнкции 32 • 3 + 35 = 131 2 + 6=8 32 • 4 + 22 = 150 2 + 6 = 8
160 140 120 100 80 60 40 20 0
ФПТ 4И-НЕ ФПТ 4И-НЕ
16-разрядная конъюнкция 32-разрядная конъюнкция
□ Количество ■ Задержка
Блоки конъюнкций БК совместно с блоками на единице, то в блоках функций БФ активируют-значений конъюнкций БЗК вычисляют значения ся разряды, соответствующие маске 2 для данной конъюнкций. Если конъюнкция истинна, т. е. рав- конъюнкции.
Рис. 3. Блок вычисления систем логических функций по алгоритму ПЛА
Оценим сложность реализации блоков функций БФ:
2_, = 212 V 22 2,.„, V 232,.„, V 242,
о 2
,03
V
(23)
V252о5 V 262о6 V 272,07 V 282о8 .
Преобразуем для представления в ФПТ базисе:
V252,.„, V 262,, V 272,.„, V 282,.„я = 0.
(24)
Далее
2 = (21 2,01 V 22 2,02 )(23 2,03 V 24 2,04 ) V
(25)
V(252,о5 V 26 2,о6)(27 2,о7 V 28 2,о8) = 0.
Таким образом, необходимо четыре элемента для реализации четырех функций:
21 2,01 V 22 2,о2; 23 2,03 V 24 2,о4; 25 2,о5 V VZ6 2,06 ; 27 2,07 V 28 2,о8.
(26)
Два элемента необходимо для реализации конъюнкций:
(21 2о1 V 22 2,02 )(23 2о3 V 24 2,04);
(27)
(25 2,05 V 26 2,06 )(27 2,07 V 28 2,08 ). (28)
Последний, седьмой элемент реализует дизъюнкцию 25, итого семь элементов, задержка три элемента. Это без учета инверсирования 2,, что опять-таки можно обеспечить путем инверсии разрядов маски выходов 20. Таким образом, реализация блоков функций эквивалентна по сложности реализации блоков значений конъюнкций.
Аналогично описанному выше нетрудно показать, что реализация в базисе 4И-НЕ потребует 13 элементов при задержке четыре (табл. 3).
Всего получаем (8 • 3 + 7 + 7) • п = 38 • п элементов для п конъюнкций против 1016 ФПТ элементов для реализации восьми мультиплексоров, выполняющих роль ПЗУ логических функций.
Таким образом, целесообразна реализация логических блоков ПЛИС с использованием предложенного подхода. В случае недостаточности количества конъюнкций для реализации систем логических функций возможна многотактная реализация с многократной загрузкой масок -констант, например, из внешнего ПЗУ. В случае отказов отдельных блоков рекомендуется реализация части функций или многотактная реализация с многократной загрузкой масок.
Таблица 3
Сравнение ФПТ/4И-НЕ затрат на реализацию восьмиразрядного блока функции при наличии парафазных входов
2в, = 212,01 V 222002 V 232,03 V 242,04 V
Количество ФПТ Задержка ФПТ Количество 4И-НЕ Задержка 4И-НЕ
7 3 13 4
14 п
12--
10--
8--
6--
4-----|—
2--
о --^-т--
Количество Задержка
□ ФПТ ■ 4И-НЕ
СПИСОК ЛИТЕРАТУРЫ
1. Тюрин, С.Ф. Отказоустойчивая ПЛИС со скользящим резервированием на основе ФПТ элементов [Текст] / С.Ф. Тюрин, О.А. Громов, А.А. Сулейма-нов, А.В. Греков // Вестник ПГТУ Сер. Электротехника, информационные технологии, системы управления. -Пермь: Изд-во ПНИПУ, 2011. -№ 5. -С. 102-114.
2. Ахметов, А.О. Оценка радиационной стойкости ПЛИС EPF10K50ф. Altera с использованием методики независимого функционального контроля [Текст] / А.О. Ахметов, Д.В. Бобровский, О.А. Калашников [и др.] // Радиационная стойкость электронных систем: Науч.-техн. сб. -М.: НИЯУ МИФИ, 2010. -С. 31-32.
3. Цыбин, C. Интерфейсная ПЛИС повышеной надежности [Текст] / C. Цыбин, А. Быстрицкий // Электроника НТБ. -2006. -№ 7. -С. 60-65.
4. Алексенко, А.Г. Проектирование радиоэлек-
тронной аппаратуры на микропроцессорах [Текст] / А.Г. Алексенко, А.А. Голицын, А.Д. Иванников. -М.: Радио и связь, 1984. -С. 109-111.
5. Лазарев, В.Г. Построение программируемых управляющих устройств [Текст] / В.Г. Лазарев, Е.И. Пийль, Е.Н. Турута. -М.: Энергоиздат, 1984. -193 с.
6. Тюрин, С.Ф. Базисный элемент программируемых логических интегральных схем [Текст] / С.Ф. Тюрин, О.А. Громов // Вестник Ижевского гос. техн. ун-та. -2010. -№3. - С. 122-126.
7. Тюрин, С.Ф. Сравнительный анализ реализации генераторов логических функций на основе ФПТ элементов и элементов 4И-НЕ [Текст] / С.Ф. Тюрин, О.А. Громов, А.А. Сулейманов, А.В. Греков // Вестник ПГТУ Сер. Электротехника, информационные технологии, системы управления. -Пермь: Изд-во ПНИПУ, 2011. -№ 5. -С. 187-198.