Колумнисты

В ЛЭТИ ускорили проектирование микросхем с помощью машинного обучения

Разработанное программное обеспечение сократит время размещения и трассировки компонент на печатных платах при сохранении качества.

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

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

«В нашем проекте предлагается применять методы обучения с подкреплением, которые позволят решить проблему необходимости в большом размеченном объеме данных. На основе современных методов предлагается реализовать программный модуль по автоматическому размещению компонентов на плате, который может быть внедрен в уже существующую систему автоматизированного проектирования (САПР)», — сообщает ассистент кафедры автоматики и процессов управления СПбГЭТУ «ЛЭТИ» Сергей Романов.

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

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

«Математическая формулировка исходной задачи довольно трудна. Ее точное решение при большом числе компонент в общем случае невозможно и/или требует очень больших временных затрат. В работе развиваются приближенные методы решения данной задачи, когда мы немного жертвуем качеством, но значительно ускоряем процесс решения», — говорит Романов.

Итоговым результатом проекта «Разработка автоматического модуля размещения компонент на плате на основе машинного обучения» станет программное обеспечение, которое рассчитывает оптимальное расположение компонентов с учетом ограничений, заданных проектировщиком. Полученный продукт будет востребован среди компаний, занимающихся разработкой аппаратного обеспечения, например Huawei или для отечественных производителей САПР, в частности, компания Eremex.

Помимо коммерческих компаний, существует открытый проект OpenROAD, который занимается разработкой программного обеспечения для полного цикла проектирования интегральных схем. Главная идея проекта — разработать программное обеспечение, которое менее чем за 24 часа позволит автоматически проектировать интегральную микросхему. Это действующий проект, код которого постоянно обновляется, что пока затрудняет его использование для решения производственных задач.

Открытое решение по размещению компонентов, разработанное OpenRoad в настоящее время сложно в использовании. В проекте OpenRoad сегодня используются классические методы — алгоритмы имитации отжига и поиска на B-деревьях, что требует высоких временных затрат. Тогда как подход на основе обучения с подкреплением позволит получать высокое качество размещения компонентов без предварительной подготовки и обучения модели. Как следствие, это обеспечит высокую скорость проектирования плат. Модель, построенная на основе методов обучения с подкреплением, имеет возможность самосовершенствоваться с течением времени, поэтому реализация проекта позволит получить универсальный модуль для автоматизации проектирования плат.

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

Разработка поддержана грантом конкурса научно-исследовательских, опытно-конструкторских и технологических проектов СПбГЭТУ «ЛЭТИ». Проект получил финансирование на реализацию в размере 400 тысяч рублей.