characterization and macromodeling of 3d interconnects · 2013-07-11 · 5 s. grivet-talocia, spi...
TRANSCRIPT
1
S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Characterization and Macromodelingof 3D Interconnects
S. Grivet-Talocia
Politecnico di Torino, [email protected]
http://www.eln.polito.it/research/emc
2S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
2
3S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
4S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
3
5S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
6S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
High-speed Data transmission requiresintegrity of the signals
thru lines, bends, vias, connectors, …
1 1?
4
7S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
DRV RCV
An example
Complete propagation path from driver to receiver
8S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
CHIP
MCM
CARD
BOARD
CONNECTOR
BOARD
BOARD
CHIP
MCM
CARD
CONNECTOR
CONNECTORCONNECTOR
DRV RCV
An example
5
9S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
An example
Transmission eye @ 1Gb/s (700 bits)
DRV RCVDRV RCV
-1 -0.5 0 0.5 1-0.5
0
0.5
1
1.5
2Vo
ltage
[V]
Time [ns]
10S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
Signal Integrity issues in high-speed digital systems
Crosstalk, couplings, reflections, losses, dispersion, attenuation,resonances, ground noise, nonlinear effects, radiation, EMI, …
drivers
receivers
linear junctions(connectors, vias, packages,…)
bus
6
11S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Introduction
drivers
receivers
linear junctions(connectors, vias, packages,…)
bus
Macromodel (SPICE,…)
12S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
SPICE solver
t
v(t)
Drivers/Receivers
“Lego” approach
Discontinuities
Transmission Lines
7
13S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
3D Interconnects
14S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
3D Interconnects
8
15S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
3D Interconnects
16S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
9
17S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Macromodeling approaches
Macromodeling of 3D interconnects for Signal Integrity
1. Capture physical effects leading to signal degradationMust take into account 3D electromagnetic fields
Simulation or measurementMany different characterizations are possible!
2. Use this information to build a macromodelMany macromodeling approaches available!
18S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Macromodeling approaches
Characterization via equations
Discretization of Maxwell full-wave equations
Model Order Reduction methods: build a simplified model from an existing (large) one
Characterization via port responses (Black Box)
Time or frequency domain
Simulated or measured
Reduced-Order Model Identification methods: build a model from samples of the port responses
10
19S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Macromodeling approaches
∑ −+= ∞
n n
nq ps
s RHH )(
Main goal of all (lumped) macromodeling methods:
produce a rational approximation
Lumped circuits
• have rational transfer functions
• are governed by Ordinary Differential Equations
20S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
11
21S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Moder Order Reduction
ORDERREDUCTION
)(sH )(sqH≈
22S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
PEEC (Partial Element Equivalent Circuit)
discretization
Large circuit
12
23S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Spatial discretization of Maxwell equations
(FDTD, FEM, MoM, …)
Set of ODEs(Ordinary
Differential Equations)Large system
24S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Set of ODEs(Ordinary
Differential Equations)
=
=+
xLyBuxCGx
T
&
BCGLH T 1)()( −+= ss
MNA
13
25S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Approximation via moment matching
LL +++++= NN sss MMMM 2
210
)(sqH L++ qqsMs1M+
)(sH
0M= L++ 22sM
ORDERREDUCTION
26S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Moment matching: an example
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
|Y12 |
f [Hz]
Original system: 2530Reduced system: 135
23 GHz
14
27S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Moments
=
+=
xLyRuxAx
T
&
=
=+
xLyBuxCGx
T
&
BGRCGA
1
1
−
−
=−=
TLMoments ARR RA2TL TL
L+++= 2210)( sss MMMH
BuAILH T 1)()( −−= ss
28S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Moment matching techniques
Explicit RALM iTi =
Asymptotic Waveform Evaluation (AWE)
Pade` Approximations
Complex Frequency Hopping (CFH)
• Good theoretical properties, convergence
• Bad numerical properties, intrinsic ill-conditioning due to
• Moment generation
• Moment matching
)(sqH→
15
29S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Moment matching techniques
Implicit
Krylov subspace projection methods
• Same information stored in moments
• Much better numerical performance, robustness
• Several versions
Arnoldi, PRIMA, Lanczos, …
• Possibility of preserving stability and passivity
by construction!
30S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Krylov subspaces
TLMoments ARR RA2TL TL
L+++= 2210)( sss MMMH
RARAARRRA 12 ,,,,span),,( −= qqKr K
),,(ofbasis qKrq RAV =
Constructed via iterative (stable) algorithms
16
31S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Arnoldi (basic) algorithm
A qVTqV = qA
x ≅qV qx
=
+=
qTq
qqqq
xLyuRxAx &
=
+=
xLyRuxAx
T
&
32S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
PRIMA algorithm
qVTqV = qC
= qG
=
=+
qTq
qqqqq
xLyuBxCxG &
x ≅qV qx
qVTqV
=
=+
xLyBuxCGx
T
&
G
C
17
33S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity conditions (PRIMA)
==+
xLyBuxCGx
T
&
00 ≥≥ CGC symmetric
BL ±=
qV must be full rank
Can often be enforced by construction building
the original system
=
=+
qTq
qqqqq
xLyuBxCxG &
34S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
An example: RLC tree circuit
Circuit order: 2530Ports: 9
18
35S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
f [Hz]
|Y 11 |
Original circuit 2530PRIMA order 18Arnoldi order 18
1 GHz
36S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
2 GHz0 0.5 1 1.5 2 2.5 3 3.5 4
x 1010
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08|Y 11 |
f [Hz]
Original circuit 2530PRIMA order 36Arnoldi order 36
19
37S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08|Y 11 |
f [Hz]
Original circuit 2530PRIMA order 54Arnoldi order 54
7 GHz
38S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08|Y 11 |
f [Hz]
Original circuit 2530PRIMA order 72Arnoldi order 72
10 GHz
20
39S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08|Y 11 |
f [Hz]
Original circuit 2530PRIMA order 90Arnoldi order 90
15 GHz
40S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: order reduction
0 0.5 1 1.5 2 2.5 3 3.5 4x 10
10
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08|Y 11 |
f [Hz]
Original circuit 2530PRIMA order 135Arnoldi order 135
23 GHz
21
41S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: efficiency
Original 18 36 54 72 90 1350
10
20
30
40
50
60
70
80
90
100
110
Reduced systems
Rel
ativ
e C
PU
tim
e
42S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: transient analysis
0 0.5 1 1.5 2 2.5 3
x 10-9
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Time [s]
Vol
tage
[V]
Input signalOriginal circuit
22
43S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0 0.5 1 1.5 2 2.5 3
x 10-9
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Time [s]
Vol
tage
[V]
Input signalOriginal circuit
PRIMA order=18Arnoldi order=18
RLC tree circuit: transient analysis
44S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: transient analysis
0 0.5 1 1.5 2 2.5 3
x 10-9
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Time [s]
Vol
tage
[V]
Input signalOriginal circuit
PRIMA order=27Arnoldi order=27
23
45S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: transient analysis
0 0.5 1 1.5 2 2.5 3
x 10-9
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Time [s]
Vol
tage
[V]
Input signalOriginal circuit
PRIMA order=36Arnoldi order=36
46S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
RLC tree circuit: transient analysis
0 0.5 1 1.5 2 2.5 3
x 10-9
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Time [s]
Vol
tage
[V]
Input signalOriginal circuit
PRIMA order=45Arnoldi order=45
24
47S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0.5 1 1.5 2 2.5 3
x 10 10
10-4
10-3
10-2
10-1
100
101
f [Hz]
PRIMA order: 66Original circuit: 4863
Example: MNA, 22 ports, order 4863
3 GHz
(www.win.tue.nl/niconet/NIC2/benchmodred.html)
48S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0.5 1 1.5 2 2.5 3
x 10 10
10-3
10-2
10-1
100
101
f [Hz]
PRIMA order: 154Original circuit: 4863
Example: MNA, 22 ports, order 4863
6 GHz
25
49S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0.5 1 1.5 2 2.5 3
x 10 10
10-4
10-3
10-2
10-1
100
101
f [Hz]
PRIMA order: 286Original circuit: 4863
Example: MNA, 22 ports, order 4863
15 GHz
50S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0.5 1 1.5 2 2.5 3
x 10 10
10-3
10-2
10-1
100
101
f [Hz]
PRIMA order: 418Original circuit: 4863
Example: MNA, 22 ports, order 4863
24 GHz
26
51S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Key references
M.Celik, L.Pileggi, A.Odabasioglu, IC Interconnects Analysis, Kluwer, 2002
…and references therein
R.Achar, M.S.Nakhla, Proceedings of the IEEE, Vol.89, 2001, 693-728
… and references therein
52S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
27
53S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Model Identification
IDENTIFICATION
0 5 10 15 20 25 300
0.5
1Magnitude
0 5 10 15 20 25 30-5
0
5Phase
Frequency [GHz]
S(1,1)S(8,1)
S(1,1)S(8,1)
0 0.5 1 1.5 2 2.5 3 3.5 4x 10-10
-0.20
0.20.40.60.8
1
Transient scattering responses
Time [s]
ain(1)bout(1,1)bout(2,1)bout(3,1)bout(4,1)
54S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
From samples to model: identification process
Reduced-order identification: approximation process
Several identification methods exist
Characterized by use of different:• Input data• Modeling criteria• Model parameter estimation
Model identification
28
55S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Block Complex Frequency Hopping (BCFH)[R.Achar, M.S.Nakhla, IEEE Proceedings, Vol.89, 2001]
Rational Padé approximation of network functions
Convergence property in a neighborhood of the expansion point
Hopping along frequency axis to cover the modeling bandwidth
May lead to ill-conditioned numerical systems when used for identification from sampled responses
Identification methods
56S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Global Rational Approximation[M.Elzinga, K.L.Virga, J.L.Prince, IEEE Trans. MTT, 9/2000]
[W.Beyene, J.Schutt-Aine, IEEE Trans. CPMT, Vol.21, 3/1998]
[K.L.Choi, M.Swaminathan, IEEE Trans. CAS II, vol.47, 4/2000]
[J.Morsey, A.C.Cangellaris, Proc. EPEP, 2001]
[… many, many, many others…]
A matrix of rational functions is fitted to the samples of a network function matrix (e.g. the Y matrix)
Identification methods
29
57S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Pencil of Functions[Y.Hua, T.Sarkar, IEEE Trans. AP, vol.37, 2/1989]
Time-domain data
Estimates model poles by fitting a sum of exponential functions to the samples of transient port responses
Poles obtained as eigenvalues of a generalized eigenvalue problem
Automatic order estimation
Identification methods
58S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Subspace-based State-Space System Identification methods (4SID)[M. Viberg, Automatica, 12/1995]
[T.McKelvey, H.Akcay, L.Ljung, IEEE Trans. AC, vol.41, 7/1996]
Based on projections of data onto orthogonal subspaces, leading to direct state-space estimation
Built-in automatic order estimation (based on SVD)
Available in both time and frequency domain
Equivalent to Pencil of Functions methods
Identification methods
30
59S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Nevanlinna-Pick Interpolation
[C.P.Coelho, J.R.Phillips, L.M.Silveira, Proc. DATE 2002]
Interpolation of samples of the scattering matrix with a (unitary bounded) matrix rational function
Nice theoretical properties
Very complex
Leads to models with large dynamical order
Identification methods
60S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Vector Fitting[B.Gustavsen, A. Semlyen, IEEE Trans. PD, vol.14, 7/1999]
Performs data fitting with rational functions avoiding nonlinear optimization
Iterative process converging to the dominant poles
Available for both time and frequency domain
Identification methods
31
61S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Identification methods are not expected to work for every possible problem
Any method performs well for a certain class of identification problems
Vector Fitting is selected here as one of the most promising methods for a wide range of applications
Identification methods
62S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
32
63S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Frequency-domain macromodeling
IDENTIFICATION
0 5 10 15 20 25 300
0.5
1Magnitude
0 5 10 15 20 25 30-5
0
5Phase
Frequency [GHz]
S(1,1)S(8,1)
S(1,1)S(8,1)
Model identification from frequency-domain responses
64S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Frequency-Domain full-wave simulation
(MoM, FEM, …)
Frequency tables of transfer matrix
(S, Y, Z, …)
0 5 10 15 20 25 300
0.5
1Magnitude
0 5 10 15 20 25 30-5
0
5Phase
Frequency [GHz]
S(1,1)S(8,1)
S(1,1)S(8,1)
33
65S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Time-Domain full-wave simulation (FIT, FDTD)
FFT postprocessing
Frequency tables of transfer matrix
(S, Y, Z, …)
0 5 10 15 20 25 300
0.5
1Magnitude
0 5 10 15 20 25 30-5
0
5Phase
Frequency [GHz]
S(1,1)S(8,1)
S(1,1)S(8,1)
66S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Direct VNA measurement
Frequency tables of transfer matrix (S)
0 5 10 15 20 25 300
0.5
1Magnitude
0 5 10 15 20 25 30-5
0
5Phase
Frequency [GHz]
S(1,1)S(8,1)
S(1,1)S(8,1)
34
67S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Approximation
∞=
+−
= ∑ Hps
RsHN
n n
n
1
)(
Unknowns:• Poles pn• Residues Rn• Constant H∞
ωj
σ
Frequency-Domain Macromodeling
Fitting condition
kjHjH kk ∀≈ ),(ˆ)( ωω
Input data KkjH k ,,1),(ˆ K=ω
68S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Frequency-Domain Macromodeling
Direct fitting condition: nonlinear!
kjHHpj
Rk
N
n nk
n ∀≈+− ∞
=∑ ),(ˆ
1
ωω
• Nonlinear dependence on poles• Requires nonlinear optimization(e.g. nonlinear least squares)
• Convergence problems (local minima, etc…)
35
69S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Frequency-Domain Macromodeling
B. Gustavsen, A. Semlyen, ``Rational approximation of frequencyresponses by vector fitting'', IEEE Trans. Power Delivery,Vol.14, July 1999, pp.1052-1061
Vector Fittingavoids nonlinear optimization
Direct fitting condition: nonlinear!
kjHHpj
Rk
N
n nk
n ∀≈+− ∞
=∑ ),(ˆ
1
ωω
70S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Weight function
• w(s) is unitary for s→∞• poles qn are fixed a priori• residues cn are unknown
1)(1
+−
= ∑=
N
n n
n
qscsw
Frequency-Domain Vector Fitting
Approximation
∞=
+−
= ∑ Hps
RsHN
n n
n
1
)(
Input data KkjH k ,,1),(ˆ K=ω
Vector Fitting condition
∞=
+−
≅ ∑ Hqs
csHswN
n n
n ~~)()(
1
The poles ofw(s) H(s)
are qn only!
36
71S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Weight function
There are N zeros zn
∏
∑
=
=
−−
=
+−
=
N
n n
n
N
n n
n
qszs
qscsw
1
1
)()(
1)(
Frequency-Domain Vector Fitting
Approximation
∞=
+−
=∑ Hps
RsHN
n n
n
1
)(
Input data KkjH k ,,1),(ˆ K=ω
Vector Fitting condition
∞=
+−
≅ ∑ Hqs
csHswN
n n
n ~~)()(
1
nn zp ≅
72S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Frequency-Domain Vector Fitting
Input data
KkjH k ,,1),(ˆ K=ω
Weight function
1)(1
+−
= ∑=
N
n n
n
qscsw
∞==
+−
≅
+− ∑∑ H
qjcjH
qjc N
n nk
nk
N
n nk
n ~~)(ˆ1
11 ωω
ω
Vector Fitting condition
∞=
+−
≅ ∑ Hqs
csHswN
n n
n ~~)()(
1
37
73S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Poles of H(s)
Unknowns
~,~, ∞Hcc nn
∞==
+−
≅
+− ∑∑ H
qjcjH
qjc N
n nk
nk
N
n nk
n ~~)(ˆ1
11 ωω
ω
Frequency-Domain Vector Fitting
Linear least squares problem: easy to solve!
∏∑== −
−=+
−=
N
n n
nN
n n
n
qszs
qscsw
11 )()(1)(
74S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Poles of H(s)
Theorem: the zeros zn are the eigenvalues of
where
Frequency-Domain Vector Fitting
∏∑== −
−=+
−=
N
n n
nN
n n
n
qszs
qscsw
11 )()(1)(
TcbAQ −=
TN
Tn
ccc
q
)()111(
diag
21 L
L
=
=
=
cb
A
38
75S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Pole relocation
Starting poles
qn
of w(s)
New poles
pn
of H(s)
Iteration for pole convergence
76S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Ωj
Ω− j
Ω−
Choice of starting poles
Uniform coverage of approximation bandwidth
ωj
σ
Real poles
Complex poles
39
77S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Vector Fitting: residues
Approximation
∞=
+−
= ∑ Hps
RsHN
n n
n
1
)(
Input data KkjH k ,,1),(ˆ K=ω
Fitting condition
kjHjH kk ∀≈ ),(ˆ)( ωω Another linearleast squares problem!
Residues Rn and constant H∞
78S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1: 18 random poles/residues
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles
40
79S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1
103 104 105100
101
102
103
ω
|H(jω)|
80S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles
True Initial poles
41
81S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles
True Approx
82S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1
103 104 105100
101
102
103
ω
|H(jω)|
Exact Approx
42
83S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1
103 104 105-200
-150
-100
-50
0
50
100
150
200
ω
H(jω), phase
Exact Approx
84S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
Same 18-pole rational function
Reduced-order fitting (12th order)
43
85S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles
True Approx
86S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 1
True Approx
44
87S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 2
True Approx
88S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 3
True Approx
45
89S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 4
True Approx
90S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 5
True Approx
46
91S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2
103 104 10510-2
10-1
100
101
102
103
ω
|H(jω)|
Exact Approx
92S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
Same 18-pole rational function
Reduced-order fitting (12th order)
Different starting poles (real poles)
47
93S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
-10 -8 -6 -4 -2 0x 104
-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles
True Initial poles
Example 3
Uniform coverage of bandwidth
94S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 1
True Approx
48
95S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 2
True Approx
96S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 3
True Approx
49
97S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 4
True Approx
98S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
-5000 -4000 -3000 -2000 -1000 0-1
-0.5
0
0.5
1 x 105
Real(s)
Imag
(s)
Poles: iteration 5
True Approx
50
99S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3
103 104 10510-2
10-1
100
101
102
103
ω
|H(jω)|
Exact Approx
100S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
RealImag
Example 4
100001.0)(
++
=s
ssH
Non-rationalsmooth function
51
101S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
Real, Exact Imag, Exact Real, ApproxImag, Approx
1 pole
102S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
Real, Exact Imag, Exact Real, ApproxImag, Approx
2 poles
52
103S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
Real, Exact Imag, Exact Real, ApproxImag, Approx
3 poles
104S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
Real, Exact Imag, Exact Real, ApproxImag, Approx
4 poles
53
105S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
10-2 100 102 1040
0.2
0.4
0.6
0.8
1
ω
H(jω)
Real, Exact Imag, Exact Real, ApproxImag, Approx
Example 4
5 poles
106S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 5: MCM-board connector
54
107S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 5: MCM-board connector
Data: 10-port structure, frequency-domain S-matrix
108S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 5: MCM-board connector
10-2 10-1 100 10110-6
10-4
10-2
100Scattering parameters (magnitude)
10-2 10-1 100 101-4
-2
0
2
4
Frequency [GHz]
Scattering parameters (phase)
55
109S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 5: MCM-board connector
Macromodel: 4-poles
Error: 0.1%
110S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 5: MCM-board connector
10-3
10-2
10-1
100
101-80
-60
-40
-20
0Scattering matrix entries, magnitude (dB)
10-3
10-2
10-1
100
10120
40
60
80
100Scattering matrix entries, phase (degrees)
Frequency [GHz]
S(1,1), dataS(1,1), model
S(1,1), dataS(1,1), model
10-3
10-2
10-1
100
101-1.5
-1
-0.5
0Scattering matrix entries, magnitude (dB)
10-3
10-2
10-1
100
101-60
-50
-40
-30
-20
-10
0Scattering matrix entries, phase (degrees)
Frequency [GHz]
S(6,1), dataS(6,1), model
S(6,1), dataS(6,1), model
56
111S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 6: stripline+lauches
Data: measured S-parameters
0 5 10 15 20 25 30 35 400
0.2
0.4
0.6
0.8
1Scattering matrix entries, magnitude
0 5 10 15 20 25 30 35 40-4
-2
0
2
4Scattering matrix entries, phase
Frequency [GHz]
S(1,1), dataS(1,1), modelS(2,1), dataS(2,1), model
112S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 6: stripline+lauches
Macromodel: 60 poles
0 5 10 15 20 25 30 35 400
0.2
0.4
0.6
0.8
1Scattering matrix entries, magnitude
0 5 10 15 20 25 30 35 40-4
-2
0
2
4Scattering matrix entries, phase
Frequency [GHz]
S(1,1), dataS(1,1), modelS(2,1), dataS(2,1), model
57
113S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 7: PCB path, measured
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
0
0.2
0.4
0.6
0.8
1Scattering matrix entries, magnitude
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
-4
-2
0
2
4Scattering matrix entries, phase
Frequency [MHz]
S(3,1), dataS(3,1), model
S(3,1), dataS(3,1), model
VF with frequency-selective weighting
114S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 7: PCB path, measured
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
0
0.05
0.1
0.15
0.2Scattering matrix entries, magnitude
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
-4
-2
0
2
4Scattering matrix entries, phase
Frequency [MHz]
S(4,1), dataS(4,1), model
S(4,1), dataS(4,1), model
VF with frequency-selective weighting
58
115S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 8: Connector, measuredVF with frequency-selective weighting
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
0
0.2
0.4
0.6
0.8
1Scattering matrix entries, magnitude
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 104
-4
-2
0
2
4Scattering matrix entries, phase
Frequency [MHz]
S(1,1), dataS(1,1), modelS(3,1), dataS(3,1), model
S(1,1), dataS(1,1), modelS(3,1), dataS(3,1), model
116S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Vector Fitting: summary
• Tool for frequency-domain rational approximation
• rational transfer functions (system identification)
• rational transfer functions (reduced-order modeling)
• non-rational transfer functions
• Data from full-wave simulations• Direct frequency-domain measurements
59
117S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Vector Fitting: summary
• Very accurate and robust
• Only linear least squares + eigenvalues required
• Stability is not guaranteed
• can be fixed by flipping real part during relocation
• Passivity is not guaranteed
• can be fixed a posteriori (see later)
www.energy.sintef.no/produkt/VECTFIT/home.asp
118S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
60
119S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-domain macromodeling
IDENTIFICATION
Model identification from time-domain responses
0 0.5 1 1.5 2 2.5 3 3.5 4x 10-10
-0.2
0
0.2
0.4
0.6
0.8
1
Transient scattering responses
Time [s]
ain(1)bout(1,1)bout(2,1)bout(3,1)bout(4,1)
120S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Time-Domain full-wave simulation (FIT, FDTD)
Port responses to transient excitations (usually gaussian) 0 0.5 1 1.5 2 2.5 3 3.5 4
x 10-10-0.2
00.20.40.60.8
1
Transient scattering responses
Time [s]
ain(1)bout(1,1)bout(2,1)bout(3,1)bout(4,1)
61
121S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Time-Domain full-wave simulation (FIT, FDTD)
Truncated waveforms from short FDTD runs
Port responses to transient excitations (usually gaussian)
0 0.5 1 1.5 2x 10
-8
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Transient scattering responses
Time [s]
bout(2,1)
122S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Possible scenarios
Time-domain measurements
(work in progress)
Port responses to transient excitations (usually gaussian)
62
123S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Macromodeling
domaint)( −tx
Input pulse
domaint)( −ty
Output responses
∑ −+≈ ∞
n n
n
pss RHH )(
)()()( sss XHY =
Transfer function
Rational approximation Unknowns:• Poles pn• Residues Rn• Constant H∞
124S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Vector Fitting
Step 1. Find the dominant poles via “relocation”
ωj
σGuess poles
qn New poles
pn
Iterative refinement
How to do it using time-domain data?
How to insure convergence to the right poles?
63
125S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Vector Fitting
1a. Start with initial poles: qn
ωj
σ
∑ −+=
n n
n
qsksw 1)(
1b. Define weight function: unknown kn
1c. Assume the following condition
∑ −+=
n n
n
qsbassw )()( H
Starting poles
Poles of H(s) = Zeros of w(s)
126S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Vector Fitting
∑ ∑+=+n n
nnnn tbtatkt )()()()( xxyy
∑ −+=
n n
n
qsbassw )()( H
)()()( sqs
basswn n
n XY
−
+= ∑
Apply the input pulse X(s)
Compute inverse Laplace transform
∫ −=t
0
)( )()( τττ det tqn
n xx ∫ −=t
0
)( )()( τττ det tqn
n yy
Low-pass filtered input and output signals
64
127S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Vector Fitting
1d. Solve a linear least squares system for kn , a , bn
∑ ∑+=+n n
nnnn tbtatkt )()()()( xxyy
1e. Compute the zeros pn of the weight function
∑ −+=
n n
n
qsksw 1)(
∏∏
−
−=
n n
n n
qsps
)()(
These are the dominant poles!
ωj
σ
S. Grivet-Talocia, “Package Macromodeling via Time-Domain Vector Fitting”, IEEE Microwave Wireless Comp. Lett., Nov. 2003
128S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Time-Domain Vector Fitting
Step 2. Compute the residues
∫ −=t
0
)( )()(~ τττ det tpn
n xx
∑+= ∞n
nn ttt )(~)()( xRxHy
2a. Low-pass filter input signals with new poles
2b. Solve a linear least squares system for Rn and H∞
65
129S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Transient waveformFDTD Resampled
Spectrum
Time Frequency
Effective bandwidth
FDTD Nyquistfrequency
Nyquist frequency of resampled waveform =
Subsampling
130S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1: single via
Raw data:Triangle Impulse Responses obtained by a transient PEEC solver (by Dr. Ruehli, IBM)
0 0.05 0.1 0.15 0.2-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Time [ns]
Transient responsesb
11, raw
b11
, modelb
21, raw
b21
, model
66
131S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0 0.5 1 1.5 2x 10
-8
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Transient scattering responses
Time [s]
bout(2,1)
Example 2: segmented power bus
• 2-port structure• Time-Domain solution• CST Microwave Studio• Bandwidth: 3 GHz• 50 Ω port terminations
0 0.2 0.4 0.6 0.8 1x 10
-7
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Transient scattering responses
Time [s]
bout(2,1)
132S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 0.5 1 1.5 2x 10
-8
-0.8
-0.6
-0.4
-0.2
0
0.2Transient scattering responses
Time [s]
bout (1,1), databout (1,1), model
80-poles model (Time-Domain Vector Fitting)
67
133S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 0.5 1 1.5 2 2.5 3x 10
9
0
0.5
1Scattering matrix entries, magnitude
0 0.5 1 1.5 2 2.5 3x 10
9
-5
0
5Scattering matrix entries, phase
Frequency [Hz]
S(1,1), dataS(1,1), model
S(1,1), dataS(1,1), model
Comparison vs. frequency-domain scattering data
134S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
Full-wave simulation time (CST) to compute…
… frequency scattering data: 60 hours
(wait until transients are finished for reliable FFT)
… macromodel: 6 hours
(can use truncated waveforms for TD-VF)
68
135S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3: 42-pin connector
0 0.5 1 1.5 2x 10-9
0
0.5
1
Transient scattering responses
Time [s]
ain(1)ain(2)ain(14)ain(28)bout(1,1)bout(1,2)bout(11,14)bout(12,14)bout(13,14)bout(14,14)bout(25,28)bout(26,28)bout(27,28)bout(28,28)
3x14 pins, 84 portsCharacterized via FIT(CST Microwave Studio 4)(Courtesy: Erni - AdMOS)
136S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Handling many ports
∑ ∑+=+n n
nnnn tbtatkt )()()()( xxyy
Processing all responses may lead to a large system!
∑∑ −+=
−
+n n
n
n n
n
qsbas
qsk )(1 H
Time-Domain Vector Fitting
Frequency-Domain Vector Fitting
Ports
Por
ts
Sample
s
69
137S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Handling many ports
1. Split port responses into subsets
)(matrixTransfer sH )(Subsets skh
138S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Handling many ports
2. Macromodel each subset via FD-VF or TD-VF
∑ −+≈ ∞
n nk
nkkk ps
s,
,,)(
rhh
Partial state-space representation
+=+=
kkkkk
kkkkk
xDwCyxBwAw&
70
139S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Handling many ports
4. Assemble all partial models into a global model
+=+=
xDwCyxBwAw&
A B
C D
All matrices can be constructed as sparse!
Ak
Ck
Bk
Dk
140S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Handling many ports
4. Assemble all partial models into a global model
+=+=
xDwCyxBwAw&
A B
C DCk
Dk
All matrices can be constructed as sparse!
71
141S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3: 42-pin connector
0 0.5 1 1.5 2x 10-9
0
0.5
1
Transient scattering responses
Time [s]
ain(1)ain(2)ain(14)ain(28)bout(1,1)bout(1,2)bout(11,14)bout(12,14)bout(13,14)bout(14,14)bout(25,28)bout(26,28)bout(27,28)bout(28,28)
3x14 pins, 84 portsCharacterized via FIT(CST Microwave Studio 4)(Courtesy: Erni - AdMOS)
142S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3: model order selection
Automatic (iterative) order selection on each of the 84 subsets of port responses (reduced model complexity)
72
143S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3: macromodel accuracy
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2x 10-9
-0.2
0
0.2
0.4
0.6
0.8
1
1.2Transient scattering responses- transmitted
Time [s]
ain(2)ain(14)ain(28)bout(1,2), databout(1,2), modelbout(13,14), databout(13,14), modelbout(27,28), databout(27,28), model
144S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 3: macromodel accuracy
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6x 10-9
-0.01
-0.005
0
0.005
0.01
Transient scattering responses - Xtalk
Time [s]
bout(19,22), databout(19,22), modelbout(20,22), databout(20,22), modelbout(25,28), databout(25,28), modelbout(26,28), databout(26,28), model
73
145S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: 14-pin package
0 0.5 1 1.5 2 2.5 3 3.5 4x 10-10
-0.2
0
0.2
0.4
0.6
0.8
1
FDTD transient scattering responses
Time [s]
ain(1)bout(1,1)bout(2,1)bout(3,1)bout(4,1)
1 35
14-pin SOIC packageSimplified CAD for FDTDBandwidth: 40 GHz50 Ω port terminations
146S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: macromodel responses
0 0.5 1 1.5 2 2.5 3 3.5x 10-10
-0.2
0
0.2
0.4
0.6
0.8
1
1.2Transient scattering responses
Time [s]
ain(1)bout(1,1), databout(1,1), modelbout(2,1), databout(2,1), modelbout(3,1), databout(3,1), modelbout(4,1), databout(4,1), model
No visible difference between data and model
74
147S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: macromodel responsesLines: raw data Dots: TDVF macromodel
No visible difference between data and model
148S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: macromodel accuracy
Maximum deviation between model and data for all 28x28 responses
Largest:0.00074
TD-VF produces highly accurate macromodels
75
149S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Macromodel properties
AccuracyGood initial data ⇒ small approximation errors
StabilityAll poles with negative real part
PassivityThe macromodel may not be passive
150S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: change terminations
Port terminations:R = 50 mΩ ÷ 50 ΩL = 1 nHC = 1 pF 0 0.5 1 1.5 2
x 10-9
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08Effects of passivity violation
Time [s]
Cap
acito
r cur
rent
[mA
]
Macromodelmay become
unstable!
76
151S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
152S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity conditions
aj ak
bj bk
BAICDH 1)()( −−+= ss
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
+=+=
xDwCyxBwAw&
Scattering matrix: must be bounded real
A strictly stable
77
153S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity conditionsScattering representation
0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
1.2
1.4S
ingu
lar v
alue
s of
HPassivity violation intervals
Frequency (normalized)
154S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity conditions
vj vk
ij ik
BAICDH 1)()( −−+= ss
( ) ωωω ∀≥+ ,)()(ofseigenvalue 0HH jj H
Admittance representation
+=+=
xDwCyxBwAw&
Admittance matrix: must be positive real
+_
+_
A strictly stable
78
155S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity conditionsAdmittance representation
0 0.2 0.4 0.6 0.8-0.5
0
0.5
1
1.5E
igen
valu
es o
f H+H
HPassivity violation intervals
Frequency (normalized)
156S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
Several techniques can be used
Frequency sweep test: most straightforward
• Choose a set of frequency samples
• Compute H and its singular values, and check
• Time-consuming for large models
• May give wrong answers due to poor sampling
79
157S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
Equivalent purely algebraic conditions:
• Linear Matrix Inequalities (LMI)
• Albegraic Riccati Equations (ARE)
• Eigenvalues of Hamiltonian matrices
S. Boyd, L. El Ghaoui, E. Feron, V. Balakrishnan, “Linear Matrix Inequalities in System and Control Theory, SIAM, Philadelphia, 1994
158S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
Linear Matrix Inequality (LMI)
0, >=≤
−++++
PPP0IDDCDPBDCPBCCPAPA T
TTT
TTT
Real matrix P is the variable
80
159S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
Algebraic Riccati Equation (ARE)
( )( ) ( )T
TTTTTT
PP0DCPBDDIDCPBCCPAPA
=
=+−++++−1
Real matrix P is the variable
160S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
ωω ∀≤ ,)(ofvaluessingular 1H j
Scattering representation
Eigenvalues of Hamiltonian matrix
( ) ( )( ) ( )
−+−−−−−−= −−
−−
TTTTTT
TTTT
BIDDDCACIDDCBIDDBCDIDDBAM 11
11
Real matrix M must have no imaginary eigenvalues
81
161S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
-0.2 -0.1 0 0.1 0.2 0.3-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1Eigenvalues of Hamiltonian matrix
Real
Imag
0 0.2 0.4 0.6 0.8 10.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
Sin
gula
r val
ues
of H
Passivity characterization
Frequency (normalized)
Theorem [Boyd, Balakrishnan, Kabamba, 1989])(ofvaluesingularais1ofeigenvalueanis 00 ωσω jj HM =⇔
Scattering representation
162S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
0 0.2 0.4 0.6 0.8 1 1.20
0.2
0.4
0.6
0.8
1
Sin
gula
r val
ues
of H
Passivity violation intervals
Frequency (normalized)
The slope allows to count the number of singular values exceeding the threshold in each frequency band.
Scattering representation
82
163S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Checking passivity
First-order perturbation of Hamiltonian eigenvalues
w,v: Left and right eigenvectors of M associated to
′=
vMwvw
T
T
Slope Im
0ω ω
1
M’: Another Hamiltonian matrix (computed via A,B,C,D)
Svals
Scattering representation
0ω
164S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: change terminations
Port terminations:R = 50 mΩ ÷ 50 ΩL = 1 nHC = 1 pF 0 0.5 1 1.5 2
x 10-9
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08Effects of passivity violation
Time [s]
Cap
acito
r cur
rent
[mA
]
Macromodelmay become
unstable!
83
165S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passivity characterization
0 1 2 3 4 5x 1010
0
0.2
0.4
0.6
0.8
1
Sin
gula
r val
ues
Passivity characterization
Frequency [Hz]
166S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passivity characterization
4 4.1 4.2 4.3 4.4 4.5 4.6 4.7x 1010
0.96
0.98
1
1.02
1.04
1.06
1.08
Sin
gula
r val
ues
Passivity characterization
Frequency [Hz]
84
167S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passivity characterization
0 1 2 3 4 5x 1010
0
0.2
0.4
0.6
0.8
1
Sin
gula
r val
ues
Passivity characterization
Frequency [Hz]
168S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passivity characterization
0 1 2 3 4 5 6 7x 109
0.998
0.9985
0.999
0.9995
1
1.0005
1.001
1.0015
1.002
Sin
gula
r val
ues
Passivity characterization
Frequency [Hz]
85
169S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity enforcement
+=+=
xDwCyxBwAw&
• Generate a new passive macromodel
• Apply small correction to preserve accuracy
• original dataset should be passive
• original macromodel should be accurate
• (usually) preserve poles
++=+=
xDwdCCyxBwAw
)(&
170S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Passivity enforcement
Several different approaches are possible. Examples are
Quadratic/convex optimization[B.Gustavsen, A.Semlyen: IEEE Trans. Power Systems, vol.16, 2001][C.P.Coelho, J.Phillips, L.M.Silveira, IEEE Trans. CADICAS, vol.23, 2004]
Trace parameterization/Semi-Definite Programming[H.Chen, J.Fang: Proc. EPEP, 2003]
Perturbation of residues[D.Saraswat, R.Achar, M.Nakhla: Proc. EPEP, 2003]
Perturbation of Hamiltonian eigenvalues[S.Grivet-Talocia: Proc. SPI, 2003 and IEEE Trans. CAS (in press)]
Many others… Hot research topic!
86
171S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Perturbation of Hamiltonian Eigs
2ω
1ω
1ω 2ω
1
0
σ
ω Re
Im
Singular values of H Eigenvalues of M
172S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Perturbation of Hamiltonian Eigs
2ω
1ω
1ω 2ω
1
0
σ
ω Re
Im
Singular values of H Eigenvalues of M
87
173S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Perturbation of Hamiltonian Eigs
2ω
1ω
1ω 2ω
1
0
σ
ω Re
Im
Singular values of H Eigenvalues of M
174S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Perturbation of Hamiltonian Eigs
First-order perturbation of eigenvalues (again)
+=+=
uDxCyuBxAx&
( ) mTmmmm
Tm j vwvdMw ωω −≈ ~
dCCC +=~Perturb state matrix C
Linear constraint on the correction matrix dC
(first-order: dM is linear in dC)dMMM +≈~
88
175S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Related tocontrollabilityGramian
Perturbation of Hamiltonian Eigs
Iterate
Until passive
Entries in matrix dC
Perturbations ofeigenvalues
Minimizes the perturbation on the original responses
Linear coefficients
cQcTminrcZ =
176S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Preserve accuracy of macromodel
( )∑ ∫∞
−ji
jiji tthth, 0
2
,, d)()(~
Induced perturbation in the impulse responses
Weighted norm of state matrix perturbation
W: controllability Gramian
Minimize this norm !
TT BBWAAW −=+
2|||| FTdCWdC=
89
177S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passivity compensation
178S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4 : passivity compensation
0 0.5 1 1.5 2x 10-9
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08Passivity compensation
Time [s]
Cap
acito
r cur
rent
[mA
]
Non passive macromodelPassive macromodel
Port terminations:R = 50 mΩ ÷ 50 ΩL = 1 nHC = 1 pF
90
179S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 4: passive macromodel
0 0.5 1 1.5 2 2.5 3 3.5 4x 10-10
-0.16
-0.14
-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
Time [s]
Far End Xtalk
Scat
terin
g W
aves
Raw dataPassive model
0 0.5 1 1.5 2 2.5 3 3.5 4x 10-10
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Time [s]
Near End Xtalk
Scat
terin
g W
aves
Raw dataPassive model
Raw data Macromodel
Passive macromodel
180S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1: single via, nonpassive
Raw data:Triangle Impulse Responses obtained by a transient PEEC solver (by Dr. Ruehli, IBM)
0 5 10 15 20 25 300.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
Sin
gula
r val
ues
Passivity characterization
Frequency [GHz]0 0.05 0.1 0.15 0.2
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Time [ns]
Transient responsesb11, rawb
11, model
b21, rawb21, model
91
181S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 1: single via, passive
Raw data:Triangle Impulse Responses obtained by a transient PEEC solver (by Dr. Ruehli, IBM)
0 5 10 15 20 25 300.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
Sin
gula
r val
ues
Passivity characterization
Frequency [GHz]0 0.05 0.1 0.15 0.2
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Time [ns]
Transient responsesb11, rawb11, modelb21, rawb
21, model
182S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
0 0.5 1 1.5 2x 10
-8
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Transient scattering responses
Time [s]
bout(2,1)
Example 2: segmented power bus
• 2-port structure• Time-Domain solution• CST Microwave Studio• Bandwidth: 3 GHz• 50 Ω port terminations
0 0.2 0.4 0.6 0.8 1x 10
-7
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1Transient scattering responses
Time [s]
bout(2,1)
92
183S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 1 2 3 4 5
x 109
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Sing
ular
val
ues
of S
catte
ring
mat
rix
Passivity violation intervals according to Hamiltonian test
Frequency [Hz]
Passivity characterization
184S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 1 2 3 4 5
x 109
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Sing
ular
val
ues
of S
catte
ring
mat
rix
Passivity violation intervals according to Hamiltonian test
Frequency [Hz]
Passivity compensation
93
185S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 0.5 1 1.5 2x 10
-8
-0.8
-0.6
-0.4
-0.2
0
0.2Transient scattering responses
Time [s]
bout(1,1), databout(1,1), model
80-poles passive model
186S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Example 2: segmented power bus
0 0.5 1 1.5 2 2.5 3x 10
9
0
0.5
1Scattering matrix entries, magnitude
0 0.5 1 1.5 2 2.5 3x 10
9
-5
0
5Scattering matrix entries, phase
Frequency [Hz]
S(1,1), dataS(1,1), model
S(1,1), dataS(1,1), model
Comparison vs. frequency-domain scattering data
94
187S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
308 poles, 11 ports
More examples…
Compensation
Compensation
Compensation
Accuracy
Accuracy
Accuracy
110 poles, 5 ports
41 poles, 2 ports
188S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Outline
• Introduction• Macromodeling approaches for 3D Interconnects• Model Order Reduction methods
• PRIMA• Model Identification methods
• Frequency-Domain Vector Fitting• Time-Domain Vector Fitting• Passivity characterization and enforcement
• SPICE synthesis
95
189S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Macromodel implementation
1. Synthesize an equivalent circuit in SPICE format
No access to SPICE kernel
Must use standard circuit elements
2. Direct SPICE implementation via recursive convolution
Laplace element, most efficient
3. Other languages for mixed-signal analyses
Verilog-AMS, VHDL-AMS, …
Equation-based
Main approaches
190S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
SPICE synthesis
+=+=
vdwcivbwaw&
1−− a
1vb ⋅v
wc ⋅i
w
vd ⋅
Admittance representation
One-port, one-pole
96
191S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
SPICE synthesis
+=+=
xdwcyxbwaw&
1−− a
1xb ⋅v
wc ⋅i
w
xd ⋅
Scattering representation
One-port, one-pole
ivGyivGx −=+= 00 ,
0G
192S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
SPICE synthesis
+=+=
vdiv
wcbwAw&
1vb ⋅1
v
11 wc ⋅
i 1wvd ⋅
Admittance representation
One-port, two-poles (complex)
1−−α
1vb ⋅2
2w22 wc ⋅
1w⋅β
2w⋅ββα jp ±=2,1
97
193S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
SPICE synthesis
+=+=
vDwCivBwAw&
1v
1i
Admittance representation
General state-space synthesis
Pv
Pi
1w
Nw
194S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
∑ ∫ −+=n
ttp
nnett
0
)( d)()()( τττ xRDxy
Recursive convolutions
∑ −+=−+= −
n n
n
psss RDBAICDH 1)()(
)()()( tuettn
tpn
n∑+= RDh δ
98
195S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
Recursive convolutions
∫ −=k
k
ttp
k et0
)( d)()(~ τττ xy
)(1)(~1 k
tp
ktp t
pete
kk xy
∆
−∆ −
+≈
∫∫−
−−− +=
k
k
k
k
k
t
t
tpt
tp ee1
1
d)(d)( )(
0
)( ττττ ττ xx
∫∫−
−
− −−∆ +=k
k
k
k
kk
t
t
tpt
tptp eee1
1
1 d)(d)( )(
0
)( ττττ ττ xx
Discrete timekkk ttt ∆+= −1
Approximation!
196S. Grivet-Talocia, SPI tutorial, 9 May 2004
E CGROUP
The macromodeling dream…
Arbitrary characterization of the structure
• Equation-based or Black-Box
• Time or frequency, simulation or measurement
Generation of a broadband macromodel
• Any order, any number of ports
• Any prescribed accuracy
• Stable and passive by construction
• Efficient (reduced-order and low-complexity)
• Fully automatic