Научная статья на тему 'МОДИФИКАЦИЯ АЛГОРИТМА PATHFINDER ДЛЯ ЭТАПА ТРАССИРОВКИ МЕЖСОЕДИНЕНИЙ ПЛИС'

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

CC BY
88
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЛИС / САПР / ТОПОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ / ТРАССИРОВКА / PATHFINDER / ПОИСК КРАТЧАЙШЕГО ПУТИ

Аннотация научной статьи по математике, автор научной работы — Заплетина Мария Андреевна, Гаврилов Сергей Витальевич

Одно из главных преимуществ проектирования пользовательских схем на ПЛИС - высокая скорость разработки, поэтому создание эффективных средств автоматизированного проектирования для современных микросхем этого класса имеет важное значение. Наиболее времязатратными этапами маршрута проектирования на ПЛИС являются размещение и трассировка. От качества результатов этих этапов зависят итоговые характеристики пользовательских цифровых схем, реализованных на ПЛИС. В работе рассмотрен подход к ускорению этапа трассировки в рамках маршрута топологического проектирования на ПЛИС за счет улучшения алгоритма трассировки. Исследован базовый алгоритм трассировки, представляющий собой модифицированный Pathfinder для смешанного графа трассировочных ресурсов. Этот алгоритм построен на основе согласования маршрутов цепей проектной схемы и работает по принципу итерационного устранения перегрузок трассировочных ресурсов базового кристалла ПЛИС. Для проведения экспериментальных запусков использованы наборы тестовых цифровых схем ISCAS’85, ISCAS’89, LGSynth’89 и несколько пользовательских промышленных проектов. Работа улучшенного алгоритма трассировки проанализирована на примере четырех архитектур ПЛИС. Вследствие усовершенствования алгоритма среднее уменьшение времени трассировки составило от 1,3 до 2,6 раза в зависимости от архитектуры ПЛИС без значительного отрицательного влияния на временные характеристики проектируемых схем.

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

Похожие темы научных работ по математике , автор научной работы — Заплетина Мария Андреевна, Гаврилов Сергей Витальевич

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

PATHFINDER ALGORITHM MODIFICATION FOR CPLD AND FPGA ROUTING STAGE

One of the main advantages of FPGA and CPLD is the high development speed; therefore, the importance of effective computer-aided design tools for modern microcircuits of these classes cannot be overestimated. Placement and routing are the most time-consuming stages of FPGA/CPLD design flow. The quality of results of these stages is crucial to the final performance of custom digital circuits implemented on FPGA/CPLD. The paper discusses an approach to accelerating the routing stage within the layout synthesis flow for FPGA/CPLD by introducing a few algorithmic improvements to a routing procedure. The basic routing algorithm under study is a modified Pathfinder for a mixed routing resource graph. Pathfinder is a well-known negotiation-based routing algorithm that works on the principle of iteratively eliminating congestions of chip routing resources. For experiments, the sets of test digital circuits ISCAS'85, ISCAS'89, LGSynth'89 and several custom industrial projects were used. The impact of the proposed algorithmic improvements was analyzed using four FPGA/CPLD architectures. It has been established that due to the improvements of the algorithm proposed in the paper, the average reduction in routing time was from 1.3 to 2.6 times, depending on the FPGA/CPLD architecture, with no significant negative effect on the timing characteristics of the designed circuits.

Текст научной работы на тему «МОДИФИКАЦИЯ АЛГОРИТМА PATHFINDER ДЛЯ ЭТАПА ТРАССИРОВКИ МЕЖСОЕДИНЕНИЙ ПЛИС»

УДК 621.3.049.771.14:621.3.062: [658.512:004]

DOI: 10.24151/1561-5405-2021-26-5-399-409

Модификация алгоритма Pathfinder для этапа трассировки межсоединений ПЛИС

М.А. Заплетина, С.В. Гаврилов

Институт проблем проектирования в микроэлектронике Российской академии наук, г. Москва, Россия

Национальный исследовательский университет «МИЭТ», г. Москва, Россия

zapletina_m@ippm.ru

