Timing verification – III

Examples of Setup/hold violations and How to fix those

Setup Violation

  • Tcq = 0.1ns = 100ps
  • Tcomb = 0.9ns = 900ps
  • Tperiod = 1ns
  • Tsetup = 0.1ns = 100ps
  • Tskew = 0.15ns = 150ps
  • Tuncertainty = 0.25ns = 250ps
Figure 1
  • Arrival Time = Tcq + Tcomb = 0.1 + 0.9 ns = 1 ns
  • Required Time = Tperiod + Tskew – Tsetup – Tuncertainty = 1 + 0.15 – 0.25 – 0.1 = 0.8ns
  • Slack = Required Time – Arrival Time = 0.8 – 1 = – 0.2 ns

The negative slack shows that the given configuration has a setup violation.

Hold Violation

  • Tcq = 30ps
  • Tcomb = 40ps
  • Tskew = 70ps
  • Thold = 10ps
Figure 2
  • Arrival Time = Tcq + Tcomb = 30 + 40 = 70ps
  • Required Time = Thold + Tskew = 10 + 70 = 80ps
  • Slack = Arrival Time – Required Time = 70 – 80 = – 10ps

The negative slack shows that the given configuration has a hold violation.

How to fix?

Setup

General Equation:

Tc-q + Tcomb < Tperiod – Tsetup + Tskew

Improve the driving strength of the Launch flip-flop. Higher the driving strength, faster the charging/discharging of gate capacitances and hence, lesser the combinational delay.

Use a flip-flop with less Tc-q.

Use logic restructuring techniques to change the combinational logic to be optimized to have a smaller delay paths.

Use the flop with less Tsetup (low setup time constraint).

Use an LVT (low threshold voltage) cells instead of SVT and HVT (standard and high threshold voltage) cells, as it takes less time for switching, and hence makes the flop faster.

Increase the skew to relax setup timing. (as per the equation mentioned above)

If there is no change possible in the design, increase the clock period. The setup violation will go based on the given equation.

Hold

General Equation:

Tc-q + Tcomb > Thold + Tskew

Decrease the driving strength of launch flip-flop. Lower the driving strength, slower the charging/discharging of gate capacitances and hence, higher the combinational delay.

Use a flip-flop with more Tc-q.

Add buffers in the data path to increase the combinational delay, to ease the hold timing.

Use the flop with less Thold (low hold time constraint)

Use a HVT (high threshold voltage) cells instead of LVT and SVT (low and standard threshold voltage) cells, as it takes more time for switching, and hence, introduces more delay.

Decrease the skew to ease hold timing. (as per the equation mentioned above)

If you cant really make any change, reduce the operating voltage. It might help fixing the hold violation.


Comments

4 responses to “Timing verification – III”

  1. Nice Explanation !!!

    Liked by 1 person

    1. Is there any specific reason Tuncertainity is not taken into consideration when considering hold violations?

      Liked by 1 person

      1. richamittal10 Avatar
        richamittal10

        No, they are just two different examples.

        Like

  2. RAVI N Avatar
    RAVI N

    Firstly we can swap the Vt cells because it won’t change any footprint of your cell and pin location.

    Like

Leave a comment