Professional Documents
Culture Documents
Sta Merge
Sta Merge
com/@vlsiexcellence
youtube.com/@vlsiexcellence
1) Max Delay: The data does not have enough time to pass from one register to the next register before the
next clock edge
- Max delay violations are the result of slow data path, including the register's Tsetup time, therefore it is
often called Setup Path/Setup Constraint
- A setup constraint specifies how much time is necessary for data to be available at the input if a
sequential device before the clock edge that captures the data in the device.
youtube.com/@vlsiexcellence
2) Min Delay: The data path is so short that it passes through several registers during the same
clock cycle
- Min delay violations are the result of sort data path, causing the data to change before the
register's Thold time has passed, therefore it is often called the Hold Path/Hold Constraint
- A hold constraint specifies how much time is necessary for data to be stable at the input of a
sequential device after the clock edge that captures the data in the device
Clock
Launch Flop Capture Flop
Setup & Hold Launch Edge
youtube.com/@vlsiexcellence
REG1 REG2
Comb
D Q D Q
X Logic Y
Tsetup/Thold
Clock
Launch Flop Capture Flop
Tcq Tsetup
T
13-01-2023 VLSI Excellence - Gyan Chand Dhaka 5
youtube.com/@vlsiexcellence
1) After the clock rises, it takes Tcq for the data to propagate
to point X.
2) Then the data goes through the delay of the logic to get to
point Y
Clock
Launch Flop Capture Flop
Tcq Tcomb_delay
Thold
13-01-2023 VLSI Excellence - Gyan Chand Dhaka 7
youtube.com/@vlsiexcellence
In general,
1) The clock rises and the data at X changes after Tcq
3) Since the data at Y has to stay stable for Thold after the clock edge (for the
second register).
The change at Y has to be at least Thold after the clock edge
- Hold time is the amount of time that REG1’s old data must persist at the D input
of REG2 after the clock edge
13-01-2023 VLSI Excellence - Gyan Chand Dhaka 8
youtube.com/@vlsiexcellence
Please Like, Comment, Share & Subscribe My Channel in Order to Reach Out the Content to a Larger Audience.
Thanks !!
youtube.com/@vlsiexcellence
Something about Clock with respect to Timing Path – They (Timing Paths) are relative/synchronous
to a clock
Note:
• Data arrives at a start point relative to a clock
• Data gets captured at a end point relative to a clock
• Starting a new cycle, the clock signal resets the time at the register
• STA tool breaks all the timing paths at registers, so that each timing path has one clock cycle or
one clock period as the timing goal (Required Time)
youtube.com/@vlsiexcellence
Slack :
D Comb D Q
Q
Clk_to_Q [REG1] + Comb Delay <= Clock Period Logic
CLK -> Q Tsetup
– Tsetup[REG2]
CLK
Here, Required Time = Clock Period – Tsetup[REG2]
Clock
Arrival Time = Clk_to_Q [REG1] + Comb Delay
Data is LAUNCHED ! Data is CAPTURED !
Clock Period
13-01-2023 VLSI Excellence - Gyan Chand Dhaka 4
youtube.com/@vlsiexcellence
D Comb D Q
Q
Clk_to_Q [REG1] + Comb Delay >= Hold_Check[0] Logic
CLK -> Q Thold
+ Thold [REG2]
CLK
Here, Required Time = Hold_Check[0] + Thold [REG2]
Clock
Arrival Time = Clk_to_Q [REG1] + Comb Delay
Data is LAUNCHED !
youtube.com/@vlsiexcellence
REG2
Comb
D Q
Logic 2
Clock
REG2
REG1
Comb Comb
D Q D Q
Logic 1 Logic 2
Input Pin
CLK -> Q Tsetup/Thold
CLK
Input Delay
Clock
youtube.com/@vlsiexcellence
youtube.com/@vlsiexcellence
REG2
REG1
Q Comb Comb
D D Q
Logic 1 Logic 2
Output
CLK -> Q Tsetup/Thold
Pin
Output Delay
CLK
Clock
youtube.com/@vlsiexcellence
Arrival Time = Clk_to_Q [REG1] + Comb Logic 1 Delay + Comb Logic 2 Delay
youtube.com/@vlsiexcellence
Arrival Time = Clk_to_Q [REG1] + Comb Logic 1 Delay + Comb Logic 2 Delay
Comb
Logic
There is no clock defined for combinational paths. So, we need to use either a virtual clock or set path delays to
Constrain input to output paths
Slack = Clock Period – Input Delay – Output Delay – Comb Logic Delay
Note: Input Delay and Output Delay are set with respect to a Clock
youtube.com/@vlsiexcellence
- If we have setup failures, we can always just slow down the clock
2) For Hold constraints the data path delay has to be long enough so it is not accidently captured by the
same clock edge
youtube.com/@vlsiexcellence
Clk_to_Q [REG1] + Comb Delay <= Clock Period – Tsetup[REG2] {Setup Equation}
Please Like, Comment, Share & Subscribe My Channel in Order to Reach Out the Content to a Larger Audience.
Thanks !!
youtube.com/@vlsiexcellence
youtube.com/@vlsiexcellence
- If we have setup failures, we can always just slow down the clock
2) For Hold constraints the data path delay has to be long enough so it is not accidently captured by the
same clock edge
youtube.com/@vlsiexcellence
Clk_to_Q [REG1] + Comb Delay <= Clock Period – Tsetup[REG2] {Setup Equation}
youtube.com/@vlsiexcellence
Please Like, Comment, Share & Subscribe My Channel in Order to Reach Out the Content to a Larger Audience.
Thanks !!
youtube.com/@vlsiexcellence
youtube.com/@vlsiexcellence
Clk_to_Q [REG1] + Comb Delay <= Clock Period – Tsetup[REG2] {Setup Equation}
Please Like, Comment, Share & Subscribe My Channel in Order to Reach Out the Content to a Larger Audience.
Thanks !!