What does HyperTrace/graph-based refinement change in ECO fixing, and when does it not pay off?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
HyperTrace accelerates path-based analysis, and PrimeTime can use it to speed up ECO fixing when fix_eco_timing (PT) runs with a PBA mode. It changes runtime, not the fixing goal: the same PBA slack is targeted, reached faster. It needs a PrimeECO license, and it pays off little when fixing is graph-based or when the PBA work is small to begin with.
Technical Explanation
- Enable it with
set_app_var eco_enable_graph_based_refinement true(PT). This variable is separate fromtiming_enable_graph_based_refinement(PT), which controls HyperTrace for reporting. - For
fix_eco_timing(PT), HyperTrace supports-pba_mode exhaustiveand-pba_mode ml_exhaustive. Forfix_eco_power(PT) it also supports-pba_mode path; the same enabling variable is needed, but the reporting refinement threshold variables are not used. - Check the log. The message PTECO-115, "Running HyperTrace-based ECO fixing", confirms full use. If you see PTECO-116 instead, the tool is only partly using HyperTrace.
- The
-path_selection_optionsoption offix_eco_timing(PT) is not supported for HyperTrace fixing. Using it drops to partial integration (PTECO-116), and the reporting refinement threshold variables must then be set to suitable values for ECO fixing. - Graph refinement data is updated automatically during ECO fixing, so you do not rebuild it between iterations.
- It does not pay off when fixing runs without a PBA mode, because there is no PBA work to accelerate. It also gains little when there are few violations and the PBA recalculation is already cheap.
- ML-PBA (
ml_exhaustive) trades accuracy for speed and can miss worse violations. It is fine for early fixing, but final numbers must come from regular exhaustive PBA.
What To Check
- License availability for PrimeECO before planning a HyperTrace run.
- PTECO-115 or PTECO-116 in the ECO log.
- Whether the script uses
-path_selection_optionswith fix_eco_timing. - Runtime and remaining violations against the same run without the variable.
Command Checks & Actions
set_app_var eco_enable_graph_based_refinement trueTurns on HyperTrace for ECO fixing.
fix_eco_timing -type setup -pba_mode exhaustivePBA-based setup fixing, accelerated by HyperTrace when enabled.
fix_eco_power -pba_mode pathPower recovery with PBA, accelerated by HyperTrace when the same variable is set.
report_timing -pba_mode exhaustive -nworst 1 -slack_lesser_than 0 -max_paths 1000Confirms the final PBA state with regular exhaustive PBA, worst path per failing endpoint.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): PTECO-115 in the log, same remaining violations as the non-HyperTrace run, and a clear runtime drop.
- Suspicious (illustrative): PTECO-116 in the log because a path selection option is set; gain is partial.
- Hard stop: No PrimeECO license, or final signoff numbers taken from an ml_exhaustive fixing run. Neither is acceptable for signoff.
Common Mistake
The Trap: Setting timing_enable_graph_based_refinement (PT) and expecting faster ECO. That is the reporting variable. ECO fixing uses eco_enable_graph_based_refinement (PT); with the wrong one set, the ECO run is just as slow and the log has no PTECO-115.
What The Interviewer Is Testing
- Knowing HyperTrace changes runtime, not the fixing target.
- Recognising the two separate variables and the log messages.
- Can you say when the extra license is not worth it?
Follow-up Question & Model Response
"Would you sign off on the result of a HyperTrace ECO run?"
Candidate Model Response: I would sign off on the design after the ECO, not on the fixing log. After the changes are implemented and re-extracted, I run a full analysis with regular exhaustive PBA in all scenarios. If fixing used ml_exhaustive, that final check is required, because ML-PBA can miss worse paths. HyperTrace only made fixing faster; the evidence comes from the final analysis. The ECO log is useful for explaining what changed, not for proving the design meets timing.
Practical Example
Tapeout Scenario: A block with 2,300 setup violations after GBA, 410 after exhaustive PBA (illustrative). fix_eco_timing -type setup -pba_mode exhaustive (PT) took 7.5 hours. With eco_enable_graph_based_refinement (PT) set and PTECO-115 in the log, the same run took 3 hours and left the same 12 unfixable endpoints. On a second block with 35 violations, the gain was 20 minutes out of 50, which did not justify tying up a PrimeECO license. A third run showed PTECO-116 because an old script passed -path_selection_options; removing it restored PTECO-115 and the expected speed-up.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Continue practising