automatic length compensation for analog integrated circuit routing

129
Automatic Length Compensation for Analog Integrated Circuit Routing

Upload: camilla-rice

Post on 28-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

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)

3Matthew Smith

Overview

Approach

Problems to be Solved

Results

Summary

4Matthew Smith

Overview

Approach

Problems to be Solved

Results

Summary

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”

6Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=100L=110L=120

7Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=100L=110L=120

8Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=100L=110L=120

9Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=100L=110L=120

10Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=110L=120

11Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=110L=120

12Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=110L=120

13Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=110L=120

14Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=120L=120

15Matthew Smith

Length Compensation

Create a Geometry Equalizes Trace Lengths

L=120L=120L=120

16Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

17Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

•Find the longest trace(s)

18Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

•Make all lengths 200

19Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

20Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

21Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

22Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=150

23Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=200

24Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=200

25Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=200

26Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=200

27Matthew Smith

A More Difficult Case

L=100

L=200

L=120

L=200L=200

28Matthew Smith

A More Difficult Case

L=100

L=200

L=200

L=200L=200

29Matthew Smith

A More Difficult Case

L=100

L=200

L=200

L=200L=200

30Matthew Smith

A More Difficult Case

L=100

L=200

L=200

L=200L=200

• Middle trace uncompensated

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)

34Matthew Smith

Problem To Be Solved

35Matthew Smith

General Length Compensation Problem for Parallel Traces

Problem To Be Solved

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

38Matthew Smith

Characteristics of a Good Solution

39Matthew Smith

Compensates Trace Lengths

Characteristics of a Good Solution

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

44Matthew Smith

Overview

Approach

Problems to be Solved

Results

Summary

45Matthew Smith

Overview

Approach

Problems to be Solved

Results

Summary

46Matthew Smith

Ripple Compensation

47Matthew Smith

Ripple Compensation

Multiple copies of a simple compensation geometry

48Matthew Smith

Ripple Compensation

RH

Multiple copies of a simple compensation geometry

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

51Matthew Smith

Example

52Matthew Smith

One ripple („storage ripple“) is extended in bus direction

Example

53Matthew Smith

One ripple („storage ripple“) is extended in bus direction

Example

Storage Ripples

54Matthew Smith

One ripple („storage ripple“) is extended in bus direction

Within the storage ripples are the ripples for other traces

Example

Storage Ripples

55Matthew Smith

Leftover 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

58Matthew Smith

Algorithm

59Matthew Smith

L=100 µmL=120 µmL=110 µmL=130 µm

1234

Algorithm

RH=5 µm

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

63Matthew Smith

L=120 µmL=110 µmL=130 µm

1234

Algorithm

L=30 µm

RH=5 µm

64Matthew Smith

L=110 µmL=130 µm

1234

Algorithm

L=30 µmL=10 µm

RH=5 µm

65Matthew Smith

L=130 µm

1234

Algorithm

L=30 µmL=10 µmL=20 µm

RH=5 µm

66Matthew Smith

1234

Algorithm

L=30 µmL=10 µmL=20 µmL=0 µm

RH=5 µm

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

69Matthew Smith

Generate (A-1) ripples and half of the Ath ripple

RH=5 µm

Algorithm

70Matthew Smith

Repeat for the second trace. A = 10 / 10 = 1

RH=5 µm

Algorithm

71Matthew Smith

RH=5 µm

Algorithm

Repeat for the third trace. A = 20 / 10 = 2

72Matthew Smith

RH=5 µm

Algorithm

Repeat for the fourth trace. A = 0 / 10 = 0

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

77Matthew Smith

Problems

78Matthew Smith

Problems

Consumption of space in bus direction

79Matthew Smith

Problems

Consumption of space in bus direction

Introduction of bends

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

82Matthew Smith

Problem: Space Consumption

83Matthew Smith

Space Consumption

Vertical space consumption small, but

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

87Matthew Smith

Implementation of Groups

88Matthew Smith

Implementation of Groups

User can give every trace a group number

89Matthew Smith

Implementation of Groups

User can give every trace a group number

Length compensation only within each group

90Matthew Smith

Solution 2: Total Length Fitting

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

93Matthew Smith

Problem: Resistance Compensation

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

102

Matthew Smith

Coupling between ripples

Ripples introduce serpentine structures

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

107

Matthew Smith

Modelling capacitances

Extraction of the capacitances via modelling

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

110Matthew Smith

Shielding Example

42,847,947,546,942,1

Total C (fF)

111Matthew Smith

Overview

Approach

Problems to be Solved

Results

Summary

112Matthew Smith

Summary

Length compensation module created in C++.

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

119Matthew Smith

Example of Difficult Cases

120

Matthew Smith

End

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)

123

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

124

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

Änderung des Rippleausgleichs—Höhen „ebnen“

125

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

126

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

127

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

128

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit

129

Matthew Smith

Erweiterung der Funktionalität

Längenanpassungsfähigkeit