Одно из главных преимуществ проектирования пользовательских схем на ПЛИС - высокая скорость разработки, поэтому создание эффективных средств автоматизированного проектирования для современных микросхем этого класса имеет важное значение. Наиболее времязатратными этапами маршрута проектирования на ПЛИС являются размещение и трассировка. От качества результатов этих этапов зависят итоговые характеристики пользовательских цифровых схем, реализованных на ПЛИС. В работе рассмотрен подход к ускорению этапа трассировки в рамках маршрута топологического проектирования на ПЛИС за счет улучшения алгоритма трассировки. Исследован базовый алгоритм трассировки, представляющий собой модифицированный Pathfinder для смешанного графа трассировочных ресурсов. Этот алгоритм построен на основе согласования маршрутов цепей проектной схемы и работает по принципу итерационного устранения перегрузок трассировочных ресурсов базового кристалла ПЛИС. Для проведения экспериментальных запусков использованы наборы тестовых цифровых схем ISCAS'85, ISCAS'89, LGSynth'89 и несколько пользовательских промышленных проектов. Работа улучшенного алгоритма трассировки проанализирована на примере четырех архитектур ПЛИС. Вследствие усовершенствования алгоритма среднее уменьшение времени трассировки составило от 1,3 до 2,6 раза в зависимости от архитектуры ПЛИС без значительного отрицательного влияния на временные характеристики проектируемых схем.

Ключевые слова: ПЛИС; САПР; топологическое проектирование; трассировка; Pathfinder; поиск кратчайшего пути

Финансирование работы: работа выполнена при финансовой поддержке РФФИ (проект № 20-37- 90046).

Для цитирования: Заплетина М.А., Гаврилов С.В. Модификация алгоритма Pathfinder для этапа трассировки межсоединений ПЛИС // Изв. вузов. Электроника. 2021. Т. 26. № 5. С. 399-409. DOI: https://doi.org/ 10.24151/1561-5405-2021-265-399-409

© М.А. Заплетина, С.В. Гаврилов, 2021

Pathfinder Algorithm Modification for CPLD and FPGA Routing Stage

M.A. Zapletina, S.V. Gavrilov

Institute for Design Problems in Microelectronics of the Russian Academy of Sciences, Moscow, Russia

National Research University of Electronic Technology, Moscow, Russia zapletina_m@ippm.ru

Abstract. One of the main advantages of FPGA and CPLD is the high development speed; therefore, the importance of effective computer-aided design tools for modern microcircuits of these classes cannot be overestimated. Placement and routing are the most time-consuming stages of FPGA/CPLD design flow. The quality of results of these stages is crucial to the final performance of custom digital circuits implemented on FPGA/CPLD. The paper discusses an approach to accelerating the routing stage within the layout synthesis flow for FPGA/CPLD by introducing a few algorithmic improvements to a routing procedure. The basic routing algorithm under study is a modified Pathfinder for a mixed routing resource graph. Pathfinder is a well-known negotiation-based routing algorithm that works on the principle of iteratively eliminating congestions of chip routing resources. For experiments, the sets of test digital circuits ISCAS'85, ISCAS'89, LGSynth'89 and several custom industrial projects were used. The impact of the proposed algorithmic improvements was analyzed using four FPGA/CPLD architectures. It has been established that due to the improvements of the algorithm proposed in the paper, the average reduction in routing time was from 1.3 to 2.6 times, depending on the FPGA/CPLD architecture, with no significant negative effect on the timing characteristics of the designed circuits.

Keywords. FPGA; CPLD; CAD; layout synthesis; FPGA design flow; routing; Pathfinder; shortest path search

Funding. the study has been supported by the RFBR (project No. 20-37- 90046).

For citation. Zapletina M.A., Gavrilov S.V. Pathfinder algorithm modification for CPLD and FPGA routing stage. Proc. Univ. Electronics, 2021, vol. 26, no. 5, pp. 399-409. DOI. https://doi.org/ 10.24151/1561-5405-2021-26-5-399-409

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

Существуют два подхода к решению задачи ускорения прохождения этапа трассировки межсоединений. Первый подход - введение алгоритмических улучшений в классические алгоритмы трассировки и поиск кратчайшего пути [2-8], включая создание параллельных версий классических алгоритмов [2, 5, 8]. Данный подход позволяет ускорить поиск решения задачи трассировки практически неограниченно, но, как правило, постепенно, без многократного повышения производительности. Он относительно прост для понимания и применения и имеет высокую скорость программной реализации. Второй подход - разработка методов, моделей и приемов, опирающихся на новые математические основы, такие как задача выполнимости булевых формул [9], машинное обучение [10], идея совместного выполнения размещения и трассировки [11, 12] и пр. Кроме того, известны алгоритмы для предварительной «грубой» трассировки межсоединений, которая позволяет получить оценку разводимости рассматриваемого размещения [13, 14]. Их применение позволяет уменьшить количество перегрузок, возникающих на этапе точной детальной трассировки. Второй подход обычно требует длительного времени на разработку, проведения фундаментальных исследований и переосмысления теоретических основ проблемы. Однако его преимущество в том, что именно он может привести к качественному прорыву в решении рассматриваемой задачи.

