2026 г.

Оценка паразитной ёмкости цепей и быстродействия блока СБИС с помощью машинного обучения на этапе размещения

DOI: 10.15514/ISPRAS-2026-38(1)-9

Н.В. Желудков, ORCID: 0009-0009-0501-5686 <nvgel@cs.niisi.ras.ru>

Ю.А. Кулемина, ORCID: 0009-0008-5774-8921 <kulemina@cs.niisi.ras.ru>

НИЦ «Курчатовский институт» – НИИСИ,
Россия, 117218, г. Москва, Нахимовский просп., 36, к. 1.

Аннотация. В работе рассматривается решение задачи предсказания паразитной ёмкости цепей при проектировании цифровых блоков СБИС до этапа трассировки на основе данных о размещении стандартных ячеек. Реальные значения паразитной ёмкости могут быть получены только после детальной трассировки и экстракции паразитных параметров в специализированном САПР, что занимает длительное время и не позволяет на раннем этапе проектирования точно оценить быстродействие блока. Классические методы оценки ёмкости не позволяют достичь баланса между точностью модели и времязатратами. В работе для решения этой задачи предложен ряд моделей машинного обучения (МО): многослойные линейные регрессионные модели с одним выходом и реализующие многозадачную регрессию, а также модели на основе градиентного бустинга над решающими деревьями – XGBoost и CatBoost. Для обучения и валидации моделей был собран набор данных, содержащий признаки и метки цепей, полученных из топологии 35 блоков по техпроцессу 40 нм. При обучении моделей использовалась кросс-валидация, метрики точности – MAE, MAPE и коэффициент детерминации R². Наибольшую точность продемонстрировала модель XGBoost_M_A на основе градиентного бустинга в режиме мультизадачной регрессии – MAE 0,57 фФ, MAPE 10,3%, что на порядок ниже ошибки, полученной классическим методом на основе Wireload-модели. Среднее ускорение получения паразитных параметров по сравнению с эталонным методом после трассировки – 90 раз. Предсказанные ёмкости цепей были использованы для оценки финальной частоты блока на этапе размещения – точность оценки составила 99,1%, а среднее ускорение расчёта в 86 раз по сравнению с оценкой после проведения детальной трассировки. Предложенные методы на основе машинного обучения позволяют с высокой точностью и скоростью оценить на раннем этапе проектирования паразитные ёмкости цепей, а также оценить частоту работы блока СБИС.

Ключевые слова: сверхбольшие интегральные схемы СБИС; регистровая модель RTL; список ячеек и цепей электрической схемы нетлист; библиотека машинного обучения XGBoost; библиотека CatBoost.

Для цитирования: Желудков Н.В., Кулемина Ю.А. Оценка паразитной ёмкости цепей и быстродействия блока СБИС с помощью машинного обучения на этапе размещения. Труды ИСП РАН, том 38, вып. 1, 2026 г., стр. 113–132. DOI: 10.15514/ISPRAS-2026-38(1)-9.

Благодарности: Работа выполнена в рамках государственного задания НИЦ "Курчатовский институт" – НИИСИ по теме FNEF-2024-0003.

1. Введение

В процессе проектирования цифровых блоков сверхбольших интегральных схем (СБИС) множество параметров и характеристик блока определяется паразитными ёмкостями внутренних элементов. Время переключения стандартных элементов, из которых состоит цифровой блок, определяется табличными значениями задержек в liberty-файлах (файлы для описания временных характеристик, электрических параметров, функционального поведения библиотек стандартных ячеек). Задержка элемента (а точнее конкретной временной арки) зависит от значения длительности фронта входного сигнала и суммарной ёмкости на выходном контакте. Чем больше фронт входного сигнала, тем дольше ячейка выдает новое состояние на выходном контакте. Такая же зависимость наблюдается и для ёмкости – чем больше выходная ёмкость (то есть выходная нагрузка), тем дольше элемент будет переключаться. Выходная ёмкость элемента (с одним выходом) определяется как сумма ёмкостей контактов, управляемых рассматриваемой ячейкой, и ёмкости межсоединений, соединяющий выход ячейки с ее нагрузками. Ёмкость контактов складывается из следующих компонент:

  • ёмкость затворов транзисторов, к которым подключен контакт; зависит от площади затворов;
  • ёмкость диффузионных областей – ёмкости p-n переходов сток-истоков транзисторов;
  • ёмкость внутренних металлических соединений внутри самой ячейки (обычно, от входного контакта до затворов транзисторов).

Важно отметить, что ёмкость контакта конкретной ячейки в библиотеке элементов, спроектированных по одному технологическому процессу, является константой и определяется в liberty-файлах. Для современных технологических процессов (<90 нм) ёмкость контакта может составлять от единиц до десятков фемтофарад. Ёмкость межсоединения (то есть ёмкость цепи, соединяющих ячейки) состоит из следующих компонент:

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

Сокращение технологических норм увеличивает роль паразитных ёмкостей межсоединений в определении быстродействия цифровых блоков. В ряде случаев паразитная ёмкость межсоединений может быть сопоставима с ёмкостью контактов, или даже превосходить ее, что влечет за собой влияние на задержки и быстродействие проектируемого блока. Реальная ёмкость межсоединений может быть рассчитана только после проведения таких этапов топологического проектирования СБИС как размещение стандартных ячеек и трассировки межсоединений. После этапа топологического проектирования блока с разведенными цепями требуется запустить специализированную систему автоматизации проектирования (САПР) для расчёта паразитных параметров СБИС (кроме ёмкости такие САПР способны рассчитывать сопротивление и индуктивность). К таким САПР относятся:

  • Quantus от компании Cadence (коммерческий САПР);
  • StarRC от компании Synopsys (коммерческий САПР);
  • OpenRCX [3] – САПР с открытым исходным кодом.

