МЕТОДИКА ПЛАНИРОВАНИЯ ТОПОЛОГИИ ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМ В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ
Д.Б. Борзов, В.В. Минайлов, В.В. Руденко, С.П. Гнездилова
Аннотация. Рассмотрена проблема составления плана топологии программируемых логических интегральных схем (ПЛИС), показана сложность ее практической реализации в системах высокой готовности, предложена методика и алгоритм, основанная на последовательных поисковых перестановках.
Ключевые слова: топология программируемых логических интегральных схем, модуль, канал.
В настоящее время все большее распространение получает параллельная организация вычислительных систем [1], которое организовано в виде множества ре-конфигурируемых ПЛИС или СБИС [2]. В них могут возникать внештатные ситуации, например выход из строя одного из внутренних модулей либо необходимость оперативной перестройки внутренней конфигурации связей. В этом случае применение таких методов, как моделирования отжига [3-4] и методы генетической эволюции [5], реализуемые в основном программными средствами, не удовлетворяют системам высокой готовности из-за недостаточного быстродействия. При-
менение для этих целей заранее заготовленных планов топологий также нецелесообразно из-за достаточно долгого времени обращения и поиска в памяти ЭВМ. Поэтому необходимо применение других подходов и аппаратных средств. В работе предлагается методика и соответствующий алгоритм планирования топологии ПЛИС.
Программу (подпрограмму) исходной задачи будем представлять направленным графом взаимодействия задач 0=<Х,Б>, где
X =
2.1
.1
V!
X
'1.2
2.2
** .1
X
1.к
2. к
X
'2.п
X
'а. к
X
а.п
X
П.2
X
'п.к
X
множество вершин графа в, вершины Xak £ X кото
X
1 *
рого соответствуют подпрограммам, а дуги eij £ E связям между ними и могут быть сведены в матрицу
смежности (МС) M =
m
N х\ E\
где
N=1 А.
То-
пологию ПЛИС будем задавать графом H, который
представим
p1,1
H =
в
Pl,2 P2,2
P2,l
pm,l pm,2
виде prn,e prn,e
pvß
прямоугольника ••• Pl,n Pin
01 -
02 -
03 -
Pm,e
-xi -X2
-X3
bs =
-l.l
-'2.1
-q.l
-l.2
-2.2
-q.l
-l.k
-2.k
-q.k
-2.a
Jq.a
Xq XQ -n.l -n.2
Введем дополнительные определения. Под каналом в модуле ПЛИС будем понимать проложенную трассу
от одного вывода о^ или Xj (1 = (1, р), ] = (1, р))
модуля к другому. Матрицей цепей (МЦ) будем называть описывающую вариант размещения модулей
ПЛИС прямоугольную матрицу V = \vi \ , где
i = l, N, j = l,a, n = |X|
j \n,a '
а представляет собой
суммарное количество каналов, полученных в результате размещения подпрограмм в модулях ПЛИС. На рисунке 1 проиллюстрировано понятие канала и МЦ.
1 2 3
где Рт д - это модули ПЛИС, причем (V = 1, т , в = 1п).
Модуль Рт д будем представлять в виде функции
Е (О, X), т.е. Ршд= Е (О, X), (1)
где О = Оу,О2,...,Ор - это множество входных выводов модуля, а X = Хц, Х2, к, Хр - это множество
выходных выводов. Выводы модулей ПЛИС соединяются с выводами других модулей. При этом общее количество сигналов, которые передаются в ПЛИС от одного модуля к другому, определяют итоговую коммуникационную задержку [6], которую необходимо минимизировать для увеличения производительности ПЛИС. Схематично модуль ПЛИС может быть представлен так, как показано на рисунке 1.
2
3 2
гтп
2 3 а)
к
5
l l 0 0
2 0 l 0
3 l 0 l
4 l 0 0
5 0 l l
б)
Рисунок l - Понятие канала и МЦ: а) каналы; б) понятие МЦ
На рисунке 1а черными кружками обозначены выводы гипотетических модулей ПЛИС, числа над пунктирными линиями обозначают степени загрузки каналов между парами смежных выводов. На рис. 1б приведена МЦ, соответствующая варианту размещения на рисунке 1а, в ней строкам соответствуют выводы моду-ля(ей) ПЛИС, а столбцам соответствующие каналы.
Мощность |Р| зависит от числа каналов, полученных в результате размещения модулей в ПЛИС. Параметр а соответствует количеству каналов. То есть должно выполняться соотношение:
Ц а ® min (2)
Тогда размещение модулей в ПЛИС может быть описано отображением:
Рисунок 1 - Модуль ПЛИС
Как видно из рисунка 1, величина р , представленная в (1), зависит от схемной реализации модуля ПЛИС и не может быть известна заранее.
Pl,l Pl,2 ... Pl,k ... Pl,a
p2,l p2,2 ... p2,k ... p2,a
Pq,l Pq,2 ... Pq,k - Pc
q,a
Pn,l Pn,2 ... Pn,k ... Pn
(3)
m,n
l
l
4
o
x
P
X
X
X
X
X
X
X
X
X
X
X
X
X
-n.k
-
n.a
где S = 1,N!. В (2) символ ^ означает отображение одной из вершин ^ £ X на один из модулей
pqk £ H . Здесь s - это номер очередной перестановки, соответствующий S -му варианту размещения. Пусть Y - множество всевозможных отображений вида (3). Мощность множества y = {ßg} всевозможных отображений (3) равна числу всевозможных перестановок задач xqk £ X в матрице M : || = N!.
Тогда задачу размещения, можно сформулировать как поиск отображения ß £Y, такого, что
T * = min{max{Tß ( V )}}, ß Y ßs£Y ßs1 Pq,k (4)
где Tß ( V ) - задержка при передаче данных в
ßs pq,k
модуле pq,k , соответствующая отображению ßs . В выражении (4) max означает поиск максимальной
ßs £ Y
задержки при передаче данных в процессоре pq,k , где
q = 1, n, k = 1, a; выражение min соответствует по-
Y
иску минимально возможного значения задержки для
максимального max s Tß I V
ßs £ Y l ßs l' pq,k Введем также понятие смежных контактов (СК) в ПЛИС.
Под СК будем понимать такое расположение выводов модулей ПЛИС, при котором выполняется соотношение
! (5)
% j - vi, j-1 =1
Смысл этого критерия поясняется рисунком 1а. Данному расположению выводов модуля(ей) соответствует МЦ, приведенная на рисунке 1б. Тогда при перестановке местами выводов 3 и 4, получаем вариант размещения, представленный на рисунке 2.
2 2 2
1 : : :
в =
Iii 1 ' 1
коммуникационных задержек (4) и принимать решение о целесообразности продолжения поисковых перестановок в матрице V : \\\ = N!. Оно может быть принято в результате анализа величины отношения значения (4) к гипотетической минимально возможной ее величине. При ее вычислении будем назначать дуги графа в на самые короткие маршруты в графе Н, не обращая внимания на ограничения, накладываемые фактическими связями между подпрограммами в графе в. Процедура поиска минимальной нижней оценки можно представить в виде алгоритма:
1. Переписать элементы Шу Ф 0 (к = 1, N,
l = 1, N) матрицы M
M " "
m
N х E
в вектор-строку
m,.
где z - это порядковый номер элемента в
М', причем к = 1, N, I = 1, N. При этом 71 > ъ2 и ъх,
72 - порядковые номера элементов в М'. 2. Положить
]'=\E|
Тм = Е mZ ,
i=1
(7)
где I = 1, £ , 2 = 1, £ , m - мощность множества Е в графе в; т - одноименные элементы вектора М'.
Для решения задачи планирования размещения в ПЛИС предлагается мет. методика, в которой критерием оптимальности размещения является степень отклонения ] мин-максного значения критерия (4) от
(7). Цель задачи стоит в снижении по критерию (7) коммуникационной задержки, возникающей при обработке назначенных на ПЛИС подпрограмм, описываемых графом в, и определяемой как максимальная задержка между обрабатываемыми в ПЛИС подпрограммами.
Т = шах{ Е т* }, (8)
- г=1
где i, j = 1, El.
Предлагаемая методика состоит из следующих ша-
1 2 4 3 5
Рисунок 2 - Пример перестановки выводов модуля ПЛИС
В данном варианте размещения имеется один СК. Поэтому справедлив критерий при поиске субоптимального варианта размещения модулей ПЛИС.
Ц 0 ® max
Таким образом, на содержательном уровне задача размещения модулей ПЛИС согласно критерию (4) заключается в поиске такого варианта размещения, при котором выполняется условие (2) и (6).
Поиск наилучшего варианта размещения сложной переборной задачей. Поэтому необходимо контролировать степень уменьшения величины образующихся
гов.
Этап 1. Производится первичное произвольное размещение вершин графа в, представляющего исходный комплекс решаемых в ПЛИС подпрограмм, описанных графом Н. Размещение реализуется путем на-
ложения матрицы МС M
|m
ijllNx E
на матрицу МЦ
V® V ^ . По (8) находим максимальную задержку
I '\п,а
Тн, соответствующую данному начальному варианту размещения.
Этап 2. Для сопоставления вариантов размещения по критерию (4) вначале осуществляется поиск нижней оценки Тн. Затем вычисляется степень близости мак-
симальной задержки Тн, соответствующей первичному варианту размещения, к нижней оценке Т]^ в виде:
Т
Лн = . (9)
Этап 3. Начиная с элемента ту £ Н, которому соответствует шах{^ Vj } в первичном варианте, пытаемся переместить строку, его содержащую, на место другой строки так, чтобы после перестановки и расчета Т по формуле (8) оценка: Т
Л = — (10)
Тм
снижалась по сравнению с Лн (9) и оценками л по предыдущим вариантам размещения.
Этап 4. Анализ достигнутой величины л (10) и оценка степени улучшения размещения выполняется по следующей формуле выигрыша в снижении коммуникационной задержки.
Л Т
° = — = -н. (11)
Л Т
В результате применения предложенной методики можно получить план топологии ПЛИС и применить его в системах высокой готовности, в которых время реакции должно быть сведено в минимуму. В дальнейших исследованиях предполагается разработка алгоритма и соответствующей процедуры, ориентированной на дальнейшую реализацию аппаратную.
Список использованных источников
1 Воеводин, В.В. Параллельные вычисления/ В.В. Воеводин, Вл.В. Воеводин.- СПб.: БХВ- Петербург, 2002.- 608 с.
2 Грушвицкий, Р.И. Проектирование систем на микросхемах программируемой логики/ Р.И. Грушвицкий, А.Х. Мурсаев, Е.П. Угрюмов. - СПб.: БХВ-Петербург, 2002.-608 с.
3 LaPotin D.Pro, Director S.W. «Mason; A global floorplan-ing tool» IEEE Int. Conf. on Computer - Aided Design, Santa Clara, CA, 1985.- P. 143-145.
4 Sechen C., Sangiovanni A. «The Timberwolf placement and routing package».IEEE Journal of Solid-State circuits, vol. sc-20, no. 2, 1985.- P. 510-522.
5 Cohoon J.P., Hegde S.U., Martin W.N. Richards D., «Distributed genetic algorithms for the floorplan design problem», in Proc. IEEE Transactions on Computer - Aided Design, Vol.10. №4.- 1991. - P. 483-492.
6 Gogniat, G. "Communication synthesis and HW/SW integration for embedded system design/ M. Auguin, L. Bianco, A. Pegatoquet.- " CODES 1998.- P. 49-53.
Информация об авторах
Борзов Дмитрий Борисович, кандидат технических наук, доцент кафедры информационных и электротехнических систем и технологий ФГБОУ ВПО «Курская ГСХА».
Минайлов Виктор Викторович, аспирант ФГБОУ ВПО «Юго-Западный государственный университет».
Руденко Вероника Викторовна, кандидат технических наук, доцент кафедры информационных и электротехнических систем и технологий ФГБОУ ВПО «Курская ГСХА».
Гнездилова Светлана Петровна, аспирант ФГБОУ ВПО «Курская ГСХА».