Pathfinder [1] в настоящее время - один из широко используемых алгоритмов трассировки на ПЛИС. Известно о его применении в качестве основы для академических и коммерческих САПР: VTR [3], FastRoute [4], SPRoute [5], CRoute [6], AIR [7] и др. Параллельные версии Pathfinder [2, 7, 8] демонстрируют высокую скорость поиска решения, однако для них характерны плохая масштабируемость и недетерминированность [15] результата трассировки. Свойство масштабируемости позволяет алгоритму трассировки работать быстрее, если он обрабатывается большим количеством потоков или вычислительных ядер. Свойство детерминированности результата означает его повторяемость для одних и тех же входных данных, что крайне важно для проектирования и тестирования схем. Большинство параллельных алгоритмов на основе Pathfinder пренебрегает одним из этих свойств в пользу второго. В связи с этим создание параллельной версии алгоритма Pathfinder часто является предметом современных исследований.

Цель настоящей работы - оценка влияния алгоритмических улучшений на повышение скорости прохождения этапа трассировки с помощью модифицированного алгоритма Pathfinder для смешанного графа трассировочных ресурсов. Усовершенствованный алгоритм протестирован на наборах цифровых схем ISCAS'85 [16], ISCAS'89 [17] и LGSynth'89 [18] на примере четырех различных архитектур ПЛИС.

Модель трассировочных ресурсов базового кристалла ПЛИС. Классическая модель представления трассировочных ресурсов ПЛИС - направленный граф G = {V, A}, в котором каждая вершина v е V представляет собой электрический узел

базового кристалла, а каждая дуга a = (V, V), aj е A, A = V x V, vk, v е V - направленное программируемое соединение (коммутационный элемент) между двумя узлами. После процедуры размещения проектная цепь описывается как nm = {sm,{tml,...,tml}}

с источником sm е V и множеством приемников T = {tm¿}, T^ V, k = 1,...,I, где I = |т| -число приемников сигнала в цепи nm. Цепь nm е N из множества проектных цепей N является трассируемой, если в ходе процедуры трассировки в графе G для нее может быть найдено дерево трассировки RT(nm) с корневым элементом в вершине s

и листьями в вершинах tmtml, не пересекающееся с деревьями других проектных цепей.

Существуют архитектуры ПЛИС, предполагающие наличие не только направленных, но и ненаправленных программируемых коммутационных элементов. Модель описания трассировочных ресурсов в этом случае претерпевает изменение [19]: формируется смешанный граф G = {V, E}, E = U ^ A, где u. е U - множество ненаправленных ребер в графе трассировочных ресурсов. Для удобства восприятия элементы е. е E

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

фиксированные начальные веса w(vt) и w(ej). Кроме того, каждому ребру е . ставится в соответствие функция прохождения сигнала Fe , позволяющая описать возможное направление его распространения, инверсии входов и выходов соответствующего ребру схемотехнического элемента, а также учесть различные способы управления (коммутацию по нагрузке, общий управляющий сигнал для группы коммутационных элементов и пр.).

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

Помимо базовых весов w(vi), ^(е.) и функции ¥е описания прохождения сигнала,

•I

вводится ряд дополнительных параметров. Параметр к(у{), пропорциональный числу цепей, прошедших через вершину V на предыдущей итерации трассировки, обновляет свое значение для всех перегруженных вершин в конце каждой итерации. Коэффициент р(^) зависит от числа цепей, проходящих через вершину vi, и числа завершенных

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

Стоимость включения вершины V в дерево трассировки ИТ(пт) рассчитывается следующим образом:

cost(v) = costj^ + c(v) + w(ei), где w(e) - вес ребра, ведущего к вершине v..

Обновляемый вес вершины c(vi ) рассчитывается как

) = p(v )(w(v ) + h(vt )),

