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

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

CC BY
28
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ / LOGICAL ELEMENTS / СИСТЕМЫ ЛОГИЧЕСКИХ ФУНКЦИЙ / SYSTEMS OF LOGICAL FUNCTIONS / ОЦЕНКИ СЛОЖНОСТИ / COMPLEXITY ESTIMATES / ОПТИМИЗАЦИЯ / OPTIMIZATION / ВЕНГЕРСКИЙ МЕТОД / HUNGARIAN METHOD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тюрин С.Ф., Никитин А.С., Вихорев Р.В., Скорнякова А.Ю.

Получаются оценки сложности конфигурируемых логических элементов, реализующих системы функций. Анализируются и сравниваются варианты реализации элементов. Для выбора оптимального набора элементов для различных параметров систем логических функций предлагается модификация венгерского метода реализации.

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

SELECTION OF A CONFIGURABLE LOGIC ELEMENTS SET USING THE HUNGARIAN METHOD

Estimates of the complexity of configurable logic elements that implement systems of functions are determined. The variants of the implementation of elements are analyzed and compared. To se-lect the optimal set of elements for different parameters of logical function systems, a modification of the Hungarian implementation method is proposed.

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

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

2017

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

Вып. 2(37)

ИНФОРМАТИКА ИНФОРМАЦИОННЫЕ СИСТЕМЫ

УДК 681.32

Выбор набора конфигурируемых логических элементов с использованием венгерского метода

С. Ф. Тюрин, А. С. Никитин, Р. В. Вихорев, А. Ю. Скорнякова

Пермский национальный исследовательский политехнический университет Россия, 614990, г. Пермь, ул. Комсомольский пр., 29 tyurinsergfeo@yandex.ru; +7-952-32-02-510

Получаются оценки сложности конфигурируемых логических элементов, реализующих системы функций. Анализируются и сравниваются варианты реализации элементов. Для выбора оптимального набора элементов для различных параметров систем логических функций предлагается модификация венгерского метода реализации.

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

DOI: 10.17072/1993-0550-2017-2-65-68

Введение

Как известно, в программируемых ло-гиических интегральных схемах (ПЛИС, FPGA) широко используются конфигурируемые логические элементы [1]. Основой таких элементов является устройство, называемое в англоязычной литературе LUT (Look Up Table), так как оно реализует задаваемую (загружаемую) таблицу истинности логической функции. Классическое значение количества переменных n=4.

В настоящее время в так называемых адаптивных логических модулях (АЛМ) реализованы LUT с изменяемой разрядностью до 6 переменных, в том числе имеется возможность реализации некоторых логических функций 7 и даже 8 переменных [2]. Функции реализуются в совершенной дизъюнктивной нормальной форме (СДНФ). Существующие принципы реализации систем m логических функций от одних n переменных предполагают использование m LUT.

© Тюрин С. Ф., Никитин А. С., Вихорев Р. В., Скорнякова А. Ю., 2017

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

1. Оценка сложности LUT

Сложность LUT [1, 2] в количестве транзисторов без декомпозиции (до n=4) имеет вид выражения

Т = 2n• 8 + 2n+1 + 6n,

(1)

Однако с учетом ограничений Мида-Конвей [4] при декомпозиции сложного дерева по к-ЬиТ, к е {1,2,3,4}, п> = к, п:

L„,, = 2

- 2Vn\

