Разработанное программное обеспечение сократит время размещения и трассировки компонент на печатных платах при сохранении качества.
23.07.2022
Благодаря техническому прогрессу, методы машинного обучения достигают высокой производительности при решении задач классификации, детектирования и поиска оптимального решения в многомерном пространстве состояний. Кроме того, методы машинного обучения возможно применять при решении NP-полных задач, которые распространены в области автоматизации проектирования электронных устройств.
Применение традиционных методов приводит к большим временным затратам, а иногда и вовсе невозможности решить задачу. Алгоритмы машинного обучения сосредоточены на извлечении высокоуровневых признаков или шаблонов, которые можно повторно использовать в других связанных или подобных ситуациях, избегая повторного сложного анализа. Поэтому применение машинного обучения на этапе размещения компонентов на плате является потенциальным инструментом для ускорения и устранения ошибок при проектировании плат и интегральных схем. Однако не любые методы машинного обучения будут полезны в данной задаче, так как большая часть требует масштабных наборов данных с экспертной оценкой.
«В нашем проекте предлагается применять методы обучения с подкреплением, которые позволят решить проблему необходимости в большом размеченном объеме данных. На основе современных методов предлагается реализовать программный модуль по автоматическому размещению компонентов на плате, который может быть внедрен в уже существующую систему автоматизированного проектирования (САПР)», — рассказывает ассистент кафедры автоматики и процессов управления СПбГЭТУ «ЛЭТИ» Сергей Алексеевич Романов.
Сложность современных плат и интегральных схем, содержащих сотни миллионов компонентов, не допускают ручного проектирования без использования специальных средств автоматизации проектирования. Научно-технический прогресс в этой области во многом зависит от успешного решения проблемы автоматизации проектирования. Уровень сложности современных плат приблизился к границе, за которой эффективность труда человека-проектировщика резко падает, а число ошибок возрастает.
«Математическая формулировка исходной задачи является довольно трудной. Её точное решение при большом числе компонент в общем случае невозможно и/или требует очень больших временных затрат. В работе развиваются приближённые методы решения данной задачи, когда мы немного жертвуем качеством, но значительно ускоряем процесс решения»
Итоговым результатом проекта «Разработка автоматического модуля размещения компонент на плате на основе машинного обучения» станет программное обеспечение, которое рассчитывает оптимальное расположение компонентов с учетом ограничений, заданных проектировщиком.
Полученный продукт будет востребован среди компаний, занимающихся разработкой аппаратного обеспечения, например Huawei или для отечественных производителей САПР, в частности, компания Eremex.
Помимо коммерческих компаний, существует открытый проект OpenROAD, который занимается разработкой программного обеспечения для полного цикла проектирования интегральных схем. Главная идея проекта – разработать программное обеспечение, которое менее чем за 24 часа позволит автоматически проектировать интегральную микросхему. Это действующий проект, код которого постоянно обновляется, что пока затрудняет его использование для решения производственных задач.
Открытое решение по размещению компонентов, разработанное OpenRoad в настоящее время сложно в использовании. В проекте OpenRoad в настоящее время используются классические методы – алгоритм имитации отжига, алгоритмы поиска на B-деревьях, что требует высоких временных затрат. Тогда как подход на основе обучения с подкреплением позволит получать высокое качество размещения компонентов без предварительной подготовки и обучения модели. Как следствие, это обеспечит высокую скорость проектирования плат. Модель, построенная на основе методов обучения с подкреплением, имеет возможность самосовершенствоваться с течением времени, поэтому реализация проекта позволит получить универсальный модуль для автоматизации проектирования плат.
Несмотря на большое количество программных решений, на рынке нет продукта, который бы решал задачу автоматического размещения компонентов c приемлемым качеством.
Развитие проекта состоит из двух основных этапов длительностью по 3 месяца. Первый включает в себя сбор данных, разработку алгоритма подготовки списка соединения на языке Python и первую реализацию модели расположения компонентов на плате. Второй – улучшение модели расположения компонентов, сравнение полученной модели с классическими методами решения задачи размещения компонентов и создание модуля-библиотеки на основе разработанных алгоритмов.
Разработка поддержана грантом конкурса научно-исследовательских, опытно-конструкторских и технологических проектов СПбГЭТУ «ЛЭТИ». Проект получил финансирование на реализацию в размере 400 000 рублей.
Разработка соответствует научно-исследовательской политике университета в рамках программы развития «Приоритет 2030».