где коэффициент p(vt) = 1 + (p -1)VP ■ n(vt ) ; p - номер текущей итерации алгоритма Pathfinder; VP - один из настроечных параметров алгоритма; n(vi ) - число проектных цепей, трассировочным деревьям которых принадлежит вершина vt.

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

Проектные схемы наборов ISCAS'85, ISCAS'89, LGSynth'89, реализуемые на ПЛИС объемом до 25 тыс. логических элементов и использованные для тестирования улучшений алгоритма, содержат низкий процент сильноразветвленных цепей с

Т > 20, причем значительную их часть составляют цепи синхросигналов. Используемый маршрут топологического проектирования [20] предусматривает отдельную процедуру трассировки цепей синхронизации. И хотя в работе [7] отмечается, что наличие сильноразветвленных цепей замедляет работу алгоритма трассировки, не поддерживающего их разбиение на двухтерминальные соединения пт= [J в

ï=I,...,|t|

рассматриваемых условиях это влияние пренебрежимо мало.

Способы улучшения модифицированного алгоритма Pathfinder. Классический алгоритм Pathfinder очищает и строит повторно деревья трассировки для всех цепей из списка межсоединений на каждой итерации своей работы, если на графе коммутационных ресурсов осталась хотя бы одна перегруженная вершина 3v : v G RT(n ), v G RT(n), П ^ П. В ходе процедуры трассировки количество перегруженных вершин и, соответственно, пересекающихся деревьев трассировки уменьшается. Следствие этого - отсутствие острой необходимости в очистке и повторной трассировке всего списка межсоединений, что позволяет избежать излишней работы.

Первый способ улучшения алгоритма трассировки - сохранение деревьев трассировки с предыдущей итерации для цепей, не содержащих перегруженных вершин. Это решение «наследует» идею «ленивой» трассировки алгоритмом AIR [7], работающим на основе разбиения проектных цепей на набор двухтерминальных соединений.

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

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

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

В модифицированном алгоритме Pathfinder пути от источника до всех приемников отдельно взятой цепи трассируются одновременно. Во время поиска пути алгоритм добавляет вершины смешанного графа трассировки в приоритетную очередь (Priority Queue, PQ) в зависимости от стоимости их включения в текущее дерево цепи. Pathfinder использует «жадную» стратегию поиска кратчайшего пути к каждому приемнику, присваивая наиболее высокий приоритет вершинам с наименьшей стоимостью. Механизм второго способа следующий. При нахождении очередного приемника алгоритм искусственно уменьшает (балансирует) стоимости вершин, находящихся в дереве трассировки от этого приемника до источника. Таким образом увеличивается вероятность повторного использования вершин при поиске оставшихся приемников этой цепи, поскольку их приоритет в очереди повышается.

Базовой структурой данных рассматриваемого алгоритма выбрана минимальная двоичная куча, элементы которой - вершины трассировочного графа. Вершина с минимальной стоимостью вхождения в дерево трассировки всегда является первым элементом этой структуры и может быть извлечена с временной сложностью 0(1) . Операции вставки нового и удаления выбранного элемента имеют временную сложность 0(log n), где n - суммарное число элементов кучи. Алгоритм избегает излишних затратных процедур удаления и вставки при балансировке весов вершин трассировочного графа. Это достигается использованием сортировки имеющейся двоичной кучи после обновления весов вершин, входящих в дерево трассировки, вместо ее очистки и создания новой.

Эксперимент. Предлагаемые улучшения модифицированного алгоритма Pathfinder [19] протестированы на примере четырех архитектур ПЛИС. Тестовая ПЛИС №1 является программируемой цифровой частью ПАЦИС 5400ТР094 [21] и имеет классиче-

Варианты трассировки цепи n = {S,{G1,G2}} на коммутационном графе: а - по умолчанию с наличием параллельных путей для приемников; б - с принудительным повторным использованием коммутационных ресурсов. Веса всех

ребер и вершин единичные Different paths for a net n = {S,{G1,G2}>. a - the default parallel paths; b - a path with enforced routing resources re-use. All the edges and vertices weights equal 1

скую островную архитектуру. Тестовая ПЛИС №2 наследует значительный объем структурных решений семейства микросхем Microsemi ProASIC3 [22]. Архитектура тестовой ПЛИС №3 в значительной степени повторяет структуру микросхем семейства Altera MAX II CPLD [23]. Тестовая ПЛИС №4 - продолжение ПЛИС №3, она имеет экспериментальную архитектуру с долей оригинальных схемотехнических решений. (В связи с незавершенностью маршрута проектирования ПЛИС №4 результаты статического временного анализа для нее в настоящей статье не представлены.) Тестовые ПЛИС содержат 1794, 3200, 25 600 и 25 600 логических ячеек соответственно.

В табл. 1 представлены результаты внедрения первого способа ускорения процедуры трассировки, основанного на сохранении деревьев трассировки с предыдущей итерации для цепей, не имеющих перегруженных вершин. В зависимости от рассматриваемой архитектуры ПЛИС среднее уменьшение времени трассировки варьируется от 1,3 до 2,6 раза. Худший результат по увеличению задержки критического пути на 7,9 % наблюдается для ПЛИС островной архитектуры, в то время как для ПЛИС №2 задержки критического пути уменьшились, а для ПЛИС №3 выросли менее чем на 1 %. Следует также отметить, что, хотя число итераций работы алгоритма до нахождения полного трассировочного решения в среднем увеличилось, продолжительность каждой итерации и, соответственно, суммарное время работы сократились.

Таблица 1

Влияние сохранения деревьев трассировки для цепей, не содержащих перегруженных вершин

Table 1

The effect of routing trees saving for the nets with no congested vertices

Номер ПЛИС Увеличение числа итераций, % Уменьшение времени трассировки, % Увеличение задержки критического пути, % Уменьшение размера дерева трассировки, %

Среднее/ Медианное Среднее/ Медианное Среднее/ Медианное Среднее/ Медианное

1 149,7 / 70,0 22,8 / 35,8 7,9 / 0,0 -9,2 / 0,4

2 -3,1 / 0,0 50,1 / 48,7 -0,7 / -0,9 0,3 / 0,5

3 32,9 / 25,0 61,9 / 74,8 0,5 / 0,0 -0,8 / -1,2

4 14,9 / 13,4 57,1 / 58,1 - -0,7 / -0,6

Цепи с большим числом приемников, как уже отмечалось, представляют сложность для эффективной работы алгоритма трассировки, не поддерживающего разбиение таких цепей на набор двухтерминальных соединений nm = [J (ля;, 1т () . Поскольку не-

7=1,...,|Т|

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

Таблица 2

Результат внедрения улучшений алгоритма

Table 2

The summary effect of the proposed algorithm improvements

Увеличение Уменьшение Увеличение Уменьшение

Номер ПЛИС числа итераций, времени трасси- задержки крити- размера дерева

% ровки, % ческого пути, % трассировки, %

Среднее/ Медианное Среднее/ Медианное Среднее/ Медианное Среднее/ Медианное

1 50,7 / -3,2 41,4 / 38,1 22,0 / 17,7 12,3 / 13,5

2 2,6 / 0,0 51,8 / 57,3 5,9 / 3,9 13,3 / 13,5

3 22,3 / 0,0 48,3 / 54,9 7,0 / 1,7 14,1 / 6,15

4 14,9 / 9,5 56,7 / 56,8 - -0,4 / 0,2

Как видно из табл.2, балансировка весов вершин трассировочного дерева позволяет уменьшить количество итераций и число вошедших в дерево трассировки элементов. Лучший результат по всем показателям достигнут на ПЛИС № 2 с архитектурой, схожей с серией Microsemi ProASIC3 [22]. Худший результат введенных улучшений алгоритма отмечен на ПЛИС островной архитектуры, что свидетельствует о необходимости разработки техники улучшения временных характеристик проектируемых пользовательских схем для данного типа архитектур.

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

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

Литература

1. McMurchie L., Ebeling C. PathFinder: a negotiation-based performance-driven router for FPGAs // FPGA'95: Proceedings of the 1995 ACM Third International Symposium on Field-Programmable Gate Arrays. New York: ACM, 1995. P. 111-117. DOI: https://doi.org/10.1145/201310.201328

2. Zhou Y., Vercruyce D., Stroobandt D. Accelerating FPGA routing through algorithmic enhancements and connection-aware parallelization // ACM Transactions on Reconfigurable Technology and Systems. 2020. Vol. 13. Iss. 4. Art. No. 18. P. 1-26. DOI: https://doi.org/10.1145/3406959

3. VTR 8: High-performance CAD and customizable FPGA architecture modelling / K.E. Murray, O. Petelin, Sh. Zhong et al. // ACM Transactions on Reconfigurable Technology and Systems. 2020. Vol. 13. Iss. 2. Art. No. 9. P. 1-55. DOI: https://doi.org/10.1145/3388617

4. Pan M., Xu Y., Zhang Y., Chu Ch. Fastroute: An efficient and high-quality global router // VLSI Design. 2012. Art. ID 608362. 18 p. DOI: https://doi.org/10.1155/2012/608362

5. He J., Burtscher M., Manohar R., Pingali K. SPRoute: A scalable parallel negotiation-based global router // 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-2019). Westminster, CO: IEEE, 2019. P. 1-8. DOI: https://doi.org/10.1109/ICCAD45719.2019.8942105

6. VercruyceD., Vansteenkiste E., StroobandtD. CRoute: A fast high-quality timing-driven connection-based FPGA router // 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). San Diego, CA: IEEE, 2019. P. 53-60. DOI: https://doi.org/10.1109/ FCCM.2019.00017

7. Murray K.E., Zhong S., Betz V. AIR: A fast but lazy timing-driven FPGA router // 2020 25th Asia and South Pacific Design Automation Conference (ASP-DAC). Beijing: IEEE, 2020. P. 338-344. DOI: https://doi.org/10.1109/ASP-DAC47756.2020.9045175

8. Hoo C.H., Kumar A. ParaDRo: A parallel deterministic router based on spatial partitioning and scheduling // FPGA'18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field -Programmable Gate Arrays. New York: ACM, 2018. P. 67-76. DOI: https://doi.org/10.1145/3174243.3174246

9. FraisseH. Incremental routing for circuit designs using a SAT router. U.S. Patent No. 10445456. Filed: 14.06.2017. Publ.: 15.10.2019.

10. High-definition routing congestion prediction for large-scale FPGAs / M.B. Alawieh, W. Li, Y. Lin et al. // 2020 25th Asia and South Pacific Design Automation Conference (ASP-DAC). Beijing: IEEE, 2020. P. 26-31. DOI: https://doi.org/10.1109/ASP-DAC47756.2020.9045178

11. Li W., Dehkordi M.E., Yang S., Pan D.Z. Simultaneous placement and clock tree construction for modern FPGAs // FPGA'19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. New York: ACM, 2019. P. 132-141. DOI: https://doi.org/10.1145/ 3289602.3293897

12. Kannan P., Bhatia D. Tightly integrated placement and routing for FPGAs // FPL 2001: Field-Programmable Logic and Applications. Berlin; Heidelberg: Springer, 2001. P. 233-242. DOI: https://doi.org/ 10.1007/3-540-44687-7_25

13. Liu W.-H., Kao W.-C., Li Y.-L., Chao K.-Y. Multi-threaded collision-aware global routing with bounded-length maze routing // Design Automation Conference. Anaheim, CA: IEEE, 2010. P. 200-205.

14. Pan M., Chu C. IPR: An integrated placement and routing algorithm // 2007 44th ACM/IEEE Design Automation Conference. San Diego, CA: IEEE, 2007. P. 59-62.

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

15. Змеев Д.Н., Левченко Н.Н., Окунев А.С., Стемпковский А.Л. Влияние особенностей модели вычислений и архитектуры на надежность параллельной потоковой вычислительной системы // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2020. № 1. С. 64-69. DOI: https://doi.org/10.31114/2078-7707-2020-1-64-69

16. Brglez F., Fujiwara H. A neutral netlist of 10 combinational circuits and a targeted translator in FORTRAN // Special Session on Recent Algorithms for Gate-Level ATPG with Fault Simulation and Their Performance Assessment, 1985 IEEE Int. Symp. on Circuits and Systems. Kyoto: IEEE, 1985. P. 663-698.

17. Brglez F., Bryan D., Kozminski K. Combinational profiles of sequential benchmark circuits // IEEE International Symposium on Circuits and Systems. Portland, OR: IEEE, 1989. Vol. 3. P. 1929-1934. DOI: https://doi.org/10.1109/ISCAS.1989.100747

18. Yang S. Logic synthesis and optimization benchmarks: Technical report, MCNC, Dec. 1988 // 1989 MCNC International Workshop on Logic Synthesis. S. l.: MCNC, 1989. P. 14.

19. Железников Д.А., Заплетина М.А., Хватов В.М. Исследование механизма разрыва и перетрассировки на этапе топологического синтеза в базисе реконфигурируемых систем на кристалле // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2018. № 1. С. 188-192. DOI: https://doi.org/10.31114/2078-7707-2018-1-188-192

20. Маршрут топологического синтеза для реконфигурируемых систем на кристалле специального назначения / С.В. Гаврилов, Д.А. Железников, М.А. Заплетина и др. // Микроэлектроника, 2019. Т. 48. № 3. С. 211-223. DOI: https://doi.org/10.1134/S0544126919030050

21. ПАЦИС 5400ТР094 // Дизайн центр «Союз»: [Электронный ресурс]. URL: https://dcsoyuz.ru/ search/art/1605 (дата обращения: 06.04.2021).

22. ProASIC3 series // Microsemi: [Web] / Microchip Technology Inc. URL: https://www.microsemi.com/ product-directory/fpgas/1690-proasic3 (дата обращения: 06.04.2021).

23. Intel MAX II Device Handbook / Altera Corp. 2009. 297 p. // Intel: [Web] / Intel Corp. URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max2/max2_mii5v1.pdf (дата обращения: 06.04.2021).

Поступила в редакцию 07.04.2021 г.; после доработки 07.04.2021 г.; принята к публикации 08.07.2021 г.

Заплетина Мария Андреевна - младший научный сотрудник отдела САПР Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул. Советская, 3), аспирант кафедры проектирования и конструирования интегральных схем Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина,1), zapletina_m@ippm.ru

Гаврилов Сергей Витальевич - доктор технических наук, профессор, директор Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул. Советская, 3), заведующий кафедрой проектирования и конструирования интегральных схем Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина,1), s.g@ippm.ru

