characterization and macromodeling of 3d interconnects · 2013-07-11 · 5 s. grivet-talocia, spi...

98
1 S. Grivet-Talocia, SPI tutorial, 9 May 2004 E C GROUP Characterization and Macromodeling of 3D Interconnects S. Grivet-Talocia Politecnico di Torino, Italy [email protected] http://www.eln.polito.it/research/emc 2 S. Grivet-Talocia, SPI tutorial, 9 May 2004 E C GROUP Introduction

Upload: others

Post on 08-Jul-2020

1 views

Category:

Documents


0 download

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

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

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

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

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