Automatic Length Compensation for Analog Integrated Circuit Routing
Matthew A. Smith (Foley & Lardner LLP) Lars Schreiner (Cadence Design Systems, Inc.) Erich Barke (University of Hannover) Volker Meyer-zu-Bexten (ATMEL Germany GmbH)
Matthew Smith 3 Overview Approach Problems to be Solved Results Summary
Matthew Smith 4 Overview Approach Problems to be Solved Results Summary
Matthew Smith 5 One goal (of many): balance parasitic loads on interconnects Analog Router During routing length differences between bus traces occur PARSY GLOBAL LOCAL Terminal: Beginning of a “Net Bundle”
Matthew Smith 6 Length Compensation Create a Geometry Equalizes Trace Lengths L=100 L=110 L=120
Matthew Smith 7 Length Compensation Create a Geometry Equalizes Trace Lengths L=100 L=110 L=120
Matthew Smith 8 Length Compensation Create a Geometry Equalizes Trace Lengths L=100 L=110 L=120
Matthew Smith 9 Length Compensation Create a Geometry Equalizes Trace Lengths L=100 L=110 L=120
Matthew Smith 10 Length Compensation Create a Geometry Equalizes Trace Lengths L= 120 L=110 L=120
Matthew Smith 11 Length Compensation Create a Geometry Equalizes Trace Lengths L=120 L=110 L=120
Matthew Smith 12 Length Compensation Create a Geometry Equalizes Trace Lengths L=120 L=110 L=120
Matthew Smith 13 Length Compensation Create a Geometry Equalizes Trace Lengths L=120 L=110 L=120
Matthew Smith 14 Length Compensation Create a Geometry Equalizes Trace Lengths L=120
Matthew Smith 15 Length Compensation Create a Geometry Equalizes Trace Lengths L=120
Matthew Smith 16 A More Difficult Case L=100 L=200 L=120 L=200 L=150
Matthew Smith 17 A More Difficult Case L=100 L=200 L=120 L=200 L=150 Find the longest trace(s)
Matthew Smith 18 A More Difficult Case L=100 L=200 L=120 L=200 L=150 Make all lengths 200
Matthew Smith 19 A More Difficult Case L=100 L=200 L=120 L=200 L=150
Matthew Smith 20 A More Difficult Case L=100 L=200 L=120 L=200 L=150
Matthew Smith 21 A More Difficult Case L=100 L=200 L=120 L=200 L=150
Matthew Smith 22 A More Difficult Case L=100 L=200 L=120 L=200 L=150
Matthew Smith 23 A More Difficult Case L=100 L=200 L=120 L=200
Matthew Smith 24 A More Difficult Case L=100 L=200 L=120 L=200
Matthew Smith 25 A More Difficult Case L=100 L=200 L=120 L=200
Matthew Smith 26 A More Difficult Case L=100 L=200 L=120 L=200
Matthew Smith 27 A More Difficult Case L=100 L=200 L=120 L=200
Matthew Smith 28 A More Difficult Case L=100 L=200
Matthew Smith 29 A More Difficult Case L=100 L=200
Matthew Smith 30 A More Difficult Case L=100 L=200 Middle trace uncompensated
Matthew Smith 31 A More Difficult Case L=100 L=200 Middle trace uncompensated Needs room for compensation geometry
Matthew Smith 32 A More Difficult Case L=100 L=200 Middle trace uncompensated Needs room for compensation geometry HOWEVER
Matthew Smith 33 A More Difficult Case L=100 L=200 Middle trace uncompensated Needs room for compensation geometry HOWEVER To make room, other traces must be moved (lengthened)
Matthew Smith 34 Problem To Be Solved
Matthew Smith 35 General Length Compensation Problem for Parallel Traces Problem To Be Solved
Matthew Smith 36 Arbitrary Number of Traces General Length Compensation Problem for Parallel Traces Problem To Be Solved
Matthew Smith 37 Arbitrary Number of Traces General Length Compensation Problem for Parallel Traces Arbitrary Lengths, Widths and Spacings Problem To Be Solved
Matthew Smith 38 Characteristics of a Good Solution
Matthew Smith 39 Compensates Trace Lengths Characteristics of a Good Solution
Matthew Smith 40 Compensates Trace Lengths Introduces Minimal Extra Trace Length Characteristics of a Good Solution
Matthew Smith 41 Compensates Trace Lengths Introduces Minimal Extra Trace Length Keeps Footprint Small Characteristics of a Good Solution
Matthew Smith 42 Compensates Trace Lengths Introduces Minimal Extra Trace Length Keeps Footprint Small Introduces Few Additional Bends Characteristics of a Good Solution
Matthew Smith 43 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
Matthew Smith 44 Overview Approach Problems to be Solved Results Summary
Matthew Smith 45 Overview Approach Problems to be Solved Results Summary
Matthew Smith 46 Ripple Compensation
Matthew Smith 47 Ripple Compensation Multiple copies of a simple compensation geometry
Matthew Smith 48 Ripple Compensation RH Multiple copies of a simple compensation geometry
Matthew Smith 49 Ripple Compensation A fixed height RH is chosen for the compensation geometry Multiple copies of a simple compensation geometry RH
Matthew Smith 50 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
Matthew Smith 51 Example
Matthew Smith 52 One ripple („storage ripple“) is extended in bus direction Example
Matthew Smith 53 One ripple („storage ripple“) is extended in bus direction Example Storage Ripples
Matthew Smith 54 One ripple („storage ripple“) is extended in bus direction Within the storage ripples are the ripples for other traces Example Storage Ripples
Matthew Smith 55 Leftover Ripples
Matthew Smith 56 Leftover Ripples Ripples can be made smaller in case the compensation length is not evenly divisible by 2RH
Matthew Smith 57 Leftover Ripples Ripples can be made smaller in case the compensation length is not evenly divisible by 2RH Leftover ripple
Matthew Smith 58 Algorithm
Matthew Smith 59 L=100 µm L=120 µm L=110 µm L=130 µm Algorithm RH=5 µm
Matthew Smith 60 L=100 µm L=120 µm L=110 µm L=130 µm Algorithm RH=5 µm Step 1: compute the compensation lengths
Matthew Smith 61 L=100 µm L=120 µm L=110 µm L=130 µm 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
Matthew Smith 62 L=100 µm L=120 µm L=110 µm L=130 µm 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
Matthew Smith 63 L=120 µm L=110 µm L=130 µm Algorithm L=30 µm RH=5 µm
Matthew Smith 64 L=110 µm L=130 µm Algorithm L=30 µm L=10 µm RH=5 µm
Matthew Smith 65 L=130 µm Algorithm L=30 µm L=10 µm L=20 µm RH=5 µm
Matthew Smith Algorithm L=30 µm L=10 µm L=20 µm L=0 µm RH=5 µm
Matthew Smith 67 Starting at the top, calculate the number of ripples A needed RH=5 µm Algorithm L=30 µm
Matthew Smith 68 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
Matthew Smith 69 Generate (A-1) ripples and half of the Ath ripple RH=5 µm Algorithm
Matthew Smith 70 Repeat for the second trace. A = 10 / 10 = 1 RH=5 µm Algorithm
Matthew Smith 71 RH=5 µm Algorithm Repeat for the third trace. A = 20 / 10 = 2
Matthew Smith 72 RH=5 µm Algorithm Repeat for the fourth trace. A = 0 / 10 = 0
Matthew Smith 73 RH=5 µm Stepping back up through the traces, construct the last half of each storage ripple and complete the trace Algorithm
Matthew Smith 74 RH=5 µm Algorithm Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
Matthew Smith 75 RH=5 µm Algorithm Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
Matthew Smith 76 RH=5 µm Algorithm Stepping back up through the traces, construct the last half of each storage ripple and complete the trace
Matthew Smith 77 Problems
Matthew Smith 78 Problems Consumption of space in bus direction
Matthew Smith 79 Problems Consumption of space in bus direction Introduction of bends
Matthew Smith 80 Problems Consumption of space in bus direction Introduction of bends Introduction of serpentine structures
Matthew Smith 81 Problems Consumption of space in bus direction Introduction of bends Introduction of serpentine structures Compensation of parasitic capacitances
Matthew Smith 82 Problem: Space Consumption
Matthew Smith 83 Space Consumption Vertical space consumption small, but
Matthew Smith 84 Space Consumption Geometries increase in length with the square of the number of traces Vertical space consumption small, but
Matthew Smith 85 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
Matthew Smith 86 Partial solution 1: Compensation by group Differential pair 1 Differential pair 2 Ground Trace Length
Matthew Smith 87 Implementation of Groups
Matthew Smith 88 Implementation of Groups User can give every trace a group number
Matthew Smith 89 Implementation of Groups User can give every trace a group number Length compensation only within each group
Matthew Smith 90 Solution 2: Total Length Fitting
Matthew Smith 91 Partial solution 2: Total Length Fitting Ripple Height increased to make geometries shorter. RH=5
Matthew Smith 92 Partial solution 2: Total Length Fitting Ripple Height increased to make geometries shorter. RH=5 RH=10
Matthew Smith 93 Problem: Resistance Compensation
Matthew Smith 94 Problem: Resistance Compensation The same length does not guarantee the same resistance
Matthew Smith 95 Problem: Resistance Compensation 90º corners are problematic The same length does not guarantee the same resistance
Matthew Smith 96 Partial solution: No 90º Corners Decreases electromigration as well 45º bends rounded corners
Matthew Smith 97 Resistance in leftover ripples Difficult to estimate the resistance of small ripples.
Matthew Smith 98 Resistance in leftover ripples Difficult to estimate the resistance of small ripples. Partial solution: introduce a minimum ripple height RH min
Matthew Smith 99 Resistance in leftover ripples Difficult to estimate the resistance of small ripples. Partial solution: introduce a minimum ripple height RH min Recommended at least two times the trace width
Matthew Smith 100 Resistance in leftover ripples Difficult to estimate the resistance of small ripples. Partial solution: introduce a minimum ripple height RH min Recommended at least two times the trace width Also necessary for 45º angle ripples
Matthew Smith 101 Introduction of the minimum ripple height (RH min ). Minimum ripple height Especially tricky implementation
Matthew Smith 102 Coupling between ripples Ripples introduce serpentine structures
Matthew Smith 103 Coupling between ripples Ripples introduce serpentine structures Coupling between adjacent ripples results (likely) in signal distortion
Matthew Smith 104 Coupling between ripples Ripples introduce serpentine structures Coupling between adjacent ripples results (likely) in signal distortion Serpentine structures are known to have resonant frequencies
Matthew Smith 105 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
Matthew Smith 106 Cavity Parameter Introduction of the „Cavity“ Parameter. A minimum distance between the vertical sides of a ripple
Matthew Smith 107 Modelling capacitances Extraction of the capacitances via modelling
Matthew Smith 108 Modelling capacitances Capacitance compensation good with exception of outer traces Extraction of the capacitances via modelling
Matthew Smith 109 Modelling capacitances Capacitance compensation good with exception of outer traces Partial solution: Introduction of shielding elements Extraction of the capacitances via modelling
Matthew Smith 110 Shielding Example 42,8 47,9 47,5 46,9 42,1 Total C (fF)
Matthew Smith 111 Overview Approach Problems to be Solved Results Summary
Matthew Smith 112 Summary Length compensation module created in C++.
Matthew Smith 113 Summary Solves general length compensation problem Length compensation module created in C++.
Matthew Smith 114 Summary Solves general length compensation problem Length compensation module created in C++. Supports group-based length compensation
Matthew Smith 115 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
Matthew Smith 116 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
Matthew Smith 117 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
Matthew Smith 118 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
Matthew Smith 119 Example of Difficult Cases
Matthew Smith 120 End
Matthew Smith 121 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:
Matthew Smith 122 Erweiterung der Funktionalität Gesucht wird ein RH, die ein Modul mit einer Gesamtlänge L g <L max produziert. Längenanpassungsfähigkeit Schwierige Aufgabe, wenn auch RH min eingehalten werden muss. Einführung des Parameters „Maxlength“ (L max )
Matthew Smith 123 Erweiterung der Funktionalität Längenanpassungsfähigkeit
Matthew Smith 124 Erweiterung der Funktionalität Längenanpassungsfähigkeit Änderung des Rippleausgleichs—Höhen „ebnen“
Matthew Smith 125 Erweiterung der Funktionalität Längenanpassungsfähigkeit
Matthew Smith 126 Erweiterung der Funktionalität Längenanpassungsfähigkeit
Matthew Smith 127 Erweiterung der Funktionalität Längenanpassungsfähigkeit
Matthew Smith 128 Erweiterung der Funktionalität Längenanpassungsfähigkeit
Matthew Smith 129 Erweiterung der Funktionalität Längenanpassungsfähigkeit