ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ ПЛИС FPGA ДЛЯ РЕАЛИЗАЦИИ СИСТЕМ ЛОГИЧЕСКИХ ФУНКЦИЙ

Аннотация


Исследована архитектура программируемых логических интегральных схем, в основе которой использована Look-Up Table. Описана существующая проблема программируемых логических интегральных схем типа field programmable gate array, которая заключается в неориентированности логических элементов, базирующихся на LUT на системную реализацию логических функций. В статье описывается LUT на одну переменную, дается его характеристика, описывается реализация ортогональности сигналов в ветвях дерева передающих транзисторов. Предлагается усовершенствованный метод реализации в field programmable gate array систем логических функций, заданных в совершенной дизъюнктивной нормальной форме, основанный на передаче сигнала в другом направлении. Предлагается элемент DC-LUT, приводится подробное описание структуры, а также его характеристика. Реализацию систем логических функций обеспечивает блок дизъюнкций конституент логической функции, описание которого так же приводится. Для реализации функций большого числа переменных предлагается новый ДНФ-LUT. Описывается усовершенствованная структура нового ДНФ-LUT, модификация которого заключается в том, что выполнена адаптация к уровню передающих транзисторов, используемых в LUT, и применено оригинальное кодирование конъюнкций в дизъюнктивной нормальной форме. Рассматривается программирование одной переменной для предлагаемой структуры ДНФ-LUT. Делается вывод о целесообразности применения усовершенствованных методов для реализации систем логических функций в программируемых логических интегральных схемах типа field programmable gate array.

Полный текст

Введение. В настоящее время для реализации цифровых элементов и устройств вычислительной техники, а также систем управления широко используются программируемые логические интегральные схемы (ПЛИС). Большинство ПЛИС типа FPGA (Field-programmable gate array) основано на так называемых Look-Up Tables (LUTs), или таблицах истинности [1-7]. Однако существующие LUTs реализуют только одну логическую функцию, заданную в СДНФ, и не ориентированы на системную реализацию, так как для реализации систем из m функций потребуется m логических элементов, что, в свою очередь, ведет к значительным аппаратным затратам. В связи с этим предлагаются усовершенствованные методы реализации систем логических функций в СДНФ, а также в ДНФ, которые позволят получить существенный выигрыш в аппаратных затратах. Усовершенствованный метод реализации в FPGA систем логических функций, заданных в СДНФ. Как было изложено, логические элементы (ЛЭ) ПЛИС типа FPGA базируются на LUTs, которые реализованы на мультиплексоре, представляющем из себя дерево передающих транзисторов [16]. Подавая на входы данных настраивающие константы, мы можем реализовать любые логические функции. Логическая функция, которую реализует простейший 1-LUT, выглядит следующим образом: (1) В дереве передающих транзисторов, реализующих (1), в зависимости от сигнала х на входе инвертора функции сигналы всегда ортогональны, т.е. со входов настройки всегда подаётся либо 0, либо 1, и нет ситуации, когда оба передающих транзистора по х и не х не активированы. Ранее предлагалось выполнить реверс (1) для дешифрации входного набора с обеспечением ортогональности по каждой переменной в каждой ветви дерева [8]: (2) Для программирования значений m логических функций предлагается: (3) где h - настройка вхождения конституент i в данную функцию из m функций системы. Элементарный DC LUT на одну переменную (1- DC LUT) получается путём передачи сигнала в элементарном 1- LUT в другом направлении [9-16], получаем дешифратор (DC). Логическая функция, которую реализует DC LUT, можно записать следующим образом: (4) Усовершенствованный метод реализации в FPGA систем логических функций, заданных в ДНФ. Для реализации функций большого числа переменных предлагается программирование не в СДНФ, а в ДНФ. Предлагаемый новый ДНФ-LUT представляет собой конфигурируемую пользователем структуру, аналогичную программируемой логической матрице ПЛМ, для программирования которой необходим специальный программатор [17-23]. Конфигурирование ДНФ-LUT предполагается таким же, как и в обычном LUT, путём загрузки оперативной памяти ОЗУ (SRAM). На рис. 1 представлена структура ДНФ-LUT. Таким образом, вместо загрузки значений таблицы истинности программируются лишь значения конъюнкций длиной n, где n - число переменных m логических функций. Вхождение k конъюнкций в m функций также программируется настройкой функций. По заданному входному набору (вектору) n переменных блоки конъюнкций вычисляют значения k конъюнкций, которые далее формируют «по ИЛИ» значения m логических функций. Рис. 1. Логический элемент ДНФ-LUT Рассмотрим программирование одной i-й переменной. Предлагается выражение: (5) В выражении (9) , - настройка вхождения i-й переменной из n переменных в j-ю конъюнкцию системы из m функций; - входная константа, которая должна формироваться при «правильном» значении переменной либо её несущественности; - признак того, что заданная переменная имеет «неправильное» значение. Этот признак передаётся дальше, он участвует в формировании значения конъюнкции. Суть в том, что в случае несущественности переменной значение выражения (5) было эквивалентно значению выражения при правильном заданном значении переменной, т.е. если переменная существенна и должна быть равна 1 (без инверсии), при переменная существенна и должна быть равна 0 (с инверсией), при переменная не существенна. Значения запрещены. Рассмотрим пример. Пусть i-я переменная должна быть 1. Настройка для этого случая приведена в табл. 1. Таблица 1 Задание значения 1 для i-й переменной 1 0 1 0 1 0 1 1 0 1 0 0 1 0 Рассмотрим подробно. Пусть заданная переменная равна 1: (6) Пусть заданная переменная равна 0: (7) Пусть i-я переменная должна быть 0. Настройка для этого случая приведена в табл. 2: Таблица 2 Задание значения 0 для i-й переменной 0 1 1 0 0 1 1 0 1 1 0 1 0 0 Рассмотрим подробно. Пусть заданная переменная равна 0: (8) Пусть заданная переменная равна 1: (9) Если заданная переменная несущественна (табл. 3). Таблица 3 Задание несущественной i-й переменной 1 1 1 0 1 0 1 1 1 1 0 0 1 1 Пусть заданная несущественная переменная равна 1: (10) Пусть заданная несущественная переменная равна 0: (11) Выражения (5) для всех переменных данной конъюнкции могут быть объединены последовательно: (12) Причём din = 1 (5) для старшей переменной и передаёт логическую единицу, которая транслируется на выход всей цепочки. При параллельной реализации для всей заданной конъюнкции: (13) В первом случае (6) конъюнкция «набирается», т.е. активируется соответствующая цепочка, если все переменные «правильные» - либо несущественны, либо равны заданному значению, т.е. значение сигнала на её выходе равно логической единице. Если хотя бы одна переменная «неправильная», цепочка не активируется, т.е. значение сигнала на её выходе равно логическому нулю. Разрыв цепочки недопустим. Во втором случае конъюнкция не активируется, если хотя бы она параллельная цепочка «неправильная». Выражения (8) или (9) описывают условия активирования соответствующей j-й конъюнкции системы из m функций. Для программирования значений m логических функций в ДНФ-LUT: (14) Таким образом, конфигурирование осуществляется не по 2n наборам функций n переменных, а более компактно в случае, если количество конъюнкций в системе функций гораздо меньше 2n. Выводы. Модификация метода реализации систем логических функций в ДНФ на базе ПЛМ заключается в том, что выполнена адаптация к уровню передающих транзисторов, используемых в LUT, и применено оригинальное кодирование конъюнкций ДНФ, обеспечивающее формирование значения конъюнкции. Предлагаемое техническое решение ДНФ-LUT защищено патентом РФ. Целесообразно выполнить моделирование и получить оценки сложности для последующей оптимизации.

