Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Phase Noise Simulation and Modeling of ADPLL byModeling of ADPLL by
SystemVerilogy gTingjun Wen
Integrated Device TechnologyTad Kwasniewski Carleton University
1
Sept 2008
Motivations
• Integrate the phase noise behavioral i l ti ith th i it l l d isimulation with the circuit level design
• Find a better random number generator ith d t ti ti l ti t kwith good statistical properties to make
the phase noise simulation more accurateaccurate
• Make the phase noise simulation fasterU th h i b h i l• Use the phase noise behavioral simulation to explore new ADPLL architectures with lower phase noise
2
architectures with lower phase noise
Behavioral Simulation LanguagesBehavioral Simulation Languages
LANGUAGE EVENT-DRIVEN
Matlab/Simulink Function callsMatlab/Simulink Function calls
Verilog/VHDL Intrinsic
V il AMS/VHDL AMS i iVerilog-AMS/VHDL-AMS Intrinsic
SystemVerilog Intrinsicy g
SystemC/AMS C++ Class Library
3
SystemVerilog + C Language• Direct programming interface (DPI)
Can call any standard C functions directly– Can call any standard C functions directly– Exporting Verilog tasks and functions to C
• Example• Examplenoise.c:
double flicker(double stddev, double *pflicker);
noise.v:import "DPI-C" function real flicker(input real stddevimport DPI C function real flicker(input real stddev,
output real pflicker);always @(posedge clock) begin
period = period + flicker(flicker stddev pflicker);
4
period = period + flicker(flicker_stddev, pflicker);end
Noise TerminologiesNoise Terminologies
5
Spectrum vs DistributionSpectrum vs Distribution
FFT Spectrum Distribution
White (0dB/dec) UniformWhite (0dB/dec) UniformWhite (0dB/dec) Normal
Pink (-10dB/dec) ?
Red (-20dB/dec) ?Red ( 20dB/dec) ?
Infrared (-30dB/dec) ?
6
Noise Generator Hierarchyy•Mersenne twister*•Ranlux algorithm•Tausworthe•LFSR•GFSRGFSR
Uniform White Noise•Inverse transform•Box-Muller*•Ziggurat
•Filter fitting Voss McCartne *
Normal White Noise Pink Noise
Ziggurat•Marsaglia
•Voss McCartney*
Red Noise Infrared Noise
Integral* Integral*
7* Used by this paper
Red Noise Infrared Noise
Uniform White Noise GeneratorUniform White Noise Generator
• Mersenne twister generator• Mersenne twister generator• have a period of (2^19937−1)• there is negligible serial correlation• Have good statistical randomness• Have good statistical randomness• Source code available
8
Normal White Noise GeneratorNormal White Noise Generator
• Central limit theorem• Central limit theorem• Box-Muller algorithm• Generate Gaussian random variable
from uniform distributionfrom uniform distribution• Simple to implement
9
Normal White Noise GeneratorNormal White Noise Generator
10
Correlated Pink Noise Generator*Correlated Pink Noise Generator
• Stochastic Voss-McCartney variant• Popular in the music industryPopular in the music industry• Each data needs no more than 2
d b tirandom numbers generation operations
• It is very efficient
11*http://home.earthlink.net/%7Eltrammell/tech/newpink.htm
Correlated Pink Noise Generator*Correlated Pink Noise Generator
12
Higher Order Noise GeneratorsHigher Order Noise Generators
Si il t th i h i th• Similar to the noise shaping theory developed from Sigma-Delta modulator
∆ Differentiation (+20dB/dec) Σ Integration (- 20dB/dec)
• Σ White noise Red (-20dB/dec) • Σ Pink noise Infrared (-30dB/dec)
13
Σ Pink noise Infrared ( 30dB/dec)
Higher Order Noise Generators
14
ADPLL Architecture
module adpll (fref, M, fdiv, fout, rst_n);input fref rst n fdiv;input fref, rst_n, fdiv;input [`div_width-1:0] M;output fout;pfd PFD (.fref(fref), .fdiv(fdiv), .up(up), .dn(dn), .rst_n(rst_n));dco DCO (.up(up), .dn(dn), .fdiv(fdiv), .fout(fout));div DIV (.fin(fout1), .M(M), .fdiv(fdiv), .rst n(rst n));
15
div DIV (.fin(fout1), .M(M), .fdiv(fdiv), .rst_n(rst_n));endmodule
Phase Frequency Detectorq y‘ i n c l u d e ” a d p l l . vh ”
d l fd ( f f f d i d t )module pfd ( f r e f , f d i v , up , dn , r s t n ) ;output up , dn ;input f r e f , f d i v , r s t n ;preg up , dn ;wire p f d r s t ;always @( posedge f r e f or posedge p f d r s t) beginalways @( posedge f r e f or posedge p f d r s t) begini f ( p f d r s t ) up <= 0 ; e l s e up <= 1 ;
endl @( d f d i d f d t) b ialways @( posedge f d i v or posedge p f d r s t) begini f ( p f d r s t ) dn <= 0 ; e l s e dn <= 1 ;
end
16
a s s i g n p f d r s t = ˜ r s t n | ( up & dn ) ;endmodule
DCO with Integrated LPFDCO with Integrated LPF
17
DCO with Integrated LPFg
always @( up or dn ) begin case ({ up , dn })2 ’ b01 : I = I − 1 ; 2 ’ b10 : I = I + 1 ; d e f a u l t : ;
endcaseendcaseP [ 0 ] = up ˆ ˜ dn ; P [ 1 ] = up & ˜ dn ;
endalways @( posedge f d i v ) C t r l <= ( ‘Kp P ) + ( ‘Ki I ) ;always @( posedge f d i v ) C t r l <= ( Kp P ) + ( Ki I ) ;always beginp e r i o d = 1 . 0 / ( ‘ f 0 d c o + ‘Kdco C t r l );p e r i o d = p e r i o d + f l i c k e r (s t d d e v , p f l i c k e r ) ;#( p e r i o d / 1 e −12/2) f o u t = ˜ f o u t ;
end
18
end
Step Response without Noise
19
Step Response with Noisep p
20
Step Response with NoiseStep Response with Noise
21
Simulated Phase Noise
22
ConclusionsConclusions• Mersenne-Twister Uniform white noise• Box Muller Normal white noise• Box-Muller Normal white noise• Stochastic V-M 1/f pink noise• Integral operation higher order noisesIntegral operation higher order noises• SystemVerilog DPI to integrate with the noise
generator functions written in C languagePh i i l ti t h i f ll• Phase noise simulation techniques successfully applied to a new ADPLL architecture
• Event-driven runs less than 1 minute while SpiceEvent driven runs less than 1 minute while Spice runs by hours or by days
• Design parameters extracted for future transistor level circuit design
23
level circuit design
References• [1] K. Kundert. (2006, Aug.) Predicting the phase noise and jitter of pll based
frequency synthesizers. [Online]. Available:http://www.designersguide.org/Analysis/PLLnoise+jitter.pdf
• [2] J. Zhuang, Q. Du, and T. Kwasniewski, “Event-driven modeling and simulation of an digital PLL,” Behavioral Modeling and Simulation Workshop, Proceedings of the 2006 IEEE International, pp. 67–72, Sept. 2006.
• [3] S. Huang, H. Ma, and Z. Wang, “Modeling and simulation to the design of fractional-n frequency synthesizer,” in DATE ’07: Proceedings of the conference onfractional n frequency synthesizer, in DATE 07: Proceedings of the conference on Design, automation and test in Europe. San Jose, CA, USA: EDA Consortium, 2007, pp. 291–296.
• [4] R. Staszewski, C. Fernando, and P. Balsara, “Event-driven simulation and modeling of phase noise of an rf oscillator,” Circuits and Systems I: Regular Papers, IEEE Transactions on [Circuits and Systems I: Fundamental Theory and ApplicationsIEEE Transactions on [Circuits and Systems I: Fundamental Theory and Applications, IEEE Transactions on], vol. 52, no. 4, pp. 723–733, April 2005.
• [5] M. Matsumoto and T. Nishimura, “Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator,” ACM Trans. Model. Comput. Simul., vol. 8, no. 1, pp. 3–30, 1998.
• [6] L. Tammell. (2006, Jan.) Improvements in the correlated pink noise generator evaluation. [Online]. Available: http://home.earthlink.net/%7Eltrammell/tech/newpink.htm
• [7] J. Zhuang, Q. Du, and T. Kwasniewski, “A 3.3 ghz lc-based digitally controlled oscillator with 5khz frequency resolution,” Solid-State Circuits Conference, 2007.
24
oscillator with 5khz frequency resolution, Solid State Circuits Conference, 2007. ASSCC ’07. IEEE Asian, pp. 428–431, Nov. 2007.