REKONFIGURATsIYa I DIAGNOSTIROVANIE LOGIKI PLIS FPGA

Abstract


Рассматриваются реконфигурация и диагностирование логических элементов современных программируемых логических интегральных схем ПЛИС типа FPGA (field-programmable gate array), построенных как мультиплексоры – селекторы MS и составляющих основу конфигурируемых логических блоков (КЛБ). Показано, что КЛБ при однократных отказах передающих транзисторов или входов настройки, или входов адреса может быть использован как «половинный». Так, однократный отказ логического элемента LUT (Look Up Table) ПЛИС фирмы «Альтера» с n = 4 уменьшает его функциональные возможности, тем не менее за счет большой избыточности можно строить функции трех входных переменных. Из нескольких элементов с отказами путём диагностирования и реконфигурации можно восстановить логический элемент с исходным значением переменных n . Таким образом, обеспечивается увеличение логических резервов ПЛИС, что повышает их коэффициент готовности и позволяет использовать в областях критического применения в высоконадёжных, отказоустойчивых приложениях.

Full Text

Логика современных программируемых пользователем вентильных матриц или ПЛИС FPGA (field-programmable gate array) реализована в виде конфигурируемых логических блоков (КЛБ) [1], состоящих из логических элементов ЛЭ, программируемых локальных и глобальных матриц соединений – ЛМС, ГМС (рис. 1). Рис. 1. Конфигурируемый логический блок (КЛБ) ПЛИС FPGA Каждый логический элемент ЛЭ строится как постоянное запоминающее устройство ПЗУ (LUT – Look Up Table), представляющее собой мультиплексор – селектор (MS) на передающих МОП-транзисторах с четырьмя адресными входами 16–1 (имеются уже ЛЭ на 5,6 и даже 7 адресных входов), входы данных которого настраиваются так называемыми конфигурируемыми ячейками памяти – КЯ – ячейками статической памяти SRAM [2] (рис. 2). Рис. 2. Логический элемент ПЛИС FPGA (фирма Altera) 16–1 с четырьмя адресными входами Рис. 3. Ячейка памяти SRAM Подобные МОП-структуры используются и в настраиваемых коммутаторах связей. Для компенсации падения напряжения в цепочке передающих транзисторов (имеются ограничения на длину цепочки – законы проектирования БИС Мида и Конвей [3]) обязательно нужны буферные элементы, которые представляют собой КМДП-инверторы. Всегда активирована только одна из 16 цепочек транзисторов, так что выходной инвертор повторяет логический уровень, записанный в одной из ячеек SRAM, в соответствии с заданным набором на адресных входах A,B,C,D и записанной таблицей в SRAM [2] истинности. Рис. 4. Мультиплексор 8-1 (на восемь каналов), состоящий из семи элементарных мультиплексоров 2-1 Таким образом, настройка дерева мультиплексоров ЛЭ осуществляется путём загрузки так называемой конфигурационной памяти – SRAM [2]. Шеститранзисторная ячейка такой статической оперативной памяти SRAM [2] представлена на рис. 3. В настоящее время одной из серьёзных проблем в области ПЛИС FPGA является восстановление логики после отказов в период эксплуатации, хотя она и занимает по сравнению с памятью относительно небольшой процент площади кристалла [4]. Предложены принципы такого восстановления [5–11]. Адаптация к отказам мультиплексора 8-1 Рассмотрим логический элемент FPGA мультиплексор на три адресных входа х1,х2, 3 – на 8 каналов a,b,c,d.e,f,g,h (8-1), состоящий из семи элементарных мультиплексоров 2-1, реализованных на основе элементов с избыточными базисами – функционально-полных толерантных (ФПТ) элементов [12–22] (рис. 4). Однократный отказ по входам данных a,b,c,d,e,f,g,h Пусть имеется отказ в элементе, на вход которого подключены каналы c,d. Тогда необходимо после обнаружения отказа выполнить переход на вторую половину схемы – каналы e,f,g,h. Причём отказы могут быть и по входу, но только не у последнего элемента. Если остаётся половина элементов (допускаются отказы по входам всех элементов и даже по выходам, кроме отказа по выходу последнего элемента), например, старшая переменная приравнивается нулю: (1) Тогда получаем: (2) или . (3) Вторую половину каналов реализуем аналогично: (4) Для восстановления одного восьмиканального мультиплексора из трёх «половинных» на четыре канала необходимо, чтобы третий мультиплексор подключал по старшей переменной либо одну, либо вторую половину, то есть работал в режиме двухканального мультиплексора. Поэтому для настройки третьей составляющей необходимо , (5) что соответствует функции двухканального мультиплексора: . (6) Однократный отказ по входам адреса В табл. 1 показано, как необходимо реконфигурировать каналы для парирования такого отказа. Таблица 1 Требуемая реконфигурация каналов при константных отказах адресных входов восьмиканального мультиплексора Нет отказаОтказ Отказ Отказ Отказ Отказ Отказ 0000040201 0011151301 0102260223 0113371323 1004044645 1015155745 1106264666 1117375766 «Половинные» логические элементы можно использовать самостоятельно, а для восстановления одного полного мультиплексора необходимо три «половинных» мультиплексора. Таким образом, можно сказать, что получается: ½ MS +½ MS+½ MS=1 MS. (7) Учёт однократных отказов транзисторов Таблица 2 Адаптация LUT к некоторым однократным константным отказам Вид отказаТребуемая перекоммутацияЯчейки SRAM, реализующие функциюИспользуемые переменные VT10A=02,4,6,8,10,12,14,16B, C, D VT11A=11,3,5,7,9,11,13,15B, C, D VT20A=11,3,5,7,9,11,13,15B, C, D VT21A=02,4,6,8,10,12,14,16B, C, D VT30A=02,4,6,8,10,12,14,16B, C, D VT31A=11,3,5,7,9,11,13,15B, C, D Продолжение табл. 2 Вид отказаТребуемая перекоммутацияЯчейки SRAM, реализующие функциюИспользуемые переменные VT40A=11,3,5,7,9,11,13,15B, C, D VT41A=02,4,6,8,10,12,14,16B, C, D VT50A=02,4,6,8,10,12,14,16B, C, D VT51A=11,3,5,7,9,11,13,15B, C, D VT60A=11,3,5,7,9,11,13,15B, C, D VT61A=02,4,6,8,10,12,14,16B, C, D VT70A=02,4,6,8,10,12,14,16B, C, D VT71A=11,3,5,7,9,11,13,15B, C, D VT80A=11,3,5,7,9,11,13,15B, C, D VT81A=02,4,6,8,10,12,14,16B, C, D VT90A=02,4,6,8,10,12,14,16B, C, D VT91A=11,3,5,7,9,11,13,15B, C, D VT100A=11,3,5,7,9,11,13,15B, C, D VT101A=02,4,6,8,10,12,14,16B, C, D VT110A=02,4,6,8,10,12,14,16B, C, D VT111A=11,3,5,7,9,11,13,15B, C, D VT120A=11,3,5,7,9,11,13,15B, C, D VT121A=02,4,6,8,10,12,14,16B, C, D VT130A=02,4,6,8,10,12,14,16B, C, D VT131A=11,3,5,7,9,11,13,15B, C, D VT140A=11,3,5,7,9,11,13,15B, C, D VT141A=02,4,6,8,10,12,14,16B, C, D VT150A=02,4,6,8,10,12,14,16B, C, D VT151A=11,3,5,7,9,11,13,15B, C, D VT160A=11,3,5,7,9,11,13,15B, C, D VT161A=02,4,6,8,10,12,14,16B, C, D VT170B=03,4,7,8,11,12,15,16A, C, D VT171B=11,2,5,6,9,10,13,14A, C, D VT18B=11,2,5,6,9,10,13,14A, C, D VT181B=03,4,7,8,11,12,15,16A, C, D VT190B=03,4,7,8,11,12,15,16A, C, D VT191B=11,2,5,6,9,10,13,14A, C, D VT200B=11,2,5,6,9,10,13,14A, C, D VT201B=03,4,7,8,11,12,15,16A, C, D VT210B=03,4,7,8,11,12,15,16A, C, D VT211B=11,2,5,6,9,10,13,14A, C, D VT220B=11,2,5,6,9,10,13,14A, C, D VT221B=03,4,7,8,11,12,15,16A, C, D Окончание табл. 2 Вид отказаТребуемая перекоммутацияЯчейки SRAM, реализующие функциюИспользуемые переменные VT230B=03,4,7,8,11,12,15,16A, C, D VT231B=11,2,5,6,9,10,13,14A, C, D VT240B=11,2,5,6,9,10,13,14A, C, D VT241B=03,4,7,8,11,12,15,16A, C, D VT250С=05,6,7,8,13,14,15,16A, B, D VT251С=11,2,3,4,9,10,11,12A, B, D VT260С=11,2,3,4,9,10,11,12A, B, D VT261С=05,6,7,8,13,14,15,16A, B, D VT270С=05,6,7,8,13,14,15,16A, B, D VT271С=11,2,3,4,9,10,11,12A, B, D VT28С=11,2,3,4,9,10,11,12A, B, D VT281С=05,6,7,8,13,14,15,16A, B, D VT290D=09,10,11,12,13,14,15,16A, B, C VT291D=11,2,3,4,5,6,7,8A, B, C VT300D=11,2,3,4,5,6,7,8A, B, C VT301D=09,10,11,12,13,14,15,16A, B, C A=0–2,4,6,8,10,12,14,16B, C, D A=1–1,3,5,7,9,11,13,15B, C, D B=0–3,4,7,8,11,12,15,16A, C, D B=1–1,2,5,6,9,10,13,14A, C, D C=0–5,6,7,8,13,14,15,16A, B, D C=1–1,2,3,4,9,10,11,12A, B, D D=0–9,10,11,12,13,14,15,16A, B, C D=1–1,2,3,4,5,6,7,8A, B, C Из табл. 2 видно, что при всех случаях однократных отказов транзисторов возможна реконфигурация LUT. Фактически однократный отказ в любом транзисторе уменьшает функциональные возможности элемента, тем не менее за счет большой избыточности все еще можно строить функции 3 входных переменных. Диагностирование логического элемента ПЛИС FPGA Рассмотрим с целью упрощения рассуждений элементарный мультиплексор 2-1 (рис. 5) для реализации любой логической (булевой) функции одной переменной. Мультиплексор на два канала с учётом инвертора описывается логической функцией трёх аргументов: . (7) Рис. 5. Реализация мультиплексора на два канала (2-1) на передающих МОП-транзисторах Выполним переобозначение (7), получим выражение (8): (8) получим табл. 3 функций отказов. Таблица 3 Функции внешних отказов мультиплексора на два канала ТХ1Х2Х3ZZ (Х1=0)Z (Х1=1)Z (Х2=0)Z (Х2=1)Z (Х3=0)Z (Х3=1) Т00000000[1]00 Т100100[1]0[1]00 Т201011[0][0]111 Т3011111[0]111 Т4100000000[1] Т51011[0]111[0]1 Т61100[1]0000[1] Т711111111[0]1 Таблица покрытий отказов (табл. 4) позволяет визуально получить, например, покрытие Т1×Т3×Т4×Т5. Таблица 4 Покрытия внешних отказов мультиплексора на два канала ТZ (Х1=0)Z (Х1=1)Z (Х2=0)Z (Х2=1)Z (Х3=0)Z (Х3=1) Т0 [1] Т1 [1] [1] * Т2 [0][0] Т3 [0] * Т4 [1]* Т5[0] [0] * Т6[1] [1] Т7 [0] Следовательно, в предположении о том, что отказы константные и однократные, в данном случае количество проверяющих наборов можно сократить в 2 раза. Для разбиения отказов (Х1=1), (Х2=1) можно взять тест Т2, а для разбиения отказов (Х1=0),(Х3=0) – тест Т6. С целью упрощения диагностирования более сложных ЛЭ предлагается использование выделения половинных базисов всех ЛЭ со сравнением их выходных реакций и применение генетических алгоритмов [22]. Таким образом, предложенные подходы к реконфигурации ПЛИС FPGA могут обеспечить требуемое «восстановление» логики, которое возможно лишь при условии сохранения базиса отказавшими элементами. Возможно, использовать эти элементы как новые базисы, но можно восстанавливать исходный базис. Для восстановления необходима соответствующая достаточно сложная диагностика, в которой целесообразно применение генетических алгоритмов в силу её переборного характера, кроме того, для восстановления одного элемента надо несколько отказавших. К тому же не все отказавшие элементы могут сохранить базис. Обычно ПЛИС используют не все имеющиеся ресурсы. Допустим, как рекомендуют производители, в исходном состоянии задействовано около 80 % логики ПЛИС. В случае отказов оставшиеся 20 % в принципе могут быть использованы для замены отказавших путём загрузки нового файла конфигурации. Далее, если считать, что произошли отказы, позволяющие использовать отказавшие элементы и для восстановления одного полного базиса необходимо три элемента, получаем ещё около 10 % «самовосстановленного» резерва. Таким образом обеспечивается увеличение логических резервов ПЛИС, что повышает их коэффициент готовности и позволяет использовать в областях критического применения в высоконадёжных приложениях.

