Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

gf180: `-split_cuts {Metal3 0.128}` in the platform PDN config makes overlapping, off-grid Via2/Via3 cuts

オープン 初心者向け
#4,754 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 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 ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

The-OpenROAD-Project/OpenROAD-flow-scripts のほかの issue

The-OpenROAD-Project/OpenROAD-flow-scripts の issue をすべて見る

似ている issue

DevOps の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。