References

1. McMurchie L., Ebeling C. PathFinder: a negotiation-based performance-driven router for FPGAs. FPGA '95: Proceedings of the 1995 ACM Third International Symposium on Field-Programmable Gate Arrays. New York, ACM, 1995, pp. 111-117. DOI: https://doi.org/10.1145/201310.201328

2. Zhou Y., Vercruyce D., Stroobandt D. Accelerating FPGA routing through algorithmic enhancements and connection-aware parallelization. ACM Transactions on Reconfigurable Technology and Systems, 2020, vol. 13, iss. 4, art. no. 18, pp. 1-26. DOI: https://doi.org/10.1145/3406959

3. Murray K.E., Petelin O., Zhong Sh., Wang J.M., Eldafrawy M., Legault J.-Ph., Sha E., Graham A.G., Wu J., Walker M.J.P., Zeng H., Patros P., Luu J., Kent K.B., Betz V. VTR 8: High-performance CAD and customizable FPGA architecture modelling. ACM Transactions on Reconfigurable Technology and Systems, 2020, vol. 13, iss. 2, art. no. 9, pp. 1-55. DOI: https://doi.org/10.1145/3388617

4. Pan M., Xu Y., Zhang Y., Chu Ch. Fastroute: An efficient and high-quality global router. VLSI Design, 2012, art. ID 608362, 18 p. DOI: https://doi.org/10.1155/2012/608362

