ELEC 7770 Advanced VLSI Design Spring 2008 Zero-Skew Clock Routing Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL 36849 [email protected] http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/course.html Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 1 Zero-Skew Clock Routing FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CK Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 2 Zero-Skew: References H-Tree A. L. Fisher and H. T. Kung, “Synchronizing Large Systolic Arrays,” Proc. SPIE, vol. 341, pp. 44-52, May 1982. A. Kahng, J. Cong and G. Robins, “Hig-Performance Clock Routing Based on Recursive Geomrtric Matching,” Proc. Design Automation Conf., June 1991, pp. 322-327. M. A. B. Jackson, A. Srinivasan and E. S. Kuh, “Clock Routing for High-Performance IC’s,” Proc. Design Automation Conf., June 1990, pp. 573-579. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 3 Zero-Skew Routing Build clock tree bottom up: Leaf nodes are all equal loading flip-flops. Two zero-skew subtrees are joined to form a larger zero-skew subtree. Entire clock tree is built recursively. R.-S. Tsay, “An Exact Zero-Skew Clock Routing Algorithm,” IEEE Trans. CAD, vol. 12, no. 2, pp. 242249, Feb. 1993. J. Rubenstein, P. Penfield and M. A. Horowitz, “Signal Delay in RC Tree Networks,” IEEE Trans. CAD, vol. 2, no. 3, pp. 202-211, July 1983. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 4 Balancing Subtrees (1) xL r1 c1/2 A c1/2 t1 C1 Subtree 1 Tapping point (1 – x)L r2 c2/2 B c2/2 t2 C2 Subtree 2 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 5 Balancing Subtrees (2) Subtrees 1 and 2 are each balanced (zero skew) trees, with delays t1 and t2 to respective leaf nodes. Total capacitances of subtrees are C1 and C2, respectively. Connect points A and B by a minimum-length wire of length L. Determine a tapping point x such that wire lengths xL and (1 – x)L produce zero skew. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 6 Balancing Subtrees (3) Use Elmore delay formula: r1(C1 + c1/2) + t1 = r2(C2 + c2/2) + t2 Substitute: r1 = axL, r2 = a(1 – x)L c1 = bxL, c2 = b(1 –x)L abL2x + aL(C1+C2)x = (t2 – t1) + aL(C2+bL/2) Then solve for x: (t2 – t1) + aL (C2 + bL/2) x = ──────────────── aL(bL + C1 + C2) Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 7 Balancing Subtrees Example 1 Subtree parameters: x Subtree 1: t1 = 5ps, C1 = 3pF Subtree 2: t2 = 10ps, C2 = 6pF Interconnect: L = 1mm Wire parameters: a = 100Ω/cm, b = 1pF/cm Tapping point: = (t2 – t1) + aL (C2 + bL/2) ──────────────── aL (bL + C1 + C2) = (10–5) + 100×0.1(6 + 1×0.1/2) ────────────────── 100×0.1(1×0.1+3+6) = (5 + 60.5)/(10×9.1) = 0.7198 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 8 Example 1 FF t1 = 5ps, C1 = 3pF 0.7198mm FF FF Subtree 1 FF To next level FF 0.2802mm t2 = 10ps, C2 = 6pF FF Subtree 2 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) FF 9 Balancing Subtrees, x > 1 Tapping point set at root of tree with larger loading (C2, t2). Wire to the root of other tree is elongated to provide additional delay. Wire length L found as follows: Set x = 1 in abL2x + aL(C1+C2)x = (t2 – t1) + aL(C2+bL/2) i.e., L2 + (2C1/b)L – 2(t2 – t1)/(ab) = 0 Wire length is given by: [(aC1)2+2ab(t2 – t1)]½ – aC1 L = ────────────────── ab R.-S. Tsay, “An Exact Zero-Skew Clock Routing Algorithm,” IEEE Trans. CAD, vol. 12, no. 2, pp. 242-249, Feb. 1993. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 10 Balancing Subtrees Example 2 Subtree parameters: x Subtree 1: t1 = 2ps, C1 = 1pF Subtree 2: t2 = 15ps, C2 = 10pF Interconnect: L = 1mm Wire parameters: a = 100Ω/cm, b = 1pF/cm Tapping point: = (t2 – t1) + aL (C2 + bL/2) ──────────────── aL (bL + C1 + C2) = (15–2) + 100×0.1(10 + 1×0.1/2) ────────────────── 100×0.1(1×0.1+1+10) = (13 + 100.5)/(10×11.1) = 1.0225 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 11 Example 2, x = 1.0225 Setting x = 1.0, L Spring 08, Mar 11 = [(aC1)2+2ab(t2 – t1)]½ – aC1 ────────────────── ab = [(100×1)2+2100×1(15 – 2)]½ – 100×1 ─────────────────────── 100×1 = 0.1225cm ELEC 7770: Advanced VLSI Design (Agrawal) 12 Example 2, L = 1.255mm FF t1 = 2ps, C1 = 1pF FF L = 1.225mm FF Subtree 1 FF To next level FF t2 = 15ps, C2 = 10pF FF Subtree 2 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) FF 13 Balancing Subtrees, x < 1 Tapping point set at root of tree with smaller loading (C1, t1). Wire to the root of other tree is elongated to provide additional delay. Wire length L found as follows: Set x = 0 in abL2x + aL(C1+C2)x = (t2 – t1) + aL(C2+bL/2) i.e., L2 + (2C2/b)L – 2(t1 – t2)/(ab) = 0 Wire length is given by: [(aC2)2+2ab(t1 – t2)]½ – aC2 L = ────────────────── ab R.-S. Tsay, “An Exact Zero-Skew Clock Routing Algorithm,” IEEE Trans. CAD, vol. 12, no. 2, pp. 242-249, Feb. 1993. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 14 Balancing Subtrees Example 3 Subtree parameters: x Subtree 1: t1 = 15ps, C1 = 10pF Subtree 2: t2 = 2ps, C2 = 1pF Interconnect: L = 1mm Wire parameters: a = 100Ω/cm, b = 1pF/cm Tapping point: = (t2 – t1) + aL (C2 + bL/2) ──────────────── aL (bL + C1 + C2) = (2–15) + 100×0.1(1 + 1×0.1/2) ────────────────── 100×0.1(1×0.1+1+10) = ( – 13 + 10.5)/(10×11.1) = – 0.0225 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 15 Example 3, x = – 0.0225 Setting x = 0.0, L Spring 08, Mar 11 = [(aC2)2+2ab(t1 – t2)]½ – aC2 ────────────────── ab = [(100×1)2+2100×1(15 – 2)]½ – 100×1 ─────────────────────── 100×1 = 0.1225cm ELEC 7770: Advanced VLSI Design (Agrawal) 16 Example 3, L = 1.255mm FF FF To next level t1 = 15ps, C1 = 10pF FF L = 1.225mm FF Subtree 1 FF t2 = 2ps, C2 = 1pF FF Subtree 2 Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) FF 17 Zero-Skew Design Delay =75ns Delay = 50ns Comb. Comb. FF A FF B FF C CK CK Tck = 75ns time Single-cycle path delay Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 18 Nonzero-Skew Design Delay =75ns Delay = 50ns Comb. Comb. FF A FF B FF C CK Delay = 25ns CK Tck = 50ns time Single-cycle path delay Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 19 Conclusion Zero-skew design is possible at the layout level. Zero-skew usually results in higher clock speed. Nonzero clock skews can improve the design with reduced hardware and/or higher speed. Spring 08, Mar 11 ELEC 7770: Advanced VLSI Design (Agrawal) 20
© Copyright 2026 Paperzz