На основе данных о топологии блока (чаще всего передаваемых в САПР с помощью DEF-файла, содержащего данные о физическом размещении и трассировке элементов интегральной схемы) и о технологических файлах, содержащихся в PDK (набор технологических правил и моделей, определяющий, как элементы интегральной схемы должны быть спроектированы и проверены для конкретного полупроводникового процесса) для расчёта паразитных параметров (в случае выбора коммерческих маршрутов проектирования в качестве такого технологического файла используется qrcTechFile), указанные выше САПР рассчитывают паразитные параметры цепей в топологии блока и для дальнейшего их использования сохраняют данную информацию в SPEF-файл (файл с паразитными RC-параметрами межсоединений схемы), построенного на основе ставшего стандартом в индустрии формата данных для передачи и хранения паразитных ёмкостей и сопротивлений цепей в СБИС. После получения SPEF-файла можно точно рассчитать задержки ячеек в блоке с учетом паразитных параметров цепей, и, как следствие, рассчитать быстродействие блока. Отметим, что суммарная ёмкость на выходе ячейки влияет не только на быстродействие ячейки, но и на потребляемую мощность, данные для расчёта которой также содержатся в liberty-файлах, однако в рамках данной работы влияние паразитных параметров цепей на потребляемую мощность не будет рассматриваться.

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

В рамках данной работы будет представлено:

  • создание набора данных для обучения и валидации моделей оценки ёмкости, полученных в процессе проектирования 35 СФ-блоков СБИС;
  • набор предложенных методов на основе машинного обучения, оценивающих паразитную ёмкость цепей на основе данных и признаков, доступных на этапе размещения, без выполнения этапа трассировки и использования специализированных САПР для генерации SPEF-файлов.
  • сравнение предложенных методов по различным метрикам точности, а также сравнение с эталонными значениями;
  • оценка точности прогнозирования финальной частоты работы блока на основе данных из лучшей предложенной модели.

2. Обзор связанных работ

К наиболее ранним и широко использовавшимся подходам для оценки параметров межсоединений до проведения детальной трассировки относятся методы, основанные на аналитических расчётах и эмпирических данных. Наиболее ярким примером в данной категории является Wireload-модель. Данная модель применима на этапе логического синтеза (без какой-либо топологии блока), а также на этапе размещения стандартных ячеек в процессе топологического проектирования. Основное предположение, которое заложено в данную модель, заключается в том, что средняя длина проводника, а, следовательно, и его паразитная ёмкость, сильно коррелирует с таким параметром цепи как разветвление на выходном контакте (fanout-разветвление), показывающим сколько контактов ячеек управляется сигналом с выходного контакта ячейки, соединенной одной цепью. Также этот параметр отражает количество нагрузок, подключенных к цепи. Данные для использования модели Wireload, обычно, содержатся в liberty-файлах используемых стандартных ячеек. Алгоритм расчёта паразитной ёмкости с использованием данной модели выглядит следующим образом:

  • для рассматриваемой цепи в нетлисте (это представление цифровой схемы в виде списка логических элементов и их соединений) блока определяется параметр fanout;
  • в соответствующем liberty-файле, исходя из площади блока, выбирается необходимая таблица с данными для использования модели Wireload (ввиду того что в данной модели заложено предположение, что средняя длина цепи в блоке большей площади будет больше, чем средняя длина цепи в блоке меньшей площади с таким же fanout);
  • на основе табличных данных определяется длина цепи в зависимости от количества нагрузок, в случаях, когда оно выходит за табличные значения, проводится линейная экстраполяция от последней точки в табличных значениях;
  • вычисленная длина цепи умножается на указанный в таблице коэффициент ёмкости, имеющий размерность отношения ёмкости к длине фФ/нм (10-15Ф, 10-9м); полученное значение считается паразитной ёмкостью цепи.

На рис. 1 изображен пример зависимости средней длины цепи от параметра разветвления при использовании модели Wireload из работы [1]. Несмотря на вычислительную эффективность и глубокую интеграцию в классические потоки проектирования, данная модель обладает рядом недостатков, особенно критичными для современных норм проектирования СБИС:

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

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

Рис. 1. Зависимость средней длины цепи от разветвления в модели Wireload.

Рис. 1. Зависимость средней длины цепи от разветвления в модели Wireload.

В одной из ранних работ [2] авторы предлагают улучшение Wireload-модели для более точного расчёта потребляемой мощности на этапе размещения ячеек. В своей работе авторы использовали не названную субмикронную технологию с 6 доступными слоями металлизации для трассировки. Ключевая идея работы заключается в предположении, что цепи, обладающие большей длиной, располагаются в более высоких слоях металлизации, обладающих отличной от нижних слоев паразитной ёмкостью. Авторы предлагают следующий алгоритм для уточнения паразитной ёмкости на этапе размещения:

  • оценить длины цепей с помощью метода HPWL (half-perimeter wirelength);
  • сортировать цепи по длинам;
  • рассчитать суммарную длину цепей;
  • сформировать 3 группы цепей – короткие, средние и длинные;
  • цепи из “длинной” группы относят к 5 и 6 слоям металлизации; цепи из “средней” группы – к 3 и 4 слоям металлизации; цепи из “короткой” группы – к 1 и 2 слоям металлизации;
  • длина каждой цепи умножается на коэффициент ёмкости, характерной определенным слоям металлизации – таким образом вычисляется паразитная ёмкость для каждой цепи.

Предложенный метод позволил авторам снизить ошибку в оценке паразитной ёмкости по сравнению с оригинальной моделью Wireload в среднем на 2-13% для рассмотренных сложно-функциональных блоков (СФ-блоков), а также уменьшить ошибку расчёта мощности в среднем на 18,5% [2].

В последние годы методы машинного обучения активно исследуются как альтернатива традиционным подходам для устранения разрыва между предварительной и финальной оценкой параметров. Данные подходы демонстрируют потенциал в прогнозировании паразитных эффектов на основе данных, доступных на ранних этапах проектирования. Ярким примером специализированного подхода является работа [4], посвященная прогнозированию паразитных ёмкостей в SRAM-блоках (специализированные макроблоки статической памяти) на этапе схемотехнического проектирования. Авторы подчеркивают проблему значительных расхождений между результатами предварительного моделирования паразитной ёмкости и моделирования после этапа трассировки, что приводит к многочисленным итерациям при проектировании энергоэффективных SRAM. Для её решения предложена двухэтапная модель глубокого обучения, комбинирующая графовые нейронные сети и полносвязные сети. Ключевыми особенностями метода являются:

  • использование графовой нейронной сети для формирования эмбеддингов (векторного представления цепей) с эффективным учетом топологии схемы для подачи на полносвязную сеть для классификации цепей;
  • применение Focal Loss (функция потерь, расширяющая кросс-энтропийные потери) для решения проблемы дисбаланса классов, так как в выборке присутствовало много цепей с паразитной ёмкостью менее 1 фФ.

