Научная статья на тему 'Алгоритм поиска с возвратом в задаче восстановления межсоединений активных программируемых ресурсов ПЛИС'

Алгоритм поиска с возвратом в задаче восстановления межсоединений активных программируемых ресурсов ПЛИС Текст научной статьи по специальности «Математика»

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

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

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

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

Текст научной работы на тему «Алгоритм поиска с возвратом в задаче восстановления межсоединений активных программируемых ресурсов ПЛИС»

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

УКД 004.45

В.С. Еськов

АЛГОРИТМ ПОИСКА С ВОЗВРАТОМ В ЗАДАЧЕ ВОССТАНОВЛЕНИЯ МЕЖСОЕДИНЕНИЙ АКТИВНЫХ ПРОГРАММИРУЕМЫХ РЕСУРСОВ ПЛИС

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

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

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

В данной работе предлагается вариант процедуры восстановления межсоединений активных программируемых ресурсов FPGA ПЛИС семейств Virtex фирмы Xilinx на основе эвристического алгоритма поиска с возвратом - бектрекинга (back tracking (англ.) - обратное следование).

95

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 -Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

Межсоединения активных программируемых ресурсов внутри FPGA ПЛИС осуществляют программируемые трассировочные ресурсы (матрицы переключателей или отдельные переключатели) и непрограммируемые ресурсы маршрутизации - линии связи.

Обозначим множество запрограммированных переключателей, как X ={x0> x*}. Также обозначим множества переключателей, стоящих

на входах и выходах активных ресурсов:

-1 ={io,i-k}- множество переключателей, соответствующее входным контактам внутренних цепей (внутренние источники сигналов);

- о ={°>0,°i,...,оп}- множество переключателей, соответствующее выходным контактам внутренних цепей (приемники сигнала);

-K ={k0, К,---, ke}- множество переключателей, соответствующее промежуточным контактам и реализующее межсоединение источников сигнала и приемников, причем 1 с X, о с X, к с X, X =i и о и к.

В общем случае отдельное межсоединение j можно представить в виде тройки элементов mj ={Kj ,г'j }, причем 9 e 1; Oj c O; kj c K.

Задача восстановления межсоединений сводится к определению функции f (ij), задающей соответствие между единичным входным контактом х е 1 и множеством выходных, а именно: ij ~fJh}^O.

Проведенные исследования FPGA ПЛИС фирмы Xilinx показали, что отличительной особенностью их архитектуры является наличие на кристалле главной трассировочной матрицы как отдельного элемента матричной структуры (топологической матрицы). Она представляет собой массив коммутаторов трасс, осуществляющих межсоединения в реализуемой на ПЛИС схеме [1, 2]. Каждый программируемый элемент на кристалле связан с одной из матриц переключателей. Входы и выходы программируемых элементов как раз и являются множествами входных и выходных контактов I и о . Массив коммутаторов трасс представляет собой множество промежуточных контактов к . Внутри главной трассировочной матрицы большинство связей реализуется с помощью трассировочных ресурсов общего назначения и, следовательно, большая часть ресурсов межсоединений связана с этим типом из трассировочной иерархии. Трассировочные ресурсы общего назначения расположены в виде горизонтальных и вертикальных каналов и размещены в непосредственной близости от строк и столбцов топологической матрицы, образованной конфигурируемыми блоками и блоками ввода-вывода. Архитектура FPGA ПЛИС фирмы Xilinx всех семейств является регулярной, следовательно, процедура восстановления межсоединений должна быть родственна алгоритмам трассировки соединений между контактами микросхем на поверхности печатных плат.

96

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 -Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

Основная задача трассировки формулируется следующим образом: по заданной схеме соединений проложить необходимые проводники на плоскости (плате, кристалле и т.п.), чтобы реализовать заданные технические соединения с учетом заранее заданных ограничений. Основной задачей восстановления связей является прокладка пути, по которому сигнал от источника попадает к приемникам с использованием набора программируемых коммутаторов и набора проводников (локальных трассировочных ресурсов). Исходной информацией для решения задач трассировки и восстановления соединений обычно являются список цепей и параметры конструкции элементов.

Известные алгоритмы трассировки печатных плат можно разбить на три вида [3, 4].

Волновые алгоритмы, разработанные Ю.Л. Зиманом и Г.Г. Рябовым, основанные на идеях Ли. Данные алгоритмы получили широкое распространение в существующих САПР и позволяют легко учитывать технологическую специфику печатного монтажа со своей совокупностью конструктивных ограничений. Эти алгоритмы всегда гарантируют построение трассы, если путь для нее существует.

Ортогональные алгоритмы, обладающие большим быстродействием, чем алгоритмы первой группы. Реализация их на ЭВМ требует в ~80 раз меньше вычислений по сравнению с волновыми алгоритмами. Такие алгоритмы применяют при проектировании печатных плат со сквозными металлизированными отверстиями.

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

Как показали исследования, проведённые для FPGA ПЛИС серий Virtex фирмы Xilinx, сигналы между программируемыми элементами распространяются в плоскости, следовательно, вторую группу алгоритмов для решения поставленной задачи использовать не целесообразно.

