Openroad是半導體數字設計的主要開源,基礎應用。 OpenRoad流提供了自動駕駛,無人間的(NHIL)流量,從RTL-GDSII進行了24小時的周轉,以快速設計探索和物理設計實現。
%% {
init:{
“主題”:“中立”,
'themevariables':{
'TextColor':'#000000',
'noteTextColor':'#000000',
'fontsize':'20px'
}
}
} %%
流圖LR
B0 [] --- B2 [] --- B4 [] --- ORFlow --- b1 [] --- b3 [] --- b5 []
樣式B0筆寬:0px,填充:#ffffff00,顏色:#ffffff00
樣式B1筆寬:0PX,填充:#ffffff00
樣式B2筆寬:0PX,填充:#ffffff00
樣式B3筆劃寬度:0px,填充:#ffffff00
樣式B4筆劃寬度:0px,填充:#ffffff00
樣式B5筆劃寬度:0px,填充:#ffffff00,顏色:#ffffff00
LinkStyle 0筆寬度:0px
LinkStyle 1衝程寬度:0px
LinkStyle 2筆寬度:0px
LinkStyle 3筆寬度:0px
LinkStyle 4筆寬度:0px
LinkStyle 5筆寬度:0px
子圖
方向tb
樣式ORFLOW填充:#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填充:#fa6800,中風:#000000,中風寬度:4px
樣式G填充:#ff6666,中風:#000000,中風寬度:4px
結尾
流 - > h [GDSII
最終佈局]
%% H --- H1 []
%%樣式H1筆寬:0px,填充:#ffffff00
%% linkstyle 11筆寬度:0px
樣式H填充:#ff0000,中風:#000000,中風寬度:4px
結尾
OpenRoad消除了硬件設計中的成本,時間表風險和不確定性的障礙,以促進開放訪問快速,低成本的IC設計軟件以及專業知識和系統創新。 OpenRoad應用程序可以通過TCL和Python中的綁定來通過API進行靈活的流量控制。
Openroad用於研究和商業應用,例如
Openroad通過軟件開發和關鍵聯盟通過積極的協作和合作夥伴關係來促進用戶充滿活力的生態系統。我們不斷發展的用戶社區包括硬件設計師,軟件工程師,行業合作者,VLSI愛好者,學生和研究人員。
OpenRoad強烈提倡並通過在幾所全球大學的培訓內容和課程中啟用基於IC設計的教育和勞動力開發計劃,Google-Skywater Shuttles還包括GlobalFoundries Shuttles,Design競賽和IC設計研討會。露天流量已成功使用,迄今已在600多個矽磁帶中用於12nm的技術。
Openroad提供了作為本機,即用的原型製作和磁帶流的露天流程。但是,它還可以根據基礎工具,數據庫和分析引擎創建任何自定義流量控制器。請在此處參考流文檔。
Openroad-Flow-Scripts(ORF)是一種完全自動的RTL-GDSII流,用於快速架構和設計空間探索,QOR的早期預測和詳細的物理設計實現。但是,ORF還可以通過TCL命令和Python API來實現手動干預,以通過更精細的用戶控制單個流階段。
下圖顯示了OpenRoad-Flow-Scripts的主要階段:
%% {init:{'loglevel':'debug','主題':'dark'
}} %%
時間表
標題RTL-GDSII使用OpenRoad-Flow-Scripts
合成
:輸入[RTL,SDC,.lib,.lef]
:邏輯合成(Yosys)
:輸出文件[NetList,SDC]
平面圖
:平面圖初始化
:IO放置(隨機)
:計時驅動的混合尺寸放置
:宏位置
:Tapcell和Welltie插入
:PDN世代
放置
:沒有放置iOS的全球放置
:IO放置(優化)
:帶有iOS的全球放置
:調整大小和緩衝
:詳細的位置
CTS:時鍾樹的合成
:定時優化
:填充細胞插入
路由
:全局路由
:詳細的路由
精加工
:金屬填充插入
:Signoff定時報告
:生成GDSII(klayout)
:drc/lvs檢查(klayout)
以下是使用OpenRoad實施物理設計實現的主要步驟;
FloorplanningGlobal PlacementDetailed PlacementClock Tree SynthesisOptimize setup/hold timingGlobal RoutingDetailed RoutingChip FinishingOpenRoad GUI是具有可自定義的TCL接口的強大可視化,分析和調試工具。下圖顯示了各種流階段的GUI景觀,包括平面圖,放置擁堵,CTS和路由後設計。





OpenRoad應用程序是PDK獨立的。但是,在各種流量控制器的背景下,已對其進行了測試和驗證。
OpenLane支持Skywater 130nm和Globalfouldries 180nm。
OpenRoad-Flow-Scripts支持幾個公共和私人PDK,包括:
GF180SKY130Nangate45ASAP7預測性罰款7nm 這些PDK僅在OpenRoad-Flow-Scripts中得到支持。它們用於針對商業平台進行測試和校準,並確保QUR良好。由於NDA限制,無法提供這些套件的PDK和平台特定文件。但是,如果您能夠獨立訪問這些平台,則可以自己創建必要的平台特定文件。
GF55GF12Intel22Intel16TSMC65 OpenRoad已通過Google贊助的,效果MPW Shuttle和Chipignite程序在Sky130和GF180的600多個磁帶中進行了完整的物理實現。


OpenRoad項目積極地將成功的MPW班車設計添加到CI回歸測試中。設計的示例包括開放處理器核心,基於RISC-V的SOC,加密貨幣礦工,機器人應用程序處理器,業餘衛星無線電收發器,基於OpenPower的Microwatt等。
要在計算機中本地構建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進行版本控制和貢獻。熟悉在此處貢獻的快速啟動教程。
看到您不明白的OpenRoad警告或錯誤?我們已經編譯了所有消息表,您可能會在此處找到答案。
BSD 3條規定許可證。請參閱許可證文件。