About the authors

Sergey Feofentovich Tyurin

Email: tyurinsergfeo@yandex.ru

Oleg Aleksandrovich Gromov

Email: ogromov@inbox.ru

Aleksey Yur'evich Gorodilov

Email: gora830@yandex.ru

References

  1. Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри [Электронный ресурс]. – URL: http://www.kit-e.ru/articles/ plis/2010_11_56.php (дата обращения: 01.01.2013).
  2. T SRAM Cell [Электронный ресурс]. – URL: http://www.iue.tuwien.ac.at/phd/entner/node34.html (дата обращения: 7.1.2013).
  3. Правила топологического проектирования Мида-Конвей [Электронный ресурс]. – URL: http://do.gendocs.ru/docs/index-55156.html (дата обращения: 25.1.2013).
  4. Yervant Z., Dmytris G. Gest editors’ introduction: Design for Yield and reliability // IEEE Design & Test of Computers. – May–June 2004. – P. 177–182.
  5. Тюрин С.Ф. Синтез адаптируемой к отказам цифровой аппаратуры с резервированием базисных функций // Приборостроение. – 1999. – № 1. – С. 36–39.
  6. Тюрин С.Ф. Адаптация к отказам одновыходных схем на генераторах функций с функционально-полными толерантными элементами // Приборостроение. – 1999. – № 7. – С. 32–34.
  7. Адаптация FPGA до вiдмови логiки / С.Ф. Тюрiн, О.А. Громов, А.В. Греков, I.С. Понуровскiй // Радiоелектроннi i комп’ютернi системы. – 2013. – № 1(60). – С. 177–182.
  8. Тюрин С.Ф., Громов О.А., Понуровский И.С. Адаптация к отказам программируемых логических схем FPGA // Вестник Международ. ун-та им. С.Ю. Витте. Сер. 1: Экономика и управление: материалы XLI междунар. конф. «Информационные технологии в науке, образовании, телекоммуникации и бизнесе». Майская сессия; Украина, Крым, Ялта-Гурзуф 25 мая-4 июня 2013 г. – М., 2013. – С. 111–114.
  9. Tyurin S., Kharchenko V. Redundant Basises for Critical Systems and Infrastructures: General Approach and Variants of ImplementationProceedings of the 1st Intrenational Workshop on Critical Infrastructures Safety and Security. – Kirovograd, 2011. – Vol., 2. – P. 300–307.
  10. Анализ методов обеспечения пассивной отказоустойчивости цифровых устройств и систем / С.Ф. Тюрин, А.В. Греков, О.А. Громов, А.В. Греков, А.А. Сулейманов // Вестник ПГТУ. Электротехника, информационные технологии, системы управления. – Пермь, 2011. – № 5. – С. 143–153.
  11. Тюрин С.Ф., Громов О.А., Каменских А.Н. Программный комплекс исследования методов повышения надежности // Вестник Ижевск. гос. техн. ун-та. – 2012. – № 2. – С. 153–156.
  12. Тюрин С.Ф. Функционально-полные толерантные булевы функции // Наука и технология в России. – 1998. – № 4. – С. 7–10.
  13. Тюрин С.Ф. Проблема сохранения функциональной полноты булевых функций при «отказах» аргументов // Автоматика и телемеханика. – 1999. – № 9. – С. 176–186.
  14. Программируемое логическое устройство: пат. № 2146840 Рос. Федерация / С.Ф. Тюрин, В.А. Несмелов, В.А. Харитонов [и др.]; опубл. 20.03.2000. Бюл. № 8.
  15. Тюрин С.Ф., Громов О.А. Базисный элемент программируемых логических интегральных схем // Вестник Ижевск. гос. техн. ун-та. – 2010. – №3. – С. 122–126.
  16. Тюрин С.Ф., Греков А.В., Громов О.А. Определение функционально-полных толерантных булевых функций четырёх аргументов с учётом модели замыканий переменных // Доклады Академии военных наук. – 2011. – №5(49). – Саратов, 2011.– С. 35–44.
  17. Функционально-полный толерантный элемент: пат. № 2449469 Рос. Федерация / С.Ф. Тюрин, О.А. Громов, А.В. Греков; опубл. 27.04.2012. Бюл. № 12.
  18. Функционально-полный толерантный элемент: пат. № 2438234 Рос. Федерация / С.Ф. Тюрин, О.А. Громов; опубл. 27.12.2011. Бюл. № 36.
  19. Тюрин С.Ф., Громов О.А., Греков А.В. Функционально-полный толерантный элемент ФПТ // Научно-технические ведомости Санкт-Петербург. гос. политехн. ун-та. – 2011. – № 1(115). – С. 24–31.
  20. Тюрин С.Ф., Громов О.А., Греков А.В., Сулейманов А.А. Функционально-полный толерантный элемент. Решение о выдаче патента на изобретение от 13.03.2013 г. по заявке № 2012125400/08 (038968) от 19.06.2012 г.
  21. Тюрин С.Ф., Греков А.В., Коржев В. С. Скользящее резервирование с восстановлением на основе элементов с избыточным базисом // Научно-технические ведомости Санкт-Петербург. гос. политехн. ун-та. – 2012. – № 5(157). – С. 38–44.
  22. Городилов А.Ю., Понуровскiй I.С., Тюрiн С.Ф. Повышение отказоустойчивости FPGA путём реконфигурации работоспособных элементов// Радiоелектроннi i комп’ютернi системы. – 2013. – № 1(60). – С. 172–176.

Statistics

Views

Abstract - 18

PDF (Russian) - 14

Refbacks

  • There are currently no refbacks.

Copyright (c) 2013 Tyurin S.F., Gromov O.A., Gorodilov A.Y.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies