ДИАГНОСТИРОВАНИЕ ЛОГИКИ ПЛИС С НОВЫМИ ЭЛЕМЕНТАМИ
- Авторы: Данилова Е.Ю1
- Учреждения:
- Пермский государственный национальный исследовательский университет
- Выпуск: № 31 (2019)
- Страницы: 35-50
- Раздел: Статьи
- URL: https://ered.pstu.ru/index.php/elinf/article/view/2515
- DOI: https://doi.org/10.15593/.v0i31.2515
- Цитировать
Аннотация
Программируемые логические интегральные схемы широко применяются в цифровой аппаратуре, в том числе в аппаратуре критического применения, например, в медицине, авионике, в системах управления космическими аппаратами, атомными электростанциями, в военной и специальной аппаратуре. В настоящее время количество логических элементов в наиболее передовых образцах ПЛИС приближается к десяткам миллионов. Поэтому диагностика логики ПЛИС ответственного применения является весьма актуальной задачей. Эта задача усложняется тем, что количество переменных возрастает, и сейчас уже имеются отдельные элементы, реализующие функции шести, семи и даже восьми переменных. Следует ожидать дальнейшего увеличения размерности задачи, решаемой в одном логическом элементе. Существующие методы диагностирования логики ПЛИС базируются на граничном сканировании с помощью внешней аппаратуры по стандарту IEEE 1149.1, активно внедряются встроенные средства тестирования по стандарту IEEE P1500. Как правило, используется сравнение результатов вычислений в нескольких логических элементах, и, если результаты вычислений в одном из них отличаются от результатов, например, группы их трех элементов, то делается вывод о наличии неисправности в этом отдельном элементе. Все это занимает относительно много времени. Для некоторых областей применения такой подход неприемлем. В то же время методы и средства самоконтроля, а также ускоренного тестирования проработаны не в полной мере. Это же касается особенностей диагностирования новых логических элементов так называемой «зелёной логики». Хорошо зарекомендовавшие себя генетические алгоритмы требуют доработки с учетом этих новых факторов для совершенствования встроенного тестирования ПЛИС. В статье анализируются методы и средства диагностирования логики, программируемых логических интегральных схем для высоконадёжного применения. Показывается, что контролепригодность логических элементов можно обеспечить на базе предложенных новых схемных решений и модернизированных генетических алгоритмов. Ставится задача совершенствования научно-методического аппарата диагностирования логики ПЛИС, использующей новые логические элементы, на основе генетических алгоритмов.
Полный текст
Введение. Надежность [1] является одним из важнейших показателей качества объектов. Для её обеспечения широко используют контроль и диагностику [2]. Программируемые логические интегральные схемы (ПЛИС) [3] широко используются в цифровой аппаратуре, в том числе в высоконадёжной [4, 5]. В настоящее время количество логических элементов и адаптивных логических модулей в ПЛИС достигает нескольких миллионов, например, в таких микросхемах фирмы «Интел», как Agilex, Stratix [6, 7]. Стоимость некоторых подобных «самых продвинутых» ПЛИС достигает десятков тысяч долларов, хотя имеются и ПЛИС среднего и «эконом» класса (тысячи логических элементов) за несколько десятков долларов. Можно сказать, что стоимость ПЛИС в каком-то смысле пропорциональна количеству логических элементов. По мере сокращение технологических норм, а они приближаются к единицам нанометра, с увеличением сложности и размерности логических элементов (в настоящее время реализуются любые логические функции шести переменных и некоторые функции семи и даже восьми переменных), когда общее количество транзисторов составляет уже несколько миллиардов на одном кристалле, возрастают масштаб и сложность диагностирования и контроля. Стандарт IEEE P1500 предполагает разработку ПЛИС со встроенными средствами диагностирования [8, 9, 10]. В то же время актуальные задачи импортозамещения электронной компонентной базы требуют разработки микросхем, которые не уступают мировым аналогам и могут быть использованы в специальных областях. Таковы, например, ПЛИС серии 5578, выпускаемые Воронежским ОА КТЦ-«Электроника», которые не являются прямыми аналогами зарубежных ПЛИС, а микросхемы 5578XC14T и 24Т имеют свою архитектуру и свою среду конфигурирования [11]. Поэтому задачи совершенствования логики отечественных ПЛИС, в том числе путем аппаратно-программных средств диагностирования, являются крайне актуальными. 1. Анализ существующих методов и средств диагностирования логики ПЛИС. Тенденция разработки объектов, в том числе интегральных микросхем со встроенными средствами диагностического обеспечения [12], зародилась ещё в середине 80-х гг. ХХ в., когда были разработаны только первые поколения ПЛИС (программируемые логические матрицы ПЛМ, программируемая матрица логики ПМЛ и другие универсальные логические модули уже использовались с 70-х гг.). Техническое диагностирование (Technical diagnosis) позволяет определить техническое состояние объекта. При этом возможны следующие ответы: работоспособен/неработоспособен (это в узком смысле иногда называют контролем) либо указываются место и тип неисправности (это в узком смысле диагностика). Различают рабочее (ранее называвшееся функциональным, английского эквивалента нет в ГОСТ, можно сказать образно - онлайн-диагностирование) и тестовое техническое диагностирование (Testing) [2]. При рабочем диагностировании объект применяется по назначению (находится в рабочем состоянии [1]), а дополнительные технические средства, работая параллельно, оценивают его состояние [2]. Такое диагностирование наиболее затратное, но оно оправданно для систем критического применения, которые не могут быть остановлены для тестирования в процессе применения. При тестовом диагностировании объект по назначению не применяется (например, в процессе технического обслуживания или после фиксации неисправности с помощью некоторых дополнительных средств рабочего контроля), отключается от штатных входов-выходов, и специальные тестовые средства оценивают его состояние [2]. Для диагностики используется модель отказов (неисправностей). При этом отказ - событие, вызывающее состояние неисправности [1]. Одним из важнейших показателей является достоверность диагностирования (контроля) как степень объективного соответствия результатов диагностирования (контроля) действительному техническому состоянию объекта [2, 12]. Стандарт IEEE 1149.1, аппаратуру, вводимую которым, часто называют по рабочей группе, его разработавшей, JTAG (the Joint Test Action Group) [13], предполагает специальный последовательный интерфейс для ввода диагностических воздействий (тестов) и вывода тестовых реакций из микросхемы. Общая структура тестового диагностирования логики ПЛИС может быть описана в терминах стандарта IEEE 1500 [8], который предполагает Infrastructure Intellectual Property (I-IP) и уже начал применяться для систем на кристалле (SOPC). Предполагается также парадигма тестопригодного проектирования Design For Test - DFT. Если стандарт IEEE 1149.1 предполагает тестирование «извне», то стандарт IEEE 1500 вводит тестирование «внутри» на основе встроенных генераторов тестовых воздействий Automatic Test Pattern Generation ATPG [9, 10] (рис. 1). Рис. 1. Тестирование «внутри» по стандарту IEEE 1500 Таким образом, с помощью средства Fault Simulator моделируются (симулируются) неисправности, подаются тестовые наборы, получают ответы в виде таблицы Fault Detection Table. По таблице получают сигнатуры неисправностей. Если такие ответы будут получены без моделирования неисправностей, это будет свидетельствовать о соответствующем техническом состоянии инфраструктуры. Есть все основания ожидать в ближайшее время введения подобных средств и в ПЛИС. Основой логики ПЛИС типа FPGA (Field-Programmable Gate Array, по-русски ППВМ, программируемая пользователем вентильная матрица) являются так называемые LUT (Luck up Tables). LUT - это универсальный логический модуль, мультиплексор с настраиваемыми входами данных. Например, 1-LUT (на одну переменную) реализует любую функцию одной переменной : (1) где - настройка функции z(x), т.е. соответствующие значения из таблицы истинности функции z(x) . На рис. 2 изображён такой 1-LUT. Рис. 2. 1-LUT, реализующий любую логическую функцию одной переменной по настройке (конфигурации) Обозначим передающие транзисторы (pass transistors) дерева . Инверторы на рис. 2 предназначены в основном для усиления сигналов, передаваемым по ветвям дерева и по матрице коммутаций (x - из других элементов, блоков или с внешних выводов; - из конфигурационной памяти SRAM - static random access memory, это по-русски оперативное запоминающее устройство ОЗУ), не указанной на рис. 2. Кроме того, инвертор обеспечивает собственно инверсию сигнала переменной . Поэтому функцию (1) представим в развернутом виде: (2) где - переменные работоспособности 1-LUT, влияющие на результат вычислений. Полный (тривиальный) тест заключается в переборе значений и оценке значения z(x). Но он позволяет зафиксировать только факт неисправности. Для определения места неисправности необходим перебор всех переменных в соответствии с моделью отказов (неисправностей) Fault Model [14]. Это могут быть константные неисправности на уровне логического элемента - константа 0, константа 1 (stuck-at faults at faults: stuck-at-0, stuck-at-1) . Например, замыкание на шину питания или шину «Ноль вольт». Это могут быть неисправности на транзисторном уровне - постоянно открыт или постоянно закрыт (stuck on, stuck-closed; stuck-off, stuck-open) . Это могут быть замыкания линий связи (мостящие неисправности - bridging faults), с учетом «проводных» логических операций И, ИЛИ + доминирование одних линий над другими (wired-AND, wired-OR, dominant) [14]. Кроме этих «логических» неисправностей есть ещё и параметрические, например, изменение временных задержек или других параметров элементов и схем. Безусловно, для такого простого элемента, как 1-LUT, нет смысла искать место неисправности. Как говорится, «отказал, так отказал!». Но при большем числе переменных можно в ряде случаев использовать хотя бы половину элемента [15]. С точки же зрения надёжности все переменные работоспособности соединены последовательно, и любая их неисправность приведёт к неисправности LUT. Можно ограничиться учетом только транзисторов (не учитывая надёжность линий связи), поэтому, принимая распределение, например Вейбулла [16], получим вероятность безотказной работы 1-LUT: (3) 12 - суммарное количество транзисторов, - коэффициент распределения Вейбулла, l - интенсивность отказов одного транзистора, t - время. На самом деле, конечно, не каждая неисправность элементов на конкретном наборе приведет к неисправности z(x) на выходе. Если необходимо учитывать внешние связи, надо включить в формулу (3) соответствующие интенсивности отказов, например, так: (4) При отсутствии диагностики достоверность функционирования устройства равна вероятности безотказной работы. Обычно принимается допущение о том, что в объекте не более одного отказа, что позволяет снизить размерность задачи, но, однако, не всегда верно в случаях массированного воздействия негативных факторов. Существующие методы диагностирования логики ПЛИС основаны, как правило, на внешнем тестировании в соответствии со стандартом IEEE 1149.1 (JTAG) [13], либо предлагаются варианты введения элементов стандарта IEEE P1500 [8]. В ряде случаев это требует загрузки нескольких конфигураций ПЛИС. Хороший обзор методов диагностирования логики дан в работе [17], в которой предложена новая встроенная аппаратура (Built-in Self-Test - BIST), обнаруживающая любые единичные неисправности в LUT каждого конфигурируемого логического блока CLB путём перекрестного сравнения результатов вычислений четырех LUT. При этом дополнительные затраты площади кристалла CLB оцениваются авторами в 19 %, а увеличение потребляемой мощности - на 25 %. При этом сами логические элементы LUT остаются низменными. Используется также подход генетических алгоритмов в работах Ю.А. Скобцова [18, 19], Д.Е. Иванова. Такой подход, но с использованием новых элементов LUT, обеспечивающих как рабочее диагностирование [20], так и тестовое [21], исследован в диссертационной работе А.Ю. Городилова [22]. Однако в полной мере особенности и возможности новых элементов относительно их диагностики, включая [23-26], исследованы не были. 2. Новые логические элементы ПЛИС. Один из предложенных ранее логических элементов [23] использует ДНФ представление логической функции (реализуется система логических функций в ДНФ), который может конфигурироваться так же, как LUT. Показано, что использовать их целесообразно при большом количестве переменных n. Обозначим множество таких элементов . Следующий новый элемент основан на реализации дешифратора [24], что позволяет реализовывать систему m логических функций в СДНФ. Обозначим множество таких элементов DC-LUT . Предложен также LUT, реализующий сразу две функции от одних и тех же аргументов [25], множество таких элементов . Анализ всех этих элементов представлен в [26]. С целью повышения контролепригодности разработан LUT с самоконтролем [20], назовём такие элементы , а также LUT с одновременной реверсной проверкой всех ветвей дерева транзисторов [21], назовём такие элементы Введение самоконтроля [20] возможно и для остальных LUT-подобных элементов: . Рассмотрим реверсное тестирование [21] (рис. 3). Рис. 3. Реверсное диагностирование (Test=1) С целью усовершенствования реверсного тестирования предлагается введение средств выбора ветви (ранее все ветви активировались одновременно) (рис. 4, а) и с управлением отдельными адресными линиями (рис. 4, б). Обозначим такие модификации: . а б Рис. 4. Обратное диагностирование: а - (Test 1=1, Test 1=1) с возможностью выбора ветви дерева (Test 1=1, Test 1=0 ); б - с управлением отдельными адресными сигналами (Test 2,3,4) 3. Постановка задачи. Для диагностирования логики ПЛИС, включающих новые элементы, используем встроенные средства, обеспечивающие генетические алгоритмы GA определения технического состояния логики. В связи с этим возникает задача, с одной стороны, допустимого (DOP) снижения точности и/или быстродействия , увеличения объёма оборудования при максимизации достоверности диагностирования (t - общее время работы оборудования) с учетом увеличения интенсивности отказов (сбоев) за счет дополнительного вводимого оборудования. Таким образом, дано множество логических элементов М: (5) Требуется для встроенной аппаратуры разработать генетический алгоритм диагностирования М на основе заданной модели отказов (6) так, чтобы Выводы. Таким образом, существующий научно-методический аппарат диагностирования логики ПЛИС основан на тестировании традиционных элементов без учета возможностей рабочего самотестирования и реверсного тестирования сразу всех ветвей дерева передающих транзисторов, что позволяет ускорить поиск неисправностей. Кроме того, недостаточно проработаны вопросы диагностики элементов на основе ДНФ представлений систем логический функций и элементов с реализацией систем функций на основе СДНФ. Поставлена задач совершенствования генетических алгоритмов встроенного тестирования логики, включающей новые логические элементы с самоконтролем и реверсным тестированием.Об авторах
Е. Ю Данилова
Пермский государственный национальный исследовательский университет
Список литературы
- ГОСТ 27.002-2015. Надежность в технике. Основные понятия. Термины и определения. (Введ. 2017-03-01). - М.: Стандатинформ, 2016. - 23 с.
- ГОСТ 20911-89. Техническая диагностика. Термины и определения. - М.: Стандартинформ, 2009. - 11 с.
- A new FPGA architecture and leading-edge FinFET process technology promise to meet next-generation system requirements [Электронный ресурс]. - URL: https://www.intel.com/content/dam/www/programmable/ us/en/pdfs/literature/wp/wp-01220-hyperflex-architecture-fpga-socs.pdf (дата обращения: 04.05.2019).
- A radiation hardened reconfigurable FPGA [Электронный ресурс] / Shankarnarayanan Ramaswamy, Leonard Rockett, Dinu Patel [et al.]. - URL: https://pdfs.semanticscholar.org/57f8/ff540360eadceafc062797b7a01065f6f 9cc.pdf (дата обращения: 05.05.2019).
- Carmichael C. Triple module redundancy design techniques for virtex FPGAs [Электронный ресурс]. - URL: https://www.xilinx.com/ support/documentation/application_notes/xapp197.pdf (дата обращения: 03.05.2019).
- Intel® Agilex™ I-Series SoC FPGA Product Table [Электронный ресурс]. - URL: https://www.intel.ru/content/dam/www/programmable/us/ en/pdfs/literature/pt/intel-agilex-i-series-product-table.pdf (дата обращения: 03.05.2019).
- Intel® Stratix®10 GX/SX Product Table [Электронный ресурс]. - URL: https://www.intel.ru/content/dam/www/programmable/us/en/pdfs/literature/pt/stratix-10-product-table.pdf (дата обращения: 04.05.2019).
- Overview of the IEEE P1500 Standard / F. DaSilva, Y. Zorian, L. Whetsel, K. Arabi, R. Kapur [Электронный ресурс]. - URL: http://mesl.ucsd.edu/gupta/cse291-fpga/Readings/P1500.pdf (дата обращения: 04.05.2019).
- Хаханов В.И. Инфраструктура диагностического обслуживания SoC [Электронный ресурс] // Вестник Томск. ун-та. - 2008. - №4(5). - URL: http://sun.tsu.ru/mminfo/000063105/inf/05/image/05-074.pdf (дата обращения: 05.05.2019).
- Парфентий А.Н., Хаханов В.И., Литвинова Е.И. Модели инфраструктуры сервисного обслуживания цифровых систем на кристаллах // АСУ и приборы автоматики. - 2007. - Вып. 138. - С. 83-99.
- Строгонов А.В., Городков П.С. Особенности проектирования устройств цифровой обработки сигналов в базисе ПЛИС серии 5578 // Известия вузов. Электроника. - 2017. - Т. 22. - № 3. - С. 256-265. doi: 10.24151/1561-5405-2017-22-3-256-265
- Надежность и эффективность в технике: справочник: в 10 т. / pед. совет: В.С. Авдуевский (председат.) [и др.]. - М.: Машиностроение, 1986-1990. - Т. 9: Техническая диагностика. - М.: Машиностроение, 1987. - 352 с.
- IEEE Std 1149.1 (JTAG) - Texas Instruments [Электронный ресурс]. - URL: http://www.ti.com/lit/an/ssya002c/ssya002c.pdf (дата обращения: 04.05.2019).
- Fault models [Электронный ресурс]. - URL: http://www.eng.auburn.edu/~strouce/class/elec6970/BISTc2.pdf (дата обращения: 04.05.2019).
- Tyurin S.F. LUT's sliding backup // IEEE Transactions on Device and Materials Reliability. - Vol. 19. - Iss. 1. - P. 221-225. Published: MAR 2019. doi: 10.1109/TDMR.2019.2898724
- Weibull W. A statistical distribution function of wide applicability [Электронный ресурс]. - URL: https://pdfs.semanticscholar.org/ 88c3/7770028e7ed61180a34d6a837a9a4db3b264.pdf (дата обращения: 18.04.2019).
- Jahanirad H., Karam H. BIST-based test-ing and diagnosis of LUTs in SRAM-based FPGAs // Emerging Science Journal. - 2017. - Vol. 1, № 4. - Р. 217-219. doi: 10.28991/ijse-01125
- Cперанский Д.В., Скобцов Ю.А., Скобцов В.Ю. Моделирование, тестирование и диагностика цифровых устройств. - М.: ИНТУИТ, 2016. - 439 с.
- Иванов Д.Е. Исследование масштабируемости параллельных генетических алгоритмов построения идентифицирующих последовательностей цифровых устройств // Новые информационные технологии в исследовании сложных структур: материалы X Рос. конф. с междунар. участ. / Томск. гос. ун-т; Горно-Алтайск. гос. ун-т; Ин-т оптики атмосферы им. В.Е. Зуева СО РАН. - Томск, 2014. - С. 4-5.
- Программируемое логическое устройство: пат. Рос. Федерация №2547229 / С.Ф. Тюрин, А.Ю. Городилов, Р.В. Вихорев; опубл. 10.04.2015. Бюл. №10.
- Программируемое логическое устройство: пат. Рос. Федерация № 2573758 / С.Ф. Тюрин, А.Ю. Городилов, Е.Ю. Данилова; опубл. 27.01.2016. Бюл. №3.
- Городилов А.Ю. Методы и алгоритмы диагностирования и реконфигурации логики высоконадёжных ПЛИС: дис. … канд. техн. наук: 05.13.05 / Южно-Рос. гос. политехн. ун-т (НПИ) им. М.И. Платова. - Новочеркасск, 2016. - 201 с.
- Программируемое логическое устройство: пат. Рос. Федерация №2544750 / С.Ф. Тюрин; опубл. 20.03.2015. Бюл. №8.
- Программируемое логическое устройство: пат. Рос. Федерация №2573732 / С.Ф. Тюрин, Р.В. Вихорев; опубл. 27.01.2016. Бюл. №3.
- Программируемое логическое устройство: пат. Рос. Федерация №2637462 / С.Ф. Тюрин, А.С. Прохоров; опубл. 04.12.2017. Бюл. №34.
- Tyurin S. Green logic: green LUT FPGA concepts, models and evaluations // Green IT Engineering: Concepts, Models, Complex Systems Architectures, Studies in Systems, Decision and Control, V. Kharchenko, Y. Kondratenko, J. Kacprzyk (Eds.). - XIV. 355. - P. 147 illus. - Berlin, Heidelberg: Springer International Publishing. - 2017. - P. 241-261. doi: 10.1007/978-3-319-55595-9_12
Статистика
Просмотры
Аннотация - 336
PDF (Russian) - 34
Ссылки
- Ссылки не определены.