Эксперименты на 4 реальных SRAM-блоках показали, что предложенный метод превосходит актуальную модель, обеспечивая снижение ошибки в 19 раз и ускорение процесса симуляции в 598 раз [4]. Также стоит отметить, что данная работа сфокусирована на оценке паразитных параметров блоков на транзисторном уровне и не рассматривает эту оценку для блоков, проектируемом на уровне абстракций, предоставляемых стандартными ячейками.

Ряд работ направлен на применение моделей машинного обучения (МО) не для предсказания паразитных параметров на этапе размещения, а для непосредственной оценки после этапа трассировки. В работе [5] представлена модель GNN-Ceff – одна из первых моделей на основе графовых нейронных сетей для прогнозирования паразитной ёмкости цепей на этапе трассировки. В работе проводится расчёт такого параметра как эффективная ёмкость – единая ёмкость, включающая в себя паразитную ёмкость цепи и ёмкость полезной нагрузки, используемая для расчёта задержек ячеек. К основным достижениям работы стоит отнести:

  • высокую точность модели – средняя абсолютная ошибка составляет 0,01 фФ;
  • значительное ускорение расчёта ёмкости за счет параллелизации вычислений на GPU – до 929 раз по сравнению с последовательным актуальным алгоритмом;
  • модель валидирована для технологического процесса ASAP 7 в САПР OpenROAD.

Модель GNN-Ceff представляет собой значительный прорыв в скорости и точности расчёта ёмкости для цепей после трассировки. Однако её фундаментальное ограничение в контексте нашей задачи заключается в том, что она требует завершенной топологии в качестве входных данных. Таким образом, хотя метод и исключает необходимость в итеративных SPICE-симуляциях (моделирования электрических характеристик схем на транзисторном уровне) для расчёта эффективной ёмкости, он не решает проблему зависимости от самого трудоемкого этапа – трассировки.

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

3. Методология

В данном разделе подробно представлена информация о подготовке репрезентативного набора данных, выборе признаков для обучения, проектировании дополнительных признаков (feature engineering), анализе данных, представленных в наборе данных, а также описан процесс создания моделей для оценки паразитной ёмкости цепей и процесс их обучения.

3.1 Создание набора данных

Для создания набора данных были выбраны 35 открытых RTL-моделей (описание цифровой системы на уровне регистров, комбинаторной логики и управляющих сигналов) цифровых блоков СБИС, в состав которых не входили макроблоки (крупные функциональные блоки интегральной схемы с заранее определённой внутренней структурой) и блоки памяти. В качестве источника этих моделей были выбраны 3 ресурса:

  • открытый набор данных OpenABC-D [6];
  • проект OpenCores [7];
  • проект NoC-Verrilog [8];

Блоки, выбранные из данных проектов, были синтезированы в САПР Cadence Genus для получения изначального нетлиста. Топологическое проектирование блоков проводилось в САПР Cadence Innovus. В качестве технологии был выбран процесс с технологической нормой 40 нм. Ниже приведены основные особенности проектирования блоков:

  • для трассировки сигнальных цепей использовались 7 слоев металлизации;
  • сетка земли-питания была построена с 1 по 7 металл в следующей конфигурации – 1 горизонтальный металл, 4 и 6 металл – вертикальные, 5 и 7 горизонтальные;
  • быстродействие оценивалось в одном углу проектирования (фиксированная комбинация параметров процесса изготовления, напряжения питания и температуры, используемая для анализа работы интегральной схемы) – низкое быстродействие ячеек (“slow-slow” процесс), пониженное напряжение питания 0,99 В (при стандартном напряжении 1,1 В), повышенная температура 125 °С; в данном углу наибольшие задержки элементов, что позволяет оценить критическую частоту работы блока;
  • расчёт паразитных параметров проводился в условиях “rcmax” – худшие паразитные значения ёмкости и сопротивления; расчёт паразитных параметров и выписка SPEF-файла производилась в САПР Cadence Quantus;
  • план размещения блока имел соотношение сторон 1:1;
  • начальная плотность ячеек для всех блоков составила 50%;
  • порты ввода-вывода были расставлены по левой границе; в случае невозможности размещения всех портов слева – оставшаяся часть была расставлена справа;
  • в технологии доступны две библиотеки стандартных ячеек в зависимости от высоты ячеек в треках – 9 и 12-и трековые ячейки; для создания набора данных были выбраны 12-и трековые ячейки, обладающие меньшей задержкой;
  • в выбранной библиотеке стандартных ячеек были доступны ячейки с разным пороговым напряжением транзисторов – низким (lvt-ячейки, меньше задержка, но выше потребление), высоким (hvt-ячейки, больше задержка, но ниже потребление), и стандартным (svt-ячейки, средние задержка и потребление); в процессе оптимизации быстродействия, площади и мощности в САПР использовались все 3 типа ячеек, тактовое дерево было построено на lvt-ячейках;
  • согласно рекомендациям фабрики для приведенного выше угла проектирования использовался коэффициент, учитывающий разброс характеристик ячеек на кристалле (OCV, On Chip Variation) в 12%, который накладывался на задержки ячеек путей тактового сигнала до триггеров, захватывающих данные;
  • значение джиттера (временная нестабильность фронтов сигнала) для тактового сигнала в процессе статического временного анализа равнялось 25 пс;
  • после создания плана размещения и построения сетки земли-питания запускался автоматический маршрут, включающий в себя этапы размещения стандартных ячеек, построения дерева синхросигналов и трассировки. После этапа трассировки проводилась оценка паразитных параметров в Quantus и выписка признаков цепей для обучения моделей.

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

3.2 Анализ данных и отбор признаков

