Matthew A. Smith (Foley & Lardner LLP)Lars Schreiner (Cadence Design Systems, Inc.)Erich Barke (University of Hannover)Volker Meyer-zu-Bexten (ATMEL Germany GmbH)
5Matthew Smith
One goal (of many): balance parasitic loads on interconnects
Analog Router
During routing length differences between bus traces occur
PARSY
GLOBALLOCAL
Terminal: Beginning of a “Net Bundle”
31Matthew Smith
A More Difficult Case
L=100
L=200
L=200
L=200L=200
• Middle trace uncompensated
• Needs room for compensation geometry
32Matthew Smith
A More Difficult Case
L=100
L=200
L=200
L=200L=200
• Middle trace uncompensated
• Needs room for compensation geometry
HOWEVER
33Matthew Smith
A More Difficult Case
L=100
L=200
L=200
L=200L=200
• Middle trace uncompensated
• Needs room for compensation geometry
HOWEVER• To make room, other traces must be moved (lengthened)
36Matthew Smith
Arbitrary Number of Traces
General Length Compensation Problem for Parallel Traces
Problem To Be Solved
37Matthew Smith
Arbitrary Number of Traces
General Length Compensation Problem for Parallel Traces
Arbitrary Lengths, Widths and Spacings
Problem To Be Solved
40Matthew Smith
Compensates Trace Lengths
Introduces Minimal Extra Trace Length
Characteristics of a Good Solution
41Matthew Smith
Compensates Trace Lengths
Introduces Minimal Extra Trace Length
Keeps Footprint Small
Characteristics of a Good Solution
42Matthew Smith
Compensates Trace Lengths
Introduces Minimal Extra Trace Length
Keeps Footprint Small
Introduces Few Additional Bends
Characteristics of a Good Solution
43Matthew Smith
Compensates Trace Lengths
Introduces Minimal Extra Trace Length
Keeps Footprint Small
Introduces Few Additional Bends
Flexible and Easy to Implement
Characteristics of a Good Solution
49Matthew Smith
Ripple Compensation
A fixed height RH is chosen for the compensation geometry
Multiple copies of a simple compensation geometry
RH
50Matthew Smith
Ripple Compensation
A fixed height RH is chosen for the compensation geometry
Number of ripples determined by dividing length to be added by 2RH
Multiple copies of a simple compensation geometry
RH
54Matthew Smith
One ripple („storage ripple“) is extended in bus direction
Within the storage ripples are the ripples for other traces
Example
Storage Ripples
56Matthew Smith
Leftover Ripples
Ripples can be made smaller in case the compensation length
is not evenly divisible by 2RH
57Matthew Smith
Leftover Ripples
Ripples can be made smaller in case the compensation length
is not evenly divisible by 2RH
Leftover ripple
60Matthew Smith
L=100 µmL=120 µmL=110 µmL=130 µm
1234
Algorithm
RH=5 µm
Step 1: compute the compensation lengths
61Matthew Smith
L=100 µmL=120 µmL=110 µmL=130 µm
1234
Algorithm
RH=5 µm
Step 1: compute the compensation lengths
compensation length is the length of the longest trace minus the length of the current trace
62Matthew Smith
L=100 µmL=120 µmL=110 µmL=130 µm
1234
Algorithm
RH=5 µm
Step 1: compute the compensation lengths
compensation length is the length of the longest trace minus the length of the current trace
67Matthew Smith
Starting at the top, calculate the number of ripples A needed
RH=5 µm
Algorithm
L=30 µm
68Matthew Smith
Starting at the top, calculate the number of ripples A needed
RH=5 µm
Algorithm
A = L / 2RH A = 30 / 10 = 3
L=30 µm
73Matthew Smith
RH=5 µm
Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
Algorithm
74Matthew Smith
RH=5 µm
Algorithm
Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
75Matthew Smith
RH=5 µm
Algorithm
Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
76Matthew Smith
RH=5 µm
Algorithm
Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
80Matthew Smith
Problems
Consumption of space in bus direction
Introduction of bends
Introduction of serpentine structures
81Matthew Smith
Problems
Consumption of space in bus direction
Introduction of bends
Introduction of serpentine structures
Compensation of parasitic capacitances
84Matthew Smith
Space Consumption
Geometries increase in length with the square of the number of traces
Vertical space consumption small, but
85Matthew Smith
Space Consumption
Geometries increase in length with the square of the number of traces
Example: with n=16 traces, width = 4 µm und spacing = 1 µm,
to compensate for a 90º turn in the bus
total length of the required module = 1,2 mm !
Vertical space consumption small, but
86Matthew Smith
Partial solution 1: Compensation by group
Differential pair 1
Differential pair 2
Ground
Trace Length
89Matthew Smith
Implementation of Groups
User can give every trace a group number
Length compensation only within each group
91Matthew Smith
Partial solution 2: Total Length Fitting
Ripple Height increased to make geometries shorter.
RH=5
92Matthew Smith
Partial solution 2: Total Length Fitting
Ripple Height increased to make geometries shorter.
RH=5
RH=10
94Matthew Smith
Problem: Resistance Compensation
The same length does not guarantee the same resistance
95Matthew Smith
Problem: Resistance Compensation
90º corners are problematic
The same length does not guarantee the same resistance
96Matthew Smith
Partial solution: No 90º Corners
Decreases electromigration as well
45º bends rounded corners
97Matthew Smith
Resistance in leftover ripples
Difficult to estimate the resistance of small ripples.
98Matthew Smith
Resistance in leftover ripples
Difficult to estimate the resistance of small ripples.
Partial solution: introduce a minimum ripple height RHmin
99Matthew Smith
Resistance in leftover ripples
Difficult to estimate the resistance of small ripples.
Partial solution: introduce a minimum ripple height RHmin
Recommended at least two times the trace width
100
Matthew Smith
Resistance in leftover ripples
Difficult to estimate the resistance of small ripples.
Partial solution: introduce a minimum ripple height RHmin
Recommended at least two times the trace width
Also necessary for 45º angle ripples
101
Matthew Smith
Introduction of the minimum ripple height (RHmin).
Minimum ripple height
Especially tricky implementation
103
Matthew Smith
Coupling between ripples
Ripples introduce serpentine structures
Coupling between adjacent ripples results (likely) in signal distortion
104
Matthew Smith
Coupling between ripples
Ripples introduce serpentine structures
Coupling between adjacent ripples results (likely) in signal distortion
Serpentine structures are known to have resonant frequencies
105
Matthew Smith
Coupling between ripples
Ripples introduce serpentine structures
Coupling between adjacent ripples results (likely) in signal distortion
Serpentine structures are known to have resonant frequencies
Partial solution: give the designer the flexibility to weaken coupling
Stronger coupling
Weaker coupling
106
Matthew Smith
Cavity Parameter
Introduction of the „Cavity“ Parameter.
A minimum distance between the vertical sides of a ripple
108
Matthew Smith
Modelling capacitances
Capacitance compensation good with exception of outer traces
Extraction of the capacitances via modelling
109
Matthew Smith
Modelling capacitances
Capacitance compensation good with exception of outer traces
Partial solution: Introduction of shielding elements
Extraction of the capacitances via modelling
113Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
114Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
Supports group-based length compensation
115Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
Supports group-based length compensation
Can modify own size to fit within specified length parameters
116Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
Supports group-based length compensation
Can modify own size to fit within specified length parameters
Creates 90º and 45º geometries
117Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
Supports group-based length compensation
Can modify own size to fit within specified length parameters
Creates 90º and 45º geometries
Can use specified constraints on structure size / spacing
118Matthew Smith
Summary
Solves general length compensation problem
Length compensation module created in C++.
Supports group-based length compensation
Can modify own size to fit within specified length parameters
Creates 90º and 45º geometries
Can use specified constraints on structure size / spacing
Use of capacitative shielding supported
121
Matthew Smith
Erweiterung der Funktionalität
Benutzer kann jeder Leitung eine Gruppenindex zuordnen
Längenausgleich wird nur innerhalb der jeweiligen Gruppe ausgeführt
Ermöglicht den Einsatz von Shielding.
Gruppenaufteilung und Shielding:
122
Matthew Smith
Erweiterung der Funktionalität
Gesucht wird ein RH, die ein Modul mit einer Gesamtlänge Lg<Lmax
produziert.
Längenanpassungsfähigkeit
Schwierige Aufgabe, wenn auch RHmin eingehalten werden muss.
Einführung des Parameters „Maxlength“ (Lmax)
124
Matthew Smith
Erweiterung der Funktionalität
Längenanpassungsfähigkeit
Änderung des Rippleausgleichs—Höhen „ebnen“