librelane / librelane/librelane

PDN unconnected to the macros

Open
#509 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐞 bug
Dominant language
Python
Stars
543
Forks
105
Avg merge
5d 14h
Merged PRs (30d)
4

Description

Issue originally created by FriedrichWu on 2024-07-11T14:18:59Z


Description

Hello,

I'm trying to use the "ring method", which is described here https://openlane2.readthedocs.io/en/latest/usage/pdn.html, to connect the power ring of several macros, but failed.
图片
It seems that horizontal power line is also missing
图片

Expected Behavior

The power grid is generated at met3(horizontal), met4(vertical), and be able to connect to the power ring around the macro (met3 horizontal, met4 vertical), and does not across the macro

Environment report
NA
Reproduction material

I'm current running 2.0.0rc2, and the I could provide my config.json and pdn.tcl
issue_files.zip

Relevant log output
'PNR_SDC_FILE' is not defined. Using generic fallback SDC for OpenROAD PnR steps.
'SIGNOFF_SDC_FILE' is not defined. Using generic fallback SDC for OpenROAD PnR steps.
No libs found for macro sky130_sram_1rw_tiny_bank_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_control_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_data_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_spare_wen_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_row_addr_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_wmask_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_bank_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_control_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_data_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_spare_wen_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_row_addr_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
No libs found for macro sky130_sram_1rw_tiny_wmask_dff_0 at corner nom_tt_025C_1v80. The module will be black-boxed.
[ORD-2011] LEF master sky130_sram_1rw_tiny_bank_0 has no liberty cell.
[ORD-2011] LEF master sky130_sram_1rw_tiny_control_0 has no liberty cell.
[ORD-2011] LEF master sky130_sram_1rw_tiny_data_dff_0 has no liberty cell.
[ORD-2011] LEF master sky130_sram_1rw_tiny_row_addr_dff_0 has no liberty cell.
[ORD-2011] LEF master sky130_sram_1rw_tiny_spare_wen_dff_0 has no liberty cell.
[ORD-2011] LEF master sky130_sram_1rw_tiny_wmask_dff_0 has no liberty cell.
Cell 'sky130_sram_1rw_tiny_bank_0' has (23) input pin(s) without antenna gate information. They might not be connected to a gate.
Cell 'sky130_sram_1rw_tiny_bank_0' has (10) output pin(s) without antenna diffusion information. They might not be driven.
[PSM-0094] bank_ins is not connected to vccd1.
[PSM-0094] control_0_ins is not connected to vccd1.
[PSM-0094] data_dff_0_ins is not connected to vccd1.
[PSM-0094] row_addr_dff_0_ins is not connected to vccd1.
[PSM-0094] spare_wen_dff_0_ins is not connected to vccd1.
[PSM-0094] wmask_dff_0_ins is not connected to vccd1.
Grid check for vccd1 failed: PSM-0069
[PSM-0094] bank_ins is not connected to vssd1.
[PSM-0094] control_0_ins is not connected to vssd1.
[PSM-0094] data_dff_0_ins is not connected to vssd1.
[PSM-0094] row_addr_dff_0_ins is not connected to vssd1.
[PSM-0094] spare_wen_dff_0_ins is not connected to vssd1.
[PSM-0094] wmask_dff_0_ins is not connected to vssd1.
Grid check for vssd1 failed: PSM-0069
All instances are FIXED/FIRM.
No need to perform global placement.
Skipping…
All instances are FIXED/FIRM.
No need to perform global placement.
Skipping…
870 power grid violations (as reported by OpenROAD PSM- you may ignore these if LVS passes) found.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the report with the supplied config.json and pdn.tcl from issue_files.zip, then compare the result with the ring method described in the PDN documentation. Use the OpenROAD power-grid and connectivity messages to isolate why the macro rings are not connected. Done means the met3/met4 grid connects to the macro rings without crossing the macros and the reported connectivity failures are resolved.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.