Accelerating time domain simulations of PLLs

advertisement
Accelerating time domain
simulations of PLLs
Giovanni De Luca
Dept. of Mathematics and Computer Science,
Technische Universiteit Eindhoven, Eindhoven (NL)
May 10, 2016
G. De Luca - SPI2016 (Turin)
Where innovation starts
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
2/25
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
2/25
Introduction: The Project
ASIVA14:
Analog SImulation and Variability Analysis for 14nm designs
http://www.itn-asiva14.eu
/ G. De Luca - SPI2016 (Turin)
3/25
Introduction: Nearly-Periodic Circuits
Nearly-periodic circuits: PLLs, SMPSs, ∆ − Σ modulators
/ G. De Luca - SPI2016 (Turin)
4/25
Introduction: Nearly-Periodic Circuits
Slow/fast-varying, analog/digital-like waveforms
Need of accurate pre/post-layout SPICE simulations
Noise-free and noisy time simulations required
Slow Time-to-Market
/ G. De Luca - SPI2016 (Turin)
5/25
Introduction: PLLs
/ G. De Luca - SPI2016 (Turin)
6/25
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
7/25
Motivation: The Problem
Solve for t ∈ [t0 , tend ] set of DAEs (from KCLs)
 dq(x(t))

 dt + i(x(t)) = b(t) + bnoise (t)

x(t ) = x ∈ Rn
0
0
Designers need to extract:
-
Power consumptions (components/battery’s life)
Locking time (PLL’s proper working condition)
Phase noise (spectral purity)
Jitter (time domain signal’s purity)
Even if n relatively small, D&V process might take
weeks/months for accurate transistor-level simulations
/ G. De Luca - SPI2016 (Turin)
7/25
(1)
Motivation: State-of-the-Art
8/25
Behavioral simulation:
- “Analysis of VCO phase noise in charge-pump PLLs”, Maffezzoni
and Levantino, 2012
- “TP-PPV: piecewise nonlinear, time-shifted oscillator macromodel
extraction for fast, accurate PLL simulation”, Lai and
Roychowdhury, 2006
Transistor-level simulation:
- “General envelope-transient formulation of PLLs using three time
scales”, Sancho et al., 2004
- “Adaptive multi-rate wavelet method for circuit simulation”,
Bittner and Brachtendorf, 2014
Unique, automated method for complete D&V process is desired
/ G. De Luca - SPI2016 (Turin)
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
9/25
Innovation
Unique method to extract all factors of interest
As accurate as and faster than transistor-level simulation
Targeted to industrial integer-N PLLs (with high N)
/ G. De Luca - SPI2016 (Turin)
9/25
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
10/25
Methodology: Ingredients
Goal: Reduce number of time steps during simulation (due
to highest signal’s frequency)
Method relies on oscillators’ perturbation theory (phase
deviation dominates, [Demir et al., 2000]):
- deterministic perturbation on vc (t)
- stochastic perturbations (noise) on each oscillator’s
node/component
Replace VCO and divider (VCODIV) with phase
macromodel ⇒ remove the highest signal’s frequency
/ G. De Luca - SPI2016 (Turin)
10/25
Methodology: Phase Macromodel
/ G. De Luca - SPI2016 (Turin)
11/25
Methodology: Phase Macromodel
/ G. De Luca - SPI2016 (Turin)
11/25
Methodology: Phase Macromodel
/ G. De Luca - SPI2016 (Turin)
11/25
Methodology: Phase Macromodel’s Interfaces
12/25
Equivalent current/voltage sources at VCODIV’s pins
Given a VCODIV steady-state (SST) solution i(t) = i(t + Tout ), Tout > 0, then
√

PNh

i(t + j(t)) = k=−N
Ik e −1k·θtot (t)


h



θ (t) = 2π fout · t + ∆θ(t)

 tot

