PROGRAMMABLE LOGIC ELEMENTS OF FPGA FOR REALIZATION SYSTEM OF LOGICAL FUNCTIONS

Abstract


The article introduces the research of the architecture of programmable logic integrated circuits based on the Look-Up Table. There is described the existing problem of programmable logic integrated circuits of the type field programmable gate array, which consists in the lack of orientation of logic elements based on LUT to the system implementation of logic functions. The article describes in detail LUT with one variable, characterizes it, reports the realization of orthogonality of signals in the branches of the tree of transistors. There is proposed an improved method of implementation systems of logical functions defined in a perfect disjunctive normal form in the field programmable gate array based on signal transmission in the other direction. The DC-LUT element is offered, a detailed description of the structure is given, as well as its characteristic. Realization of systems of logic functions is provided by a block of disjunctions of the constituent of a logical function, its description is also given. A new DNF-LUT is proposed for implementation the functions of a large number of variables. There is described an improved structure of the new DNF-LUT modification, which consists of the adaptation to the level of the transmitting transistors used in the LUT and the original encoding of conjunctions in disjunctive normal form. The programming of one variable for the proposed structure of DNF-LUT is considered. There is drawn a conclusion about the advisability of applying advanced methods for the implementation of systems of logic functions in programmable logic integrated circuits of the field programmable gate array type.

Full Text

Введение. В настоящее время для реализации цифровых элементов и устройств вычислительной техники, а также систем управления широко используются программируемые логические интегральные схемы (ПЛИС). Большинство ПЛИС типа 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 защищено патентом РФ. Целесообразно выполнить моделирование и получить оценки сложности для последующей оптимизации.

About the authors

R. V Vikhorev

Perm scientific industrial instrument-making company

S. F Tyurin

Perm National Research Polytechnic University

References

  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.

Statistics

Views

Abstract - 14

PDF (Russian) - 6

Refbacks

  • There are currently no refbacks.

Copyright (c) 2017 Vikhorev R.V., Tyurin S.F.

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