Системная реализация логики в ПЛИС 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.