OpenRoad-это ведущее основополагающее приложение для полупроводникового цифрового дизайна. Поток OpenRoad обеспечивает автономный поток без человечества (NHIL), 24-часовой поворот от RTL-GDSII для быстрого разведки дизайна и реализации физического дизайна.
%% {
init: {
«Тема»: «Нейтральный»,
'themevariables': {
'TextColor': '#000000',
'notetextcolor': '#000000',
'fontsize': '20px'
}
}
} %%
Блок -схема LR
b0 [] --- b2 [] --- b4 [] --- orflow --- b1 [] --- b3 [] --- b5 []
Стиль B0-ширина: 0PX, заполнение: #ffffff00, color: #ffffff00
Стиль B1-weadth: 0px, Fill: #ffffff00
Стиль B2-weadth: 0px, Fill: #ffffff00
Стиль B3-ширина: 0PX, заполнение: #ffffff00
Стиль B4-ширина: 0PX, заполнение: #ffffff00
Стиль B5-weadth: 0px, fill: #ffffff00, color: #ffffff00
LinkStyle 0 Ширология хода: 0PX
Linkstyle 1-й удар: 0px
Linkstyle 2-й удар: 0px
Linkstyle 3-й удар: 0PX
Linkstyle 4-й удар: 0PX
LinkStyle 5 штриховка: 0PX
подграф Орфлоу
Направление TB
Стиль Орфул заполнение:#ffffff00, ширина хода: 0px
[Verilog
+ библиотеки
+ ограничения] -> Поток
Стиль A заполнения:#74C2B5, ход:#000000, ширина хода: 4PX
Поток подграфа
Поток стиля:#ffffff00, ширина хода: 4px
Направление TB
B [синтез]
B -> c [Планы пола]
C -> d [размещение]
D -> E [синтез дерева часов]
E -> f [маршрутизация]
F -> g [отделка]
Стиль B заполнение:#f8cecc, ход:#000000, ширина хода: 4px
Стиль C заполнение:#fff2cc, ход:#000000, ширина хода: 4px
Стиль D заполнение:#cce5ff, ход:#000000, ширина хода: 4px
Стиль E заполнение:#67AB9F, ход:#000000, ширина хода: 4PX
Стиль F Fill:#FA6800, ход:#000000, ширина хода: 4PX
Стиль G Fill:#FF6666, ход:#000000, ширина хода: 4PX
конец
Поток -> h [gdsii
Окончательный макет]
%% H --- H1 []
%% style H1-width: 0px, заполнение: #ffffff00
%% linkstyle 11 школьной шириной: 0px
Стиль H заполнение:#ff0000, ход:#000000, ширина хода: 4px
конец
OpenRoad устраняет барьеры затрат, график риска и неопределенности в дизайне оборудования для обеспечения открытого доступа к быстрому, недорогим программному обеспечению для дизайна IC и опыту и инновациям в системе. Приложение Openroad обеспечивает гибкий контроль потока через API с привязками в TCL и Python.
OpenRoad используется в исследованиях и коммерческих приложениях, таких как,
Openroad способствует оживленной экосистеме пользователей посредством активного сотрудничества и партнерства посредством разработки программного обеспечения и ключевых альянсов. Наше растущее сообщество пользователей включает в себя дизайнеры оборудования, инженеры -программисты, отраслевые сотрудники, энтузиасты VLSI, студенты и исследователи.
Openroad решительно выступает и позволяет инициативам по разработке образования и разработке рабочей силы на основе дизайна IC посредством учебного контента и курсов в нескольких глобальных университетах, трансфер Google-Skywater также включает в себя шаттлы GlobalFoundries, конкурсы дизайна и семинары по дизайну IC. Поток OpenRoad успешно использовался на сегодняшний день в более чем 600 лентах, готовых к кремнию для технологий до 12 нм.
OpenRoad предоставляет подразделения открытой дороги в качестве нативного, готового к использованию прототипирования и потока магнитории. Тем не менее, он также позволяет создавать любые пользовательские контроллеры потока на основе базовых инструментов, базы данных и анализа. Пожалуйста, обратитесь к документации по потоке здесь.
Specload-Flow-Scripts (ORF) представляет собой полностью автономный поток RTL-GDSII для быстрой архитектуры и исследования пространства дизайна, раннее прогнозирование QOR и подробное реализацию физического проектирования. Тем не менее, ORF также обеспечивает ручное вмешательство для более тонкого управления пользователем отдельных этапов потока через команды TCL и Python API.
На рисунке ниже показаны основные этапы сценариев с открытой дорогой:
%% {init: {'loglevel': 'Debug', 'Theme': 'Dark'
}} %%
временная шкала
Название rtl-gdsii с использованием подписания открытой дороги
Синтез
: Входы [RTL, SDC, .LIB, .lef]
: Логический синтез (yosys)
: Выходные файлы [NetList, SDC]
ПЛАН
: Инициализация плана этажа
: IO размещение (случайное)
: Расположение смешанного размера, управляемого воротом
: Размещение макро
: Вставка Tapcell и Welltie
: Поколение PDN
Размещение
: Глобальное размещение без размещения iOS
: IO размещение (оптимизирован)
: Глобальное размещение с размещенным iOS
: Изменение размера и буферизации
: Подробное размещение
CTS: синтез дерева часов
: Оптимизация времени
: Вставка ячейки наполнителя
Маршрутизация
: Глобальная маршрутизация
: Подробная маршрутизация
Отделка
: Вставка металла заполнения
: Отчет о выходе на систему
: Генерировать gdsii (klayout)
: DRC/LVS Проверка (Klayout)
Вот основные шаги для реализации физического дизайна с использованием OpenRoad;
FloorplanningGlobal PlacementDetailed PlacementClock Tree SynthesisOptimize setup/hold timingGlobal RoutingDetailed RoutingChip FinishingGUI Openroad - это мощный инструмент визуализации, анализа и отладки с настраиваемым интерфейсом TCL. На приведенных ниже цифрах показаны виды с графическим интерфейсом на различные этапы потока, включая планены пола, заторы размещения, CTS и дизайн после маршрута.





