The Designer's Guide Community
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 26th, 2023, 11:40pm
Pages: 1
Send Topic Print
Matching period jitter given in guide (Read 45 times)
New Member

Posts: 2

Matching period jitter given in guide
Jan 13th, 2023, 9:03am
I read the guide Modeling Jitter in PLL-based Frequency Synthesizers by Ken Kundert.  I am trying to match the jitter reported in this guide (9.8ps), but the output of the matlab script is giving 11.1 ps jitter.  I also hard-coded the tt values but this didn't seem to help either.

I have copied Listing 6 - 8 and placed into Virtuoso running spectre and checked the parameters given in the netlist.  Attached is my netlist from Spectre.

// Design library name: PLL_VA
// Design cell name: pll_jitter_678
// Design view name: schematic
simulator lang=spectre
global 0

// Library name: PLL_VA
// Cell name: pll_jitter_678
// View name: schematic
I0 (REF) osc6 freq=25M ratio=125 Vlo=-1 Vhi=1 tt=((0.01)*(125))/(25E+6) \
        accJitter=14e-12 syncJitter=2e-9
I1 (VCTL REF FB) pfd_cp7 Iout=500e-6 dir=1 tt=1e-09 ttol=1e-12
I2 (FB VCTL) vco8 Vmin=-4 Vmax=4 Fmin=1e+9 Fmax=3e+9 ratio=10000 Vlo=-1 \
        Vhi=1 tt=((0.01)*(10000))/(3e+9) jitter=4.5e-12 \
        ttol=((1e-06)*(10000))/(3e+9) outStart=10e-3
C1 (net1 0) capacitor c=625p
C0 (VCTL net1) capacitor c=3.125n
R0 (net1 0) resistor r=10K isnoisy=no
simulatorOptions options psfversion="1.4.0" reltol=1e-3 vabstol=1e-6 \
    iabstol=1e-12 temp=27 tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 \
    maxnotes=5 maxwarns=5 digits=5 cols=80 pivrel=1e-3 \
    sensfile="../psf/sens.output" checklimitdest=psf
tran tran stop=60m skipdc=yes write="spectre.ic" writefinal="spectre.fc" \
    annotate=status maxiters=5
finalTimeOP info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
saveOptions options save=allpub 

In Matlab, I am using the periods.m file and using the mapping to VCO jitter by dividing by sqrt(N).  
load periods.m;
% output estimates of period and jitter
N = 10000; %Frequency division
Jvco = J/sqrt(N); 

Did I miss something?  It would give me more confidence if my result matched the guide before modifying further.
Back to top
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2023 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to Consider submitting a paper or model.