Skip to content

update sky130hd layers' resistance and lower gcd core utilization#4285

Open
AcKoucher wants to merge 4 commits into
The-OpenROAD-Project:masterfrom
AcKoucher:sky130hd-new-r-values
Open

update sky130hd layers' resistance and lower gcd core utilization#4285
AcKoucher wants to merge 4 commits into
The-OpenROAD-Project:masterfrom
AcKoucher:sky130hd-new-r-values

Conversation

@AcKoucher

@AcKoucher AcKoucher commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Correlation Data

Mode: segment
Designs (7): aes, chameleon, gcd, ibex, jpeg, microwatt, riscv32i.
OR Version: bfd6383488 (nightly 7017)
Units: R [kΩ/μm], C [pF/μm]

The resistance values that we were using weren't actually precise. Probably something off with the net-based regression script. The resistance fits obtained with the new segment-based regression have perfect (1.00) R².

I cleaned up the setRC.tcl script so that the data w.r.t. the correlation is tracked here rather than having comments in the file.

Observations:

  • There was no regression data for the l1 layer as sky130hd designs don't route on it. The old RC values were kept.
  • On the gcd design, the higher R values caused repair_timing to make more insertions which led to a DPL failure during incremental GRT. The solution was to decrease the core utilization a little bit.

Updated Rules

designs/sky130hd/chameleon/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -0.962 -1.33 Failing
cts__timing__setup__tns -6.72 -12.3 Failing
globalroute__antenna_diodes_count 200 249 Failing
globalroute__timing__setup__ws -0.943 -1.26 Failing
globalroute__timing__setup__tns -5.7 -11.4 Failing
finish__timing__setup__ws -0.881 -1.14 Failing
finish__timing__setup__tns -6.91 -8.2 Failing

designs/sky130hd/gcd/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -68.8 -70.3 Failing

designs/sky130hd/jpeg/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -59.8 -73.8 Failing
globalroute__timing__setup__tns -113.0 -131.0 Failing
finish__timing__setup__tns -42.2 -55.1 Failing

[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -345.0 -356.0 Failing
globalroute__timing__setup__tns -306.0 -345.0 Failing
detailedroute__antenna_diodes_count 1352 1513 Failing
finish__timing__setup__tns -305.0 -349.0 Failing

AcKoucher added 2 commits June 9, 2026 16:24
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request reduces the core utilization for the gcd design in sky130hd from 40 to 38 and updates the layer resistance values for layers met1 through met5 in setRC.tcl. Feedback suggests retaining the comments in setRC.tcl that document the RC value generation method and units to ensure future maintainability and reproducibility.

Comment thread flow/platforms/sky130hd/setRC.tcl
@AcKoucher AcKoucher added the UpdateRules Starts GHA to update rules label Jun 9, 2026
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@openroad-ci openroad-ci removed the UpdateRules Starts GHA to update rules label Jun 9, 2026
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants