УДК 519.1(075.8)+510.6(075:8)

Моделирование логических элементов для реализации систем функций в ПЛИС FPGA

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

Россия, Пермь,

tyurinsergfeo@yandex.ru; -510

Описывается моделирование логических элементов для реализации систем функций в конфигурируемых логических блоках ПЛИС типа FPGA (field-programmable gate array) на основе дешифратора – DC LUT (Look Up Table) и ДНФ – конфигурируемого логического элемента. Моделирование выполняется в системе схемотехнического моделирования NI Multisim 10 фирмы National Instruments Electronics Workbench Group и подтверждает работоспособность предложенных технических решений.

Ключевые слова: логический элемент LUT ПЛИС FPGA, логический элемент на основе дешифратора – DC LUT, дизъюнктивная нормальная форма (ДНФ), совершенная ДНФ (СДНФ), ДНФ – конфигурируемый логический элемент ПЛИС FPGA, реализация систем логических функций, система схемотехнического моделирования NI Multisim 10 фирмы National Instruments Electronics Workbench Group.

Введение

Логический элемент (ЛЭ) программируемых логических схем (ПЛИС) FPGA (field-programmable gate array) представляет собой постоянное запоминающее устройство ПЗУ (LUTLook Up Table), выполненное на основе мультиплексора (дерева элементарных мультиплексоров на базе передающих транзисторов), входы данных которого настраиваются так называемыми конфигурируемыми ячейками памяти[1, 2]. Недостатком такой структуры LUT FPGA является отсутствие возможности реализации систем логических функций в одном ЛЭ.

НЕ нашли? Не то? Что вы ищете?

Дешифратор, как структура, обратная LUT, может позволить с помощью дополнительных аппаратных средств реализовать системы логических функций. Транзисторная схема, "обратная" структуре, может быть получена путём "разворота" LUT на 1800. Для каждого выходного инвертора создаётся альтернативная цепочка, гарантированно переводящая его выход в заданное логическое состояние. Далее, m раз объединяя по ИЛИ, соответствующие выходы из выходов получим реализацию системы из m n-разрядных логических функций на основе совершенных дизъюнктивных нормальных форм (СДНФ).

В [3, 4] предложена более экономичная ДНФ-реализация систем логических функций на основе аппаратно реализованного алгоритма ПЛМ – программируемой логической матрицы с использованием в качестве базисных функционально-полных толерантных (ФПТ) КМДП-элементов [5]. Для реализации такого подхода с использованием МОП передающих транзисторов предложены блок программируемой конъюнкции (матрица «И»), в котором требуемая j-я конъюнкция n переменных () по каждой i-й переменной будет формироваться с использованием двух бит конфигурационной памяти [6]. В набираемую цепочку входит либо переменная 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-конъюнкция входит в функцию, иначе записывается ноль.

Рассмотрим моделирование этих двух вариантов реализации систем логических функций.

1. Моделирование логического элемента для реализации систем логических функций в ПЛИС – FPGA - дешифратора DCLUT

Выполним моделирование одного разряда дешифратора DCLUT для n=2 (рис. 1) в системе схемотехнического моделирования NI Multisim 10 фирмы National Instruments Electronics Workbench Group [7,8].

На рис. 1 ключи S1, S2 моделируют переменные Х1, Х2. Ключ S1 через инвертор Х2 (транзисторы Q1,Q2) управляет передающим транзистором Х2’ (Q11). Ключ S2 через инвертор Х1 (транзисторы Q5, Q6) управляет передающим транзистором Х1’ (Q12). Инвертор на основе транзисторов Q3,Q4 обеспечивает логическую единицу в цепочку Х2’,Х1’.

Одновременно ключи S1, S2 управляют альтернативными цепочками КНФ – S1– передающим транзистором Х2 (Q9), S2– передающим транзистором Х1 (Q10), которые передают нулевой потенциал к выходному инвертору (Q7, Q8), если на их затворы подана единица так, что к нему всегда приложена одна единственная активная цепочка. На рис. 4.6 – последовательная цепочка не Х1, неХ2 активизирована и именно она формирует логическую единицу на вход инвертора (Q7, Q8), выход которого обнулён. Это соответствует активному уровню выхода z0 (дешифратор с инверсными выходами).

Рис. 1. Моделирование одного разряда дешифратора DCLUT для n=2 – последовательная цепочка не Х1, не Х2 активизирована, на выходе z0(Х5) – логический ноль

На рис. 2. представлено моделирование неактивной цепочки не Х1, неХ2 – ноль на затворе транзистора Х2’ (Q12), логический ноль передаётся транзистором Х1 (Q10), затворы транзисторов Q9, Q12 обнулены. Это соответствует не активному уровню выхода z0 (дешифратор с инверсными выходами).

Рис. 2. Моделирование одного разряда дешифратора DCLUT для n=2 – последовательная цепочка не Х1, неХ2 не активизирована – не Х1=0, на выходе z0(Х5) – логическая единица – не активный уровень

На рис. 3 представлено моделирование неактивной цепочки не Х1, неХ2 – ноль на затворе транзистора Х1’ (Q11), логический ноль передаётся транзистором Х2 (Q9).

Рис. 3. Моделирование одного разряда дешифратора DCLUT для n=2 – последовательная цепочка не Х1, неХ2 не активизирована – не Х2=0, на выходе z0(Х5) – логическая единица – не активный уровень

Выполним моделирование блоков программирования систем функций. Моделирование дизъюнкции трёх разрядов (0, 1, 2) дешифратора DCLUT с инверсными выходами – реализация одной логической функции системы Ú z0’, z1’, z2’=1 SR0,1,2 – значение конфигурационной памяти (рис. 4).

