asap7.lydrc: V5.M6.AUX.2 and V7.M8.AUX.2 check vertical edges, but M6 and M8 are horizontal, so legal VIA56/VIA78 are flagged
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- ruby
- 領域
- backend, testing-qa
調査の方向性
flow/platforms/asap7/drc/asap7.lydrc の V5.M6.AUX.2 と V7.M8.AUX.2 のチェックを読み、角度の選択を asap7_tech_1x_201209.lef の M6 および M8 の向きと比較してください。説明されている手作りのテストレイアウト、または asap7/gcd フローで再現してください。ルールに適合する水平の M6/M8 ビアが通過し、より狭いビアでは引き続き違反が発生し、その他のルールの違反数が変わらなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
flow/platforms/asap7/drc/asap7.lydrc checks that a via is exactly as wide as the metal above it by looking for coincident edges, selecting the edges across the metal's width with with_angle:
- line 377, V3.M4.AUX.2:
.edges.with_angle(0)-- M4 is HORIZONTAL, correct; - lines 423 and 477, V4.M5.AUX.2 and V6.M7.AUX.2:
.edges.with_angle(90)-- M5 and M7 are VERTICAL, correct; - line 431, V5.M6.AUX.2, and line 485, V7.M8.AUX.2:
.edges.with_angle(90), but M6 and M8 are HORIZONTAL inasap7_tech_1x_201209.lef(lines 453 and 574), so the check looks at the wrong edges.
As a result every legal V5 under a horizontal M6 is flagged, including the tech LEF's own VIA56 (lines 683-690: V5 24 x 32 nm under a 32 nm wide M6) and pdngen's wide power vias (e.g. via5_6_120_288_1_2_58_322, a 24 x 288 nm cut under a 288 nm M6 strap).
Evidence
asap7/gcd(with DEF units fixed, see #4737): 81 V5.M6.AUX.2 markers (65 VIA56 x 1, 8 power vias x 2); withwith_angle(0)on the two lines: 0, every other rule count unchanged.- A ~72k-instance block: 8,501 V5.M6.AUX.2 markers, all gone with the change; total 95,010 -> 86,509, nothing else changed.
- Hand-made test layouts: a minimum-width (32 nm) horizontal M6 with a VIA56-shaped V5 is flagged by the current deck and passes with
with_angle(0); a V5 that really is narrower than the M6 (24 nm high under 32 nm) is flagged by both, so the fixed check still catches real violations.
Suggested fix
-v5.not_interacting(m6.enclosing(v5, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(90)).output("V5.M6.AUX.2", ...
+v5.not_interacting(m6.enclosing(v5, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(0)).output("V5.M6.AUX.2", ...
-v7.not_interacting(m8.enclosing(v7, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(90)).output("V7.M8.AUX.2", ...
+v7.not_interacting(m8.enclosing(v7, 1.dbu, projection, two_opposite_sides_allowed).edges.with_angle(0)).output("V7.M8.AUX.2", ...
ORFS commit c06bf3c; the two lines are unchanged on current master (the deck was last changed 2023-04-05). KLayout 0.28.16.
- 主要言語
- Verilog
- スター
- 777
- フォーク
- 549
- 平均マージ
- 2日 10時間
- マージ済み PR(30日)
- 91
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
The-OpenROAD-Project/OpenROAD-flow-scripts のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 71/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4754 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 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 1〜2日 初心者へのやさしさ 48/100
The-OpenROAD-Project/OpenROAD-flow-scripts#4764 ·
メンテナーはふだん 1 日以内に返信
The-OpenROAD-Project/OpenROAD-flow-scripts の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
memory_patch_page drops the `#` of headings like `## Notes on C#`対応中かも @viniciusdsandrade が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
akitaonrails/ai-memory#1859 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Fei2411/DeepSeek-Bot#703 ·
-
first-timers-only good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 94/100
career-ops-hq/career-ops#6260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
be-BOP-io-SA/be-BOP#2817 ·
メンテナーはふだん 5 日以内に返信