Собранный набор данных представляет собой набор из 35 csv-файлов, содержащих признаки и метки цепей, для каждого из блоков. Всего в наборе данных содержится 564898 уникальных цепей. При создании набора данных не учитывались цепи, для которых САПР не смог провести экстракцию паразитов (вычисление паразитных RC-параметров схемы по её топологии) и для которых это значение было равно 0. В наборах данных представлены следующие метки цепей:

  • “cap” – паразитная ёмкость цепи, полученная из SPEF-файла (ед. измерения фФ);
  • “length” – длина цепи после детальной трассировки (ед. измерения мкм);
  • “segs” – число сегментов, из которых состоит цепь (ед. измерения шт.).

Помимо основной метрики “cap” в наборе данных также собиралась информация о длине цепей и о числе сегментов (отдельных металлических проводников). Данные метки были собраны для проверки гипотезы, что совместное прогнозирование взаимосвязанных параметров может улучшить обобщающую способность модели и точность предсказания основной метки за счет выявления общих скрытых закономерностей в данных. Метрики “length” и “segs” были выбраны ввиду предположения, что паразитная ёмкость сильно зависит от длины цепи и числа ее сегментов. Распределение выбранных меток в наборе данных представлено в табл. 2 (единицы измерения соответствуют обозначенным выше в разделе; P25, P50, P75, P95 – соответствующие перцентили).

Табл. 1. Список блоков в наборе данных.

Название блокаОписаниеЧисло ячеекЧисло цепей
1ac97_topБлок контроллера Audio Codec '9759963851
2aes128_coreБлок аппаратной реализации алгоритма шифрования AES
со 128 битным ключом
1673614350
3aes_cipher_topБлок, реализующий полный конвейерный или последовательный
алгоритм AES
92797907
4aes_coreБлок ядра алгоритма шифрования120589482
5des3Блок симметричного блочного шифра Triple DES15171410
6dft_topБлок дискретного преобразования Фурье10394066076
7dynamic_nodeБлок динамически переконфигурируемого узла в сетевых системах73035678
8FIR_filterФильтр с конечной импульсной характеристикой12821164
9fpuБлок арифметических операций над числами с плавающей точкой132168831
10jpeg_encoderБлок для сжатия изображений по стандарту JPEG3069121221
11mc_topБлок контроллера статической памяти32362376
12mips_coreБлок RISC-ядра процессора архитектуры MIPS65624977
13mrisc_topРеализация ядра RISCV863560
14NetworkБлок накристальной сети298936215786
15pci_bridge32Блок 32-битного моста между шиной PCI и другими устройствами91436507
16pcm_slv_topБлок Pulse Code Modulation214149
17picosocБлок системы на кристалле на основе RISC-V3281622444
18plic_coreБлок контроллера прерываний в RISC-V системах19991732
19psram_coreБлок контроллера статической памяти626698
20risc16f84_clk2x8-битный микроконтроллер с ядром PIC-совместимой архитектуры1076729
21RocketTileЯдро RISC-V, сгенерированное с помощью
генератора Chisel Rocket Chip
34752389
22RsDecodeTopДешифратор Рида-Соломона3188319974
23rs_encodeРеализация кодера Рида-Соломона18301127
24RsEncodeTopШифратор Рида-Соломона977613
25sasc_topБлок интегрированного контроллера для управления датчиками и исполнительными механизмами334260
26sdramКонтроллер синхронной статической памяти563488
27sha256Блок криптографической хэш-функции, преобразующий входные данные произвольной длины в фиксированный 256-битный хеш42463907
28Sha3BlackBoxБлок хеширования данных с использованием алгоритма SHA-31576511512
29simple_spi_topБлок SPI, реализованный в микроконтроллере
Motorola MC68HC11E
419285
30spi_topБлок контроллера интерфейса SPI11611012
31PipelinedCipherКонвейерный криптографический сопроцессор9687278257
32usb_phyБлок физического уровня USB274192
33vga_enh_topКонтроллер VGA-дисплея4714331564
34wb_conmax_topБлок многоуровневого арбитра и коммутатора
для шины Wishbone
1862816092
35wb_dma_topБлок контроллера прямого доступа к памяти
с интерфейсом Wishbone
16181298

Анализ распределения паразитной ёмкости выявил выраженную положительную асимметрию. Медианное значение ёмкости составляет 1,0 фФ, что значительно ниже среднего значения 4,5 фФ. Распределение сильно сконцентрировано в области малых величин: 75% всех цепей имеют ёмкость не более 3,0 фФ, в то время как 95-й перцентиль достигает 21,0 фФ, а максимальное значение – 219,0 фФ. Стандартное отклонение (9,2 фФ), существенно превышающее среднее значение, дополнительно подтверждает высокую неоднородность данных. Также для цепей в наборе данных было рассчитано отношение паразитной ёмкости к ёмкости контактов в нагрузке – среднее значение этой характеристики оказалось равным 1,4 со стандартным отклонением 3,1, 75-перцентиль – 1, 95-перцентиль – 4. Из этого можно сделать вывод, что для блоков, спроектированных по выбранной технологии, значение паразитной ёмкости часто оказывается сопоставимо с полезной нагрузкой, поэтому точное предсказание паразитной составляющей актуально для данной технологической нормы. Корреляционный анализ по методу Пирсона показал, что коэффициент корреляции метрики “cap” и метрик “length” и “segs” составляет 0,98 и 0,72, соответственно, что свидетельствует о высоком уровне корреляции между выбранными метриками.

Табл. 2. Распределение меток в наборе данных.

МеткаСреднееСтандартное отклонениеМин.Макс.P25P50P75P95
“cap”4,59,2121911321
“length”32,472,80,8418124,67,420,9156,1
“segs”19,033,71559581674

Каждая цепь в наборе данных обладает 26 признаками: 19 из этих признаков были получены из САПР, а еще 7 признаков были сконструированы вручную в процессе обработки данных. Список и описание признаков цепей приведено в табл. 3. Первоначальный набор признаков был сформирован на основе эмпирических знаний о физических факторах, влияющих на паразитную ёмкость цепей в цифровых СБИС. Данный набор основан на предположении, что выбранные признаки коррелируют с предсказываемой величиной.

