Skip to content

update asap7 layer resistance with segment-based regression results#4210

Merged
maliberty merged 1 commit intoThe-OpenROAD-Project:masterfrom
AcKoucher:asap7-new-r-values
May 7, 2026
Merged

update asap7 layer resistance with segment-based regression results#4210
maliberty merged 1 commit intoThe-OpenROAD-Project:masterfrom
AcKoucher:asap7-new-r-values

Conversation

@AcKoucher
Copy link
Copy Markdown
Contributor

@AcKoucher AcKoucher commented May 5, 2026

Correlation Data

Mode: segment
Designs (18): aes, aes-block, aes_lvt, aes-mbff, cva6, ethmac, ethmac_lvt, gcd, gcd-ccs, ibex, jpeg, jpeg_lvt, mock-alu, mock-cpu, riscv32i, riscv32i-mock-sram, swerv_wrapper, uart.
OR Version: e077b67
Units: R [Ω/μm], C [ff/μ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 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 Regarding M1

  • There was no regression data for this layer.
  • Capacitance was kept fixed at 1E-10 as a minuscule positive value.

Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
Copy link
Copy Markdown

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

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 updates the resistance values for layers M2 through M7 in the ASAP7 platform configuration. The review suggests that the removed comment regarding M1 capacitance should be restored to maintain technical context and that the set_wire_rc values for signal and clock should be updated to ensure consistency with the new layer resistance parameters.

I am having trouble creating individual review comments. Click here to see my feedback.

flow/platforms/asap7/setRC.tcl (1-2)

medium

The removal of the comment explaining the manual fix-up for M1 capacitance is a regression in maintainability. Since M1 regression data is unavailable and the capacitance is set to a non-physical minuscule value (1e-10) to avoid tool issues, this context is crucial for future developers to understand why the value is not derived from regression or technology files. While correlation metadata might be tracked elsewhere, this specific technical justification should remain in the script to prevent accidental "correction" of the value.

flow/platforms/asap7/setRC.tcl (2-7)

medium

The per-layer resistance values for M2-M5 have been significantly updated (e.g., M2 resistance decreased by ~35%). However, the set_wire_rc values for signal and clock (lines 9-10) remain unchanged. These values represent averages used by the global router and early timing analysis; leaving them outdated creates an inconsistency in the parasitics model across different stages of the flow. It is recommended to update these values based on the new regression results to ensure better correlation between global and detailed routing.

@AcKoucher AcKoucher requested a review from maliberty May 6, 2026 14:31
@maliberty maliberty merged commit cabb23d into The-OpenROAD-Project:master May 7, 2026
8 checks passed
@AcKoucher AcKoucher deleted the asap7-new-r-values branch May 7, 2026 16:50
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