Transcript Slide 1
Design and Implementation of VLSI Systems (EN1600) Lecture 16: Interconnects & Wire Engineering Prof. Sherief Reda Division of Engineering, Brown University Spring 2008 [sources: Weste/Addison Wesley – Rabaey/Pearson] S. Reda EN160 SP’08 Interconnects introduce cross talk • • A capacitor does not like to change its voltage instantaneously. A wire has high capacitance to its neighbor. – When the neighbor switches from 1→ 0 or 0 → 1, the wire tends to switch too. – Called capacitive coupling or crosstalk. • Crosstalk has two harmful effects: 1. Increased delay on switching wires 2. Noise on nonswitching wires S. Reda EN160 SP’08 1. Crosstalk impacts delay • Assume layers above and below on average are quiet – Second terminal of capacitor can be ignored – Model as Cgnd = Ctop + Cbot • Effective Cadj depends on behavior of neighbors – Miller effect A Cgnd S. Reda EN160 SP’08 B Cadj Cgnd 2.Crosstalk also creates noise • Crosstalk causes noise on nonswitching wires • If victim is floating: – model as capacitive voltage divider Vvictim Cadj Cgnd v Cadj Vaggressor Aggressor Vaggressor Cadj Victim Cgnd-v S. Reda EN160 SP’08 Vvictim Crosstalk noise effects • Usually victim is driven by a gate that fights noise – Noise depends on relative resistances – Victim driver is in linear region, agg. in saturation – If sizes are same, aggressor = 2-4 x Rvictim Vvictim Raggressor Cadj 1 Vaggressor Cgnd v Cadj 1 k aggressor Raggressor Cgnd a Cadj k victim Rvictim Cgnd v Cadj Aggressor Cgnd-a Vaggressor Cadj Rvictim Victim Cgnd-v Vvictim (time constant depends on the ratio of time constant of aggressor and victim) S. Reda EN160 SP’08 Simulating noise induced by coupling Aggressor 1.8 1.5 1.2 Victim (undriven): 50% 0.9 0.6 Victim (half size driver): 16% Victim (equal size driver): 8% 0.3 Victim (double size driver): 4% 0 0 200 400 600 800 1000 1200 1400 1800 2000 t(ps) • Noise is less than the noise margin → nothing happens • Static CMOS logic will eventually settle to correct output even if disturbed by large noise spikes • But glitches cause extra delay and power • Large driver oppose the coupling sooner → smaller noise • Memories are more sensitive S. Reda EN160 SP’08 Wire Engineering • Goal: achieve delay, area, power goals with acceptable noise • Possible solutions: 1. Width, Spacing, Layer 2. Shielding 3. Repeater insertion 4. Wire staggering and differential signaling vdd a0 S. Reda EN160 SP’08 a1 gnd a2 a3 vdd vdd a0 gnd a1 vdd a2 gnd a0 b0 a1 b1 a2 b2 1/2. Width, Spacing, Layer, Shielding • Widening a wire reduces resistance but increases capacitance (but less proportionally) → RC delay product improves • Spacing reduces capacitance → improves RC delay • Layers • Coupling can be avoided if adjacent lines do not switch → shield critical nets with power or ground wires on one or both sides to eliminate coupling vdd a0 a1 gnd a2 S. Reda EN160 SP’08 a3 vdd vdd a0 gnd a1 vdd a2 gnd a0 b0 a1 b1 a2 b2 3. Repeater insertion • R and C are proportional to l • RC delay is proportional to l2 – Unacceptably great for long wires • Break long wires into N shorter segments – Drive each one with a repeater or buffer source sink buffer/repeater Two questions: A. What is the position that minimizes the delay? B. How many repeaters to insert to minimize the delay? S. Reda EN160 SP’08 What is the delay from source to sink without any repeaters? source S. Reda EN160 SP’08 L sink A. If you have one repeater, where is the optimal position to insert it? source L x buffer Minimum delay is attained when Makes sense to add a buffer only if D0-D1 > 0 S. Reda EN160 SP’08 sink A. If there are multiple buffers, where are the optimal locations to insert them? source L L/2 sink L/2 If Rbuf = Rsnk and Csnk = Cbuf then the optimal location for the buffer is at distance L/2 If there are N buffers then minimum delay will occur when they are equally spaced, i.e., separation distance is L/(N+1) S. Reda EN160 SP’08 B. What is the optimal number N of repeaters? source S. Reda EN160 SP’08 buffer 4. Staggering and differential signaling staggering differential signaling S. Reda EN160 SP’08