An ECO created new crosstalk violations on untouched nets. Why, and how do you fix it?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Crosstalk depends on the neighbours and on timing windows, and an ECO can change both without touching the victim. ECO routes fill gaps next to existing nets, upsized drivers switch faster, and shifted arrival times make aggressor and victim windows overlap. Find the victims with report_si_bottleneck (PT), fix delta delay with fix_eco_drc -type delta_delay (PT), and implement with route_eco (ICC2).
Technical Explanation
- New coupling capacitance: ECO routing uses whatever space is left. A rerouted or new net can run parallel to an untouched net for hundreds of microns, adding coupling the original route never had.
- Stronger aggressors: an upsized cell or a new buffer switches with a sharper slew and more drive, so the same coupling now injects more noise and delta delay into its neighbour.
- Moved timing windows: fixing one path changes arrival times downstream. An aggressor that used to switch well away from the victim transition can now overlap it, and the delta delay appears with no geometry change at all.
report_si_bottleneck -cost_type delta_delay -min -max(PT) lists victim nets ranked by the absolute delta delay, max and min analysis together, merged across scenarios in DMSA. Use it to preview what fixing will target.fix_eco_drc -type delta_delay -delta_delay_threshold 0.05(PT) sizes cells and inserts buffers on victim nets whose delta delay cost exceeds the threshold. There is no delta delay slack, so the threshold is required, and it applies to both slowdown and speedup. By default only nets on paths with negative slack are targeted;-slack_lesser_thanchanges that. This needs a PrimeTime-ADV-PLUS license.- In ICC2, keep SI analysis on during post-ECO checks with
time.si_enable_analysis(ICC2), and comparereport_timing -crosstalk_delta(ICC2) withreport_timing -crosstalk_delta(PT). The numbers differ because the extraction and SI engines differ. - Routing fixes such as spacing or shielding a victim are done in ICC2 and then re-extracted; PrimeTime can only evaluate them.
What To Check
- Victim nets with new delta delay after the ECO compared with the pre-ECO run.
- Which aggressors are ECO-touched nets or upsized drivers.
- Timing window overlap on the worst victims.
- Whether the new violations are setup (slowdown) or hold (speedup).
Command Checks & Actions
report_si_bottleneck -cost_type delta_delay -min -max -slack_lesser_than 0.0Ranks victim nets by delta delay on violating setup and hold paths.
report_timing -crosstalk_deltaShows the delta delay on each stage of a path in PrimeTime.
fix_eco_drc -type delta_delay -delta_delay_threshold 0.05 -methods {size_cell insert_buffer} -buffer_list $bflistReduces delta delay on victim nets by sizing and buffering.
write_changes -format icctclWrites the fixes for ICC2.
route_ecoRoutes the changed nets in ICC2.
report_timing -crosstalk_deltaICC2 view of the same paths for correlation.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): After delta delay fixing, the worst victim delta drops under the threshold and no new victims appear.
- Suspicious (illustrative): The same victims return after route_eco because the new route runs next to them again.
- Hard stop: Hold violations from speedup delta delay in a fast scenario that the setup-only check missed. Fix before signoff.
Common Mistake
The Trap: Treating the new violations as unrelated because "we did not touch those nets", and fixing them with setup sizing on the victim path. The upsized cells become stronger aggressors to their own neighbours, and the next extraction shows a new set of victims one track over.
What The Interviewer Is Testing
- Can you name the three ways an ECO creates crosstalk on untouched nets?
- Knowing the delta delay fixing option, its threshold and its license.
- Checking both slowdown and speedup, and correlating PT with ICC2.
Follow-up Question & Model Response
"Why does fix_eco_drc need a threshold for delta delay?"
Candidate Model Response: Delta delay has no constraint behind it, so there is no delta delay slack for the tool to drive to zero. The threshold tells it which victims are worth fixing: any net on a negative-slack path whose delta delay cost exceeds the value. The same threshold covers slowdown and speedup. Set it too low and the tool changes many nets for tiny gains; too high and it leaves the real victims alone.
Practical Example
Tapeout Scenario: A 60-cell setup ECO is implemented and re-extracted (illustrative). Setup on the targeted paths is fixed, but 14 new setup violations of -5 to -19 ps appear on untouched nets. report_si_bottleneck (PT) shows 9 of the 14 victims run beside an ECO route that detoured through a channel, with delta delays up to 42 ps. fix_eco_drc -type delta_delay -delta_delay_threshold 0.02 (PT) upsizes 6 victim drivers and adds 3 buffers; after route_eco (ICC2) and extraction, the worst delta delay is 15 ps and all 14 endpoints pass.
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