5. He J., Burtscher M., Manohar R., Pingali K. SPRoute: A scalable parallel negotiation-based global router. 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-2019). Westminster, CO, IEEE, 2019, pp. 1-8. DOI: https://doi.org/10.1109/ICCAD45719.2019.8942105

6. Vercruyce D., Vansteenkiste E., Stroobandt D. CRoute: A fast high-quality timing-driven connection-based FPGA router. 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). San Diego, CA, IEEE, 2019, pp. 53-60. DOI: https://doi.org/10.1109/ FCCM.2019.00017

7. Murray K.E., Zhong S., Betz V. AIR: A fast but lazy timing-driven FPGA router. 2020 25th Asia and South Pacific Design Automation Conference (ASP-DAC). Beijing, IEEE, 2020, pp. 338-344. DOI: https://doi.org/10.1109/ASP-DAC47756.2020.9045175

8. Hoo C.H., Kumar A. ParaDRo: A parallel deterministic router based on spatial partitioning and scheduling. FPGA '18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. New York, ACM, 2018, pp. 67-76. DOI: https://doi.org/10.1145/3174243.3174246

9. Fraisse H. Incremental routing for circuit designs using a SAT router. U.S. patent No. 10445456, 2019.

10. Alawieh M.B., Li W., Lin Y., Singhal L., Iyer M.A., Pan D.Z. High-definition routing congestion prediction for large-scale FPGAs. 2020 25th Asia and South Pacific Design Automation Conference (ASP-DAC). Beijing, IEEE, 2020, pp. 26-31. DOI: https://doi.org/10.1109/ASP-DAC47756.2020.9045178