Рис. 4. Моделирование дизъюнкции трёх разрядов (0,1,2) дешифратора DCLUT с инверсными выходами – реализация одной логической функции системы Ú z0’, z1’, z2’=1, SR0,1,2 – значение конфигурационной памяти. На выходе z0(Х5) – логическая единица – активный уровень

На рис. 4 имеется два активных нуля z0’=0, z1’=0, z2’=1, поэтому функция равна 1 (Х5 подключена через инвертор Q1,Q3).

В случае если z0’=1, z1’=1, z2’=1, то Ú z0’, z1’, z2’=0 (рис. 5).

Рис. 5. Моделирование дизъюнкции трёх разрядов (0, 1, 2) дешифратора DCLUT – с инверсными выходами реализация одной логической функции системы Ú z0’, z1’, z2’=0 SR0,1,2 – значение конфигурационной памяти, на выходе z0(Х5) – логический ноль – не активный уровень

2. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ-реализации логических функций

3.1. Моделирование матрицы И

На рис. 6 представлена модель одного разряда S0 матрицы И для логического элемента ПЛИС – FPGA на основе ДНФ. Ключи S2, S3 моделируют настройки конфигурации t1,t2. При t1=1 – существенная переменная неS0, при t2=1– существенная переменная S0. Ключ S1 формирует значение переменной S0, которое через инверторы (Q2,3,4,5) передаётся на инвертор Q7, Q8. В данном случае существенная переменная неS0, она равна 0, соответственно она активна и входит в конъюнкцию, которую "набирает" цепочка из передающих транзисторов типа Q12 для вычисления значения конъюнкции на инверторе Q9, Q10 в блоке конъюнкций (рис. 6).

Рис. 6 Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – существенная переменная неS0

Случай несущественности переменной S0 =1 моделируется так, как изображено на рис. 7, а несущественность переменной S0 =0 на рис. 8.

Рис. 7. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – переменная S0=1 несущественна

Рис. 8. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – переменная S0=0 несущественна

Если существенная переменная S0 = 0, то соответствующая конъюнкция не будет равна единице (рис. 9).

Рис. 9. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – существенная переменная S0 = 0

Если существенная переменная S0 = 1, то соответствующая конъюнкция может быть равна единице (рис. 10).

Рис. 10. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – существенная переменная S0 = 1

3.2. Моделирование матрицы ИЛИ

Выполним моделирование матрицы ИЛИ. На рис. 11 равна 0 конъюнкция, не входящая в функцию (t2=0).

Рис. 11. Моделирование логического элемента ПЛИС - FPGA на основе ДНФ – матрица ИЛИ, равна 0 конъюнкция, не входящая в функцию

На рис. 11 моделируется случай, когда равны 0 две конъюнкции (активный уровень k= 0), входящие в функцию. Выполним моделирование ситуации в матрице ИЛИ "все конъюнкции функции не активны (активный уровень k = 0) " (рис. 12).

Рис. 12. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – матрица ИЛИ, равны 0 конъюнкции, входящие в функцию

.

Рис. 12. Моделирование логического элемента ПЛИС – FPGA на основе ДНФ – матрица ИЛИ – все конъюнкции функции не активны (активный уровень k = 0)

Выводы

Таким образом, рассмотрены все основные случаи, необходимые для проверки логических элементов. Выполненное моделирование в системе схемотехнического моделирования NI Multisim 10 фирмы National Instruments Electronics Workbench Group подтверждает работоспособность предлагаемых технических решений DCLUT и ДНФ-конфигурируемого логического элемента ПЛИС – FPGA, на которые поданы заявки на выдачу патента.

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

1. С. Цыбин. Программируемая коммутация ПЛИС: взгляд изнутри [Электронный ресурс]. URL: http://www. *****/articles/plis/2010_11_56.php (дата обращения: 12.11.12).

2. Look up table implementation of fast carry for adders and counters: US A, 28.12.1993.

3. , Греков А. В. Микропрограммно-аппаратное восстановление логики программируемых логических интегральных схем с использованием функционально-полных толерантных элементов // Научно-технические ведомости СПб ГПУ. Информатика. Телекоммуникации. Управление. 2012. № 1(140). С. 107–112.

4. , , Моделирование в системе Квартус–2 конфигурируемого логического блока на основе ДНФ представления систем логических функций с использованием функционально-полных толерантных элементов // Информационно-измерительные и управляющие системы. 2012. № 3. С. 44–50.

5. , , Функционально-полный толерантный элемент. Патент РФ № 2 496 227. Опубл. БИ №29 20.10.13 г.

6. , Логический элемент ПЛИС FPGA для реализации ДНФ // Вестник Ижевского государственного технического университета. 2013. № 2. С. 095–098.

7. NI Multisim. [Электронный ресурс] URL: http://sine. /np/app/main/p/docid/nav-98/lang/ru/ (дата обращения: 27.09.2013).

8. , Отказоустойчивая ячейка памяти с использованием функционально-полных толерантных элементов // Вестник Пермского университета. Сер. Математика. Механика. Информатика. 2012. № 4(12). С. 68–75.

Simulation of logic elements for the realization of sets of functions in the FPGA Abstract

S. F. Tyurin

Perm National Research Polytechnic University, Russia, Perm, Komsomolsky Av., 29

*****@***ru; +7 510

In the article the simulation of new logic elements of the FPGA is described. This is logic element on the basis of the decoder –DC LUT FPGA. This is logic element for DNF of the realization. Simulation they will be carried out in the system NI Multisim 10 by National Instruments Electronics Workbench Group.

Key words: logic element – LUT FPGA; logic element on the basis of the decoder –DC LUT FPGA; Full DNF-FDNF; DNF logic element FPGA.

© Тюрин С. Ф., 2013