Системная реализация логики в ПЛИС FPGA
Оценка по сложности известной и предложенных реализаций логического элемента программируемых логических интегральных схем типа FPGA. Применение дешифратора DC LUT для реализации логических функций по аппаратным затратам при некотором увеличении задержки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 26.04.2019 |
Размер файла | 580,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Системная реализация логики в ПЛИС FPGA
Современные программируемые логические схемы (ПЛИС) типа FPGA (field-programmable gate array) содержат конфигурируемые логические блоки (КЛБ) [1], состоящие из логических элементов ЛЭ. Логический элемент ЛЭ ПЛИС FPGA - это постоянное запоминающее устройство ПЗУ (LUT - Look Up Table), представляющее собой мультиплексор (дерево мультиплексоров), входы данных которого настраиваются так называемыми конфигурируемыми ячейками памяти [1, 2]. Обычно используются мультиплексоры на 4, 5 переменных, уже используются LUT на 6, 7 переменных.
На рис. 1 с целью упрощения дальнейших рассуждений представлена структура LUT всего на две переменные.
программируемый интегральный схема дешифратор
Рис. 1. Транзисторная схема LUT с числом входов =2 (мультиплексор 4-1)
Настройка на требуемую логическую функцию осуществляется путём записи в ячейки конфигурационной памяти SRAM значений 0 либо 1 в соответствии с таблицей истинности, так что:
Недостатком такой структуры LUT FPGA является то, что она реализует логические функции в совершенной дизъюнктивной нормальной форме (СДНФ), что приводит к значительным аппаратным затратам при увеличении числа переменных. Отсутствует возможность реализации систем логических функций в одном ЛЭ.
Дешифратор DC-LUT
Дешифратор как структура, обратная LUT, может позволить реализовать системы логических функций. Предложим и оценим реализацию такой структуры.
Транзисторная схема, «обратная» структуре, изображенной на рис. 1, может быть получена путём разворота LUT на 1800, причём выход - инвертор будет слева входом, который, например, «зануляется», а входы - четыре левых инвертора - будут выходами (рис. 2).
Рис. 2. Транзисторная схема - дешифратор DC-LUT, структура, «обратная» структуре рис. 1
Тогда выходы 0, 1, 2, 3 активируются при наборе соответствующего кода на входах адреса х1, х2. Таким образом, реализуется унитарный код, например 0111 при нулевых адресных сигналах. Тем более что в КМДП транзисторах, используемых в LUT при одинаковых топологических характеристиках, стоки и истоки транзисторов фактически эквивалентны.
Получаем дешифратор, причём демультиплексор можно получить, если на вход левого инвертора подавать бит данных d. Далее, m раз объединяя по ИЛИ соответствующие выходы 0, 1, 2, 3, получим реализацию постоянной памяти (ПЗУ, ROM) на 4 m-разрядных ячейках, например на четырех четырёхразрядных ячейках (рис. 3).
Рис. 3. ПЗУ на четыре четырёхразрядных ячейки
В структуре, изображённой на рис. 3, программируются связи 0, 1, 2, 3 (ненужные удаляются) с соответствующими элементами ИЛИ. Если эти связи могут изменяться - получим перепрограммируемое ПЗУ, т.е. реализуются 4 функции (f0-f3) 4 переменных. Такое программирование аналогично программированию межсоединений [1].
Рис. 4. Программируемые межсоединения с 16 направлений (SR0…15 конфигурационная память SRAM)
Причём, поскольку выходы 0, 1, 2, 3 ортогональны, выполняется условие активирования не более одной связи в каждый момент времени.
Структура на рис. 2 отличается от структуры на рис. 1 следующим: в LUT (рис. 1) всегда активирована одна из цепочек в дереве передающих транзисторов к выходному инвертору, который принимает значение 0 или 1 в зависимости от настройки SRAM. В структуре рис. 2 также активирована одна из цепочек в обратном дереве передающих транзисторов, но, поскольку инверторов много, то, вход инверторов неактивных цепочек фактически «оборван». Поэтому необходимо для каждого выходного инвертора создать альтернативную цепочку, гарантированно переводящую его выход, например, в единицу. Для этого предлагается выражение, двойственное конъюнкции, описывающей соответствующую цепочку в обратном дереве.
Так, для выхода 0 - выражение 2
получаем
Тогда это будет выглядеть так (рис. 5).
Рис. 5. Нулевой разряд DC LUT2 с альтернативной цепочкой
Известный ЛУТ на n переменных LUTn без учёта коммутаций входных переменных оценивается следующим образом.
Транзисторов в дереве всего
(4)
Учтём настройки входов - на каждый в ячейке SRAM - 6 транзисторов:
(5)
Учтём инверторы по входам + входные выходные инверторы (в каждом 2 транзистора), получим всего в LUTn:
(6)
Преобразуя, получаем итого
(7)
Проведём расчёт для предлагаемого DC LUTn. Транзисторов в обратном дереве столько же:
(8)
Далее учитываем транзисторы во всех инверторах (в каждом - два транзистора):
(9)
Плюс межсоединения для m разрядов, на каждое необходима ячейка конфигурационной памяти, содержащая 6 транзисторов, да ещё инвертор:
(10)
(11)
Задержка увеличивается по сравнению с LUTn всего на 2 транзистора.
Логический элемент ПЛИС - FPGA на основе ДНФ реализации логических функций с использованием передающих КМДП транзисторов
В работах [3, 4] предложена ДНФ-реализация логики на основе аппаратно реализованного алгоритма ПЛМ - программируемой логической матрицы с использованием в качестве базисных функционально-полных толерантных (ФПТ) КМДП-элемен-тов. Для реализации такого подхода с использованием МОП передающих транзисторов предложены блок программируемой конъюнкции (матрица «И»), в котором требуемая j-я конъюнкция n переменных по каждой i-ой переменной будет формироваться с использованием двух бит конфигурационной памяти [5] (рис. 6).
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
а) б)
Рис. 6. Логический элемент ПЛИС - FPGA на основе ДНФ реализации логических функций с использованием передающих транзисторов а) матрица «И», б) матрица «ИЛИ»
В набираемую цепочку входит либо переменная Si, либо её инверсия (неSi), либо эта переменная отсутствует. Тогда, например, по первой переменной первой конъюнкции, S1.1=1, (неS1.1)=0 для S1, по второй переменной S2.1=0, (неS2.1)=1 для (неS2), а по третьей, отсутствующей переменной S3.1=1, (неS3.1)=1 для (~). То есть соответствующий передающий транзистор будет открыт всегда, на любом наборе, и ортогональность цепей к нему соблюдается.
В m блоках программируемой функции (матрица «ИЛИ»), например в первом, в конфигурационные ячейки F1.w (w=1…k) записывается единица, если эта w-конъюнкция входит в функцию, иначе записывается ноль. Так, для суммы по модулю два трёх переменных S0S1S2 настройка матриц ЛЕ-ДНФ определяется по данным табл. 1, 2.
Таблица 1. Матрица «И» для ЛЕ-ДНФ
№ |
S1.1 |
неS1.1 |
S2.1 |
неS2.1 |
S3.1 |
неS3.1 |
Конъюнкция |
|
1 |
1 |
0 |
1 |
0 |
1 |
1 |
S1S2 |
|
2 |
1 |
1 |
1 |
0 |
1 |
0 |
S2S3 |
|
3 |
1 |
0 |
1 |
1 |
1 |
0 |
S1S3 |
|
4 |
0 |
1 |
0 |
1 |
1 |
1 |
(неS1) (неS2) |
Таблица 2. Матрица «ИЛИ» для ЛЕ-ДНФ
№ |
Fi.1 |
Fi.2 |
Fi.3 |
Fi.4 |
Функция |
|
1 |
1 |
1 |
1 |
0 |
i=1; S1S2 или S2S3 или S1S3 |
|
2 |
0 |
0 |
1 |
1 |
i=2; S1S3 или (неS1) (неS2) |
|
Оценим аппаратные затраты на реализацию логического элемента ПЛИС - FPGA на основе ДНФ реализации m логических функций, содержащих не более k конъюнкций n переменных.
Сравнение сложности вариантов реализации LUT для систем логических функций
Сравним по сложности известный (L) и предложенные варианты (Ldc - на основе дешифратора, L dnf - на основе ДНФ) реализации LUT для систем логических функций при различных параметрах числа переменных n, количества функций m, количества конъюнкций k. Так, при m = k =8, n=4 L dnf немного уступает по сложности Ldc, но при n4 значительно опережает два других варианта, причём известная реализация (L) всегда хуже (рис. 7).
Рис. 7. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = k =8
При m = k =16, n = 4 L dnf сравним с известным LUT, но при n5 лучше других вариантов (рис. 8).
Рис. 8. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = k =16
При m =8, k =16 L dnf только при n8 лучше других вариантов (рис. 9).
Рис. 9. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 8, k =16
При увеличении числа функций и относительно небольшом числе конъюнкций L dnf выигрывает уже при небольшом n (рис. 10, 11).
Рис. 10. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 16, k =8
Рис. 11. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 24, k =24
Но при большом k относительно n выигрыш возможен при достаточно больших n (рис. 12).
Рис. 12. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 8, k =24
Однако в области больших n LUT ДНФ является безусловным фаворитом (рис. 13, 14, 15).
Рис. 13. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 16, k =32, n=4…16
Рис. 14. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 32, k =64, n=4…32
Рис. 15. Сравнение аппаратных затрат в транзисторах известной структуры LUTn (L), DC LUTn (Ldc) и LUT ДНФ (L dnf) при m = 32, k =64, n=4…64
Таким образом, системная реализация логических функций в предлагаемой структуре DC LUT, обратной существующей структуре мультиплексора - генератора функций n переменных ПЛИС типа FPGA (LUT FPGA) предпочтительней известной по аппаратным затратам при незначительном увеличении задержки. Логический элемент ПЛИС - FPGA на основе ДНФ по сравнению с LUT FPGA и DC LUT при небольшом числе конъюнкций даже при небольших n.
При этом существующий ЛЕ и DC LUT фактически не могут реализовать даже 16 разрядные функции, а LUT ДНФ имеет приемлемые затраты и для 64-разрядных функций. А быстродействие LUT ДНФ так же, как и известного, определяемого в основном длиной цепочки передающих транзисторов - n, определяется цепочкой транзисторов в блоках программируемых конъюнкций - это тоже n, а цепочки в блоках программируемых функций содержат всего один транзистор.
Список литературы
программируемый интегральный схема дешифратор
1. Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри. [Электронный ресурс]. URL: http://www.kit-e.ru/articles/plis/2010_11_56.php (дата обращения: 12.11.12).
2. Look up table implementation of fast carry for adders and counters: US 005274581A, 28.12.1993.
3. Тюрин С.Ф., Греков А.В., Набатов А.В. Микропрограммно-аппаратное восстановление логики программируемых логических интегральных схем с использованием функционально-полных толерантных элементов // Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление. 2012, №1 (140). С. 107-112.
4. Тюрин С.Ф., Байдаров А.А., Морозов А.М., Набатов А.В. Моделирование в системе Квартус-2 конфигурируемого логического блока на основе ДНФ представления систем логических функций с использованием функционально-полных толерантных элементов // Информационно-измерительные и управляющие системы. 2012. №3. С. 44-50.
5. Тюрин С.Ф., Понуровский И.С. Логический элемент ПЛИС FPGA для реализации ДНФ // Вестник Ижевского государственного технического университета. 2013. №2. С. 95-98.
Размещено на Allbest.ru
Подобные документы
Применение математических методов для решения логических задач и построения логических схем. Определение и реализация булевых функций. Основные схемы функциональных элементов. Программируемые логические матрицы. Правила составления таблицы истинности.
курсовая работа [821,6 K], добавлен 19.03.2012Изучение логических операций и правил их преобразований. Моделирование цифровых схем, состоящих из логических вентилей. Способы описания работы логического устройства - таблицы истинности, временные диаграммы, аналитические функции, цифровые схемы.
лабораторная работа [2,1 M], добавлен 02.03.2011История развития логических схем с программируемой и репрограммируемой структурами, рост уровня их интеграции и взаимосвязь между ними. Краткий обзор основных семейств Плис фирмы Xilinx. Детальный обзор архитектур и характеристик серий семейства Spartan.
контрольная работа [1,2 M], добавлен 13.06.2013Характеристика графических возможностей пакета MS Excel. Сущность MS Accses. Анализ систем счисления и арифметические операции над ними. Модифицированный, дополнительный и обратный коды. Принципы построения логических схем, изучение логических операций.
курсовая работа [2,3 M], добавлен 25.03.2015Реализация детерминированных переходных процессов c погрешностью измерения. Сопоставление корреляционных функций переходных процессов с типовыми по виду их реализаций и перенос областей на данные реализации. Применение реализаций в качестве моделей.
отчет по практике [454,0 K], добавлен 21.07.2012Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016Проектирование арифметико-логических устройств (АЛУ). Отладка описания логических схем на языке VHDL. Классификация АЛУ по способу представления чисел, характеру использования элементов и узлов. Список стандартных функций АЛУ, его описание на языке VHDL.
лабораторная работа [633,4 K], добавлен 11.03.2014Основные понятия алгебры логики. Логические основы работы ЭВМ. Вычислительные устройства как устройства обработки информации. Основные формы мышления. Обзор базовых логических операций. Теоремы Булевой алгебры. Пути минимизации логических функций.
контрольная работа [62,8 K], добавлен 17.05.2016Логическая равносильность преобразования, его применение к математическим доказательствам. Применение аппарата булевских функций к синтезу комбинационных схем. Вычисление логических операций выполняемых микропроцессором. Значение истинности высказываний.
методичка [147,4 K], добавлен 24.12.2010Генератор для входных параметров логических элементов. Ключевые понятия и принципы конструирования функциональных схем электронных устройств. Схемы некоторых устройств компьютера. Творческая мастерская Excel-графики, вентильные сказки братьев Гейтс.
методичка [2,1 M], добавлен 16.03.2014