gf180: `-split_cuts {Metal3 0.128}` in the platform PDN config makes overlapping, off-grid Via2/Via3 cuts
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 71/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
調査の方向性
flow/platforms/gf180/openROAD/pdn/pdn_grid_strategy_7t_6M.cfg と pdn_grid_strategy_9t_6M.cfg を読み、add_pdn_connect オプションを調べてください。次に、6_final.gds を使って GF180 デザインで問題を再現してください。指定された -split_cuts 設定を削除し、Via2/Via3 のカットが重なっているか、グリッドに揃っているかを確認してください。その後、check_power_grid とルーティング DRC を検証してください。両方の設定で、カットが分離され、正しく配置されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
Both flow/platforms/gf180/openROAD/pdn/pdn_grid_strategy_7t_6M.cfg and ..._9t_6M.cfg have, on line 25:
add_pdn_connect -grid {block} -layers {Metal1 Metal4} -max_columns {5} -ongrid {Metal2 Metal3 Metal4} -split_cuts {Metal3 0.128}
The Via2/Via3 cuts are 0.26 µm squares, but with this setting pdngen places them closer than their own size, so neighbouring cuts overlap and merge into one large cut, and the cut corners land off the 0.005 µm manufacturing grid (MANUFACTURINGGRID 0.0050 in the tech LEF). Measured on the final GDS of gcd (minimal gf180 config: designs/src/gcd/gcd.v, CORE_UTILIZATION 40, 20 ns, 9-track cells, ORFS c06bf3c; the PDN files are the same on current master):
| Via2 (38/0) cuts | after merging | largest merged cut | vertices off the 0.005 µm grid | |
|---|---|---|---|---|
| platform config | 5,970 × 0.26 × 0.26 | 1,074 shapes | 0.772 × 1.028 µm | 19,584 |
same, -split_cuts {Metal3 0.128} removed |
2,383 × 0.26 × 0.26 | 2,383 (none overlap) | 0.26 × 0.26 | 0 |
Via3 (40/0) is the same: 5,063 cuts merging into 167 shapes, 19,584 off-grid vertices, against 1,463 separate cuts and 0 off-grid without the option. Each Metal1-rail × Metal4-strap crossing becomes one 0.772 × 1.028 µm Via2 and one such Via3.
Without -split_cuts, pdngen uses the tech LEF's VIARULE and makes ordinary via arrays; check_power_grid passes for VDD and VSS and routing DRC stays 0 (gcd and a 4-SRAM FIFO). A metal/via rule check written from the tech LEF's own values goes from 2,629 markers to 1 on gcd (the remaining one is an IO pin next to a strap end) and from 10,752 to 0 on the FIFO. A spacing of 0.62 instead of 0.128 also removes the overlaps, but leaves the Metal3 pads at each crossing too close (576 Metal3 spacing markers on gcd).
The image has no GF180 sign-off DRC deck (make drc writes "DRC not supported on this platform" and returns 0), so this was found with that tech-LEF-based subset plus the geometric checks above (cut size, overlap, grid), which do not depend on any deck. Every design in flow/designs/gf180/ uses these PDN files.
To reproduce
Run any gf180 design to 6_final.gds and count the Via2 shapes before and after merging, e.g. in KLayout Python:
import pya
ly = pya.Layout(); ly.read("6_final.gds")
r = pya.Region(ly.top_cell().begin_shapes_rec(ly.layer(38, 0))); r.merged_semantics = False
print(r.count(), "cuts,", r.merged().count(), "after merging")
Suggested fix
Drop -split_cuts {Metal3 0.128} from both files (or give a pitch of at least cut size + cut spacing and check the resulting Metal3 pads).
- 主要言語
- Verilog
- スター
- 777
- フォーク
- 549
- 平均マージ
- 1日 22時間
- マージ済み PR(30日)
- 85
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
The-OpenROAD-Project/OpenROAD-flow-scripts のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4726 ·
メンテナーはふだん 1 日以内に返信
-
build_openroad.sh: kepler-formal is installed with an absolute RUNPATH, so a moved or re-pointed install loads another build's libraries対応中かも @saikatchatrg が 5 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4717 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Make SYNTH_HDL_FRONTEND=slang default再び着手できるかも @jeffng-or が 37 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4548 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 49/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4769 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 1〜2日 初心者へのやさしさ 48/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4764 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
The-OpenROAD-Project/OpenROAD-flow-scripts の issue をすべて見る
似ている issue
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
metal3-io/metal3-dev-env#1741 · コメント 1 件 ·
-
infra
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
bug claimed pillar/reliability
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
hurttlocker/o8#5107 ·
-
Frontend container image ships brotli-libs 1.2.0-r1 (CVE-2026-111497, CISA KEV) and cannot pick up the fix対応中かも @ejacobhayes が今日担当しました。 オープンdefect in triage
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
DependencyTrack/frontend#2046 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
gke-labs/kube-agents#4321 ·
メンテナーはふだん 1 日以内に返信