11. Li W., Dehkordi M.E., Yang S., Pan D.Z. Simultaneous placement and clock tree construction for modern FPGAs. FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field -Programmable Gate Arrays. New York, ACM, 2019, pp. 132-141. DOI: https://doi.org/10.1145/3289602.3293897

12. Kannan P., Bhatia D. Tightly integrated placement and routing for FPGAs. FPL 2001: Field-Programmable Logic and Applications. Berlin, Heidelberg, Springer, 2001, pp. 233-242. DOI: https://doi.org/ 10.1007/3-540-44687-7_25

13. Liu W.-H., Kao W.-C., Li Y.-L., Chao K.-Y. Multi-threaded collision-aware global routing with bounded-length maze routing. Design Automation Conference. Anaheim, CA, IEEE, 2010, pp. 200-205.

14. Pan M., Chu C. IPR: An integrated placement and routing algorithm. 2007 44th ACM/IEEE Design Automation Conference. San Diego, CA, IEEE, 2007, pp. 59-62.

15. Zmejev D.N., Levchenko N.N., Okunev A.S., Stempkovsky A.L. Impact of features of the computing model and architecture on the parallel dataflow computing system reliability. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES), 2020, no. 1, pp. 64-69. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2020-1-64-69

16. Brglez F., Fujiwara H. A neutral netlist of 10 combinational circuits and a targeted translator in FORTRAN. Special Session on Recent Algorithms for Gate-Level ATPG with Fault Simulation and Their Performance Assessment, 1985 IEEE Int. Symp. on Circuits and Systems. Kyoto, IEEE, 1985, pp. 663-698.

