update asap7 layer resistance with segment-based regression results#4210
update asap7 layer resistance with segment-based regression results#4210AcKoucher wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Conversation
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
There was a problem hiding this comment.
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)
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)
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.
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