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