17. Brglez F., Bryan D., Kozminski K. Combinational profiles of sequential benchmark circuits. IEEE International Symposium on Circuits and Systems. Portland, OR, IEEE, 1989, vol. 3, pp. 1929-1934. DOI: https://doi.org/10.1109/ISCAS.1989.100747

18. Yang S. Logic synthesis and optimization benchmarks: Technical report, MCNC, Dec. 1988. 1989 MCNCInternational Workshop on Logic Synthesis. MCNC, 1989, p. 14.

19. Zheleznikov D.A., Zapletina M.A., Khvatov V.M. The rip-up and reroute technique research for physical synthesis in the basis of reconfigurable SoCs. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES), 2018, no. 1, pp. 188-192. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2018-1-188-192

20. Gavrilov S.V., Zheleznikov D.A., Zapletina M.A., Khvatov V.M., Chochaev R.Z., Enns V.I. Layout synthesis design flow for special-purpose reconfigurable systems-on-a-chip. Russian Microelectronics, 2019, vol. 48, iss. 3, pp. 176-186. DOI: https://doi.org/10.1134/S1063739719030053

21. The programmable analog and digital integrated circuit 5400TP094. Design Center Soyuz. Available at: https://dcsoyuz.ru/search/art/1605 (accessed: 06.04.2021). (In Russian).

22. ProASIC 3 series. Microsemi. Available at: https://www.microsemi.com/product-directory/fpgas/1690-proasic3 (accessed: 06.04.2021).

23. MAX II Device Handbook. Intel Corp. (previously Altera), 2009. 297 p. Available at: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max2/max2_mii5v1.pdf (accessed: 06.04.2021).

Received 07.04.2021; Revised 07.04.2021; Accepted 08.07.2021. Information about the authors:

Mariya A. Zapletina - Junior Scientific Researcher of the CAD Department, Institute for Design Problems in Microelectronics of the Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), PhD student of the Design and Construction of Integrated Circuits Department, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), zapletina_m@ippm.ru

Sergey V. Gavrilov - Dr. Sci. (Eng.), Prof., Director, Institute for Design Problems in Microelectronics of the Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), Head of the Design and Construction of Integrated Circuits

Department, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), s.g@ippm.ru

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