Skip to content

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

Open
AcKoucher wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
AcKoucher:asap7-new-r-values
Open

update asap7 layer resistance with segment-based regression results#4210
AcKoucher wants to merge 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

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.

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.

1 participant