Ticker

6/recent/ticker-posts

Setup and Hold Timing Constraints in Input-to-Register and Register-to-Output Paths

Setup (Max) Timing Constraint 

2- Input to Reg

Starting point : input  port

Ending point : input data (D1) of Flipflop( FF1)

  • without Skew (clock is ideal)
In following figure we have Timing path from Input pin to Register ,
Also check  i/o circuit explanation from : Synthesis Flow

Input  to Reg timing path (ideal clock)

Setup Timing 

Explanation

Mainly slack for setup time =capture path - launch path 
 Tinput is like Tpd it depends on Input transition and output load capacitance

from previous figure that the first part meet timing requirement ,but second case give us a negative slack .

To meet the timing requirements, the following condition must hold:

Tclk (clock period)Tsetup1TInput+Tpd

This ensures that the data has enough time to propagate.

slack=Tclk (clock period)Tsetup1TInputTpd

Hint : we have ideal clock .

  • with Skew 
Add clock non idealities to circuit such as Skew effect .

Setup Timing 

Explanation

Mainly slack for setup time =capture path - launch path 
Positive Skew helps in meeting setup Timing.
From previous figure second case changed and give us a positive slack.

To meet the timing requirements, the following condition must hold:

Tclk (clock period)+TskewTsetup1TInput+Tpd

This ensures that the data has enough time to propagate.

slack=Tclk (clock period)+TskewTsetup1TInputTpd



Hold (Min ) Timing constraint 

  • without Skew (clock is ideal)
           Hold Timing 

Explanation

Mainly slack for Hold time = launch path - capture path  
From previous figure that the first part meet timing requirement ,but Last case give us a negative slack .
To meet the timing requirements, the following condition must hold:

TInput+TpdTHold1

This ensures that the data has enough time to propagate.

                                                                    Slack=TInput+Tpd-THold1

Hint : we have ideal clock .

  • with Skew 
        Hold Timing 


 

Explanation

Mainly slack for Hold time = launch path - capture path  
From previous figure that the first part violate timing requirement , give us a negative slack .
To meet the timing requirements, the following condition must hold:

TInput+TpdTHold1 +Skew

This ensures that the data has enough time to propagate.

                                                                    Slack=TInput+Tpd-THold1

3-  Reg to Output

Starting point :  clock pin of register.(TCLK2)

Ending point :Output  port

In following figure we have Timing path from Register to Output pin .

Also check  i/o circuit explanation from : Synthesis Flow

Reg to Input  timing path (ideal clock)



Setup (Max) Timing Constraint 

  • without Skew (clock is ideal)
In register to output timing path, the objective is to ensure that the data launched from the flip-flop (register) arrives at the output pin in time. This path does not have a setup time constraint at the output, but it must meet the clock period requirements cause based on synchronization system we  need data stable within one cycle.

Setup Timing 


Explanation

To meet the timing requirements, the following condition must hold:

Tclk (clock periodTcq2+Tpd+Toutput

This ensures that the data has enough time to propagate.

slack=Tclk (clock period)Tcq2−Toutput−Tpd

Hint : we have ideal clock .
  • with Non ideal clock 

Explanation

If you have the worst case jitter for launch
Tlaunch=Tcq2+Tpd+Tjitter

To meet the timing requirements, the following condition must hold:

Tclk (clock periodTcq2+Tpd+Toutput+Tjitter

This ensures that the data has enough time to propagate.

slack=Tclk (clock period)-Tcq2-Toutput-Tpd-Tjitter

Hint : we have ideal clock .

Hold (Min ) Timing constraint 

  • without Skew (clock is ideal)
In a reg-to-output path, there’s typically no hold constraint at the output itself, but you still have to ensure that the signal from the register remains stable long enough after the clock edge, based on the external system or the output path's requirements.


  • with Non ideal clock 

Explanation:

The main concern in a hold check is ensuring that the data does not change too early after the clock edge. The equation for the hold check in a reg-to-output path can be written as:

                                                     Tclk_q+TlogicThold_margin

The sum of the clock-to-Q delay and the logic delay needs to be long enough to ensure that the data at the output remains stable long enough after the clock edge.
There is typically no explicit "hold time" constraint at the output pin itself, but you must account for any clock skew, uncertainties, or system-level requirements that could affect how long the data should remain stable before changing.

Post a Comment

0 Comments