Научная статья на тему 'ОСОБЕННОСТИ МОДЕЛИРОВАНИЯ И ОПТИМИЗАЦИИ КОМПЛЕКТА НОВЫХ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ ПЛИС'

ОСОБЕННОСТИ МОДЕЛИРОВАНИЯ И ОПТИМИЗАЦИИ КОМПЛЕКТА НОВЫХ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ ПЛИС Текст научной статьи по специальности «Математика»

CC BY
69
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ / ОПТИМИЗАЦИЯ / ЛОГИЧЕСКИЙ ЭЛЕМЕНТ / ТРАНЗИСТОР / SIMULATION / OPTIMIZATION / LOGIC ELEMENT / TRANSISTOR

Аннотация научной статьи по математике, автор научной работы — Вихорев Р.В.

Функциональные возможности и области применения программируемых логических интегральных схем (ПЛИС) постоянно расширяются, в том числе в специальной аппаратуре. Имеются два основных вида ПЛИС: FPGA (Field-Programmable Gate Array) и CPLD (Complex Programmable Logic Device), отличающиеся принципами реализации логики и хранения конфигурационной информации. Тем не менее, различия между ними постепенно нивелируются: так, в продуктах фирмы Интел ПЛИС FPGA, имеющие конфигурационную флэш-память отнесены к CPLD, хотя логические элементы типичны для FPGA, в которых используется оперативная память, требующая загрузки при включении питания. На этом фоне отмечаются попытки комплексирования двух подходов к реализации логики и создания гибридных ПЛИС. В статье анализируются особенности моделирования и оптимизации комплекта новых логических элементов ПЛИС для реализации систем функций.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SIMULATION AND OPTIMIZATION OF THE FPGA’S NOVEL LOGIC ELEMENTS AND THEIR FEATURES

Functional capabilities and applications of programmable logic devices are constantly expanding, including in special equipment. There are two main types of PLDs: FPGA (Field-Programmable Gate Array) and CPLD (Complex Programmable Logic Device), which differ in the principles of implementing logic and storing configuration information. Nevertheless, the differences between them are gradually leveled, so in Intel's FPGA products, having a configuration flash memory are categorized as CPLD, although the logic elements are typical for FPGAs that use RAM that requires power-up loads. Against this backdrop, attempts are made to integrate two approaches to implementing logic and creating hybrid FPGAs. In the article features of simulation and optimization of a set of new logic elements of FPGA for the implementation of systems of functions are analyzed.

Текст научной работы на тему «ОСОБЕННОСТИ МОДЕЛИРОВАНИЯ И ОПТИМИЗАЦИИ КОМПЛЕКТА НОВЫХ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ ПЛИС»

2018

ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА

Математика. Механика. Информатика

Вып. 3(42)

УДК 681.32

Особенности моделирования и оптимизации комплекта новых логических элементов ПЛИС

Р. В. Вихорев

ПАО "ПНППК", Россия, 614990, г. Пермь, ул. 25 Октября, д. 106 Пермский национальный исследовательский политехнический университет Россия, 614990, г. Пермь, Комсомольский пр., д. 29 vihrusvla@gmail.com; +7-919-706-52-41

Функциональные возможности и области применения программируемых логических интегральных схем (ПЛИС) постоянно расширяются, в том числе в специальной аппаратуре. Имеются два основных вида ПЛИС: FPGA (Field-Programmable Gate Array) и CPLD (Complex Programmable Logic Device), отличающиеся принципами реализации логики и хранения конфигурационной информации. Тем не менее, различия между ними постепенно нивелируются: так, в продуктах фирмы Интел ПЛИС FPGA, имеющие конфигурационную флэш-память отнесены к CPLD, хотя логические элементы типичны для FPGA, в которых используется оперативная память, требующая загрузки при включении питания. На этом фоне отмечаются попытки комплексирования двух подходов к реализации логики и создания гибридных ПЛИС. В статье анализируются особенности моделирования и оптимизации комплекта новых логических элементов ПЛИС для реализации систем функций.

Ключевые слова: моделирование; оптимизация; логический элемент; транзистор.

DOI: 10.17072/1993-0550-2018-3-111-116

Введение

В ПЛИС [1] логические функции реализуются двумя основными путями. В ПЛИС FPGA используются генераторы функций, называемые Look Up Table (LUT) [2], которые реализуют одну произвольную функцию z от n переменных х (n = 3, 4; в современных адаптивных логических модулях - АЛМ n может быть = 8) в совершенной дизъюнктивной нормальной форме в виде дерева:

^тт.....«

x ^ -n-2^ 1

n x ,-n-2<^

-n-1 ^

