ExpertQuestion 126 of 141Source: Synopsys PrimeTime User Guide: ECO Flow (HyperTrace ECO Fixing)

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 Reference DiagramWhat does HyperTrace/graph-based refinement change in ECO fixing, and when does it not pay off?
A table comparing PBA-based ECO fixing with and without HyperTrace: license, enabling variable, supported PBA modes, confirmation message, and cases where the gain is small.

Technical Explanation

  • Enable it with set_app_var eco_enable_graph_based_refinement true (PT). This variable is separate from timing_enable_graph_based_refinement (PT), which controls HyperTrace for reporting.
  • For fix_eco_timing (PT), HyperTrace supports -pba_mode exhaustive and -pba_mode ml_exhaustive. For fix_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_options option of fix_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_options with fix_eco_timing.
  • Runtime and remaining violations against the same run without the variable.

Command Checks & Actions

PrimeTime (pt_shell)set_app_var eco_enable_graph_based_refinement true

Turns on HyperTrace for ECO fixing.

PrimeTime (pt_shell)fix_eco_timing -type setup -pba_mode exhaustive

PBA-based setup fixing, accelerated by HyperTrace when enabled.

PrimeTime (pt_shell)fix_eco_power -pba_mode path

Power recovery with PBA, accelerated by HyperTrace when the same variable is set.

PrimeTime (pt_shell)report_timing -pba_mode exhaustive -nworst 1 -slack_lesser_than 0 -max_paths 1000

Confirms 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

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.

Static Timing Analysis (STA) Handbook — ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff. →