∆θ(t) = 2π f · j(t)
out
/ G. De Luca - SPI2016 (Turin)
Methodology: Phase Macromodel’s Interfaces
13/25
Harmonic Balance computes an SST solution of VCODIV at
specific vc (t) = Vc,sst (Fourier coefficients and oscillating
frequency)
But which Vc,sst ?
And which equation for ∆θ(t) ?
/ G. De Luca - SPI2016 (Turin)
Methodology: Phase Deviation Equation
Building the macromodel before simulation
PLL’s core: fvco VS vc curve
/ G. De Luca - SPI2016 (Turin)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
PLL’s core: fvco VS vc curve
Extract SSTi at vc (t) = Vc,sst,i
/ G. De Luca - SPI2016 (Turin)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
PLL’s core: fvco VS vc curve
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro,i =
/ G. De Luca - SPI2016 (Turin)
∆ fvco,i
∆Vc,sst,i
(local)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
Macromodel’s core: ∆ fvco,i = Kmacro,i · ∆Vc,sst,i
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro,i =
/ G. De Luca - SPI2016 (Turin)
∆ fvco,i
∆Vc,sst,i
(local)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
Macromodel’s core: ∆ωvco,i = 2πKmacro,i · ∆Vc,sst,i
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro,i =
/ G. De Luca - SPI2016 (Turin)
∆ fvco,i
∆Vc,sst,i
(local)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
Macromodel’s core:
d
∆θc,vco (t)
dt
= 2πKmacro,i · ∆Vc,sst,i
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro,i =
/ G. De Luca - SPI2016 (Turin)
∆ fvco,i
∆Vc,sst,i
(local)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
Macromodel’s core:
d
∆θc,vco (t)
dt
= 2πKmacro (Vc,sst,i ) · ∆Vc (t)
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro (Vc,sst,i ) = Kmacro,i and ∆Vc (t) = vc (t) − Vc,sst,i , for
vc (t) ∈ [Vc,l , Vc,l+1 ] (global)
/ G. De Luca - SPI2016 (Turin)
14/25
Methodology: Phase Deviation Equation
Building the macromodel before simulation
Macromodel’s core:
d
∆θc,div (t)
dt
=
2πKmacro (Vc,sst,i )
N
· ∆Vc (t)
Extract SSTi at vc (t) = Vc,sst,i
Oscillator’s sensitivity: Kmacro (Vc,sst,i ) = Kmacro,i and ∆Vc (t) = vc (t) − Vc,sst,i , for
vc (t) ∈ [Vc,l , Vc,l+1 ] (global)
/ G. De Luca - SPI2016 (Turin)
14/25
Methodology: Macromodel’s Equations
PLL’s/Macromodel’s interfaces:
√

P h

i(t + j(t)) = N
Ik e −1k·θtot (t)


k=−N
h

Rt


θ
(t)
=
2π
f
(τ)dτ
+ ∆θc,div (t)
tot
out

0


∆θ(t) = 2π f · j(t)
out
Phase deviation equation:
d
2πKmacro (Vc,sst,i )

· ∆Vc (t)

dt ∆θc,div (t) =
N




∆θc,div (0) = 0



Kmacro (Vc,sst,i ) = Kmacro,i



∆V (t) = v (t) − V
c
c
c,sst,i
Supply currents equation:



IDC (t) = IDC,i + smacro · (vc (t) − Vc,sst,i )

−IDC,i

smacro = VIDC,i+1 −V
c,sst,i+1
c,sst,i
/ G. De Luca - SPI2016 (Turin)
when vc (t) ∈ [Vc,l , Vc,l+1 ]
when vc (t) ∈ [Vc,l , Vc,l+1 ]
15/25
Methodology: Noise Analysis (VCO)
Building the macromodel before simulation
Sθ,vco (∆ f ) =
1
∆f2
·(
c f l,vco
∆f
+ cwh,vco ) (freq domain, power)
Compute c f l,vco and cwh,vco from extracted Sθ,vco (∆ f ) at some ∆ f
Rt
∆θnoise,vco (t) = 2π 0 (n f l,vco (c f l,vco , τ) + nwh,vco (cwh,vco , τ))dτ (time domain)
/ G. De Luca - SPI2016 (Turin)
16/25
Methodology: Noise Analysis (Divider)
Building the macromodel before simulation
Sθ,div (∆ f ) =
c f l,div
∆f
+ cwh,div (freq domain, power)
Compute c f l,div and cwh,div from extracted Sθ,div (∆ f ) at some ∆ f
∆θnoise,div (t) = n f l,div (c f l,div , t) + nwh,div (cwh,div , t) (time domain)
/ G. De Luca - SPI2016 (Turin)
16/25
Methodology: Macromodel’s Equations
PLL’s/Macromodel’s interfaces (with noise):
√

PNh

i(t + j(t)) = k=−N
Ik e −1k·θtot (t)


h

Rt

∆θ
(t)

θtot (t) = 0 2π fout (τ)dτ + ∆θc,div (t) + noise,vco
+ ∆θnoise,div (t)

N


∆θ(t) = 2π f · j(t)
out
Phase deviation equation:

2πKmacro (Vc,sst,i )
d


· ∆Vc (t)

N
 dt ∆θc,div (t) =



∆θc,div (0) = 0