К 7 признакам, созданным вручную из других имеющихся в наборе данных признаков в процессе обработки данных, относятся следующие:

  • gcell_area – площадь прямоугольника, который образуется вокруг ячеек, соединенных рассматриваемой цепью. Полупериметр этого прямоугольника является метрикой HPWL. Данная метрика была создана из предположения, что площадь такого прямоугольника будет положительно коррелировать с паразитной ёмкостью цепи;
  • gcell_ar – отношение ширины к высоте HPWL прямоугольника. Ожидается, что цепи, находящиеся в прямоугольниках вырожденной формы, будут отличаться своей длиной, а как следствие, ёмкостью от цепей в прямоугольниках близких к форме квадрата;
  • dist_to_right, dist_to_left, dist_to_top, dist_to_bottom – данные признаки показывают, в какой части блока находится цепь. Ввиду того, что наибольшее число ячеек находится в центре блока, существует вероятность того, что САПР придется в местах повышенной плотности разводки переходить в верхние металлы, чтобы провести трассировку;
  • block_area – площадь проектируемого блока. Ожидается, что две цепи с близкими признаками будут отличаться длиной в блоках разного размера – чем больше площадь блока, тем больше длина цепи в нем.

Табл. 3. Список признаков.

ПризнакОписание признака
1faninЧисло входных контактов ячейки, управляющей цепью
2fanoutЧисло нагрузок цепи
3fanin_areaПлощадь fanin ячеек
4fanout_areaПлощадь ячеек, соединенных с цепью
5llxЛевая нижняя координата X HPWL прямоугольника
6llyЛевая нижняя координата Y HPWL прямоугольника
7urxПравая верхняя координата X HPWL прямоугольника
8uryПравая верхняя координата Y HPWL прямоугольника
9hpwlМетрика “полупериметр” для цепи
10hpwl_minМин. “полупериметр” для цепи
11hpwl_maxМакс. “полупериметр” для цепи
12hpwl_meanСреднее значение “полупериметра” для цепи
13hpwl_stdСтандартное отклонение “полупериметра” для цепи
14cell_densityПлотность ячеек в прямоугольнике HPWL
15pin_capЁмкость контактов в нагрузке
16wireload_fan_capМетрика Wireload на основе fanout
17wireload_hpwl_capМетрика Wireload на основе HPWL
18block_areaПлощадь проектируемого блока
19gcell_areaПлощадь HPWL прямоугольника
20gcell_arСоотношение сторон HPWL прямоугольника
21dist_to_rightРасстояние от центра HPWL прямоугольника до правого края блока
22dist_to_leftРасстояние от центра HPWL прямоугольника до левого края блока
23dist_to_topРасстояние от центра HPWL прямоугольника до верхнего края блока
24dist_to_bottomРасстояние от центра HPWL прямоугольника до нижнего края блока
25block_widthШирина блоков
26block_heightВысота блока

Первоначально сформированный на физических принципах набор признаков может содержать избыточную информацию. Для построения компактной и эффективной модели был проведен статистический отбор признаков. В первую очередь был проведен корреляционный анализ – рассчитаны коэффициенты корреляции Пирсона признаков с целевой метрикой. После получения этих коэффициентов из набора признаков были убраны те, чей коэффициент корреляции составлял по модулю меньше 0,1. Признаками, слабо коррелирующими с целевой метрикой паразитной ёмкости, оказались: абсолютные координаты HPWL прямоугольника (llx, lly, urx, ury – коэффициенты 0,02, -0,0005, 0,08, 0,06, соответственно), размер блока (block_area, block_width, block_height – 0,07, 0,06, 0,06), относительное расположение центра HPWL прямоугольника (dist_to_right, dist_to_left, dist_to_top, dist_to_bottom – -0,08, 0,02, 0,01, 0,03). Корреляционная матрица для оставшихся в наборе признаков цепей представлена на Рис. 2.

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

  • набор признаков “А” – порог корреляции больше 0,1, устранение мультиколлинеарности не применялось;
  • набор признаков “B” – порог корреляции больше 0,3, устранение мультиколлинеарности не применялось;
  • набор признаков “C” – порог корреляции больше 0,1, устранение мультиколлинеарности при взаимной корреляции больше 0,9;
  • набор признаков “D” – порог корреляции больше 0,3, устранение мультиколлинеарности при взаимной корреляции больше 0,9.

Признаки, которые попали в соответствующие наборы, приведены в табл. 4.

Иллюстрация к статье

Рис. 2. Корреляционная матрица.

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

Табл. 4. Наборы признаков.

Набор признаковПризнаки, входящие в наборЧисло признаков
A'fanin', 'fanout', 'fanin_area', 'fanout_area', 'hpwl', 'hpwl_min', 'hpwl_max', 'hpwl_mean', 'hpwl_stddev', 'cell_density', 'pin_cap', 'wireload_fan_cap', 'wireload_hpwl_cap', 'gcell_area', 'gcell_ar'15
B'fanout', 'fanout_area', 'hpwl', 'hpwl_min', 'hpwl_max', 'hpwl_mean', 'hpwl_stddev', 'pin_cap', 'wireload_fan_cap', 'wireload_hpwl_cap', 'gcell_area'11
C'fanin', 'fanout', 'fanin_area', 'hpwl', 'hpwl_min', 'hpwl_stddev', 'cell_density', 'pin_cap', 'gcell_area', 'gcell_ar'10
D'fanout', 'hpwl', 'hpwl_min', 'hpwl_stddev', 'pin_cap', 'gcell_area'6
3.3 Предложенные модели

Для решения задачи предсказания паразитной ёмкости цепи в данной работе предложены различные варианты архитектур нейронных сетей. Рассмотрим архитектуры этих моделей: Первая модель MLP_C состоит из двух основных компонент: кодировщика признаков и регрессора. Кодировщик состоит из 3 линейных слоев размерностью 64, 32 и 16 нейронов. После каждого слоя используются слой нормализации (LayerNorm) и слой Dropout (0,2) для устойчивости модели и борьбы с переобучением. На выходе слоев используется функция активации ReLU. После кодировщика вектор представления передается в регрессионную часть (2 полносвязных слоя из 16 и 8 нейронов) для предсказания одной метки “cap” – паразитной ёмкости.

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

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

Четвертая модель MLP_C_L_S обладает таким же кодировщиком на входе, как и предыдущие модели, однако затем представление передается параллельно в 3 независимых регрессора для предсказания ёмкости, длины и числа сегментов. Каждая выходная метрика оптимизирует свою функцию потерь, а общая функция потерь модели – взвешенная сумма частных потерь.

Пятая модель основана на алгоритме градиентного бустинга над решающими деревьями XGBoost [9]. Модель предсказывала паразитную ёмкость на основе признаков цепи из набора данных. Модель была создана со следующими параметрами: количество деревьев – 100, максимальная глубина – 10, скорость обучения – 0,1.

Шестая модель основана на еще одном алгоритме градиентного бустинга над решающими деревьями – CatBoost [10]. Модель была создана с такими же параметрами, как и XGBoost. Данные алгоритмы демонстрируют высокую эффективность при работе с табличными данными за счет встроенной регуляризации и отсутствия необходимости в предобработке данных.

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

Предложенные выше модели будут сравниваться в точности с классической метрикой Wireload (в наборе данных представлена в качестве признака “wireload_fan_cap”).

Графическое изображение предложенных моделей представлено в GitHub репозитории авторов данной статьи [11].

3.4 Обучение моделей

При обучении и валидации приведенных в предыдущем разделе моделей для объективной оценки использовалась кросс-валидация по блокам методом k-Fold [12]. Каждый блок из набора данных рассматривался как отдельная единица: в каждом цикле обучения одна подгруппа блоков выделялась в качестве тестовой выборки, в то время как остальные использовались для обучения и валидации. Такой подход позволяет избежать утечек данных между обучающими и тестовыми блоками и обеспечивает более реалистичную проверку способности моделей к обобщению на новые, ранее не виденные блоки. В данной работе набор данных из 35 блоков разбивался в процессе обучения на 7 частей (фолдов) по 5 блоков. На каждой итерации обучения 6 фолдов использовались для обучения модели, а 1 фолд для ее валидации. Процесс повторялся 7 раз таким образом, что каждый блок побывал в тестовом наборе только один раз.

В качестве метрик точности для задачи регрессии были выбраны средняя абсолютная ошибка (MAE), средняя абсолютная ошибка в процентах (MAPE) и коэффициент детерминации (R2). В разделе с результатами итоговые значения метрик вычислялись как среднее по всем фолдам. В качестве функции потерь при обучении использовалась среднеквадратичная ошибка (MSE). В качестве оптимизатора – Adam [13] с параметром weight_decay = 0,0001, используемом для L2-регуляризации в качестве борьбы с переобучением [14]. Модели обучались на протяжении 20 эпох.

Для обеспечения сходимости алгоритмов и устранения влияния масштаба признаков на процесс обучения была применена стандартизация данных. Все числовые признаки масштабировались с использованием метода StandardScaler [15], который преобразует данные к распределению с нулевым средним значением и единичной дисперсией. Процедура выполнялась отдельно для каждого фолда кросс-валидации: параметры масштабирования (среднее значение и стандартное отклонение) вычислялись исключительно на тренировочной выборке, после чего применялись к тестовой выборке. Такой подход предотвращает информационную утечку и обеспечивает корректную оценку обобщающей способности моделей.

Обучение проводилось локально на компьютере с ОС Windows 10, процессор Intel Core i5 9400F, 16 ГБ оперативной памяти формата DDR4, видеокарта NVIDIA GeForce GTX 1660 SUPER с 6 ГБ видеопамяти c 1408 CUDA ядрами. В качестве окружения использовался Jupyter Lab (версия 4.3.6), Python 3.12, PyTorch 2.6.0+cu124 и PyTorchGeometric 2.6.1. Версия XGBoost 2.1.4, версия CatBoost 1.2.8. Все вычисления выполнялись на GPU.

4. Результаты

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

4.1 Модели оценки паразитной ёмкости

Стоит отметить, что суммарное число моделей, рассмотренных в сравнении, будет равняться 29 – 7 предложенных архитектур будут обучаться на 4 наборах признаков, представленных в табл. 4, а также классическая метрика Wireload. Это позволит определить среди всех архитектур и подходов к отбору признаков наилучший вариант. Название моделей с учетом используемых входных признаков в данной статье строится следующим образом – после названия выбранной архитектуры через нижнее подчеркивание указывается название набора признаков из табл. 4. То есть модель MLP_C_A – первая архитектура нейронной сети, обученная на наборе признаков “A”. В табл. 5 представлены итоговые метрики 29 моделей по итогам обучения с кросс-валидацией (значения в таблице строятся как среднее ± стандартное отклонение по всем фолдам) для задачи предсказания паразитной ёмкости цепей.

Отметим главные выводы из сравнения точности моделей:

  • все предложенные модели нейронных сетей превосходят классическую метрику Wireload – улучшение метрик MAE и MAPE составляет в среднем 10 раз;
  • модели на основе XGBoost показывают наилучшие результаты среди всех моделей, превосходя в том числе и модели на основе CatBoost;
  • анализ четырех наборов входных признаков выявил, что набор А – демонстрирует стабильно высокие результаты среди всех моделей; набор D – показывает лучшие результаты для MLP архитектур;
  • агрессивный отбор признаков (с порогом отбора признаков больше 0,3 и устранение мультиколлинеарности) не всегда приводит к улучшению качества модели;
  • применение многозадачного обучения дает сравнительно небольшой прирост точности по сравнению с обучением модели только на предсказании ёмкости – в среднем на 7%; самая эффективная из нейросетевых моделей – MLP_C_L_S_D на основе многозадачной архитектуры имеет среднюю ошибку в 14,7%;
  • наименьшую ошибку показывают 2 модели – XGBoost_M_A и XGBoost_A; с небольшим отрывом лидирует XGBoost_M_A – на основе градиентного бустинга в режиме мультизадачной регрессии для набора признаков А без агрессивного отбора (порог корреляции больше 0,1 без устранения мультиколлинеарности); MAE предсказания паразитной ёмкости составляет 0,57 фФ, а MAPE 10,3%.

