Обсуждение: проект OpenROAD намеревается решить задачу автоматизации проектирования процессоров

ttitmeratuajef0--1py7jvrk7m.jpeg
Фото — Pexels — CC BY

По данным PWC, рынок полупроводниковых технологий растет — в прошлом году он достиг планки в 481 млрд долларов. Но темпы его роста в последнее время снизились. Среди причин спада — запутанность процессов проектирования устройств и недостаток автоматизации.
Еще несколько лет назад инженеры из Intel писали, что при создании высокопроизводительного микропроцессора приходится использовать 100–150 отдельных программных инструментов (EDA). Ситуация может усугубляться в случае с гетерогенными устройствами, архитектура которых включает несколько различных типов микросхем — ASIC, FPGA, CPU или GPU. В результате возникают ошибки при проектировании, которые задерживают релиз продуктов.

Несмотря на большое количество вспомогательных инструментов, часть работы инженеры все равно вынуждены выполнять вручную. Авторы книги «Advanced Logic Synthesis» говорят, что порой проектировщикам приходится писать скрипты на Skill или Python из двух миллионов строк для формирования библиотек с ячейками.

Также пишутся скрипты для парсинга отчетов, генерируемых EDA-системами. При разработке чипа по 22-нм техпроцессу эти отчеты могут занимать до 30 терабайт.


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

Что за программа


В программе участвуют несколько проектов, которые используют машинное обучение и облачные технологии для автоматизации отдельных этапов создания чипов. В рамках инициативы разрабатываются (схема 1) более десяти инструментов. Далее мы подробнее расскажем о некоторых из них: Flow Runner, RePlAce, TritonCTS, OpenSTA.

Flow Runner — это инструмент для управления библиотеками RTL и GDSII. Последние представляют собой файлы баз данных, являющиеся промышленным стандартом для обмена информацией об интегральных схемах и их топологиях. В основе решения лежит контейнерная технология Docker. Запускать Flow Runner можно как в облачной среде, так и локально. Руководство по установке лежит в официальном репозитории на GitHub.

RePlAce — облачное решение на базе машинного обучения, которое отвечает за размещение компонентов на микросхеме и автоматизацию трассировки. По некоторым данным, интеллектуальные алгоритмы повышают эффективность инструмента на 2–10% по сравнению с классическими системами. Кроме того, реализация в облаке упрощает масштабирование. Гайд по установке и настройке также лежит в репозитории.

TritonCTS — утилита для оптимизации подаваемых на чип тактовых импульсов. Помогает маршрутизировать синхросигналы на все части устройства с одинаковыми задержками. Принцип работы построен на базе H-деревьев. Такой подход повышает эффективность распределения сигналов на 30%, по сравнению с традиционными методами. Разработчики говорят, что в перспективе этот показатель можно увеличить до 56%. Исходный код и скрипты TritonCTS есть на GitHub.

OpenSTA — движок для статического временного анализа. Он дает разработчику возможность проверить работоспособность чипа еще до его фактической сборки. Пример кода в OpenSTA выглядит вот так.

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners


Утилита поддерживает netlist-описания кода на Verilog, библиотеки в формате Liberty, SDC-файлы и др.

Преимущества и недостатки


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

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

z07gtqr2mwtvwickuvyhqbs1_ka.jpeg
Фото — Pexels — CC BY

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

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

Свободно распространяемые инструменты предоставляют независимым организациям и стартапам больше возможностей. Есть вероятность, что со временем новые подходы OpenROAD к разработке EDA-инструментов и созданию микросхем могут стать отраслевым стандартом.


О чем мы пишем в нашем корпоративном блоге:

© Habrahabr.ru