3.5.7 · D3HDL & Digital Design Flow

Worked examples — Synthesis to gate-level netlist

2,552 words12 min readBack to topic

This deep dive is the "practice arena" for the synthesis setup-timing constraint from the parent note, Synthesis to gate-level netlist. We built the inequality there; here we drive it through every possible situation so no case can surprise you.

Before we begin, let us re-anchor every symbol so a reader who skipped the parent can still start at line one.

The figure below is the picture behind every example on this page — keep glancing back at it.

Figure — Synthesis to gate-level netlist

How to read the figure: the blue box on the left is FF1 (launch) and the pink box on the right is FF2 (capture). The yellow arrow leaving FF1 is the clock-to-Q delay — the head-start the data loses before it even sets off. The wavy chalk-white blob in the middle is the logic cloud the signal must cross (). The pink arrow entering FF2 marks the moment the setup window begins, i.e. the deadline shifted earlier. Along the bottom is the clock waveform: the blue tick is the launch edge, the pink tick is the next edge, and the yellow double-arrow between them is the whole budget . Everything the data does — the yellow arrow, the crossing of the blob, and the pink window — must fit inside that yellow . That "must fit inside " is literally the inequality below.

Why an inequality and not an equation? Because we do not need the data to arrive exactly on time — we need it to arrive no later than the deadline. "" is the natural language of a deadline.


The scenario matrix

Every setup-timing question you can be asked falls into one of these case classes. Each row is a distinct "shape" of problem; the examples below each announce which cell(s) they hit.

# Case class What makes it distinct Example
A Positive slack (comfortably met) answer , no fix Ex 1
B Exactly-zero slack (boundary) answer , the knife-edge Ex 2
C Negative slack → fix (violation) answer , then re-map Ex 3
D Degenerate: no logic () flop-to-flop, back-to-back Ex 4
E Solve for max clock frequency rearrange for , invert to MHz Ex 5
F Solve for the unknown budget ( max) rearrange for one term Ex 6
G Zero uncertainty vs. added skew limiting value , then large Ex 7
H Word problem (real trade-off) choose a cell mapping to pass Ex 8
I Exam twist: "bigger gate hurt" upsizing raises elsewhere Ex 9

Together A–I cover: every sign of slack (+, 0, −), every degenerate input (, ), the limiting direction (max frequency), an inverse solve, a word problem, and an exam trap.


Worked examples










Recall Quick self-test on the matrix

Which case is "solve for "? ::: Case E — set slack to zero, take , invert to frequency. Zero slack: pass or fail? ::: Pass (the constraint is ) but with no margin — Case B. Does guarantee timing is met? ::: No — flop overhead still consumes budget (Case D). Why can upsizing a gate fail to help? ::: It raises the load on the driving stage, adding delay elsewhere (Case I).