Об авторах

Р. В Вихорев

ПАО «Пермская научно-производственная приборостроительная компания»

С. Ф Тюрин

Пермский национальный исследовательский политехнический университет

Список литературы

  1. Тюрин С.Ф. О реализации логических функций шести переменных в адаптивном логическом модуле FPGA STRATIX III // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2016. - № 19. - С. 41-54.
  2. Тюрин С.Ф. Дерево транзисторов для реализации систем логических функций // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2015. - № 2(14). - С. 37-45.
  3. Тюрин С.Ф. Повышение достоверности функционирования логических элементов LUT FPGA // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2014. - № 3(11). - С. 5-33.
  4. Угрюмов Е.П. Цифровая схемотехника: учеб. пособие. - СПб.: БХВ-Петербург, 2004. - 518 с.
  5. Строгонов А., Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри [Электронный ресурс]. - URL: http://www.kit-e.ru/articles/plis/2010_11_56.php (дата обращения: 16.12.2014).
  6. Золотуха Р., Комолов Д. Stratix III - новое семейство FPGA фирмы Altera [Электронный ресурс]. - URL: http://kit-e.ru/assets/files/pdf/2006_12_30.pdf (дата обращения: 28.11.2015).
  7. Использование ресурсов ПЛИС Stratix III фирмы Altera при проектировании микропроцессорных ядер [Электронный ресурс]. - URL: file:///C:/Users/%D0%A2%D1%8E%D1%80%D0%B8%D0%BD/ Desktop/%D0%A6%D1%8B%D0%B1%D0%B8%D0%BD%2010%20% D0%B3%D0%BE%D0%B4.pdf (дата обращения: 27.11.2015).
  8. Тюрин С.Ф., Вихорев Р.В. Усовершенствованный метод реализации в FPGA систем логических функций, заданных в СДНФ [Электронный ресурс] // Инженерный вестник Дона. - 2017. - № 1. - URL: ivdon.ru/ru/magazine/archive/n1y2017/4044 (дата обращения: 27.11.2015).
  9. Пат. 2573732 Рос. Федерация: МПК G06F 7/57 H03K 19/173. Программируемое логическое устройство / заяв. и патентообл. С.Ф. Тюрин, Р.В. Вихорев. - № 2014107336/08, заявл. 25.02.2014; опубл. 27.01.2016. Бюл. № 3.
  10. Пат. 2602780 Рос. Федерация: МПК G06F 7/57 H03K 19/173. Программируемое логическое устройство / заяв. и патентообл. С.Ф. Тюрин, Р.В. Вихорев, А.Ю. Плотникова. - № 2014115537/08, заявл. 17.04.2014; опубл. 20.11.2016. Бюл. № 32.
  11. Пат. 2547229 Рос. Федерация: МПК G06F 7/57 H03K 19/173. Программируемое логическое устройство / заяв. и патентообл. С.Ф. Тюрин, А.Ю. Городилов, Р.В. Вихорев. - № 2014120558/08, заявл. 21.05.2014; опубл. 10.04.2015. Бюл. № 10.
  12. Тюрин С.Ф., Прохоров А.С. Усовершенствованный логический элемент FPGA [Электронный ресурс] // Вестник Воронеж. гос. ун-та. Сер. Системный анализ и информационные технологии. - 2016. - № 4. - URL: vestnik.vsu.ru/pdf/analiz/2016/04/2016-04-12.pdf (дата обращения: 27.01.2017).
  13. Тюрин С.Ф., Городилов А.Ю., Данилова Е.Ю. Диагностирование логического элемента DC LUT FPGA [Электронный ресурс] // Инженерный вестник Дона. - 2016. - № 1. - URL: ivdon.ru/ru/ magazine/archive/n2y2014/2313 (дата обращения: 27.01.2017).
  14. Тюрин С.Ф., Прохоров А.С. Логический элемент FPGA, вычисляющий две функции одновременно // Проектирование и технология электронных средств. - 2016. - № 2. - С. 18-23.
  15. Тюрин С.Ф. Функционально-полные толерантные элементы ПЛИС FPGA для аэрокосмических вычислительных комплексов // Вестник Сибир. гос. аэрокосм. ун-та им. акад. М.Ф. Решетнева. - 2016. - № 2. - С. 484-489.
  16. FPGA Architecture [Электронный ресурс]. - URL: altera.com/en_US/pdfs/literature/wp/wp-01003.pdf (дата обращения: 27.01.2017).
  17. Vikhorev R. Universal logic cells to implement systems functions // Proceedings of the 2016 IEEE North West Russia Section Young Researchers in Electrical and Electronic Engineering Conference, EIConRusNW 2016. - 2016. - С. 373-375.
  18. Тюрин С.Ф., Городилов А.Ю., Вихорев Р.В. Модифицированный логический элемент LUT FPGA // Вестник Перм. ун-та. Сер. Математика. Механика. Информатика. - 2014. - № 1(24). - С. 69-74.
  19. Тюрин С.Ф., Плотникова А.Ю., Вихорев Р.В. Анализ надёжности логических элементов с избыточным базисом при учёте резервирования входов // Вестник Перм. ун-та. Сер. Математика. Механика. Информатика. - 2014. - № 4(27). - С. 104-110.
  20. Вихорев Р.В., Зажигин Ю.Е. Обзор методов тестирования и диагностики FPGA // Актуальные вопросы образования и науки: сб. науч. тр. по материалам междунар. науч.-практ. конф.: в 14 ч. Ч. 9. - Тамбов: Изд-во ТРОО «Бизнес-Наука-Общество» - 2014. - С. 44-47.
  21. Тельпухов Д.В., Рухлов В.С., Рухлов И.С. Исследование и разработка методов оценки сбоеустойчивости комбинационных схем, реализованных в базисе ПЛИС [Электронный ресурс] // Инженерный вестник Дона. - 2016. - № 1. - URL: ivdon.ru/ru/magazine/archive/ n1y2016/3504 (дата обращения: 27.02.2017).
  22. Logic Array Blocks and Adaptive Logic Modules in Stratix III Devices [Электронный ресурс]. - URL: altera.com.cn/content/dam/ altera_www/global/zh_CN/pdfs/literature/hb/stx3/ stx3_siii51002.pdf (дата обращения: 27.02.2017).
  23. Пат. 2544750 Рос. Федерация: МПК G06F 7/57 H03K 19/173. Программируемое логическое устройство / заяв. и патентообл. С.Ф. Тюрин. - № 2014120774/08 22.05.2014 опубл. 20.03.2015. Бюл. № 8.

Статистика

Просмотры

Аннотация - 36

PDF (Russian) - 15

Ссылки

  • Ссылки не определены.

© Вихорев Р.В., Тюрин С.Ф., 2017

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах