Académique Documents
Professionnel Documents
Culture Documents
S.Gambini
2011 S.Gambini
vin
Would like an analysis type that simulates transfer function/noise but keeps into account the sampling effect
2011 S.Gambini
vclock
vin
2011 S.Gambini
vdrain
Vclock T/2
Vdd T/2
vin
vclock
Id?gm? Assumptions: Vin=VDC+vin vin small,slow on T timescale square law transistor
2011 S.Gambini
vin
vclock
Id~0
2011 S.Gambini
Itail F V SR = F
(16)
nd
(23)
2011 S.Gambini
CLef f + C2 +
2N KT 3KT + f Cc CLef f Consider harmonic k of Id,Id(k) and define 2 Id=!(VDC-Vth+vin) f gm1 (k ) 2 2 I = =!(V ) +2!(VDC-Vth)vin+!(v u in) gm(k) = d (23) DC Cc vin Cf f= gm has also harmonics, i.e. it is periodic Cs + Cf + C1 DC input-> output at all harmonics of clock 1 nd P M tan ( ) Think about repeating this for every nonlinear element, u gm2 and have a small signal ckt for each harmonicnd = C C f Key: ckts do not depend on vin for vin small CLef f + C2 + 2 CLef c 2I1 Id~0 SR = Vclock Vdd Cc
2 Vn
2I1 SR = Cc
C2 CLef f Cc
SR =
Input/output spectrum
(22)
vin(f)
T/2
(k )
Id(f)
4 1/T
2/T
3/T
nd =
Input/output spectrum
C2 CLef f Cc
(20) (21)
2 I1 with amplitude A? What about sinewave input SR = (22) Cc Multiply the periodic gm with input Sidebands gm(k) Id = vin
(k )
Id
(23) vin
vclock
vin(f) Input at fin gives output at k/T+/-fin Output at fout can arise from input at fout+/k/T
CLef f + C2 +
2I1 SR = Cc
(k )
C2 CLef f Cc
Example: noise
(22)
Id
gm(k)
Id = vin
(23)
vin
vclock
vin(f) Input at fin gives output at k/T+/-fin Output at fout can arise from input at fout+/k/T What is the PSD at each frequency? Id(f) Obviously we can only do this by hand for small cktsSPECTRE on the other hand.... 2/T 3/T
2011 S.Gambini
4 1/T
Frequency book-keeping
Does vin really have to be slow? how many harmonics should we consider? vin can be arbitrary But: cannot choose independently input frequency, output frequency and number of harmonics Example:clock period=1MHz Desired output frequency= 0-1MHz Input frequency =1GHz #Harmonics?
vin(f) You need to set these parameters correctly in SPECTRE to get the right result Id(f) 1/T 2/T 3/T
2011 S.Gambini
2011 S.Gambini
vclock
vin
2011 S.Gambini
Simulator Setup
Pnoise Analysis Sampled-Data System:fmax=fS/2 Good starting point for low error
Adds ideal S/H function,needed for SC Forces simulator to run a specific sampling point
EECS 240 Topic 15: Periodic small signal analysis 2011 S.Gambini
fS=10MHz fS=400MHz
2011 S.Gambini
2011 S.Gambini
CL
gmn Vx
2011 S.Gambini
CL
gmn Vx
+ Derive specifications: (Arbitrary) assign 0.4% error to static, 0.1% to settling Static accuracy fA0>250 over output range settling time: feedthrough &slewing small (verify!) Use table in Lecture 12 to determine for 0.1% optimal phase-margin 75 degrees settling time ~4 "- "=1nS (fu=160MHz)
2011 S.Gambini
CLef f + C2 +
C2 CLef f Cc
Cf gmp Vi 2Cf
Cc
gmn Vx
- gm(k) = Id vin Gm (k ) (k )L C gm(k) = 2 ( V V ) S = gm S th + Cp dc S (k) = 0 if k even 4 (k ) S = if k odd (2k 1) Let us choose as primary variable x=Cp/Cf Then we have: Cf 1 f= = Cf + Cs + Cp 1 + Gcl + x 2nF KT 2 Von = f CLef f Gcl + x CLef f = CL + Cf 1 + Gcl + x
(k )
4
EECS 240 Topic 15: Periodic small signal analysis 2011 S.Gambini
gmn Vx
Therefore, fixed x 1.Pick device L (based on gain) 2.Calculate f 3.Calculate CLeff to meet noise 4.Calculate Cf 5.Calculate gm required to meet BW 6.from L,x, gm, Cf calculate device V*
2011 S.Gambini
Results
gmp 75u/1u
75u/1u
40u/400n
Cf=Cp=300fF Cs=600fF
2011 S.Gambini
Results
2011 S.Gambini
Settling error
In cadence define output: EpsDyn=log10(abs(getData(/on ?result tran)-getData(/op ?result tran)-value(getData(/on ?result tran)getData(/op ?result tran) 20n))/value(getData(/on ?result tran)-getData(/op ?result tran) 20n)))
2011 S.Gambini