What is the difference between an aggressor net and a victim net in crosstalk analysis?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Short Answer
A victim net is the wire PrimeTime is currently checking for a crosstalk effect, either a delay change or a noise glitch. An aggressor net is any neighboring wire, close enough to share meaningful coupling capacitance with the victim, whose own switching can push charge onto the victim and disturb it. The same physical wire can be a victim in one check and an aggressor in another, since the roles describe which net is being analyzed, not a fixed property of the wire itself.
Technical Explanation
Aggressor and victim are roles for a specific check, not fixed labels.
- PrimeTime SI identifies aggressors for a given victim from the coupling capacitance the extraction tool reported between that victim and every physically nearby net in the SPEF file.
- Whether an aggressor's switching actually disturbs the victim depends on timing, not just proximity: the aggressor's switching window has to overlap the victim's own timing window for the coupling to matter.
report_si_bottleneck(PT) lists the nets contributing the most crosstalk delay or noise risk, ranked by coupling capacitance and overlapping switching activity.- A victim can have many aggressors at once, and PrimeTime sums their combined effect rather than checking only the single worst one, since several moderate aggressors can add up to more than one strong one.
- Because a net's role depends on which check is running, a clock wire might be the victim when checking its own noise margin and an aggressor when checking a nearby data wire's delay.
Common Mistake
The Trap: fixing a crosstalk violation by addressing only the single worst-ranked aggressor and assuming the victim is now safe.
- If several aggressors' switching windows overlap the victim, removing or spacing out just the top-ranked one can still leave enough combined coupling from the rest to keep the violation alive.
- The more reliable fix checks the full aggressor list for that victim and confirms the combined contribution, not just the largest single one, has been brought under the threshold.
Follow-up Question & Model Response
Why does the tool need timing windows at all, instead of just summing coupling capacitance for every physically adjacent net?
Candidate Model Response: Two nets can be tightly coupled physically but never actually switch close enough in time to disturb each other, for example if one is driven by a much slower clock domain. Using timing windows, the range of times each net could plausibly switch given its own delay uncertainty, lets SI analysis rule out aggressors that are physically close but timing-wise irrelevant, avoiding reported violations that could never occur. This is also why re-running SI analysis after a timing change, like an ECO buffer insertion, can shift which aggressors are considered active for a given victim.
Practical Example
A victim net has four physically adjacent aggressors, each contributing a modest 30 to 40mV of noise on its own, none individually enough to violate a 100mV threshold. report_si_bottleneck (PT) shows their combined, overlapping-window contribution reaches 140mV, which is the number the design actually needs to fix, not any single aggressor's 40mV.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Continue practising