Также был проведен анализ времени, затрачиваемого на работу лучшей модели XGBoost_M_A:

  • среднее время выписки признаков на кросс-валидации для модели 39 секунд;
  • среднее время работы модели на кросс-валидации 3 секунды;
  • среднее ускорение по сравнению с эталонным методом получения паразитных ёмкостей (после проведения трассировки и экстракция в САПР) на кросс-валидации составляет 90 раз.

Табл. 5. Сравнение точности моделей в задаче предсказания паразитной ёмкости.

МодельMAE, фФMAPE, %R2
1Wireload7,87 ± 3,84169,7± 80,20,23 ± 0,15
2MLP_C_A0,85 ± 0,3816,4 ± 3,00,90 ± 0,06
3MLP_C_B0,83 ± 0,3520,2 ± 4,20,91 ± 0,05
4MLP_C_C0,80 ± 0,3416,3 ± 3,50,92 ± 0,05
5MLP_C_D0,77 ± 0,3115,6 ± 3,60,92 ± 0,04
6MLP_CL_A0,79 ± 0,3515,2 ± 4,20,92 ± 0,04
7MLP_CL_B0,79 ± 0,3516,3 ± 3,90,91 ± 0,05
8MLP_CL_C0,82 ± 0,3317,5 ± 2,80,92 ± 0,05
9MLP_CL_D0,78 ± 0,3715,1 ± 2,90,92 ± 0,05
10MLP_CLS_A0,81 ± 0,4016,9 ± 5,30,92 ± 0,04
11MLP_CLS_B0,79 ± 0,3915,8 ± 3,20,92 ± 0,05
12MLP_CLS_C0,83 ± 0,3817,3 ± 5,50,91 ± 0,06
13MLP_CLS_D0,78 ± 0,3715,1 ± 2,90,92 ± 0,05
14MLP_C_L_S_A0,79 ± 0,3315,2 ± 3,30,91 ± 0,06
15MLP_C_L_S_B0,77 ± 0,2718,9 ± 7,90,93 ± 0,04
16MLP_C_L_S_C0,77 ± 0,3715,3 ± 4,80,93 ± 0,05
17MLP_C_L_S_D0,73 ± 0,3214,7 ± 2,40,93 ± 0,04
18XGBoost_A0,58 ± 0,3010,4 ± 2,10,93 ± 0,05
19XGBoost_B0,59 ± 0,2810,9 ± 1,80,93 ± 0,05
20XGBoost_C0,59 ± 0,2810,6 ± 2,10,93 ± 0,04
21XGBoost_D0,60 ± 0,2312,1 ± 2,50,91 ± 0,06
22CatBoost_A0,63 ± 0,3012,8 ± 2,20,93 ± 0,04
23CatBoost_B0,63 ± 0,2812,7 ± 2,10,94 ± 0,04
24CatBoost_C0,60 ± 0,2612,2 ± 1,70,94 ± 0,04
25CatBoost_D0,61 ± 0,2412,6 ± 2,00,94 ± 0,04
26XGBoost_M_A0,57 ± 0,3010,3 ± 2,10,94 ± 0,05
27XGBoost_M_B0,59 ± 0,2810,9 ± 1,80,93 ± 0,05
28XGBoost_M_C0,59 ± 0,2810,6 ± 2,10,93 ± 0,04
29XGBoost_M_D0,60 ± 0,2312,1 ± 2,50,91 ± 0,06
4.2 Оценка быстродействия блока

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

  • первый этап – выписка признаков блока, доступных на этапе размещения;
  • второй этап – расчёт паразитных ёмкостей цепей с помощью модели, то есть инференс модели; формирование скрипта с набором команд, которые зададут в САПР паразитные ёмкости на всех рассматриваемых цепях;
  • выполнение скрипта установки паразитных ёмкостей в САПР и расчёт частоты работы блока через оценку запаса по времени установки (Worst Negative Slack, WNS) во время статического временного анализа.

Оценка быстродействия предложенным методом (для краткости обозначим его ML) сравнивалась со следующими методами:

  • Route – эталон, данные о частоте блока получены после проведения детальной трассировки и экстракции паразитных параметров из САПР;
  • Wireload – быстродействие оценивалось на этапе размещения, паразитная ёмкость цепей рассчитывалась с помощью Wireload-модели;
  • ER (Early Route) – быстродействие оценивалось на этапе размещения с помощью специального инструмента Early Route в САПР Innovus. Он позволяет выполнить быструю трассировку, но с возможными нарушениями правил проектирования, несовпадением проводников с рекомендованными треками для данной технологии и рядом других допущений; такая ранняя разводка используется в САПР для оценки разводимости (congestion), а также для более точной оценки временных параметров (в том числе и быстродействия).

В табл. 6 представлено сравнение точности оценки быстродействия указанными выше методами, а также ускорение времени работы относительно эталонного алгоритма с использованием детальной трассировки и экстракции паразитных параметров в САПР Quantus. Данные в таблице представлены в формате “среднее” ± “стандартное отклонение”, поскольку расчёт метрик проходил внутри 7 фолдов на кросс-валидации – на 6 фолдах проходило обучение модели предсказывать паразитную ёмкость цепей, на блоках из оставшегося фолда проходила оценка быстродействия.

Табл. 6. Сравнение точности оценки быстродействия и затрат времени на работу модели.

МодельУскорениеТочность оценки частоты, %
Route1x100
Wireload(97 ± 90)x91,2 ± 12,6
ER(8 ± 6)x99,1 ± 0,7
ML(86 ± 80)x99,1 ± 0,9

Отметим главные выводы из сравнения точности моделей оценки быстродействия, а также времязатрат:

  • предложенный ML-метод (на основе модели XGBoost_M_A для оценки паразитной ёмкости) демонстрирует сравнимые по точности оценки быстродействия блока с внутренним методом ER из САПР Innovus (точность оценки 99,1%), обладает высокой стабильностью оценки (стандартное отклонение 0,9%), а также обеспечивает значительное ускорение (~ 86 раз) по сравнению с эталонным методом и ускорение по сравнению с методом ER (~ 10 раз);
  • ML-метод превосходит оценку с использованием Wireload-модели по точности (99,1 % против 91,2%), а также значительно опережает в стабильности (отклонение 0,9% против 12,6%);
  • ML-метод незначительно уступает Wireload по времени работы (в среднем на 13%) – дополнительное время тратится на выписку признаков и инференс модели XGBoost_M_A).

Также был проведен статистический анализ абсолютной ошибки оценки частоты работы блока – рассчитан 95% доверительный интервал для 3 методов. Результаты анализа:

  • Wireload – от 8,3 до 24,9 МГц;
  • ER – от -2,1 до -0,1 МГц;
  • ML – от 0,7 до 2,3 МГц.

Интерпретация доверительных интервалов данных методов показывает, что метод ER систематически завышает частоту, метод ML систематически занижает частоту и обеспечивает более консервативную оценку, а метод Wireload демонстрирует систематическое заметное занижение частоты.

5. Заключение

В данной работе решалась задача оценки паразитной ёмкости цепей в цифровом блоке СБИС на этапе размещения ячеек с помощью методов машинного обучения. Был предложен ряд моделей машинного обучения для решения данной задачи: линейные модели в однозадачном и многозадачном режиме регрессии, модели на основе градиентного бустинга. Был собран набор данных для обучения моделей по технологии 40 нм для 35 RTL-моделей с открытым исходным кодом. Проведен отбор признаков и обучение 28 моделей с различными наборами признаков. Наибольшую точность продемонстрировала модель XGBoost_M_A – модель на основе градиентного бустинга в режиме мультизадачной регрессии для набора признаков А без агрессивного отбора (порог корреляции больше 0,1 без устранения мультиколлинеарности). Средняя абсолютная ошибка на кросс-валидации составила 0,57 фФ (в процентах 10,3%), что на порядок ниже ошибки, полученной классическим методом на основе Wireload-модели. Среднее ускорение получения паразитных параметров по сравнению с эталонным методом – 90 раз.

На основе модели XGBoost_M_A была предложена модель ML для решения задачи оценки быстродействия блока на этапе размещения. Ее результаты сравнивались с результатами моделей на основе Wireload, на основе инструмента Early Route из САПР Innovus, а также с эталонным значением после трассировки и экстракции паразитных параметров. Предложенная модель ML продемонстрировала высокую точность в оценке быстродействия – 99,1% (сравнимо с ER-моделью), значительно превосходит в точности модель на основе Wireload (точность 91,2%), а также обеспечивает значительное ускорение (~ 86 раз) по сравнению с эталонным методом, а также по сравнению с методом ER (~ 10 раз), что делает данную модель перспективной для ее использования при проектировании цифровых блоков СБИС для оценки быстродействия на раннем этапе проектирования ввиду баланса ее высокой точности и быстром времени работы по сравнению с другими методами.

Список литературы

  1. Bhasker J., Chadha R. Static timing analysis for nanometer designs: A practical approach. Boston: Springer Science & Business Media, 2009, 572p.
  2. Windschiegi A., Zuber P., Stechele W. A wire load model for more accurate power estimation // The 2002 45th Midwest Symposium on Circuits and Systems, 2002. MWSCAS-2002. Tulsa, OK, USA: IEEE, 2002. С. I-376– I-9. ↩1 ↩2
  3. Kahng A. B., Spyrou T. The OpenROAD project: Unleashing hardware innovation. In Proc. GOMAC, 2021, pp. 1-6.
  4. Shen S. и др. Deep-Learning-Based Pre-Layout Parasitic Capacitance Prediction on SRAM Designs, 2025. Available at https://arxiv.org/pdf/2507.06549, accessed 18.02.2026. ↩1 ↩2
  5. Dogan E., Guthaus M. R. Effective Capacitance Modeling Using Graph Neural Networks, 2025. Available at https://arxiv.org/pdf/2507.03787, accessed 18.02.2026.
  6. OpenABC Project, “OpenABC: Automated Block-Level RTL Synthesis Flow,” GitHub repository, https://github.com/NYU-MLDA/OpenABC, accessed Dec. 10, 2025.
  7. OpenCores, “OpenCores — Open Source Hardware IP Cores,” https://opencores.org/, accessed Dec. 10, 2025.
  8. B. Akhshalipour, “NoC-Verilog: Network-on-Chip Verilog RTL Models,” GitHub repository, https://github.com/bakhshalipour/NoC-Verilog, accessed Dec. 10, 2025.
  9. Chen T., Guestrin C. Xgboost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016, pp. 785-794.
  10. Prokhorenkova L. et al. CatBoost: unbiased boosting with categorical features. Advances in neural information processing systems, 2018, vol. 31.
  11. N. Zheludkov, “ML-Based Estimation of Interconnect Capacitance,” GitHub repository. https://github.com/NZheludkov/ML-Based-Estimation-of-Interconnect-Capacitance. Accessed: Dec. 10,2025.
  12. Bengio Y., Grandvalet Y. No Unbiased Estimator of the Variance of K-Fold Cross-Validation. Journal of Machine Learning Research, 2004, vol. 5, pp. 1089–1105.
  13. Kingma D. P., Ba J. L. Adam: A method for stochastic optimization, 2014. Available at https://arxiv.org/pdf/1412.6980, accessed 05.11.2025.
  14. Loshchilov I., Hutter F. Decoupled weight decay regularization, 2017. Available at https://arxiv.org/abs/1711.05101, accessed 05.11.2025.
  15. De Amorim L. B. V., Cavalcanti G. D. C., Cruz R. M. O. The choice of scaling technique matters for classification performance. Applied Soft Computing, 2023, vol. 133, pp. 109924.

Информация об авторах

Никита Владимирович ЖЕЛУДКОВ – заведующий сектором, младший научный сотрудник в НИЦ "Курчатовский институт" – НИИСИ. Сфера научных интересов: проектирование СБИС, систем на кристалле, применение методов машинного обучения в проектировании СБИС, автоматизация проектирования.

Юлия Андреевна КУЛЕМИНА – инженер и аспирант в НИЦ "Курчатовский институт" – НИИСИ. Сфера научных интересов: проектирование аналоговых блоков СБИС, применение методов машинного обучения в процессе разработки аналоговых блоков, автоматизация проектирования.

Связь с редакцией