z (-n-n-1...—2 -1) = do

-n ^

xn-2^

-n-2^ -n-2^

, (1)

где ё - биты настройки 22 функций в совершенной дизъюнктивной нормальной форме (СДНФ), всего 2п бит.

© Вихорев Р. В., 2018

Поэтому реализация функций большого числа переменных п проблематична, а для получения системы из т функций необходимо т деревьев (1). В ПЛИС CPLD реализуется иная технология - программируемых логических матриц (ПЛМ), которые ориентированы на ДНФ-реализацию систем функций большого числа переменных [3, 4]. Так, матрица конъюнкций (матрица И) может быть описана выражением:

y^Vn-v.--1) =--—

л- -n л- , -n-1 -2 -2 -1 -1

У2(—n—n-1...—2 -1) = — — '=-* ....— — * — — (2)

S2.n s

s1.2 S1.2 s1.1 S1.1 - -1

S2.2 S2.1 S2.1

-n -n -n-1 -n-1 -2 -2 -1 -1

y, C-A-r..-2 = —

sj.n SJ.n Sj.n-1 SJ.n-l s,.2 SJ.2 sj.1 Sj.l

-n -n -n-1 -n-1 - -2 - -1

Ук (Vn-r.--1) = — -=—•.... — — ^.

sk.n sk.n Sk.n-1 sk.n-1 sk.2 sk.2 sk.1 sk.1

а матрица дизъюнкций (матрица ИЛИ)

-n-1

s

s

Sl.n-1

1.n

2.n

2.2

n-1

-bd

2 -2

4 ■ d

2 -1