8 + (2LkJ+1 + 6[kJ). £ 21

Ln JHL>- U J

+

+ (2

LnJH

И j'Lk J+1

+ 6 •

LnjH

LnJ Lk J

•Lk J)+6LnJ,

n

где + 6_k J - сложность одного k-дерева [..J - округление в нижнюю строну (floor); таких деревьев (k-LUT) необходимо в первом слое

o_"J-_k J

2L J , затем нужно провести декомпозицию k-LUT этого первого слоя, получаем 2_"J _kJ _kJ. Всего необходимо i k-LUT, где i

_n J

определяется из соотношения:

Lk j

всего

> jj

kj Lk j

Lk j

^ J'Lk J и последний LUT на L« J-

i=i

переменных.

Временная задержка в количестве транзисторов определяется выражением

T„.k = n + 2

Lk j

+ 2 • [

LnJ Lk j

LnJ Lk j.

(3)

2. Оценка сложности LUT-ST

Для использования в ССС предложен LUT-ST [5]. В этом случае сложность LUT возрастает:

IMJ

LmhTT = 2• {2Lnj -8+(2W+1 +6[k> Z^-™ +

+(2

+6^

Lnj-

W Lkj.

+2'[

Ë

(4)

Lkj)+6nj+2{nj}+2^j2Lnj-L'j^kj +

где 2 •Lnj - сложность дополнительных цепо-

| W LLk j

чек спейсера, 2• Z2L"J L"JL"J - сложность ин-

>Lnj-L iLk j

дикаторов k-LUT + индикатор последнего LUT 2 • [

[LnJ] Ln\

Lk \ LLk\j

Выражение (4) не учитывает затраты на фиксацию переходного процесса Г-тригге-рами [3]. Учесть двухвходовые Г-триггеры сложностью 12 транзисторов можно, положив к=2, а п

Li

= Z 2Ln j-L j-Lk j i=1

+

[Lnj] Lnj

Lk j LLk\j

(5)

Таким образом, получаем сложность Г-триггеров:

I LnJ LLk j Z 21 i=i

;Lnj-LiJLkj+| kjU Lkj

Lkj | LLk j.

12 •{

L2j

Z

LnJ

-Lk j-

Z 2l

Lnj-LijLkj+| Lnj|-| LnJ | -LijL2j

Lkj | LLkj

M Ln\

Lk j LLk jj

(6)

Временная задержка ШГ^Т в количестве транзисторов (без учета задержки Г-триггеров) увеличивается на задержку индикаторов:

Tn.k .ST = П + 2

Lk j

Lnj

Lk Jj

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

+ 2 • Z 2L"J-Li jLk J

+

(7)

+ 2 • [

[Lnj] LnJ

Lk \ LLk\\

3. Оценка сложности DC-LUT-ST, ДНФ^иТ^Т

Для реализации систем функций в СДНФ предложен DC-LUT [6]. Для ССС с учетом сложности т блоков реализации функций с соответствующей настройкой, получаем сложность DC-LUT-ST:

П"<,с.п.к.*т = 2 • {2[п| • 8 + (2[к^ + б[к_|) • £ 2[пЯ'J +

/=1

+ (2

W-I^-k j+i

Lk J.

+ 6 •

IwJ......

2 • Z 2 J

+ 2 • [

L«J-

\n\

Lnj

Lk j

Lk j Lnj

Lk j ) + 6LnJ + 2 •Lnj} +

Lk\.

Lnj

+ ^ 21 + 6т(2п + 2)],

1=1

(8)

где 6т(2п + 2) - сложности т блоков реализации функций.

Для реализации систем функций в ДНФ предложен ДНФ-LUT [7]. При использовании ДНФ-ШГ получаем сложность в количестве транзисторов:

Ldnf =Lk j^ (20n j + 2 • где Lkj. (20Ln j + 2

) + 6 •Lmj(Lkj + 2) + 6LnJ, (9)

) учитывает сложность

реализации k настраиваемых конъюнкций; n

2

учитывает сложность инверторов в

2

+

+

n

n

i=i

Выбор набора конфигурируемых логических элементов...

блоке конъюнкций, в том числе для удовлетворения ограничения Мида-Конвей [4] в блоках конъюнкций; 6 -|_т_|([к_ + 2) - сложность т блоков функций от к конъюнкций (реализация монтажного И); 6 _п _ - сложность

инверторов по п переменным (два на неинверсный вход, один на инверсный).

Тогда сложность ДИФ-ШТ^Т без Г-триггеров определяется выражением:

= 2 • {Lk J. (20Ln J + 2 •

) + 6 -_т _(_к _ + 2) + 4 _п _}, (10)

где 4_п_ учитывает инверторы по п пара-

фазным переменным (один на каждый вход, 2 _п _ и цепочку спейсера - один транзистор на

каждый парафазный вход, всего 2 _п _.

Сравнение выражений сложности предлагаемых технических решений изображено на рис. 1.

Рис. 1. Сравнение L0(n), L1(n), Ldc(n),

Ldnf(n) при m=8; k=3; r=20

Таким образом, ДНФ-LUT-ST выигрывает по сложности реализации при большом количестве переменных системы логических функций. При среднем количестве переменных целесообразно использование DC-LUT-ST.

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

Предлагается использовать известный венгерский метод оптимизации (Hungarian algorithm, Hungarian method) [1, 2] итеративно - для получения нескольких назначений по параметрам логических элементов и систем логических функций так, чтобы из частичных решений в дальнейшем построить глобальную таблицу назначений и получить глобальные назначения, которые и описывают требуемый результат выбора. Модификация метода предполагает вначале получение оценок по

выражениям сложности (10, 9, 8, 4, 3, 2) и/или времени (3, 7) для заданных параметров системы функций. Для учета возможности покрытия одним типом устройства нескольких систем возможно использовать повторение строки матрицы.

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

Рис. 2. Алгоритм выбора конфигурируемых логических элементов, реализующих системы функций с использованием венгерского метода

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

1) LUT по числу требуемых функций в системе;

2) DC LUT на заданное максимальное число функций;

3) ДНФ-LUT на заданное максимальное число конъюнкций и функций;

4) варианты комбинирования 1-3. Получим матрицу назначений W следующим образом: каждой строке соответствует вектор, отображающий количество каждой из формул, принимающих участие в расчете.

Так, вектору для первой строки (10,0,0,0) соответствует сумма из десяти формул 1, вектору для второй строки (0,10,0,0) -сумма десяти вторых формул, вектору для третьей строки (0,0,0,10) - сумма десяти третьих формул, вектору для четвертой строки (3,3,4,0) - сумма трех первых, трех вторых и четырех третьих формул. При этом каждому столбцу матрицы назначений W соответствует аргументы m, k и n.

Пример результатов расчета представлен на рис. 3.

111 6 ill 2 ill 4 m = 10

k= 4 k= 3 k= 2 k= 1

n=2 11=3 n=5 n=6

(10,0,0,0)

(0,10,0,0)

(0,0,10,0)

(3,3,4,0)

Рис. 3. Пример результатов расчета

Выводы

Расчеты показывают, что предлагаемый DC LUT FPGA предпочтительней по аппаратным затратам, чем известный LUT уже при количестве функций m=8 для числа переменных n=4. Предлагаемый логический элемент ПЛИС - ДНФ FPGA на основе ДНФ по сравнению с ЛЕ-СДНФ выигрывает при переходе к восьмиразрядным функциям (для n=k=m).

При этом существующий ЛЕ не может реализовать даже 32 разрядные функции, а предлагаемый имеет приемлемые затраты даже для 64 разрядных функций. Причем быстродействие предлагаемого варианта так же, как и известного, определяемого в основном длиной цепочки передающих транзисторов -n, определяется цепочкой транзисторов в блоках программируемых конъюнкций - это тоже n, а цепочки в блоках программируемых функций содержат всего один транзистор.

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

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

1. Строгонов А., Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри. URL:

http://www.kite.ru/articles/plis/2010_11_56.php (дата обращения: 13.03.2017).

2. Золотуха Р., Комолов Д. Stratix III - новое семейство FPGA фирмы Altera. URL: http://kit-e.ru/assets/files/pdf/2006_12_30.pdf (дата обращения: 14.03.2017).

3. Степченков Ю.А., Денисов А.Н., Дьяченко Ю.Г.и др. Библиотека элементов для проектирования самосинхронных полузаказных микросхем серий 5503/5507 и 5508/5509. М.: ИПИ РАН, 2014. С. 150-151.

4. Ульман Дж. Д. Вычислительные аспекты СБИС / пер. с англ. А.В. Неймана; под ред. П.П. Пархоменко. М.: Радио и связь, 1990. 480 с.

5. Тюрин С.Ф., Каменских А.Н., Плотникова А.Ю. Программируемое логическое устройство. Патент РФ № 2601145. Опубл. БИ № 30 27.10.2016.

6. Тюрин С.Ф., Вихорев Р.В. Программируемое логическое устройство. Патент РФ № 2573732. Опубл. БИ № 3 27.01.2016.

7. Тюрин С.Ф. Программируемое логическое устройство. Патент РФ № 2544750. Опубл. БИ № 8 20.03.2015.

8. Harold W. Kuhn. "The Hungarian Method for the assignment problem", Naval Research Logistics Quarterly, 2: 83-97, 1955; doi:10.1002/nav.3800020109.

9. Hungarian algorithm. URL:

http://www. hungarianalgorithm. com/solve.php (дата обращения: 02.02.2017).

Selection of a configurable logic elements set using the Hungarian method

S. F. Tyurin, A. S. Nikitin, R. V. Vikhorev, A. Yu. Skornyakova

Perm National Research Polytechnic University; 29, Komsomolsky prospekt, Perm, 614990, Russia Perm State University; 15, Bukireva st., Perm, 614990, Russia tyurinsergfeo@yandex.ru; +7 952-320-02-510

Estimates of the complexity of configurable logic elements that implement systems of functions are determined. The variants of the implementation of elements are analyzed and compared. To select the optimal set of elements for different parameters of logical function systems, a modification of the Hungarian implementation method is proposed.

Keywords: logical elements; systems of logical functions; complexity estimates; optimization; Hungarian method..

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