Arte SheetsLearn. Try. Understand.

VLSI Physical Design & Semiconductor Interconnects

Elmore RC Wire Delay & Repeater Insertion Formula

Calculate Distributed-Line Elmore RC Time Constant tau_D, 50% Propagation Delay t_p50 = 0.69 * tau_D, Naive Lumped-RC Overprediction Error, and Bakoglu Optimal CMOS Repeater Count.

Model on-chip metal wires as distributed RC Pi-ladders with the 0.5*R_w*C_w quadratic term!

In deep-submicron VLSI physical design, global copper interconnect delay grows QUADRATICALLY with wire length L because both total wire resistance R_w = r_w * L and total wire capacitance C_w = c_w * L scale with L! Yet treating R_w * C_w as a single lumped RC load overpredicts wire RC delay by 2x! W.C. Elmore (1948) and Bakoglu (1990) showed that integrating distributed resistance along the metal trace introduces an exact 0.5 factor on self-loading wire RC: tau_Elmore (ps) = (R_drv * (C_load + c_w * L) + r_w * L * C_load + 0.5 * r_w * c_w * L^2) / 1,000 (converting Ohm * fF to picoseconds), with 50% CMOS switching delay t_p50 = 0.69 * tau_Elmore! Breaking a long global bus into K = ROUND(SQRT((0.5 * R_w * C_w) / (R_drv * C_load)), 0) equal repeater-buffered segments linearizes wire delay in L!

Verify on Driver_Resistance R_drv = 200 Ohm (B2), Receiver_Gate_Cap C_load = 50 fF (B3 -> intrinsic gate RC = 10,000 Ohm*fF = 10 ps), Wire_Unit_Res r_w = 100 Ohm/mm (B4), Wire_Unit_Cap c_w = 200 fF/mm (B5), and Global_Bus_Length L = 10 mm (B6 -> R_w = 1,000 Ohm, C_w = 2,000 fF): Elmore Time Constant is (200 * 2,050 + 1,000 * 50 + 0.5 * 1,000 * 2,000) / 1,000 = (410 + 50 + 1,000) = 1,460.00 ps (E2); 50% Elmore Delay is 0.69 * 1,460 = 1,007.40 ps (E3, vs Naive Lumped 0.69 * 2,460 = 1,697.40 ps in E4); and Optimal Bakoglu Repeater Count is SQRT(1,000,000 / 10,000) = 10 repeaters (E5)!

VLSI Interconnect Metric (Rdrv=200, Cload=50fF, rw=100, cw=200, L=10 mm)FormulaVerified Output
Elmore Distributed Time Constant(Rdrv*(Cl+Cw) + Rw*Cl + 0.5*Rw*Cw)/10001,460.00 ps (65.00 ps @ L=1 mm)
Elmore 50% Propagation Delay0.69 * tau_Elmore1,007.40 ps (44.85 ps @ L=1 mm)
Naive Lumped-RC 50% Delay0.69 * (Rdrv*(Cl+Cw) + Rw*(Cl+Cw))/10001,697.40 ps (+690.0 ps Error)
Optimal Bakoglu Repeater Count K*ROUND(SQRT((0.5*Rw*Cw)/(Rdrv*Cload)), 0)10 repeaters (1 @ L=1 mm)

Distributed Elmore 50% Wire Propagation Delay Formula

Validate R_drv > 0, C_load > 0, r_w > 0, c_w > 0, and Wire_Length L > 0!

=LET(r_dr, B2, c_ld, B3, r_wr, B4, c_wr, B5, ln_m, B6, IF(OR(r_dr <= 0, c_ld <= 0, r_wr <= 0, c_wr <= 0, ln_m <= 0), "Invalid Interconnect Input", LET(rw_t, r_wr * ln_m, cw_t, c_wr * ln_m, t_el, (r_dr * (c_ld + cw_t) + rw_t * c_ld + 0.5 * rw_t * cw_t) / 1000, ROUND(0.69 * t_el, 2))))

Bakoglu Optimal CMOS Repeater Count Formula

Shrink wire length 10x to L = 1 mm in cell B6: quadratic self-loading drops 100x (from 1,000 ps to 10 ps), cutting t_p50 to 44.85 ps and K* to 1!

=IF(ISTEXT(E3), E3, ROUND(SQRT((0.5 * (B4 * B6) * (B5 * B6)) / (B2 * B3)), 0))

Try the example

Use the original values or change them to test your understanding.

Further reading