3.5.10 · D1HDL & Digital Design Flow

Foundations — Critical path identification

2,952 words13 min readBack to topic

Before you can find a critical path, you must be fluent in the words and symbols the parent note throws at you: flip-flop, clock edge, propagation delay, , , , , , skew, slack, arrival time, DAG. We build each one from a picture. Nothing is assumed.


1. The clock — the drumbeat everything obeys

Look at the top of the first figure. The blue trace is the clock. Two rising edges are marked; the horizontal gap between them is exactly . Everything in this chapter is a race to finish work inside one such gap.

Figure — Critical path identification
small
fast clock, high frequency, little time per hop
large
slow clock, low frequency, lots of time per hop

2. The flip-flop — the memory cell that "photographs" data

Think of it as a camera: is the scene, the clock edge is the shutter click, is the developed photo that stays fixed on the wall until you click again.

The parent note names two roles a flip-flop can play:

In the second figure, the left box is the launch FF, the right box is the capture FF, and the cloud between them is the logic the data must cross. This launch→logic→capture trio is the unit of everything — a single "hop".

Figure — Critical path identification
launch FF
sends data out on edge N (data leaves from its Q)
capture FF
reads data in on edge N+1 (data lands on its D)

3. Propagation delay — nothing in a chip is instant

Picture a domino: you push the first one now, but the last one falls a moment later. That lag is delay. Every gate in the logic cloud adds its own lag.

Two flavours of delay: max (propagation) and min (contamination)

A gate does not have one delay — it has a slowest and a fastest. You need both to do timing correctly.

(propagation, max)
slowest a gate updates — used for setup / max-delay checks
(contamination, min)
fastest a gate updates — used for hold / min-delay checks
sum of max gate delays along the path
sum of min gate delays along the path

4. The three timing numbers of a flip-flop: , ,

A flip-flop is not a perfect instant camera. It has three tiny timing quirks the parent note leans on constantly.

Look at the third figure: on the clock edge it shows the "no-change" window opening before the edge and closing after it, plus the lag before moves.

Figure — Critical path identification
delay from clock edge until Q shows the new value
quiet time D needs before the edge
quiet time D needs after the edge

5. Putting the numbers on the timeline (the SETUP constraint)

Now the parent's key inequality stops being magic. Trace one hop against the clock period, exactly as drawn in the fourth figure. Because we ask "did data arrive in time?", we use the slowest logic delay .

  1. Rising edge at the launch FF (start of the race).
  2. Wait — new data leaves .
  3. Wait — data crawls across the logic cloud along its slowest path (this is the summed max path delay defined in §3).
  4. Data must now be quiet for before the next edge, which arrives later.
Figure — Critical path identification

That is literally the picture read left to right. The parent's whole page is built on this one line — see Static Timing Analysis (STA) for how a tool checks it on millions of paths, and Maximum Clock Frequency for turning into .


6. The HOLD constraint — the "too early" danger

Setup guards against data being too late. There is an opposite failure: new data racing through so fast that it reaches the capture FF's before that same edge has finished storing the old value. That corrupts the capture — a hold violation.

The key insight: setup compares against the next edge ( later), but hold compares against the same edge — both flip-flops react to edge . There is no in a hold check.

Trace the fifth figure: at edge the launch FF fires; the new value reaches the capture after . For a safe capture, the old data must still be held for after the edge — so the new data must arrive no earlier than :

Figure — Critical path identification
hold check compares against
the SAME edge (no T), because both FFs fire on edge N
hold uses which delays
minimum (, ) — the fastest path is the danger
fixing a hold violation
add delay to slow the fast path (opposite of setup fixes)

7. Skew — when the two clocks don't click together

If the capture clock is late (positive skew), the capture deadline moves later — you gain time for setup, but you lose margin for hold (the capture FF is still holding old data even longer relative to the launch FF's early launch):

The sits on the "available" side because a late capture edge is extra breathing room for setup. Compare the hold formula in §6, where sits on the demand side — that is exactly the "sign flip" the parent warns about: the same positive skew helps setup and hurts hold.

positive means
capture edge is later than launch edge ()
positive skew and setup
relaxes it (adds time on the available side)
positive skew and hold
tightens it (adds to the demand side )

8. Arrival time, required time, and slack

STA doesn't watch data flow — it does bookkeeping with three quantities per wire node.

AT
when the signal actually arrives = max(input ATs) + gate delay
RAT
latest it's allowed to arrive = min(fanout RATs) − gate delay
slack
RAT − AT; worst slack marks the critical path

9. The DAG — the map STA walks on

Why acyclic matters: to add up delays along paths you must have a clear "start" and "end". A loop would have no finish line. Flip-flops provide the cuts, so every hop is a tidy directed path with a launch and a capture end. The forward "max" pass computes AT; the backward "min" pass computes RAT.


Prerequisite map

Clock and period T

Flip-flop D and Q

Launch and Capture FF

Propagation delay max and min

Sum delays along a path

t_cq clock-to-Q

t_su setup time

t_h hold time

One data hop timeline

Setup inequality

Hold inequality

Clock skew t_skew

Arrival Required Slack

Directed Acyclic Graph

Critical path identification


Equipment checklist

Test yourself — cover the right side and answer each before revealing.

The clock period is
the time between two successive rising clock edges; the budget for one data hop.
A flip-flop does what on a rising edge
copies its D input into Q and freezes Q until the next edge.
means
clock-to-Q delay — the lag before Q shows the new value after the edge.
means
setup time — how long D must be stable before the edge.
means
hold time — how long D must be stable after the edge.
Propagation vs contamination delay
= slowest (max) gate delay for setup; = fastest (min) gate delay for hold.
Total logic path delay is computed by
summing every gate's propagation delay along the path, not counting flip-flops.
The setup inequality is
.
The hold inequality is
(same edge, no ).
sign convention
; positive = capture clock later.
Positive capture-side skew does what
relaxes setup (adds to available side), tightens hold (adds to demand side).
Arrival time at a multi-input gate is
max of input arrival times, plus the gate delay (wait for the last input).
Required arrival time at a node is
min over fanout RATs, minus the gate delay (obey the strictest downstream deadline).
Slack is defined as
RAT − AT ; worst slack marks the critical path.
A DAG is
a directed acyclic graph — one-way arrows, no loops — the model STA walks to add delays.