/( ХпХп-1".Х2 = У1( Х„Х„-1...Х2 ХдЧы V У2( ХпХп-1".Х2 Х^И V ....V Ук ( ХпХп—1.. 'Х2

./2 (ХЛ-1.. .Х2Хг) = У (ХпХп-1.. Х2 Х)Чг.1 V У2 (ХиХи—1.. Х2 Хг) Ч2.2 V .... V Ук (ХпХп-1.. Х2 Х1 )Ч2.к

/X ХпХп-1...Х2 Х1) = У1(Х„Х„-1...Х2 Х1)ЧМ.1 V У2( ХпХп—1.. .Х2 Х1)Ч^.2 V .... V Ук (ХпХп-1...Х2 Х1)Ч^.к

/т(Х„Х„-1...Х2Х1) = У(ХпХп-1...Х2Х1)Чт.1 V У2(ХпХп-1...Х2Х1)9„.2 V Ук(ХпХп-1".Х2Х1)Чт.к ,

(3)

где у - конъюнкции от п переменных (к штук), / - функции (т штук) s - настройка конъюнкций, ч - настройка функций. Соответственно, здесь нет степенной зависимости сложности от п.

Хотя в современных АЛМ FPGA [5, 6] реализуются все возможные функции до 6 переменных и некоторые функции 7 и 8 переменных, им не сравниться с возможностями реализации систем функций нескольких десятков переменных в ПЛИС CPLD. Оба подхода имеют свои преимущества и недостатки, поэтому имеется тренд создания гибридных ПЛИС [7, 8]. Однако в полной мере это направление не проработано. Рассмотрим особенности моделирования и оптимизации логики в рамках новых предлагаемых подходов [912]. Полученные формулы сложности в количестве транзисторов не дают полной картины, без оценки тока потребления в статическом и динамическом режимах невозможно оценить эффективность предложенным решений.

1. Усовершенствованный метод реализации систем функций в СДНФ и моделирование соответствующих элементов

Предлагается использование дерева (1) FPGA "наоборот" для дешифрации входного набора.

Хй_1

n x . xn-2—

Х"~1 — xn-2—

. Х2 —'

d0 x1 d1

d • -

Xn —

Xn-1 —'

xn-2— xn-2—

x x n-2—.....xo—

(4)

Для обеспечения ортогональности по выходам используются подтягивающие резисторы R, негативно сказывающиеся на энергоэффективности:

x —

xn-i —....

d.

xn —

xn-1 —

^xi—.( R ) do x1 — ( R )d1

x1.—(R ) d2„-2 —x1—. ( R ) dn-1

(5)

На рис. 1. изображен известный DC LUT на одну переменную с резисторами по выходам - DC-LUT-R.

Рис. 1. Известный DC LUT на одну переменную с резисторами по выходам - DC-LUT-R

Первый предлагаемый вариант - по каждому транзистору соответствующего уровня дерева (потранзисторно) выражение (6):

xn (v xdin ) —

xn-1 (V xn-i din ..

xn-1 (vxn-1 din )—

xn (vxndin ) —

/n-1(v xn-1 din )— xn-1 ( Vxn-1 din )—

—x1( v x din )—d x1( vx 'din ).—'

x1( vx1 din ) —d2n 2

.— __ 2 -2

x1(v x1 din )—. dn ,

(6)

и - рис. 2:

Рис. 2. DC LUT на одну переменную с отдельными транзисторами ортогональности

Второй вариант - с блоком конституент нуля (BKN) f и n транзисторами ортогональности по последнему транзистору (по выходу реверсивного дерева) - выражение (7) [9, 10].

xn — x

x„_1 —..

*1( v fo din )—d0

d. • -

xn —x

x1( v f din ) ■—

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

x1( vf2n-2 dm )■—d2n_2 x1( v f2n-1 din )—d2n-1

(7)

Во всех случаях реализация дизъюнкций конституент одинакова:

2n

z = v(doutrhi,);i = 1 m

i=1

(8)

где h - настройка вхождения конституенты i в данную l-ую из m функций системы.

i

n

—^

« i

m

Y

Особенности моделирования и оптимизации комплекта новых логических элементов ...

Моделирование [13] показало, что гипотеза о существенном снижении энергопотребления при отказе от подтягивающего резистора в логических элементах (5)-DC-LUT-R, реализующих системы функций в СДНФ и ДНФ, полностью подтвердилась. Кроме того, энергопотребление варианта (7)-DC-LUT-BKN оказалось существенно меньше, чем у варианта (6) - DC-LUT-O и, соответственно, меньше, чем у m блоков LUT - рис. 3.

( din's v zout( xn - xi)-s )■

x ~ n-2

xn-2

xi ■ ( s ■ d

2n-1-2

v s ■ [=z2n-2 ])

При этом для обеспечения ортогональности также используются подтягивающие транзисторы Я в матрице И:

X Хп Х , Хп-1 Х2 Х2 Х, Х\ М ХПХП-1...Х2 Хх) = О^—■=-•

si.n Sin s1n-1 Si.n-i s12 S 1.2 sii Si.i

y2( xnxn-1...x2 x1) = (R)

j xn xn ^ xn-1 xn-1 ^ x2 x2 ^ x1 x1 (11)

s2.n S2.n s2n-1 S2.n-1 s2.2 S2.2 s21 S2.1

, ч , n ч xn xn xn-1 xn-1 x2 x2 x x1

yj ( xnxn -1...x2 x1) = ( Rj )— =-•

Sj.n sjn Sj.n-1 Sj.n-1 Sj.2 S j2 sj.1 sj.1

x xn x

Ук (xnxn-1 -x2x1) = (Rk )— ■

Sk.n sk.n Sk.n-1 Skn-1 Sk .2 Sk.2 Sk .1 sk.1

Предложено новое выражение для обеспечения ортогональности:

Рис. 3. Ток потребления логических элементов для разного количества входных переменных при напряжении питания 0,8 В на частоте 300МГц; количество реализуемых логических функций m=3

Кроме того, предлагается адаптивный логический элемент [14], который может реа-лизовывать либо LUT, либо DC-LUT:

- xn-2 - x1<Sd2n-1vs[= z0 ])

x™ -1xn-2 x2 x1< S s ■ [=Z1l)

x xn-2 xn -1xn-2 - xn-2 xn-1 x

S, = (dSRAM.i ■ d„ V dSRAM.. ■ do) ■ X, v

(12)

V(dSRAм.i ■ ^ у ^яам-1 = п;

где - Настройки сООтветст-

вующих ячеек конфигурационной памяти.

Соответствующий блок одной переменной приведен на рис. 4.

n- 1x„-2 - 2Л1<sd2n-L^^[=z2n-1]).

(9)

В выражении (9) с целью упрощения не указаны средства обеспечения ортогональности. Настройка на реализацию дешифратора осуществляется конфигурационной константой s. Это позволяет реализовать дешифратор набора n переменных на одном LUT вместо 2 n LUT. При этом возможная требуемая реализация дизъюнкций конституент может быть возложена на штатные коммутационные средства ПЛИС.

2.Усовершенствованный метод реализации систем функций в ДНФ и моделирование соответствующих элементов

Существующая в ПЛИС типа CPLD реализация конъюнкций (2) может быть описана следующим образом по j-й переменной с использованием конфигурационной константы s:

Уj(xn -x2x1) = (xi v sii)(x v s'a) (10)

Рис. 4. Блок одной переменной по выражению (12)

Это позволяет обеспечить передачу заданного логического уровня при "правильном" значении переменной и противоположного уровня при "неправильном" значении для последующего формирования значения запрограммированной конъюнкции. В случае несущественности переменной обеспечивается передача заданного логического уровня. При этом в известном методе DNF-R образуется обрыв цепи, как раз и парируемый подтягивающим транзистором. Предложено два варианта формирования значения конъюнкции по значениям (12) - параллельный DNF-8, DNF-P.

При моделировании оказалось, что логический элемент, реализующий ДНФ с последовательным соединением блоков настройки переменных DNF-S, имеет существенно меньший ток потребления, чем с параллельным DNF-P и, конечно, DNF-R (рис. 5).

ш

x

n

Рис. 5. Ток потребления логических элементов ДНФ для разного количества входных переменных n, при напряжении питания 0,8 В на частоте 300МГц; количество реализуемых логических функций m=3

3. Оптимизация комплекта новых логических элементов ПЛИС

Элементы оцениваются по сложности относительно заданного набора параметров n, m, w, k, r , где n - число переменных m число функций, w - число конъюнкций для ДНФ, k - параметр декомпозиции дерева LUT (как правило k =1, т. е. дерево для большого числа переменных строится из деревьев на одну переменную), r - ограничения Мида-Конвей (максимально возможное число последовательно соединенных передающих транзисторов, r=4, но в ПЛИС по оценкам специалистов это параметр равен 3; после трех транзисторов обязательно устанавливается так называемый восстановитель уровня сигнала).

Дано: архитектура существующего адаптивного логического модуля - АЛМ,

множество элементов АЛМ: ^ ^г, их коли-

г =1 1

е

чество: = г|, (сейчас, например, как в

г=1

StratixШ е=8; ШТ3 - 4 штуки, ШТ3 - 2 штуки); исходные значения сложности существующих логических элементов БРвА и СРЬБ:

L - УУ L(n,m,w,k,r) • энергопотребле-

i=1 £=1

ния

e |

e - У У E (n m wk,r). и

макси-

i=1 U=1

мальной задержки тахт^ .

Минимизируется сложность набора элементов в новом предлагаемом АЛМ на основе получения оценок сложности и модифицирования венгерского метода (алгоритма) [15-17] с целью получения оптимального набора (вектора, комплекта) элементов [ ^ ]:

l (n, m, w, k, r) ^ min;

z1 z2....zn \ 7 7 7 7 У 7

[ z z2-z](n, m w, k, r ); ^ = = yvaWa ^> < j;Уz = £i

(13)

(14)

С использованием полученных наборов [2Х](п,т,м>,к,г) определить множество Парето, учитывающее полученные в результате моделирования оценки энергопотребления и задержки и их интерполяцию для реальных значений параметров систем логических функций.

В результате получить требуемое количество новых элементов в одном АЛМ*:

У1* *j

так, чтобы с меньшими затратами в

- j=1

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

? КМ t * W

^^ L(n,m,w,k,r)М L(n,m,w,k,r)^;(15)

j=1 М=1 i =1 1=1

при этом не ухудшить энергопотребление и задержку:

, |*М * N

^^ E(n,m,w,k,r)jy E(n,m,w,k,r

j=1 м=1 i=1 £=1

Vr VrK (maxr < maxrK ).

(16)

Результаты оптимизации представлены на рис. 6.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Обозначения [ADCLUT, DC, DNF!

А • [4, 4, О] ' В • [3, 5, О] С • [3, 4, 1] D [2, 3. 3] Е • [О, 2, 6] F il. 2. 51

Рис. 6. Результаты оптимизации логических элементов

Выводы

Таким образом, при большом числе переменных целесообразно введение большего числа блоков ДНФ; такие АЛМ подходят для ПЛИС высокой ценовой категории. При среднем значении числа переменных и функций достаточно введение блоков АОС-ЬиТ.

Особенности моделирования и оптимизации комплекта новых логических элементов

Для бюджетных ПЛИС достаточно введения примерно одинакового количества ADC-LUT и DC-LUT.

Задача решалась в общем виде относительно параметров, указанных в открытых источниках. Разработанный алгоритм может быть использован для получения решений с учетом других доступных параметров существующих ПЛИС.

В дальнейшем целесообразно оценить и площадь кристалла для уточнения результатов оптимизации.

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

1. Угрюмое Е.П. Цифровая схемотехника: учеб. пособие. 2-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2007. 782 с.

2. Строгонов А., Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри. URL: http://www.kite.ru/articles/plis/2010-_11_56.php (дата обращения: 11.06.2017).

3. PLA. URL: https://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/42-programmable/10-pla/pla.html (дата обращения: 27.06.2018).

4. FPGA/CPLD - ПЛИС (Программируемые Логические Интегральные Схемы). URL: http://www.fpga-cpld.ru/ (дата обращения 02.07.2018).

5. Logic Array Blocks and Adaptive Logic Modules in Stratix III Devices. URL: https://www.altera.com.cn/content/dam/altera-ww/global/zh_CN/pdfs/literature/hb/stx3/stx3_ siii51002.pdf (дата обращения: 29.06.2018).

6. Обзор архитектуры ПЛИС семейства Virtex-5. URL:http://elektors.ru/radioelekt-ronika/mikroshemy/2759-obzor-arhitektury-plis-semeystva-virtex-.html (дата обращения: 27.06.2018).

7. Chi Wai, Yu. Hybrid FPGA: Architecture and Interface. URL: https://sydney.edu.au/enginee-ring/ electrical/people/philip. leong/UserFiles/Fil e/theses/cwyu10.pdf (дата обращения: 28.06.2018).

8. Alireza Kaviani and Stephen Brown. HYBRID FPGA ARCHITECTURE. URL: https://sydney.edu.au/engineering/electrical/p eople/philip.leong/UserFiles/File/theses/cwy u10.pdf (дата обращения: 21.06.2018).

9. Программируемое логическое устройство: пат. Рос. Федерация / Тюрин С.Ф., Вихо-рев Р.В.; - № 2573732; Опубл. 27.01.2016, Бюл. № 3.

10. Тюрин С.Ф., Вихорев Р.В. Усовершенствованный метод реализации в FPGA систем логических функций, заданных в СДНФ // Инженерный вестник Дона. 2017. Т. 44, № 1(44). С. 39.

11. Вихорев Р.В., Тюрин С.Ф. Программируемые логические элементы ПЛИС FPGA для реализации систем логических функций // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. 2017. № 3(23). С. 133-145.

12. Tyurin S., Grekov A., Vikhorev R., Prokhorov A. Advanced FPGA Look up tables. International Journal of Pure and Applied Mathematics. 2017. Vol. 117, № 22. P. 143-147.

13. Вихорев Р.В., Прохоров А.С., Тюрин С.Ф., Никитин А.С. Моделирование и оптимизация инновационных логических элементов ПЛИС // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. 2017, № 24. С. 192-208.

14. Тюрин С.Ф., Вихорев Р.В. Адаптивный логический модуль ПЛИС с архитектурой FPGA // Вестник Рязанского государственного радиотехнического университета. 2018, № 63. С. 69-76.

15. Вихорев Р.В., Прохоров А.С., Скорнякова А.Ю., Тюрин С.Ф. Усовершенствованные методы реализации программируемой логики / в сб.: Управление большими системами. УБС-2017, матер. XIV Всерос. школы-конф. молодых ученых. 2017. С. 306-315.

16. Тюрин С.Ф., Никитин А.С., Вихорев Р.В., Скорнякова А.Ю. Выбор набора конфигурируемых логических элементов с использованием венгерского метода // Вестник Пермского университета. Математика. Механика. Информатика. 2017. № 2(37). С. 65-68.

17. Свидетельство о государственной регистрации программы для ЭВМ № 2017663289 Программа оптимизации набора логических элементов модифицированным венгерским методом "ВЕННИТ" / заявитель и правообладатель Тюрин С.Ф., Никитин А.С., Вихорев Р.В., Скорнякова А.Ю., Прохоров А.С.; - № 2017619911. Заявл. 04.10.2017; Опубл. 28.11.2017.

P. B. Bnxopee

Simulation and optimization of the FPGA's novel logic elements and their features

R. V. Vikhorev

Public joint-stock company "PSPIMC"; 106, ul. 25 Oktyabrya, Perm, 614990, Russia

Perm National Research Polytechnic University; 29, Komsomol'skiy prospekt, Perm, 614990, Russia

vihrusvla@gmail.com, +7-919-706-52-41

Functional capabilities and applications of programmable logic devices are constantly expanding, including in special equipment. There are two main types of PLDs: FPGA (Field-Programmable Gate Array) and CPLD (Complex Programmable Logic Device), which differ in the principles of implementing logic and storing configuration information. Nevertheless, the differences between them are gradually leveled, so in Intel's FPGA products, having a configuration flash memory are categorized as CPLD, although the logic elements are typical for FPGAs that use RAM that requires power-up loads. Against this backdrop, attempts are made to integrate two approaches to implementing logic and creating hybrid FPGAs. In the article features of simulation and optimization of a set of new logic elements of FPGA for the implementation of systems of functions are analyzed.

Keywords: simulation; optimization; logic element; transistor.

i Надоели баннеры? Вы всегда можете отключить рекламу.