Sta Problems
Sta Problems
vlsiuniverse.com/sta-solved-problems-vlsi-interview-2021/
Before starting to read this article try to understand the basics of static timing analysis
(STA) such as,
6. How to calculate the maximum clock frequency fmax or minimum time period Tmin
required for the given sequential circuit.
This constraint is met so that the input data must be reliably or correctly sampled during
the clock cycle event or I mean to avoid setup time violations.
Table of Contents
The hold time requirements become crucial as they cause critical timing problems in the
chip design.
It is possible to have a flip flop with 0 hold time or negative hold time.
For example, if the hold time is -3 ns then it complies that we should not have any
change in the input data before 3ns of the clock event trigger.
1/9
Clock Skew (Tclock_skew)
Clock skew in STA is a time parameter that occurs when the difference in the arrival times
of the clock to two or more flip-flops that are in the same clock domain.
Which says the overall sum of flop setup time and clock to Q delay and other delays such
as jitter must be less than or equals to the minimum clock time period.
The hold time must be less than or equals to the sum of the clock to Q delay and other
delays such as clock jitter.
Note:
If a situation comes to have a choice between setup violation fix and hold violation fix
after the chip design is completed and fabricated, then it is a better option to chose hold
violation fix.
The reason is to fix the setup time violation we need to modify Tminimum. As we saw
above setup time constraint involves clock time period parameter which decides the
overall chip speed which cannot be modified after the chip come from the foundry.
STA Problem 1
2/9
Given the following flip-flop circuit with a delay dly between input and output. And the
clock CLK is applied to the flip flop.
a. What will be the expression for the minimum time period (Tminimum) or maximum
clock frequency (fmaximum)? Derive it by considering clock to Q delay (Tclock_Q), setup
time (Tsetup_time), and hold time (Thold_time) of the flipflop.
b. If the value of dly = 0ns, and given three flipflop values as per the table below, Which of
the flip flops are a good fit when the minimum required time period is 5ns, 8ns, and 15ns.
Tclock_Q 5 6 8
Tsetup_time 3 4 2
Thold_time 2 1 1
1. The output Q will be changed only after the clock event and till the clock to Q delay
elapsed.
2. Also the input data has an external delay of dly will add up to Tclock_Q
3/9
So the expression will be for minimum clock period will be as below,
b. By using the above Tminimum expression let us calculate the minimum time periods
for flip flops FF1, FF2, and FF3 respectively.
For the time period requirement of 5ns none of the above flops can be used, and for 8ns
flop FF1 alone can be used. Whereas for the time period requirement of 15ns any one of
the above flip flops can be used.
STA Problem 2
Given the data setup time of the flop is 6ns, the hold time of the flop is 2ns, and the clock
to Q delay is given as 10ns.
a. Calculate the minimum clock period required to handle the circuit by drawing a digital
logic circuit for function clock frequency divided by 2.
b. Also determine the status of hold time violation and give a proper reason.
a. The logic diagram for clock frequency divided by 2 would be as shown below.
4/9
By using above discussed Tminimum expression let us calculate the minimum time
period,
b. Let us check for the hold violation, we have the hold time constraint as discussed at the
starting of this article,
Thold_time <= Tclock_Q + delay
2ns <= 10ns + 0
2ns <= 10ns
As we are satisfying the above condition there is no hold time violation in the circuit as
per the given timing requirements.
STA Problem 3
Consider the circuit diagram and the timing requirement as shown for the flip flop. Two
clock buffers are added at the clock pin and the output pin. Also a combination delay of
dly = 0.2ns in the input to the output path.
Check for any violation in the circuit with the given timing requirements, and If there any
violation then what would be the updated value of dly? Also is there any effect on
fmaximum due to added clock buffers.
1. Let us check for the hold violation in the circuit. We know the constraint to be checked
that is,
Thold_time <= Tclock_Q + delay
5/9
2ns <= 1.5ns + 0.2ns
2ns <= 1.7ns, as the condition fails we can say there is a hold time violation in the circuit.
3. The clock buffer delays do not affect the fmaximum of the circuit.
STA Problem 4
Consider the below flip flop pair logic diagram and the table with three different flip flops
FF1, FF2, and FF3 with their timing specifications.
Which combination of flip flops should be replaced in the below flip flop pair to get the
maximum clock frequency of operation.
Tclock_Q 5 6 8
Tsetup_time 3 4 2
Thold_time 2 1 1
The hint here is to replace the first flop place with the flip flop which has the minimum
clock to Q (Tclock_Q) delay and replace the second flop place with the flip flop having the
minimum setup time (Tsetup_time) among all of them.
So FF1 and FF3 flip flop pairs can be used in the logic circuit to have the maximum
frequency of operation.
STA Problem 5
Consider the below logic circuit with delays dly1, dly2, and dly3 at different places shown
and determine the constraints to avoid setup time and hold violation.
6/9
Also for the given timing specifications calculate the maximum clock frequency of
operation or minimum required clock time period.
dly2 = 0.5ns and dly3 = 3ns. and
Tclock_Q1 = Tclock_Q2 = 2.5ns.
Tsetup_time1 = Tsetup_time2 = 2ns
Thold_time1 = Thold_time2 = 1ns
a. Assume timing parameters for FF1 and FF2 as Tclock_Q1, Tsetup_time1, Thold_time1
and Tclock_Q2, Tsetup_time2, Thold_time2 respectively.
Let us assume positive clock skew and calculate delta = dly2 – dly3.
The setup time constrain when a pair of flops circuits is given will be,
**Note the setup time of the second flip flop will be considered here.
And the hold time constraint for the same will be,
**Note that the hold time of the second flip flop is considered.
Now by using setup time constraint we can compute minimum required clock period,
Tminimum >= Tsetup_time2 + Tclock_Q1 + dly1 – delta
7/9
Tminimum >= 2ns + 2.5ns + 1ns – 2.5ns
Tminimum >= 3ns
therefore
fmaximum = 1/3ns = 333.33MHz is the maximum frequency of operation.
STA Problem 6
Consider the following circuit and given timing specifications to check whether there are
any violations. If there is any violation vary the delay values accordingly and calculate the
required minimum clock period.
After comparing this problem with the previous one we can observe that,
dly3 = 0ns
8/9
Tminimum >= 8ns
9/9