Kmacro (Vc,sst,i ) = Kmacro,i




∆Vc (t) = vc (t) − Vc,sst,i
when vc (t) ∈ [Vc,l , Vc,l+1 ]
Noise equations:
Rt


∆θnoise,vco (t) = 2π 0 (n f l,vco (c f l,vco , τ) + nwh,vco (cwh,vco , τ))dτ




∆θnoise,div (t) = n f l,div (c f l,div , t) + nwh,div (cwh,div , t)




∆θ (t) = N · ∆θ (t) + ∆θ
pll
c,div
noise,vco (t)
/ G. De Luca - SPI2016 (Turin)
17/25
(2)
(3)
(4)
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
18/25
Experiment: Integer-N PLL
N = 25
1271 equations, 1009 active device, BSIM3 model
tend = 20µ sec for noise-free simulation
tend = 1m sec for noise simulation
/ G. De Luca - SPI2016 (Turin)
18/25
Experiment: Integer-N PLL
re f = 100MHz, then sweep to re f = 115MHz
/ G. De Luca - SPI2016 (Turin)
19/25
Experiment: Integer-N PLL
re f = 100MHz, then sweep to re f = 115MHz
/ G. De Luca - SPI2016 (Turin)
19/25
Experiment: Integer-N PLL
re f = 100MHz, then sweep to re f = 115MHz
/ G. De Luca - SPI2016 (Turin)
19/25
Experiment: Integer-N PLL
re f = 100MHz, then sweep to re f = 115MHz
/ G. De Luca - SPI2016 (Turin)
19/25
Experiment: Integer-N PLL
/ G. De Luca - SPI2016 (Turin)
20/25
Experiment: Integer-N PLL
/ G. De Luca - SPI2016 (Turin)
21/25
Experiment: Integer-N PLL
22/25
Table 1: Accuracy of the factors of interest
tlock
PO
PD
DB(Sθ,pll )
Data
1.9739µ
−5.8761m
−2.3510m
1
Macro
1.9740µ
−5.8713m
−2.3156m
2
Error
5 · 10−5 %
8 · 10−4 %
1.5%
≤ 2DB
1
2
[−82.65, −90.00, −109.00] @[1, 10, 100]MHz from fvco .
[−82.40, −88.00, −107.00] @[1, 10, 100]MHz from fvco .
/ G. De Luca - SPI2016 (Turin)
Experiment: Integer-N PLL
23/25
Table 2: Simulation time results
TRAN
# retained steps
tbuild (min)
tsim (min)
speedup
Data
3.7 · 106
-
131
-
Macro
3.8 · 105
1.5
10
11.4x
NOISE
# retained steps
tbuild (min)
tsim (hour)
speedup
8
Data
2.6 · 10
-
338
-
Macro
2.1 · 107
1.5
18.5
18.3x
/ G. De Luca - SPI2016 (Turin)
Outline
Introduction
Motivation
Innovation
Methodology
Experiment
Conclusions & Perspectives
/ G. De Luca - SPI2016 (Turin)
24/25
Conclusions & Perspectives
Conclusions:
- Macromodel built through standard simulator analyses (SST,
Verilog-A)
- Accurate method to extract factors of interest
- Faster than transistor level (for noise analysis, speedup close to
N×)
Next steps:
- Error analysis on the construction of macromodel
/ G. De Luca - SPI2016 (Turin)
24/25
25/25
Thank You
/ G. De Luca - SPI2016 (Turin)
Bibliography (Some)
25/25
“Analysis of VCO phase noise in charge-pump PLLs”, Maffezzoni and
Levantino, 2012
“TP-PPV: piecewise nonlinear, time-shifted oscillator macromodel extraction
for fast, accurate PLL simulation”, Lai and Roychowdhury, 2006
“General envelope-transient formulation of PLLs using three time scales”,
Sancho et al., 2004
“Adaptive multi-rate wavelet method for circuit simulation”, Bittner and
Brachtendorf, 2014
“Phase noise in oscillators: a unifying theory and numerical methods for
characterization”, Demir et al., 2000
“Steady-state analysis of voltage and current controlled oscillators”, Mehrotra
et al., 2005
“Rigorous RF and microwave oscillator phase noise calculation by envelope
transient technique”, Ngoya et al., 2000
“A unified approach of PM noise calculation in large RF multitone
autonomous circuits”, Bolcato et al., 2000
“Eldo User Manual”, Mentor Graphics Corp., 2015
/ G. De Luca - SPI2016 (Turin)
Experiment: Integer-N PLL
/ G. De Luca - SPI2016 (Turin)
25/25
Download