2014
Вып.4(27)
ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА
Математика. Механика. Информатика
УДК 519.1(075.8)+510.6(075:8)
Отказоустойчивый логический элемент LUT ПЛИС FPGA
С. Ф. Тюрин
Пермский национальный исследовательский политехнический университет Россия, 614990, Пермь, ул. Комсомольский пр., 29 tyurinsergfeo@yandex.ru; 8-952-32-02-510
Описывается отказоустойчивый логический элемент ПЛИС FPGA (field-programmable gate array), показывается, что при четырёх - пяти переменных резервирование путём учетвере-ния транзисторов дерева LUT (Look Up Table) предпочтительней, чем троирование, не только по вероятности безотказной работы, но и по сложности. Относительно конфигурационной памяти SRAM такое резервирование также целесообразней троирования даже с тремя ма-жоритарами. В случае резервирования LUT вместе с конфигурационной памятью SRAM можно получить значительный выигрыш в вероятности безотказной работы порядка 70% относительно максимально возможного за относительно умеренные затраты порядка 30%.
Ключевые слова: отказоустойчивый логический элемент ПЛИС FPGA - LUT - Look Up Table, интенсивность отказов, вероятность безотказной работы, резервирование, элемент с избыточным базисом - функционально-полный толерантный (ФПТ) элемент, конфигурационная память SRAM.
Введение
Программируемые логические Интегральные схемы (ПЛИС, PLD) типа FPGA (field-programmable gate array) содержат конфигурируемые логические блоки (КЛБ)[1], состоящие из логических элементов ЛЭ. Логический элемент LUT ПЛИС типа FPGA это постоянное запоминающее устройство ПЗУ (в источниках именуется LUT - Look Up Table), представляет собой мультиплексор (дерево передающих транзисторов), входы данных которого настраиваются так называемыми конфигурируемыми ячейками памяти SRAM [1]. Обычно используются LUT на 4, 5 переменных, уже применяются LUT на 6 и даже на 7 переменных. На рис. 1 изображен логический элемент ПЛИС типа FPGA на 4 входных переменных, SRAM - ячейки конфигурационной памяти, в которую записывается таблица истинности требуемой логической функции, А, В, С, D - входные переменные,
© Тюрин С. Ф., 2014
которые, как и выход коммутируются с помощью конфигурируемых матриц межсоединений, не изображённых на рис. 1.
С D
Рис. 1. Транзисторная схема LUT с числом входов n=4 (мультиплексор 16-1)
Показано [2, 3], что при отказе одного любого транзистора, кроме транзисторов в выходном инверторе, при соответствующей реконфигурации, можно использовать этот LUT, но на n-1 переменную. Для повышения отказоустойчивости LUT предложено выход-
ной инвертор заменить элементом с избыточным базисом - функционально-полным толерантным (ФПТ) элементом [4], тогда это свойство выполняется при отказе одного любого транзистора (рис. 2).
Рис. 2. Модифицированная LUT, с ФПТ-элементом на выходе
Однако даже такая модификация LUT не позволяет парировать сбои, кроме того, после отказа функциональные возможности LUT уменьшаются в два раза. Попытаемся построить резервированный, отказо- и сбое-устойчивый логический элемент - LUT, необходимый в областях критического применения ПЛИС, например, для построения радиа-ционно-стойкой цифровой аппаратуры.
1. Оценка троированного дерева передающих транзисторов LUT
Известный логический элемент (ЛЭ) на n переменных (LUTn) без учёта коммутаций входных переменных оценивается следующим образом. Транзисторов в дереве передающих транзисторов на n переменных (на рис. 1 - 4 переменных) всего:
LtrLUT„ = 2n+1 -2,n > 2. (1)
Так, для n=4 (рис.1) имеется 30 передающих транзисторов в дереве.
С учётом инверторов по входам переменных (2«), выходных инверторов (в каждом 2 транзистора) получим всего в дереве LUTn:
LtrLUTn = 2n+1 - 2 + 2 • n + 2,n > 2. (2)
Преобразуя, получим:
LtrLUTn = 2n+1 + 2 • n,n > 2. (3) При троировании используем три дерева LUT со схемой мажоритирования (выбора 2 из 3-х, голосования по большинству голосов), реализующей мажоритарную функцию:
z = k1k2 v k2k3 v k1k3. Для её реализации
(4)
Z = k1k2 v k2k3 V k1k3 = (k1k2)(k2k3)(k1k3) =
= (k^Xk^)^). (5)
требуется 6 элементов 2И-НЕ, каждый по 4 транзистора, итого 24 транзистора, задержка 4х, где х - задержка одного элемента 2И-НЕ.
Получаем:
L3trLUTn = 3 • (2n+1 + 2 • n) + 24, n > 2. (6)
Так, для n =4 имеем 120+24=144 (транзистора).
В случае троирования мажиритаров необходимо 3-24=72 транзистора, итого L3tr3mLUTn = 3 • (2n+1 + 2 • n) + 72,n > 2. (7)
Так, для n =4 имеем 120+72=192 (транзистора).
2. Резервирование передающих транзисторов LUT
Выполним резервирование передающих транзисторов на основе функций [6, 7]. Таким образом, каждый транзистор дерева передающих транзисторов заменяется схемами (рис. 3, 4). При этом используются формулы (8), (9).
f11 = (х; v х;)(х; v х;). (8)
f12 = х;х; v х;х;. (9)
a)
1
1
б)
Рис. 3. Учетверение передающих транзисторов по вариантам функции = (х1 V х1)(х1 V х1) а) с одной точкой связи; б) с двумя точками связи
1 а
±
и
Рис. 4. Учетверение передающих тран-зисторов по функции
= Х1Х1 V Х1Х1
Такие схемы нечувствительны к отказу (сбою) одного любого транзистора, что касается связей - их тоже можно резервировать (рис. 3,б). Рис. 4. Для парирования отказов (сбоев) в двух транзисторах можно использовать схемы рис. 5, 6.
L
Рис. 5. Резервирование передающих транзисторов по функции и
21 = (х1 V Х1 V х1)(х1 V Х1 V х1)(х1 V Х1 V х1) для
парирования двух отказов (сбоев) 2.1= ^Х)(Х V^Х)(Х V^Х) (10)
Рис. 5. Резервирование передающих транзисторов по функции
42 = Х1Х1Х1 V Х1Х1Х1 V Х1Х1Х1. для парирования двух отказов (сбоев)
f2.2 = XiXiXi V XiXiXi V XiXiXi.
(11)
Для парирования трёх отказов необходимо использовать функции (12), (13):
f31 = (xi V xi V xi V xi )(xi V xi V xi V xi ) (xi V xi V xi V xi)(xi V xi V xi V xi),
(12)
^ 2 = Х1Х1Х1Х1 VХ1Х1Х1Х1 VХ1Х1Х1Х1 VХ1Х1Х1Х1 (13).
Итак, для парирования одного отказа (сбоя) без дублирования входов с учётом элемента с избыточным базисом (ФПТ-элемента) на выходе (рис. 2), требуется сложность:
L,
4.(2n+1 -2) + 2• n + 8,n > 2. (14)
Так, для п =4 имеем 120+16=136 (транзисторов). С дублированием входов переменных
4trLUTdn
= 4 • (2n+1 -2) + 4 .n + 8,n > 2. (15)
Так, для n =4 имеем 120+24=144 (транзисторов). 3. Сравнение вариантов резервирования передающих транзисторов LUT
Таким образом, имея выражения (6, 7, 14, 15) сложности вариантов резервирования передающих транзисторов, получим выражения вероятности безотказной работы. Для троирования с одним мажоритаром:
P1(t) = (3-e -2-(2"+I+2n)U - 2-e-3<2n+I+2n)Vt)-e -24-Vt.(16)
Для троирования с тремя мажоритарами :
P2(t) = (3 • e-
■2-e -3 • ('
(3 e
-2-24- Х-t
- 2-e
-3 - 24-Х -t
+ 2n)X - t )
(17)
Учетверение передающих транзисто-ров с ФПГ-элементом на выходе и дублированием входов п переменных (15):
т»ч -4- и , -3- Х- -X и1(2п+1 -2)
р30Не +4-е (1-е я ) (18)
[е-4- и + 4-е-3- и(1-е-и)]2 - [е-2- и + 2- е-и(1-е-и)]
Построим графики вероятностей безотказной работы этих вариантов в СКМ "Мат-кад" (рис. 6-12).
Рис. 6. Сравнение троирования дерева передающих транзисторов Р1($ - с одним мажоритаром, Р2@) - с тремя ма-жори-тарами, Р3(1) - резервирование по функции ^ = х1х1 V х1х1;Х = 10-9;п = 4
Рис. 7. Сравнение троирования дерева передающих транзисторов Р1@) - с одним
мажоритаром, Р2@) - с тремя мажори-тарами, Р3(Х) - резервирование по функции = х1х1 V х^Д = 109;п = 5
Рис. 8. Сравнение троирования дерева передающих транзисторов Р1(1) - с одним мажоритаром, Р2@) - с тремя мажори-тарами, Р3(Х) - резервирование по функции 1 2 = х1х1 V х1х1 = 10 _9;п = 6
Рис. 9. Сравнение троирования дерева передающих транзисторов Р1(1) - с одним мажоритаром, Р2@) - с тремя ма-жоритарами, Р3(Х) - резервирование по функции 1 2 = х1х1 V х1х1 = 10 _9;п = 7
Рис. 10. Сравнение троирования дерева передающих транзисторов Р1(1) - с одним мажоритаром, Р2@) - с тремя мажоритарами, Р3(Х) - резервирование по функции = х1х1 V х1х1;Х = 109;п = 8
Рис. 11. Сравнение троирования дерева передающих транзисторов Р1(1) - с одним мажоритаром, Р2@) - с тремя мажоритарами, Р3(Х) - резервирование по функции = х1х1 Vх1х1;Х = 10_11;п = 4
Рис. 12. Сравнение троирования дерева передающих транзисторов Р1(1) - с одним мажоритаром, Р2@) - с тремя мажоритарами, Р3(Х) - резервирование по функции = х1х1 V х1х1;Х = 10 "12;п = 5
Таким образом, вариант резервирования Р3(;) по функции 2 = х;х; V х;х; значительно более предпочтителен по вероятности безотказной работы варианта Р2(;) - с тремя мажоритарами, и тем более, варианта Р1(0 - с одним мажоритаром.
Сравнение сложности в количестве транзисторов L3(n) троирования дерева передающих транзисторов с тремя мажоритарами, и L4(n)-резервирования по функции 112 = х;х; V х;х; представлено на рис. 13.
Рис. 13. Сравнение сложности L3(n) троирования дерева передающих транзисторов с тремя мажорита-рами, и L4(n)-резервирования по функции 112 = х;х; V х;х;
Таким образом, до п=6 вариант резервирования по функции 2 = х;х; V х;х;
предпочтителен и по вероятности безотказной работы и по сложности.
4. Резервирование
конфигурационной памяти SRAM
В [5] показана предпочтительность модифицированной на основе ФПТ-элемента ячейки конфигурационной памяти SRAM схемы перед троированной ячейкой памяти [8].
Мажоритирование требует 4x3+2=14 транзисторов (2 - это "боковые" транзисторы записи-считывания) [5]. Схема мажорити-рования требует (9) 24 транзистора в элементах 2И-НЕ, задержка 4 элемента. Тогда для троированной схемы с одним мажоритаром без учёта "боковых":
P(t)TT = (3 ■ e-
,-24 ■ Хт- t
- 2 ■ e-
-3 ■ 12 ■ X-t ч -24 ■ Х- t
Xl)e
(19)
где е *"'т' 1 вероятность безотказной работы мажоритарной схемы.
Для ячейки на ФПГ элементах (требуется 16 транзисторов двух ФПГ-элементов и 2 "боковых") с учётом только отказов сбоев одного транзистора (на самом деле парируются и некоторая часть отказов большего числа транзисторов) в каждой из двух подсхем каждого из двух ФПТ-элементов, работающих в режиме инвертора без учёта "боковых" записи-считывания получаем:
Р(^рст = [е "ф ^ + 4-е "3- Хт- - е^]4. (20)
Сравнение вероятности безотказной работы троированного триггера на мажоритарных элементах (Рй) и триггера на ФПТ-элементах (РГС) подтверждает преимущества РГС (рис. 14).
Рис. 14. Сравнение вероятностей безотказной работы троированного триггера с мажоритарным элементом (Рп) и ячейки на ФПТ элементах Рс1) без учёта "боковых" транзисторов записи-считывания X = 10 -10
В табл. 1 приведено сравнение двух указанных реализаций отказоустойчивых ячеек памяти SRAM по сложности и быстродействию, доказывающее преимущест-ва ячейки на ФПТ-элементах.
Таблица 1. Сравнение двух реализаций отказоустойчивых ячеек памяти SRAM
Вариант ячейки SRAM Аппаратные затраты в транзисторах Задержка в транзисторах без учета "боковых" транзисторов записи-считывания
Транзистор SRAM на ФПТ-элементах Pfct 18 4
Троированный триггер SRAM на мажоритарных элементах (Ptt) 38 5
Если учитывать вероятность безотказной работы "боковых" транзисторов, то получаются выражения (21,22):
P(t)TT = [3 ■ e-2-12 ■ vt - 2^e-3■ 12 ■ v *)
e-24 ■ X^ t 2 ■ Хт ■t
(21)
P(t)FCT = [e -ФМ + 4^e -3Vt(1 - e-M)]4 ■ e -2^.(22)
Графики выглядят следующим образом (рис. 15).
Рис. 15. Сравнение вероятностей безотказной работы троированного триггера с мажоритарным элементом (Ptt) и ячейки на ФПТ-элементах (Pfct) с учётом нерезервированных "боковых" транзисторов записи-считывания
I = 109
Если учитывать резервирование "боковых" транзисторов, то для мажоритирова-ния нужно ещё 2 2=4 транзис-тора (второй и третий каналы записи-считывания), а для варианта Pfct - 6 дополнительных транзисторов (табл. 2).
Таблица 2. Сравнение двух реализаций отказоустойчивых ячеек памяти SRAM с учётом резервирования "боковых" транзисторов
Вариант ячейки SRAM
Триггер SRAM на
ФПТ-элементах
(Pfct)
Троированный триггер SRAM на мажоритарных элементах (Ptt)
Аппаратные затраты в транзисторах
18+6=24
38+4=42
Задержка в транзисторах
4+2=6
5+1=6
Легко видеть, что вариант РЛС; превосходит остальные варианты при вероятностях от 0,2 и выше, причём троирование с тремя мажоритарами выигрывает у нерезервированного варианта в очень малом диапазоне вероятностей, вариант Рй1 с одним мажоритаром вообще нецелесообразен!
Тогда для троированной схемы с одним мажоритаром с учётом "боковых" транзисторов получим:
P(t)TT1 = [3 • e "2 • 18 v 1 - 2 • e -3 • 18 • ^т' > -24 ' \ (23)
где e-24 ' 1 вероятность безотказной работы мажоритарной схемы.
Для триггера SRAM на ФПТ-элементах
(Pfct):
P(t)FCT = [e-4 • V 1 + 4'e-3' v t(1 - et)]4
[e -4'M + 4'e -3'v t(1 - e-vt)]2 = (24) = [e-4'M + 4'e -3'M(1 - e-M)]6.
Если ввести три мажоритара в схему по варианту РИ, то будет иметь место выражение
P(t)ттз = [3• e18 м -2^e-3 18м]
'ттз
_ - 2 • 24 • t
[3^e-2 • 24 • Vt -2^e-3 • 24 • Vи
(25)
Сравнение вариантов (23),(24),(25) и нерезервированного варианта шеститранзисторной ячейки е"6 Л 't (26) представлено на рис. 16 ,а, б.
а) б)
Рис. 16. Сравнение вероятностей безотказной работы троированного триггера с одним мажоритарным элементом (РШ), с тремя мажоритарными элементами (Ри3), ячейки на ФПТ элементах (Р/а) и нерезервированной ячей-„-6 ЛЛ
ки е с учетом резервированных "боковых" транзисторов записи считывания при интенсивности отказов
транзистора X = 10 11
а) в диапазоне вероятностей 0...1;
б) 0,9.1
5. Сравнение вариантов отказоустойчивого логического элемента LUT с учётом резервирования памяти конфигураций SRAM
Ясно, что резервирование конфигурации-онной памяти - отдельно по каждой ячейке SRAM по варианту Pfct пред-почтительней, чем по варианту Ptt. Однако вариант троирования может быть менее затратным - если мажорита-ры будут на выходе LUT, а не по каждой ячейке.
Итак, при троировании SRAM включается в каждый из трёх каналов:
Ptt1(t) = (3• e~2' (10' 2n + 2n> х ■ t - 2-е_3 '(10' 2n + 2n) 'х 't)e"24 't (27)
Ptt3(t) = (3-е
-2- (10- 2n + 2n)-X • t
)• X • t - 2 • e-3- ■
-3- (10 • 2n + 2n) • X • t
)(3 • e-
(28)
Вариант (24) SRAM - fct и учетверение передающих транзисторов (18) имеет вероятность безотказной работы:
Pfct(t) = [е-4 X t + 4 • e-3-X-t ( 1 - e-Xt )]6
2 (29)
[e-4Xt + 4-e-3Xt(1 -e-Xt)](2 -2)[e-4Xt + 4'e-3Xt(1 -e-Xt)] •[e"2' xt + 2 • e-x' t(1 - e-Xt )]n
Для нерезервированной структуры LUT полу-
-(10 • 2n + 2 • n) • X t
чаем: e . (30)
Сравнение всех перечисленных вариантов (27-30) представлено на рис. 17.
a)
б)
в)
г)
Рис. 17. Сравнение вероятностей безотказной работы вариантов LUT - SRAM: троирование с одним мажоритарным элементом (Ptt1), с тремя мажоритарными элементами (Ptt3), P(fct) учетверение передающих транзисторов + SRAM -fct и нерезервированного LUT-SRAM
-(10 • 2n + 2 • n) • X • t
е при интенсивности отказов тран-
зистора X = 10-11, n = а)4, б)5, в)7, г)4
Но вариант Р(&1), безусловно, имеет сложность примерно на 30 % большую, чем Рй3 (рис. 18). И это относительно "дёшево"!
Рис. 18. Сравнение сложности L3(n) троирования с тремя мажоритарными элементами и L4(n)-резервирования по функции f12 = XjXJ V XJXJ + SRAM -fct
Выводы
Предложенное резервирование логического элемента LUT ПЛИС типа FPGA по функции x{x{ V x{x{ оказывается предпочти-тельней по вероятности безотказной работы, чем троирование, причём затраты на это - порядка 30 %, что не так уж и много по сравнению с кратным увеличением аппаратуры при введении дополнительных каналов. Кроме того, дости-гается выигрыш более 70 % от максимально возможного по сравнению с троированием с тремя мажори-тарами (рис. 17,г). Если резервировать только дерево транзисторов, то до n=6 вариант резервирования по функции x{x{ V x{x{ предпочтителен и по вероятности безотказной работы и по сложности. При резервировании только конфигурационной памяти SRAM предложенное резервирование также целесообразней троирования и по сложности и по вероятности безотказной работы при не ухудшении быстродействия. В дальнейшем целесообразно исследовать оценки резервирования с учётом интенсивностей отказов связей, а также учесть надёжность источника питания.
Список литературы
1. Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри. URL: http://www.kite.ru/articles/plis/2010_11_56.ph p (дата обращения 2.11.13).
2. Тюрт С.Ф., Громов О.А., Греков А.В., Понуровсюй I. С. Адаптация FPGA до вщмови лопки // Радюелектронш i комп'ютерш системы. 2013. № 1(60). С.177-182.
3. Городилов А.Ю., Понуровсюй I.C., Тюрин С. Ф. Повышение отказоустойчивости FPGA путём реконфигурации работоспособных элементов // Радюелектронш i комп'ютерш системы. 2013. № 1(60). С. 172-176.
4. Тюрин С.Ф. Логические элементы с избыточным базисом // Вестник Пермского университета. Серия Математика. Механика. Информатика. 2013. № 4. С. 42-59.
5. Тюрин С.Ф., Морозов А.Н. Отказоустойчивая ячейка памяти с использованием функционально-полных толерантных элементов. Вестник Пермского университета.
Серия Математика. Механика. Информатика. 2012. № 4. С. 68-75.
6. Тюрин С.Ф., Громов О.А., Греков А.В. Функционально-полный толерантный элемент ФПТ // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. 2011. № 1(115). С. 24-31.
7. Тюрин С.Ф., Громов О.А., Греков А.В. и др. Функционально-полный толерантный элемент. Решение о выдаче патента на изобретение от 13.03.2013 г. по заявке № 2012125400/08 (038968) от 19.06.2012 г.
8. ПЛИС Actel - основа при реализации "SoC" бортовой аппаратуры. URL: http://www.spigl.wordpress.com/2009/09/16/п лис/ (дата обращения: 3.11.2013).
Reliable logic element-LUT FPGA
S. F. Tyurin
Perm National Research Polytechnic University, Russia, 614990, Perm, Komsomolsky Av., 29 tyurinsergfeo@yandex.ru; +7 952-320-02-510
In the article it is proposed failure-resistant logic element LUT FPGA. It is established the advantage of the quadrupling of the LUT's transistors in comparison with the tripling in a number of cases.
Key words: logic element - LUT FPGA; logic element with the redundancy basis; functional complete tolerant ([FCT]) element, tripling; quadrupling, reliability; failure resistance.