Выпуск #1/2026
А.Ю.Чистяков, М.А.Заплетина
ОПЫТ ПРИМЕНЕНИЯ ОТКРЫТОЙ БИБЛИОТЕКИ ГРАДИЕНТНОГО БУСТИНГА CATBOOST НА ЭТАПЕ ТРАССИРОВКИ В РАМКАХ ФИЗИЧЕСКОГО СИНТЕЗА НА ОСНОВЕ ПЛИС
ОПЫТ ПРИМЕНЕНИЯ ОТКРЫТОЙ БИБЛИОТЕКИ ГРАДИЕНТНОГО БУСТИНГА CATBOOST НА ЭТАПЕ ТРАССИРОВКИ В РАМКАХ ФИЗИЧЕСКОГО СИНТЕЗА НА ОСНОВЕ ПЛИС
Просмотры: 797
https://doi.org/10.22184/1993-8578.2026.19.1.80.88.
Разработана модель прогнозирования времени трассировки в основе программного модуля подбора входных параметров для ускорения выполнения этапа трассировки средствами САПР X-CAD для реализации цифровых схем на ПЛИС. Вычислительные эксперименты продемонстрировали сокращение времени генерации трассировочного решения в 1,5 раза в среднем для ПЛИС 5510ТС028.
Разработана модель прогнозирования времени трассировки в основе программного модуля подбора входных параметров для ускорения выполнения этапа трассировки средствами САПР X-CAD для реализации цифровых схем на ПЛИС. Вычислительные эксперименты продемонстрировали сокращение времени генерации трассировочного решения в 1,5 раза в среднем для ПЛИС 5510ТС028.
Теги: digital circuits fpga routing x-cad computer-aided design плис сапр х-cad трассировка цифровые схемы
Получено: 27.01.2026 г. | Принято: 30.01.2026 г. | DOI: https://doi.org/10.22184/1993-8578.2026.19.1.80.88
Научная статья
Опыт применения открытой библиотеки градиентного бустинга CatBoost на этапе трассировки в рамках физического синтеза на основе ПЛИС
А.Ю.Чистяков1, инж.-иссл., ORCID: 0000-0002-5972-8317 / chis.alexandr2018@yandex.ru
М.А.Заплетина1, к.т.н., ст. науч. сотр., ORCID: 0000-0001-9845-7823
Аннотация. Разработана модель прогнозирования времени трассировки в основе программного модуля подбора входных параметров для ускорения выполнения этапа трассировки средствами САПР X-CAD для реализации цифровых схем на ПЛИС. Вычислительные эксперименты продемонстрировали сокращение времени генерации трассировочного решения в 1,5 раза в среднем для ПЛИС 5510ТС028.
Ключевые слова: трассировка, САПР Х-CAD, ПЛИС, цифровые схемы
Для цитирования: А.Ю. Чистяков, М.А. Заплетина. Опыт применения открытой библиотеки градиентного бустинга catboost на этапе трассировки в рамках физического синтеза на основе ПЛИС. НАНОИНДУСТРИЯ. 2026. Т. 19. № 1. С. 80–88. https://doi.org/10.22184/1993-8578.2026.19.1.80.88.
ВВЕДЕНИЕ
В текущих условиях масштабного импортозамещения возникает необходимость все более широкого применения отечественных программируемых логических интегральных схем (ПЛИС). Ключевым фактором, оказывающим влияние на качество результатов проектирования в их базисе, являются системы автоматизированного проектирования (САПР), их производительность и удобство работы с ними.
Маршрут проектирования схем в базисе ПЛИС состоит из этапов логического синтеза, физического синтеза (включающего кластеризацию, размещение и трассировку), цифрового моделирования, статического временного анализа, создания прошивки. Наиболее затратным по времени и объему вычислений является предварительный этап трассировки в составе этапа физического синтеза. Кроме того, именно на нем значительным образом негативно отражается тенденция к росту степени интеграции новых микросхем. В связи с этим, его ускорение играет важную роль с точки зрения эффективности САПР.
Одним из возможных способов ускорения этапа трассировки является применение методов машинного обучения (МО). В настоящее время ведущие разработчики САПР для ПЛИС (компании Altera, AMD) уже получили первый успешный опыт внедрения интеллектуальных методик в своих продуктах, и исследования в этой области представляются наиболее перспективными.
В данной статье описан опыт применения открытой библиотеки машинного обучения CatBoost [1] для подбора параметров алгоритма трассировки в составе САПР для ПЛИС X-CAD [2]. В разделе 2 рассмотрены существующие подходы к применению методов машинного обучения в маршруте проектирования схем на ПЛИС. Раздел 3 посвящен использованным в данной работе инструментам. Раздел 4 содержит описание идеи применения модели CatBoost для этапа трассировки и ее реализации в составе маршрута проектирования в САПР X-CAD. В разделе 5 представлены результаты вычислительных экспериментов и анализ влияния разработанного подхода на итоговые характеристики проектируемых схем. В разделах 6 и 7 приведены некоторые трудности подхода, возникшие в ходе разработки, и заключение, соответственно.
АНАЛИЗ СУЩЕСТВУЮЩИХ МЕТОДИК ПРИМЕНЕНИЯ МАШИННОГО ОБУЧЕНИЯ В МАРШРУТЕ ПРОЕКТИРОВАНИЯ СХЕМ В БАЗИСЕ ПЛИС
Технологии машинного обучения, получившие стремительное развитие в последнее время, находят применение во множестве сфер. Исключением не стали и САПР для ПЛИС, в которых методы машинного обучения внедряются в алгоритмы проектирования и позволяют значительно повысить качество получаемых итоговых решений. Так, данные технологии в работе САПР Vivado [3] применяет компания AMD, второй по объему реализуемой продукции разработчик на мировом рынке ПЛИС. Их использование позволяет эффективнее производить логическую оптимизацию, оценку задержек схемы и некоторые другие операции. В совокупности применение методов машинного обучения позволило кратно ускорить прохождение маршрута с одновременным улучшением качества результатов проектирования.
Активные усилия разработчиков направлены на применение методов машинного обучения для улучшения работы отдельных этапов проектирования, в частности – трассировки. Она представляет собой заключительный этап физического синтеза в маршруте проектирования схем на ПЛИС. В результате ее выполнения обеспечивается отображение проектных цепей, полученных на этапе логического синтеза, на имеющиеся трассировочные ресурсы ПЛИС. Таким образом, осуществляется соединение логических элементов и других компонентов ПЛИС (ячеек ввода/вывода, сложно-функциональных блоков) между собой. От качества выполнения трассировки напрямую зависят временные характеристики получаемых схем, поэтому улучшение применяемых в САПР алгоритмов трассировки остается важным направлением для исследований. Далее представлены актуальные работы в этой связи.
Одной из задач, решаемых в работе [4], является прогнозирование разводимости проектных цепей на основе данных предыдущих этапов проектирования. Основой предсказывающей модели DLRoute выступает сверточная нейронная сеть. В качестве входных данных она принимает четыре карты перегруженности, отражающие длину межсоединений на единицу площади, количество терминалов проектных цепей и количество разрезанных цепей (имеющих внешние терминалы) внутри двух различных по площади фрагментов поверхности кристалла. В результате анализа карт модель делает предсказание о разводимости схемы с таким размещением. Применение данного подхода позволило пропускать выполнение некоторых этапов проектирования для схем с хорошей разводимостью и тем самым ускорило выполнение маршрута на 48,3%. Суммарная длина межсоединений при этом увеличилась на 4,3%.
В статье [5] описана разработка генеративно-состязательной нейронной сети, с помощью которой на основе данных о размещении и взаимной связанности элементов ПЛИС создавалась тепловая карта потенциального расположения перегруженных участков кристалла на этапе трассировки. На основе результатов ее анализа могут быть внесены изменения в размещение проектируемой схемы для снижения сложности трассировочной задачи, что в итоге позволит достичь улучшенной разводимости и более высокого качества получаемого трассировочного решения.
К иной категории научных работ относятся исследования по применению методов машинного обучения на верхнем уровне по отношению к программному обеспечению для проектирования СБИС, например, для подбора входных параметров САПР, обеспечивающих улучшение качества результатов проектирования. Примером такой работы является статья [6]. В ней описано применение методов машинного обучения для настройки параметров алгоритма размещения схем, включающих сложно-функциональные блоки. На ряде тестовых схем предложенное решение показало принципиальную возможность достичь улучшения как по классическим отраслевым метрикам площади, задержки и потребляемой мощности, так и по количеству нарушений правил проектирования (DRC) и суммарной длине межсоединений.
ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА
1. Библиотека CatBoost
Основой для создания прогнозирующей модели в данной работе выступила открытая библиотека машинного обучения CatBoost на языке программирования Python, разработанная компанией Яндекс. В основе формируемых на ее основе моделей находится метод градиентного бустинга. Он подразумевает объединение нескольких слабых алгоритмов машинного обучения в один сильный, где каждый последующий алгоритм учитывает ошибки предыдущего. CatBoost оптимизирована для работы с категориальными признаками, что позволяет использовать их без предварительной обработки. Библиотека применяется в работе многих сервисов компании Яндекс при выполнении задач по прогнозированию погоды, выдаче поисковых запросов и др.
Ключевыми факторами, повлиявшими на выбор CatBoost в качестве инструмента для получения опыта применения методов МО в САПР X-CAD, послужило следующее: библиотека является отечественной разработкой; модели, созданные с ее помощью, требуют меньше времени на обучение и быстрее проводят предсказание по сравнению с аналогами; для нее представлена качественная, подробная документация и множество примеров использования в открытом доступе.
2. Фреймворк Optuna
Для создания модели с наибольшей точностью предсказания библиотека CatBoost требует настройки гиперпараметров модели, например, подбора количества итераций обучения. Ручной итерационный выбор этих параметров возможен, однако такой подход не оптимален, поскольку зависимость между гиперпараметрами и результатом обучения не очевидна. На помощь в решении данной задачи приходит фреймворк Optuna [7], который автоматизирует подбор гиперпараметров. Этот инструмент поддерживает набор алгоритмов оптимизации и прерывания подбора, что позволяет настроить фреймворк наиболее эффективным образом для решения конкретной задачи. Optuna также реализован на языке Python, что снижает порог вхождения специалистов в задачу применения его с библиотекой CatBoost.
ИДЕЯ ПРИМЕНЕНИЯ И РЕАЛИЗАЦИЯ
1. Место модели в маршруте проектирования
Трассировка является одним из этапов стандартного маршрута проектирования схем на ПЛИС, который показан на рис.1. В САПР X-CAD она выполняется с помощью модификации алгоритма трассировки PathFinder [8], которая имеет ряд настроечных параметров, регулирующих направление и динамику поиска трассировочного решения. Предварительные эксперименты показали, что путем подбора этих параметров можно значительно уменьшать время трассировки, а также улучшать качество получаемого результата.
По умолчанию значения набора параметров и динамика алгоритма трассировки остаются неизменными, независимо от особенностей проектируемой схемы и ее размещения на кристалле ПЛИС. Идея применения библиотеки CatBoost заключается в формировании предсказательной модели для определения характеристик результата этапа трассировки на основании данных о размещении схемы, и в дальнейшем использовании полученных данных для подбора индивидуальных значений набора параметров для каждой проектируемой схемы. Предложенный подход призван устранить стадию трудоемкого ручного подбора настроечных параметров и ускорить получение итогового решения.
Для реализации идеи был разработан вспомогательный программный модуль в составе САПР X-CAD, схематично показанный на рис.1 справа и выделенный пунктирной линией. Основными структурами, входящими в его состав, являются регрессионная модель на основе библиотеки CatBoost и программное средство подбора параметров, выполняющее функцию связующего звена между моделью и модулем трассировки в программном ядре САПР.
Из предыдущих этапов маршрута программному средству подбора параметров поступает информация о размещении схемы (в матричном виде) и проценте заполнения площади кристалла ПЛИС. Затем средство генерирует десятки вариаций набора настроечных параметров на основе заранее заданных диапазонов значений и величины шага. После того, как наборы параметров сформированы, начинается цикл запусков модели CatBoost. Число итераций цикла равно количеству наборов. В ходе каждой итерации один из сгенерированных наборов, матричное размещение схемы и процент заполнения кристалла передаются модели, которая по этим данным прогнозирует время трассировки и возвращает его средству подбора. По завершении цикла полученные значения прогнозных времен трассировки сравниваются между собой, и набор параметров, при котором получено наименьшее время, передается назад в маршрут для управления алгоритмом трассировки.
2. Подготовка набора данных
Обучение регрессионной модели CatBoost требует большого набора данных, содержащего значения трассировочных параметров, размещение, процент заполнения кристалла и соответствующее им время трассировки. Для создания такого набора были отобраны схемы из состава открытых тестовых наборов LGSynth’89, IWLS’2005, ISCAS’85, ISCAS’89 и проектов с сайта opencores.org. В качестве целевого кристалла выбрана ПЛИС 5510ТС028, имеющая 17920 программируемых логических элементов (ПЛЭ). Для схем выполнена начальная часть маршрута проектирования в X-CAD для генерации их размещения. Процент заполнения площади кристалла варьировался от 0,1 до 35%. На основе полученных вариантов произведены запуски этапа трассировки схем со случайными вариациями трассировочных параметров. Таким образом, сформирован набор данных для обучения, состоящий из 2000 записей, каждая из которых содержит 5 параметров алгоритма трассировки [2]:
3. Обучение модели
Прогнозирующая модель обучена на подготовленном наборе данных с помощью стратегии CatBoostRegressor. Разделение набора на обучающую и тестовую выборки произведено автоматически с помощью средств CatBoost с соотношением данных 90% и 10%, соответственно. Подбор гиперпараметров модели проведен с помощью фреймворка Optuna, при работе которого использован алгоритм оптимизации TPESampler и алгоритм прерывания подбора SuccessiveHalvingPruner.
Подобранные значения гиперпараметров выглядят следующим образом:
Сведения о размещении использованы в виде категориальных данных. Точность получившейся модели, оцененная с помощью средней абсолютной процентной ошибки (MAPE) составила порядка 35%.
4. Разработка вспомогательных программных средств
Программное средство подбора параметров трассировки предназначено для автоматизации взаимодействия маршрута проектирования X-CAD с прогнозирующей моделью на основе CatBoost и представляет собой программу на языке Tcl. Для каждого из параметров, необходимых модели для предсказания времени трассировки, задается диапазон значений и шаг генерирования вариаций. Ввиду крайне большого количества времени, требуемого на полный перебор всех комбинаций трассировочных параметров, наиболее подходящие значения для каждого параметра вычисляются отдельно. Таким образом, выполняются пять циклов, в каждом из которых происходит подбор одного из параметров. Параметры, подбор которых еще не проводился, замещаются значениями, используемыми на этапе трассировки в X-CAD по умолчанию. Данные о проценте заполнения ПЛИС и размещение одинаковы для всех запусков модели CatBoost. Значение подбираемого параметра, при котором моделью было предсказано наименьшее время трассировки, признается наиболее подходящим. После того, как подбор всех параметров завершен, они поступают алгоритму трассировки.
В связи с регрессионным типом прогнозирующей модели, в случае малых схем существует вероятность получения отрицательного предсказанного времени. При возникновении такой ситуации отрицательное значение заменяется на минимальное положительное – 1 секунда.
РЕЗУЛЬТАТЫ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ
Вычислительные эксперименты, проведенные в виде запуска маршрута проектирования X-CAD для набора из 86 типовых схем на целевой ПЛИС 5510ТС028, показали уменьшение времени трассировки в среднем в 1,5 раза для схем с долей заполнения более 5% (рис.2). Для схем с долей заполнения менее 5% также зафиксировано некоторое ускорение трассировки, однако время трассировки для них сопоставимо с временем выполнения этапа подбора параметров, что делает применение разработанных средств нецелесообразным.
Время задержки критического пути в текущей модели не являлось критерием оптимизации в данной работе, в связи с чем значение этой метрики увеличилось в среднем на 10,5% для схем с долей заполнения более 5%. Количество использованных трассировочных ресурсов уменьшилось в среднем на 1,5% для аналогичных схем.
ОБСУЖДЕНИЕ
Одним из основных недостатков рассмотренного подхода является необходимость проведения затратного по времени процесса переобучения модели после каждого значительного обновления алгоритма трассировки X-CAD. Помимо этого, определенную сложность составляет формирование качественного обучающего набора данных в виде большой выборки тестовых схем, обеспечивающих достаточную вариативность характеристик.
Важным аспектом, характерным для формирования обучающей выборки для методов МО для проектирования ПЛИС, является учет особенностей архитектуры целевых программируемых интегральных схем, в том числе их количественных характеристик. Так, схема 5510ТС028, примененная для проведения вычислительных экспериментов в текущей работе, содержит 192 ячейки ввода-вывода, что значительным образом ограничивает возможный выбор схем для реализации на ее основе. Как следствие, можно наблюдать определенную неоднородность набора обучающих и проверочных данных с точки зрения процента заполнения. Количество схем, обеспечивающих большой процент заполнения, значительно уступает количеству малых схем в наборе, что, предположительно, является причиной невысокой точности предсказания времени трассировки.
Кроме того, доработки и углубленного изучения требуют способы представления данных о размещении, которые позволило бы модели использовать их максимально эффективным образом. Способ с использованием матриц бинарных значений не позволяет учитывать связи между логическими ячейками, а в случае проектирования малых схем размещение в таком виде представляет собой крайне разреженную матрицу.
ВЫВОДЫ
В работе представлен подход к подбору параметров алгоритма трассировки с использованием прогнозирующей модели на основе открытой библиотеки машинного обучения CatBoost. Создан набор данных на основе результатов запусков САПР X-CAD, и проведено обучение регрессионной модели. Настройка гиперпараметров модели осуществлена с помощью фреймворка Optuna. По результатам вычислительных экспериментов предложенный подход продемонстрировал уменьшение времени трассировки в среднем в 1,5 раза для схем с долей заполнения целевого ПЛИС 5510ТС028 более 5%. Время задержки критического пути увеличилось в среднем на 10,5%, а количество использованных трассировочных ресурсов уменьшилось в среднем на 1,5% для аналогичных схем.
ИНФОРМАЦИЯ О РЕЦЕНЗИРОВАНИИ
Редакция благодарит анонимного рецензента (рецензентов) за их вклад в рецензирование этой работы, а также за размещение статей на сайте журнала и передачу их в электронном виде в НЭБ eLIBRARY.RU.
Декларация о конфликте интересов. Авторы заявляют об отсутствии конфликтов интересов или личных отношений, которые могли бы повлиять на работу, представленную в данной статье.
ЛИТЕРАТУРА / REFERENCES
CatBoost – open-source gradient boosting library: https://catboost.ai (дата обращения: 07.07.2025).
Гаврилов С.В., Железников Д.А., Заплетина М.А., Тиунов И.В., Хватов В.М., Чочаев Р.Ж., Шокарев Д.Б. Разработка доверенных средств проектирования ИС в базисе гетерогенных ПЛИС. Труды ИСП РАН. 2023. Т. 35. № 5. С. 107–126.
Introducing Vivado ML (WIP): Презентация – URL: https://www.amd.com/content/dam/xilinx/publications/presentations/vivado_ml_launch_-media-presentation.pdf (дата обращения: 07.07.2025).
Szentimrey H., Al-Hyari A., Foxcroft J., Martin T., Noel D., Grewal G., Areibi S. Machine Learning for Congestion Management and Routability Prediction within FPGA Placement. ACM Transactions on Design Automation of Electronic Systems (TODAES). 2020. Vol. 25. No. 5. PP. 1–25.
Yu C., Zhang Z. Painting on Placement: Forecasting Routing Congestion using Conditional Generative Adversarial Nets. Proceedings of the 56th Annual Design Automation Conference/ 2019. PP. 1–6.
Agnesina A., Rajvanshi P., Yang T., Pradipta G., Jiao A., Keller B., Khailany B., Ren H. AutoDMP: Automated DREAMPlace-based Macro Placement. Proceedings of the 2023 International Symposium on Physical Design (ISPD ‘23). Association for Computing Machinery. 2023. New York. USA. PP. 149–157.
Optuna – A hyperparameter optimization framework: https://optuna.org/ (дата обращения: 07.07.2025).
McMurchie L., Ebeling C. PathFinder: A negotiation-based performance-driven router for FPGAs. Proceedings of the 3rd International ACM Symposium on FPGAs. 1995. Napa Valley. CA. PP. 111–117.
Научная статья
Опыт применения открытой библиотеки градиентного бустинга CatBoost на этапе трассировки в рамках физического синтеза на основе ПЛИС
А.Ю.Чистяков1, инж.-иссл., ORCID: 0000-0002-5972-8317 / chis.alexandr2018@yandex.ru
М.А.Заплетина1, к.т.н., ст. науч. сотр., ORCID: 0000-0001-9845-7823
Аннотация. Разработана модель прогнозирования времени трассировки в основе программного модуля подбора входных параметров для ускорения выполнения этапа трассировки средствами САПР X-CAD для реализации цифровых схем на ПЛИС. Вычислительные эксперименты продемонстрировали сокращение времени генерации трассировочного решения в 1,5 раза в среднем для ПЛИС 5510ТС028.
Ключевые слова: трассировка, САПР Х-CAD, ПЛИС, цифровые схемы
Для цитирования: А.Ю. Чистяков, М.А. Заплетина. Опыт применения открытой библиотеки градиентного бустинга catboost на этапе трассировки в рамках физического синтеза на основе ПЛИС. НАНОИНДУСТРИЯ. 2026. Т. 19. № 1. С. 80–88. https://doi.org/10.22184/1993-8578.2026.19.1.80.88.
ВВЕДЕНИЕ
В текущих условиях масштабного импортозамещения возникает необходимость все более широкого применения отечественных программируемых логических интегральных схем (ПЛИС). Ключевым фактором, оказывающим влияние на качество результатов проектирования в их базисе, являются системы автоматизированного проектирования (САПР), их производительность и удобство работы с ними.
Маршрут проектирования схем в базисе ПЛИС состоит из этапов логического синтеза, физического синтеза (включающего кластеризацию, размещение и трассировку), цифрового моделирования, статического временного анализа, создания прошивки. Наиболее затратным по времени и объему вычислений является предварительный этап трассировки в составе этапа физического синтеза. Кроме того, именно на нем значительным образом негативно отражается тенденция к росту степени интеграции новых микросхем. В связи с этим, его ускорение играет важную роль с точки зрения эффективности САПР.
Одним из возможных способов ускорения этапа трассировки является применение методов машинного обучения (МО). В настоящее время ведущие разработчики САПР для ПЛИС (компании Altera, AMD) уже получили первый успешный опыт внедрения интеллектуальных методик в своих продуктах, и исследования в этой области представляются наиболее перспективными.
В данной статье описан опыт применения открытой библиотеки машинного обучения CatBoost [1] для подбора параметров алгоритма трассировки в составе САПР для ПЛИС X-CAD [2]. В разделе 2 рассмотрены существующие подходы к применению методов машинного обучения в маршруте проектирования схем на ПЛИС. Раздел 3 посвящен использованным в данной работе инструментам. Раздел 4 содержит описание идеи применения модели CatBoost для этапа трассировки и ее реализации в составе маршрута проектирования в САПР X-CAD. В разделе 5 представлены результаты вычислительных экспериментов и анализ влияния разработанного подхода на итоговые характеристики проектируемых схем. В разделах 6 и 7 приведены некоторые трудности подхода, возникшие в ходе разработки, и заключение, соответственно.
АНАЛИЗ СУЩЕСТВУЮЩИХ МЕТОДИК ПРИМЕНЕНИЯ МАШИННОГО ОБУЧЕНИЯ В МАРШРУТЕ ПРОЕКТИРОВАНИЯ СХЕМ В БАЗИСЕ ПЛИС
Технологии машинного обучения, получившие стремительное развитие в последнее время, находят применение во множестве сфер. Исключением не стали и САПР для ПЛИС, в которых методы машинного обучения внедряются в алгоритмы проектирования и позволяют значительно повысить качество получаемых итоговых решений. Так, данные технологии в работе САПР Vivado [3] применяет компания AMD, второй по объему реализуемой продукции разработчик на мировом рынке ПЛИС. Их использование позволяет эффективнее производить логическую оптимизацию, оценку задержек схемы и некоторые другие операции. В совокупности применение методов машинного обучения позволило кратно ускорить прохождение маршрута с одновременным улучшением качества результатов проектирования.
Активные усилия разработчиков направлены на применение методов машинного обучения для улучшения работы отдельных этапов проектирования, в частности – трассировки. Она представляет собой заключительный этап физического синтеза в маршруте проектирования схем на ПЛИС. В результате ее выполнения обеспечивается отображение проектных цепей, полученных на этапе логического синтеза, на имеющиеся трассировочные ресурсы ПЛИС. Таким образом, осуществляется соединение логических элементов и других компонентов ПЛИС (ячеек ввода/вывода, сложно-функциональных блоков) между собой. От качества выполнения трассировки напрямую зависят временные характеристики получаемых схем, поэтому улучшение применяемых в САПР алгоритмов трассировки остается важным направлением для исследований. Далее представлены актуальные работы в этой связи.
Одной из задач, решаемых в работе [4], является прогнозирование разводимости проектных цепей на основе данных предыдущих этапов проектирования. Основой предсказывающей модели DLRoute выступает сверточная нейронная сеть. В качестве входных данных она принимает четыре карты перегруженности, отражающие длину межсоединений на единицу площади, количество терминалов проектных цепей и количество разрезанных цепей (имеющих внешние терминалы) внутри двух различных по площади фрагментов поверхности кристалла. В результате анализа карт модель делает предсказание о разводимости схемы с таким размещением. Применение данного подхода позволило пропускать выполнение некоторых этапов проектирования для схем с хорошей разводимостью и тем самым ускорило выполнение маршрута на 48,3%. Суммарная длина межсоединений при этом увеличилась на 4,3%.
В статье [5] описана разработка генеративно-состязательной нейронной сети, с помощью которой на основе данных о размещении и взаимной связанности элементов ПЛИС создавалась тепловая карта потенциального расположения перегруженных участков кристалла на этапе трассировки. На основе результатов ее анализа могут быть внесены изменения в размещение проектируемой схемы для снижения сложности трассировочной задачи, что в итоге позволит достичь улучшенной разводимости и более высокого качества получаемого трассировочного решения.
К иной категории научных работ относятся исследования по применению методов машинного обучения на верхнем уровне по отношению к программному обеспечению для проектирования СБИС, например, для подбора входных параметров САПР, обеспечивающих улучшение качества результатов проектирования. Примером такой работы является статья [6]. В ней описано применение методов машинного обучения для настройки параметров алгоритма размещения схем, включающих сложно-функциональные блоки. На ряде тестовых схем предложенное решение показало принципиальную возможность достичь улучшения как по классическим отраслевым метрикам площади, задержки и потребляемой мощности, так и по количеству нарушений правил проектирования (DRC) и суммарной длине межсоединений.
ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА
1. Библиотека CatBoost
Основой для создания прогнозирующей модели в данной работе выступила открытая библиотека машинного обучения CatBoost на языке программирования Python, разработанная компанией Яндекс. В основе формируемых на ее основе моделей находится метод градиентного бустинга. Он подразумевает объединение нескольких слабых алгоритмов машинного обучения в один сильный, где каждый последующий алгоритм учитывает ошибки предыдущего. CatBoost оптимизирована для работы с категориальными признаками, что позволяет использовать их без предварительной обработки. Библиотека применяется в работе многих сервисов компании Яндекс при выполнении задач по прогнозированию погоды, выдаче поисковых запросов и др.
Ключевыми факторами, повлиявшими на выбор CatBoost в качестве инструмента для получения опыта применения методов МО в САПР X-CAD, послужило следующее: библиотека является отечественной разработкой; модели, созданные с ее помощью, требуют меньше времени на обучение и быстрее проводят предсказание по сравнению с аналогами; для нее представлена качественная, подробная документация и множество примеров использования в открытом доступе.
2. Фреймворк Optuna
Для создания модели с наибольшей точностью предсказания библиотека CatBoost требует настройки гиперпараметров модели, например, подбора количества итераций обучения. Ручной итерационный выбор этих параметров возможен, однако такой подход не оптимален, поскольку зависимость между гиперпараметрами и результатом обучения не очевидна. На помощь в решении данной задачи приходит фреймворк Optuna [7], который автоматизирует подбор гиперпараметров. Этот инструмент поддерживает набор алгоритмов оптимизации и прерывания подбора, что позволяет настроить фреймворк наиболее эффективным образом для решения конкретной задачи. Optuna также реализован на языке Python, что снижает порог вхождения специалистов в задачу применения его с библиотекой CatBoost.
ИДЕЯ ПРИМЕНЕНИЯ И РЕАЛИЗАЦИЯ
1. Место модели в маршруте проектирования
Трассировка является одним из этапов стандартного маршрута проектирования схем на ПЛИС, который показан на рис.1. В САПР X-CAD она выполняется с помощью модификации алгоритма трассировки PathFinder [8], которая имеет ряд настроечных параметров, регулирующих направление и динамику поиска трассировочного решения. Предварительные эксперименты показали, что путем подбора этих параметров можно значительно уменьшать время трассировки, а также улучшать качество получаемого результата.
По умолчанию значения набора параметров и динамика алгоритма трассировки остаются неизменными, независимо от особенностей проектируемой схемы и ее размещения на кристалле ПЛИС. Идея применения библиотеки CatBoost заключается в формировании предсказательной модели для определения характеристик результата этапа трассировки на основании данных о размещении схемы, и в дальнейшем использовании полученных данных для подбора индивидуальных значений набора параметров для каждой проектируемой схемы. Предложенный подход призван устранить стадию трудоемкого ручного подбора настроечных параметров и ускорить получение итогового решения.
Для реализации идеи был разработан вспомогательный программный модуль в составе САПР X-CAD, схематично показанный на рис.1 справа и выделенный пунктирной линией. Основными структурами, входящими в его состав, являются регрессионная модель на основе библиотеки CatBoost и программное средство подбора параметров, выполняющее функцию связующего звена между моделью и модулем трассировки в программном ядре САПР.
Из предыдущих этапов маршрута программному средству подбора параметров поступает информация о размещении схемы (в матричном виде) и проценте заполнения площади кристалла ПЛИС. Затем средство генерирует десятки вариаций набора настроечных параметров на основе заранее заданных диапазонов значений и величины шага. После того, как наборы параметров сформированы, начинается цикл запусков модели CatBoost. Число итераций цикла равно количеству наборов. В ходе каждой итерации один из сгенерированных наборов, матричное размещение схемы и процент заполнения кристалла передаются модели, которая по этим данным прогнозирует время трассировки и возвращает его средству подбора. По завершении цикла полученные значения прогнозных времен трассировки сравниваются между собой, и набор параметров, при котором получено наименьшее время, передается назад в маршрут для управления алгоритмом трассировки.
2. Подготовка набора данных
Обучение регрессионной модели CatBoost требует большого набора данных, содержащего значения трассировочных параметров, размещение, процент заполнения кристалла и соответствующее им время трассировки. Для создания такого набора были отобраны схемы из состава открытых тестовых наборов LGSynth’89, IWLS’2005, ISCAS’85, ISCAS’89 и проектов с сайта opencores.org. В качестве целевого кристалла выбрана ПЛИС 5510ТС028, имеющая 17920 программируемых логических элементов (ПЛЭ). Для схем выполнена начальная часть маршрута проектирования в X-CAD для генерации их размещения. Процент заполнения площади кристалла варьировался от 0,1 до 35%. На основе полученных вариантов произведены запуски этапа трассировки схем со случайными вариациями трассировочных параметров. Таким образом, сформирован набор данных для обучения, состоящий из 2000 записей, каждая из которых содержит 5 параметров алгоритма трассировки [2]:
- factor_bt – коэффициент влияния направленного поиска;
- maxstep_bt – глубина построения обратных деревьев направленного поиска;
- factor_vp – коэффициент влияния перегруженности трассировочного ресурса;
- factor_vh – коэффициент влияния перегруженности трассировочного ресурса на предыдущих итерациях;
- max_path_w – максимальное значение веса трассировочного пути.
3. Обучение модели
Прогнозирующая модель обучена на подготовленном наборе данных с помощью стратегии CatBoostRegressor. Разделение набора на обучающую и тестовую выборки произведено автоматически с помощью средств CatBoost с соотношением данных 90% и 10%, соответственно. Подбор гиперпараметров модели проведен с помощью фреймворка Optuna, при работе которого использован алгоритм оптимизации TPESampler и алгоритм прерывания подбора SuccessiveHalvingPruner.
Подобранные значения гиперпараметров выглядят следующим образом:
- learning_rate – 0,05;
- iterations – 200;
- depth – 8;
- boosting_type – Plain.
Сведения о размещении использованы в виде категориальных данных. Точность получившейся модели, оцененная с помощью средней абсолютной процентной ошибки (MAPE) составила порядка 35%.
4. Разработка вспомогательных программных средств
Программное средство подбора параметров трассировки предназначено для автоматизации взаимодействия маршрута проектирования X-CAD с прогнозирующей моделью на основе CatBoost и представляет собой программу на языке Tcl. Для каждого из параметров, необходимых модели для предсказания времени трассировки, задается диапазон значений и шаг генерирования вариаций. Ввиду крайне большого количества времени, требуемого на полный перебор всех комбинаций трассировочных параметров, наиболее подходящие значения для каждого параметра вычисляются отдельно. Таким образом, выполняются пять циклов, в каждом из которых происходит подбор одного из параметров. Параметры, подбор которых еще не проводился, замещаются значениями, используемыми на этапе трассировки в X-CAD по умолчанию. Данные о проценте заполнения ПЛИС и размещение одинаковы для всех запусков модели CatBoost. Значение подбираемого параметра, при котором моделью было предсказано наименьшее время трассировки, признается наиболее подходящим. После того, как подбор всех параметров завершен, они поступают алгоритму трассировки.
В связи с регрессионным типом прогнозирующей модели, в случае малых схем существует вероятность получения отрицательного предсказанного времени. При возникновении такой ситуации отрицательное значение заменяется на минимальное положительное – 1 секунда.
РЕЗУЛЬТАТЫ ВЫЧИСЛИТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ
Вычислительные эксперименты, проведенные в виде запуска маршрута проектирования X-CAD для набора из 86 типовых схем на целевой ПЛИС 5510ТС028, показали уменьшение времени трассировки в среднем в 1,5 раза для схем с долей заполнения более 5% (рис.2). Для схем с долей заполнения менее 5% также зафиксировано некоторое ускорение трассировки, однако время трассировки для них сопоставимо с временем выполнения этапа подбора параметров, что делает применение разработанных средств нецелесообразным.
Время задержки критического пути в текущей модели не являлось критерием оптимизации в данной работе, в связи с чем значение этой метрики увеличилось в среднем на 10,5% для схем с долей заполнения более 5%. Количество использованных трассировочных ресурсов уменьшилось в среднем на 1,5% для аналогичных схем.
ОБСУЖДЕНИЕ
Одним из основных недостатков рассмотренного подхода является необходимость проведения затратного по времени процесса переобучения модели после каждого значительного обновления алгоритма трассировки X-CAD. Помимо этого, определенную сложность составляет формирование качественного обучающего набора данных в виде большой выборки тестовых схем, обеспечивающих достаточную вариативность характеристик.
Важным аспектом, характерным для формирования обучающей выборки для методов МО для проектирования ПЛИС, является учет особенностей архитектуры целевых программируемых интегральных схем, в том числе их количественных характеристик. Так, схема 5510ТС028, примененная для проведения вычислительных экспериментов в текущей работе, содержит 192 ячейки ввода-вывода, что значительным образом ограничивает возможный выбор схем для реализации на ее основе. Как следствие, можно наблюдать определенную неоднородность набора обучающих и проверочных данных с точки зрения процента заполнения. Количество схем, обеспечивающих большой процент заполнения, значительно уступает количеству малых схем в наборе, что, предположительно, является причиной невысокой точности предсказания времени трассировки.
Кроме того, доработки и углубленного изучения требуют способы представления данных о размещении, которые позволило бы модели использовать их максимально эффективным образом. Способ с использованием матриц бинарных значений не позволяет учитывать связи между логическими ячейками, а в случае проектирования малых схем размещение в таком виде представляет собой крайне разреженную матрицу.
ВЫВОДЫ
В работе представлен подход к подбору параметров алгоритма трассировки с использованием прогнозирующей модели на основе открытой библиотеки машинного обучения CatBoost. Создан набор данных на основе результатов запусков САПР X-CAD, и проведено обучение регрессионной модели. Настройка гиперпараметров модели осуществлена с помощью фреймворка Optuna. По результатам вычислительных экспериментов предложенный подход продемонстрировал уменьшение времени трассировки в среднем в 1,5 раза для схем с долей заполнения целевого ПЛИС 5510ТС028 более 5%. Время задержки критического пути увеличилось в среднем на 10,5%, а количество использованных трассировочных ресурсов уменьшилось в среднем на 1,5% для аналогичных схем.
ИНФОРМАЦИЯ О РЕЦЕНЗИРОВАНИИ
Редакция благодарит анонимного рецензента (рецензентов) за их вклад в рецензирование этой работы, а также за размещение статей на сайте журнала и передачу их в электронном виде в НЭБ eLIBRARY.RU.
Декларация о конфликте интересов. Авторы заявляют об отсутствии конфликтов интересов или личных отношений, которые могли бы повлиять на работу, представленную в данной статье.
ЛИТЕРАТУРА / REFERENCES
CatBoost – open-source gradient boosting library: https://catboost.ai (дата обращения: 07.07.2025).
Гаврилов С.В., Железников Д.А., Заплетина М.А., Тиунов И.В., Хватов В.М., Чочаев Р.Ж., Шокарев Д.Б. Разработка доверенных средств проектирования ИС в базисе гетерогенных ПЛИС. Труды ИСП РАН. 2023. Т. 35. № 5. С. 107–126.
Introducing Vivado ML (WIP): Презентация – URL: https://www.amd.com/content/dam/xilinx/publications/presentations/vivado_ml_launch_-media-presentation.pdf (дата обращения: 07.07.2025).
Szentimrey H., Al-Hyari A., Foxcroft J., Martin T., Noel D., Grewal G., Areibi S. Machine Learning for Congestion Management and Routability Prediction within FPGA Placement. ACM Transactions on Design Automation of Electronic Systems (TODAES). 2020. Vol. 25. No. 5. PP. 1–25.
Yu C., Zhang Z. Painting on Placement: Forecasting Routing Congestion using Conditional Generative Adversarial Nets. Proceedings of the 56th Annual Design Automation Conference/ 2019. PP. 1–6.
Agnesina A., Rajvanshi P., Yang T., Pradipta G., Jiao A., Keller B., Khailany B., Ren H. AutoDMP: Automated DREAMPlace-based Macro Placement. Proceedings of the 2023 International Symposium on Physical Design (ISPD ‘23). Association for Computing Machinery. 2023. New York. USA. PP. 149–157.
Optuna – A hyperparameter optimization framework: https://optuna.org/ (дата обращения: 07.07.2025).
McMurchie L., Ebeling C. PathFinder: A negotiation-based performance-driven router for FPGAs. Proceedings of the 3rd International ACM Symposium on FPGAs. 1995. Napa Valley. CA. PP. 111–117.
Отзывы читателей
eng



