Repository navigation
Conversation
What: 16 timing-path cases on asap7, gf180mcu, Nangate45, sky130hd and sky130hs, each run with -phases LEGACY. Why: the golden logs show that the later changes of the setup repair stack leave LEGACY unchanged. How: DEF, SDC and Tcl per case with golden logs; no code change. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
What: remove the experimental MT1, MEASURED_VT_SWAP and LEGACY_MT policies with the MeasuredVtSwap move, turn the RSZ_* environment knobs into fields of a new OptimizationPolicyConfig, and rename the report_delay_estimator_accuracy estimators to legacy and stage_window. Why: PARALLEL_EVAL replaces the MT policies and the delay estimator accuracy report replaces the measured VT swap; a run should not depend on its shell. The estimator names legacy_mt and mt named the removed policies, and stage_window says which model runs. How: the policies, their phase tokens, tests and architecture notes go, with the target prewarm hook that only LEGACY_MT used; the knobs, including the STA slew bias of the delay estimator, are config fields; -estimator accepts legacy and stage_window only. LEGACY results do not change, nor do any results when no RSZ_* variable is set. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
|
This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size. |
There was a problem hiding this comment.
Code Review
This pull request refactors the rsz (Resizer) module by removing experimental policies (MeasuredVtSwapPolicy, SetupLegacyMtPolicy, SetupMt1Policy) and their associated generators and candidates. It also introduces OptimizationPolicyConfig to centralize configuration parameters and updates the DelayEstimatorReporter to use this configuration. My feedback highlights that the current implementation of kStaSlewBias as a constexpr in DelayEstimatorReporter.cc effectively hardcodes the slew bias setting, which undermines the purpose of moving configuration to a runtime-configurable struct. I recommend retrieving the configuration dynamically at runtime to ensure flexibility.
Part 2 of 12 of the PARALLEL_EVAL setup repair stack. It builds on #11794 and also shows that commit; its own change is the last commit.
Summary
RSZ_*environment knobs intoOptimizationPolicyConfig.Changes
SetupMt1Policy,MeasuredVtSwapPolicy,SetupLegacyMtPolicyand theMeasuredVtSwapmove with their phase tokens, tests and architecture notes. PARALLEL_EVAL replaces the MT policies later in this stack, and the delay estimator accuracy report replaces the measured VT swap.RSZ_VTSWAP_CANDIDATES,RSZ_VTSWAP_MAX_MOVES,RSZ_MT_DELAY_LEVELSandRSZ_MT_SLEW_BIASbecome fields of the newOptimizationPolicyConfig, so a run no longer depends on the shell that started it.report_delay_estimator_accuracy -estimatortakeslegacy(the estimate of the LEGACY moves) orstage_window(Liberty tables over a window of stages around the target, as the Mt moves estimate). The namesdelay_estimator,legacy_mtandmtgo.flowchart LR subgraph Before E["RSZ_* environment variables"] --> P1["LEGACY_MT, MT1,<br/>MEASURED_VT_SWAP"] end subgraph After C["OptimizationPolicyConfig"] --> P2["Mt moves,<br/>delay estimator"] endBehavior
-phases LEGACY_MT,-phases MT1and-phases MEASURED_VT_SWAPfail as unknown phases,-estimator delay_estimator,legacy_mtandmtfail with RSZ-3205, andRSZ_*variables are ignored. LEGACY results stay the same, and so do all results when none of the variables is set.Stack