Приложение OpenRoad не зависит от PDK. Тем не менее, он был протестирован и проверен с помощью конкретных PDK в контексте различных контроллеров потока.
Openlane поддерживает Skywater 130nm и Globalfoundries 180nm.
Specload-Flow-Scripts поддерживает несколько государственных и частных PDK, включая:
GF180 - 180 нмSKY130 - 130 нмNangate45 - 45 нмASAP7 - прогнозирующий FINFET 7NM Эти PDK поддерживаются только в открытых потоках. Они используются для тестирования и калибровки OpenRoad по коммерческим платформам и обеспечения хорошего QOR. PDK и файлы, специфичные для платформы для этих наборов, не могут быть предоставлены из-за ограничений NDA. Однако, если вы можете самостоятельно получить доступ к этим платформам, вы можете самостоятельно создать необходимые файлы, конкретные для платформы.
GF55 - 55 нмGF12 - 12 нмIntel22 - 22 нмIntel16 - 16 нмTSMC65 - 65 нм OpenRoad использовалась для полной физической реализации в более чем 600 мазков в Sky130 и GF180 через спонсируемые Google, программы Efabless MPW и чипстры.


Проект OpenRoad активно добавляет успешно записанный в сфере конструкций MPW шаттла к регрессионному тестированию CI. Примеры проектов включают открытые процессоры, SOCS на основе RISC-V, шахтеры криптовалюты, роботизированные приложения, спутниковые трансиверы-любительские радиосвязи, MicroWatt на основе OpenPower и т. Д.
Чтобы построить инструменты Openroad локально в вашей машине, следуйте шагам отсюда.
Есть набор исполняемых сценариев регрессионных испытаний в ./test/ .
# run tests for all tools
./test/regression
# run all flow tests
./test/regression flow
# run <tool> tests
./test/regression < tool >
# run all <tool>-specific unit tests
cd src/ < tool >
./test/regression
# run only <TEST_NAME> for <tool>
cd src/ < tool >
./test/regression < TEST_NAME > Протоковые испытания проверяют результаты, такие как худший провал относительно эталонных значений. Используйте report_flow_metrics [test]... чтобы увидеть все метрики.
% report_flow_metrics gcd_nangate45
insts area util slack_min slack_max tns_max clk_skew max_slew max_cap max_fanout DPL ANT drv
gcd_nangate45 368 564 8.8 0.112 -0.015 -0.1 0.004 0 0 0 0 0 0
Чтобы обновить неудачную регрессию, следуйте инструкциям ниже:
# update log files (i.e. *ok)
save_ok <TEST_NAME>
# update "*.metrics" for tests that use flow test
save_flow_metrics <TEST_NAME>
# update "*.metrics_limits" files
save_flow_metrics_limits <TEST_NAME> openroad [-help] [-version] [-no_init] [-exit] [-gui]
[-threads count|max] [-log file_name] cmd_file
-help show help and exit
-version show version and exit
-no_init do not read .openroad init file
-threads count|max use count threads
-no_splash do not show the license splash at startup
-exit exit after reading cmd_file
-gui start in gui mode
-python start with python interpreter [limited to db operations]
-log <file_name> write a log in <file_name>
cmd_file source cmd_file
OpenRoad Источники командного файла TCL ~/.openroad если не указана параметр командной строки -no_init .
OpenRoad затем источет командный файл cmd_file если он указан в командной строке. Если не указан флаг командной строки -exit , он входит в интерактивный интерпретатор команды TCL.
Список доступных инструментов/модулей, включенных в приложение OpenRoad, и их описания доступны здесь.
OpenRoad использует GIT для контроля версий и вкладов. Познакомьтесь с учебником QuickStart в вклад здесь.
Видите предупреждения или ошибки Open Road, вы не понимаете? Мы собрали таблицу всех сообщений, и вы потенциально можете найти свой ответ здесь.
BSD 3-rack License. См. Файл лицензии.