Module 41 min

Formula Cheatsheet

⏱ Setup Timing

⏱ Setup Timing

Slack_setup = T_req − T_arr

T_req = Period + T_clk_capture − T_uncertainty − T_setup

T_arr = T_clk_launch + T_cq + T_combo

Positive slack = PASS, Negative = FAIL

⏳ Hold Timing

Slack_hold = T_arr − (T_clk_cap + T_hold)

T_arr must be GREATER than capture clock + hold time

Fix: Add delay buffers to data path

Floorplan

Util = CellArea / CoreArea × 100%

AR = CoreHeight / CoreWidth

CoreArea = CellArea / Util_target

Target utilization: 60–75%

IR Drop

V_drop = I × R_metal

R = ρ × L / (W × T)

Max allowed: typically 5–10% of VDD

Fix: wider stripes, more stripes, decaps

Electromigration

J = I / A (current density)

J_max = A × e^(-Ea/kT)

Black's equation for MTTF. Wider wires → lower J

Clock Skew

Skew = T_clk_cap − T_clk_launch

Positive: relaxes setup, tightens hold

Negative: tightens setup, relaxes hold

Dynamic Power

P_dyn = α × C × V² × f

α = activity factor, C = load cap, V = supply, f = frequency

Leakage Power

P_leak ∝ W/L × e^(-Vt/nVT)

Exponential sensitivity to Vt. HVT cells reduce leakage

WNS / TNS

WNS = min(all slacks)

TNS = Σ(negative slacks)

WNS → worst path. TNS → total work needed.

PVT Corners

Setup: SS, low V, high T

Hold: FF, high V, low T

Temperature inversion at <65nm nodes!

Wire Delay (Elmore)

T_d = 0.69 × R × C

T_d ∝ L² (wire delay scales as L²)

Long wires need repeaters/buffers every Lopt

Fanout & Buffering

Logical Effort: g = C_in / C_inv

Optimal fanout = e ≈ 2.7 (e-based)

Buffer chain for high-fanout: h = C_load/C_in, stages = log_e(h)