how to fix setup and hold violations?

Posted by Liang Chen on July 14, 2021

Reference:

fixing-setup-violations

fixing-hold-violations

STC: max delay in data path; min delay in clock path
HTC: min delay in data path; max delay in clock path

前六种方法是相对应的

How to fix setup violations?

Reduce Tcq, Tpd, Tsu; Increase Tclock

  1. Increase the drive strength of data-path logic gates

  2. Use the data-path cells with lesser threshold voltages (HVT RVT/SVT LVT)

  3. Improve the setup time of capturing flip-flop

  4. Insert buffer in the clock path

  5. Reduce tcq of launching flip-flop

    • Improve transition at flip-flops clock pin
    • Choose a flip-flop of high drive strength. However, if by doing so, clock transition degrades, delay can actually increase
    • Replace the flip-flop with a flip-flop of same drive strength, but lower Vth
  6. Postive clock skew helps improve the setup slack

    • Increase the clock latency of capturing flip-flop
    • Decrease the clock latency of launching flip-flop
  7. Increase clock period (Reduce frequency of design)

  8. Add repeaters

  9. Restructuring of the data path

  10. Routing topologies

    • less net delay (backend route)
    • try the net to have as less detouring as possible
    • Vias increase the net resistance. So, try to have as less vias as possible
    • Higher metal layers have less resistance. So, long nets can be routed in higher layers to have less net delay

How to fix hold violations?

Increase Tcq, Tpd; Reduce Th

  1. Reduce the drive strength of data-path logic gates

  2. Use the data-path cells with higher threshold voltages (HVT RVT/SVT LVT)

  3. Improve the hold time of capturing flip-flop

    • Using a capturing flip-flop with higher drive strength and/or lower threshold voltage
    • Improving the transition at flip-flop clock pin
  4. Insert delay elements(ex. buffer) in the data path

  5. Increase tcq of launching flip-flop

    • Decrease the drive strength of the flip-flop
    • Higher threshold voltage(Vth) of the flip-flop
  6. Negative clock skew helps aids hold timing

    • Decrease the clock latency of capturing flip-flop
    • Increase the clock latency of launching flip-flop
  7. Detoured routing