Анализ возможности применения волновых алгоритмов позволил выявить ряд их существенных недостатков. Во-первых, они требуют хранения меток (номеров волновых фронтов) всех вершин, до которых докатилась волна (в самом худшем случае это будут все вершины графа). При большом числе вершин (106-107), что особенно актуально при нынешней большой логической емкости FPGA ПЛИС, возникают проблемы в программной реализации. Во-вторых, может не хватить оперативной памяти для обработки вершин. Также мы должны иметь быстрый доступ ко всем «соседям» очередного волнового фронта. Если же граф задан потенциально, то есть некоторым правилом порождения вер-

97

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 -Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

шин и ребер, то даже при не очень большом числе вершин возникает проблема порядка их построения (и просмотра) и необходимых для этого вычислительных ресурсов (времени, памяти). При этом с точки зрения окончательного маршрута, большинство вершин будут избыточными. Недостатком волнового алгоритма является и то, что для его работы требуется иметь начальную и конечную точки маршрута. В нашем случае требуется восстановить трассы от одной известной начальной точки к неопределенному множеству конечных точек, поэтому требуется модернизация алгоритма, что и было проделано в первой реализации задачи оптимального восстановления межсоединений.

Стремительное увеличение логической емкости современных ПЛИС (до 10 млн. системных вентилей) не позволяет вести восстановление межсоединений активных программируемых ресурсов при помощи волновых алгоритмов из-за их низкого быстродействия. В связи с этим для решения поставленной задачи был выбран один из эвристических алгоритмов с применением бектрекинга на графе, заданном перечислением вершин и ребер. Эвристические алгоритмы лишены большинства из вышеперечисленных недостатков волновых алгоритмов. Формирование путей, в которых можно осуществлять использование стека - структуры данных, устроенной так же, как очередь, с той лишь разницей, что извлечь (удалить из стека) можно только последний добавленный элемент. При этом считается, что добавляются и удаляются элементы из вершины стека. Рассматриваемый алгоритм бектрекинга гарантирует, что никогда не получится маршрут, являющийся продолжением отсеянного, с другой стороны, не исключаются из дальнейшего рассмотрения никакие другие маршруты, кроме уже отсеянных. Характерной чертой метода является возвращение к предыдущей вершине графа. Поэтому его и называют методом поиска с возвратом, или бектрекингом.

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

Применительно к задаче восстановления внутренней структуры FPGA ПЛИС серий Virtex фирмы Xilinx, данный алгоритм нуждается в модификации. Для задачи восстановления понятие отсеянных маршрутов теряет свой смысл, так как в списке вершин и ребер топологического графа, с которым ведется работа, не может быть элементов, из которых могут быть выстроены неправильные связи. В отличие от оригинально-

98

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 -Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

го алгоритма, требуется начинать работу со строго определенных вершин, помеченных как источники сигнала. Основное действие процедуры - это обработка очередной вершины графа, в результате чего мы либо добавляем к маршруту новую вершину, либо помечаем вершину как конечную. Для каждой вновь включенной в граф вершины инициируется свой цикл обработки, и вновь определяются новые вершины. Эта операция применяется до тех пор, пока обработка последней в стеке вершины графа не даст никакого результата. Полученное беспетлевое ориентированное дерево-граф полностью определяет электрическую связь от источника сигнала к приемникам. Применяя модифицированный алгоритм бектрекинга для каждой вершины из множества I входных сигналов, получим все соединения активных внутренних ресурсов, инициализированные в микросхеме при помощи загрузочного битового потока. Как видно из вышеизложенного, предложенный модифицированный алгоритм бектрекинга хорошо формализуется и подходит для применения в процедуре восстановления межсоединений внутренних активных ресурсов FPGA ПЛИС. При этом предлагаемая процедура восстановления межсоединений активных программируемых ресурсов предполагает последовательное выполнение следующих операций:

1) Извлечение из множества входных контактов цепей 1 il,...,} одного контакта , где j =0-,-;n). Помещение контакта в вершину стека. Если множество входных контактов пустое, переход к

данной процедуры, иначе переход к пункту 2 данной процедуры;

2) Нахождение контактов, соединенных трассой на кристалле ПЛИС с контактом, находящимся в вершине стека. Помещение вновь найденных контактов в стек. Если контакт не имеет соединений, то он помечается как конечная вершина;

3) Если обработанный контакт был последним в стеке, переход к пункту 5 данной процедуры, иначе переход к пункту 4 данной процедуры;

4) Помещение в вершину стека следующего контакта, переход к пункту 2 данной процедуры;

5) Исключение из восстановленной связи множества промежуточных контактов Kj;

6) Запись восстановленной связи Mj ={ij,ok,...,om}, переход к пункту 1 данной процедуры;

7) Формирование списка восстановленных межсоединений активных ресурсов ПЛИС.

Таким образом, применение адаптированного алгоритма поиска с возвратом - бектрекинга является актуальным и перспективным и позво-

99

Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 4 -Курск: Науком, 2012. - 128 с., ил. ISBN 978-5-4297-0004-5

ляет достичь существенного увеличения быстродействия относительно модифицированного алгоритма Ли.

Библиографический список

1. Кузелин М. Современные ПЛИС фирмы Xilinx: серия Virtex// http ://www.radioradar. net/

2. All Programmable Technologies from Xilinx Inc. // http://www.xil-inx.com

3. Норенков И.П., Маничев В.Б. Системы автоматизированного проектирования электронной и вычислительной аппаратуры: Учеб. пособие для вузов. - М.: Высш. Школа, 1983.-272с.,ил.

4. Курейчик В.М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. -М: Радио и связь,1990.

100

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