+ Post New Thread
Results 1 to 15 of 15

1st September 2018, 00:36 #1
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Switched Capacitor Circuits  PSS/PAC
Hello,
I already have the paper by Ken Kundert, but I am looking for a tutorial on how to do PSS/PAC simulation for Switched Capacitor Amplifiers in Cadence Spectre/Virtuoso.
I am not looking for the theory, rather a step by step tutorial on how this is simulated and set up in Cadence Virtuoso/Spectre.
Thank you.

Advertisment

1st September 2018, 08:41 #2
 Join Date
 May 2008
 Location
 Germany
 Posts
 5,750
 Helped
 1722 / 1722
 Points
 40,146
 Level
 48
Re: Switched Capacitor Circuits  PSS/PAC
Do you know that Ken Kunert ist active in another electronic Forum (www.designersguide.org)?
perhaps it is best to contact him directly.

1st September 2018, 16:29 #3
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
Hello,
Thank you for your response.
As I said he wrote a tutorial  that is theoretical  about this topic.
But I am looking for a practical tutorial on this subject.
Thank you.

2nd September 2018, 13:10 #4
 Join Date
 Oct 2010
 Posts
 335
 Helped
 40 / 40
 Points
 4,273
 Level
 15
 Blog Entries
 8
Re: Switched Capacitor Circuits  PSS/PAC
This is a good one
https://www.researchgate.net/profile...ce+Spectre.pdf"I can't change the direction of the wind, but I can adjust my sails to always reach my destination."
~ by Jimmy Dean

Advertisment

2nd September 2018, 19:25 #5
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
Hello,
Thanks, but this document does not talk about Switched Capacitor simulations.
Thank you.

3rd September 2018, 11:09 #6
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 2,171
 Helped
 595 / 595
 Points
 14,423
 Level
 28
Re: Switched Capacitor Circuits  PSS/PAC

3rd September 2018, 11:25 #7
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
Hello,
Thanks for your response.
I read the course notes and understand the simulation procedure except for one thing.
How do I:
– Divide results by sinc(f/fs) to correct for ZOH distortion?
Thank you.

Advertisment

3rd September 2018, 12:11 #8
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 2,171
 Helped
 595 / 595
 Points
 14,423
 Level
 28
Re: Switched Capacitor Circuits  PSS/PAC
This is true for Transient Analysis.
Howerver, this is not required for PSS/PAC.
See https://www.edaboard.com/showthread.php?364294
Post Processing of RollOffCompensation for Transient Analysis Result
Code:selectResult('tran) time_vec = drGetWaveformXVec( v("/Vout") ) tstop = drGetElem( time_vec, drVectorLength(time_vec)1 ) printf("tstop = %g[usec]\n", tstop/1u) fmax = 25M tw_in = 1.0/(5*fmax) froll_off = 1.0 / tw_in fnyquist = 2*froll_off delta_f = 1.0 / tstop maxstep = 1.0 / fnyquist N = round(2*fnyquist * tstop) ip = round(log(N)/log(2)) NN = 2**ip if( NN < N then NN=2**(ip+1) ) fnyquist = NN / (2.0*tstop) printf("N = %d > N = %d\n", N NN) k = tstop / (2.0 * tw_in) ; Amplitude Compensation Vout_freq = dft(v("/Vout") 0 tstop N "Rectangular" 1 1) Vref_freq = dft(v("/Vref") 0 tstop N "Rectangular" 1 1) xvec = drGetWaveformXVec(Vout_freq) len = drVectorLength(xvec) printf("len = %d\n", len) bid = currentSubwindow(1) plot( db20(k*Vout_freq) ?expr '("tranS21 without rolloff compensation") ) plot( db20(Vout_freq/Vref_freq) ?expr '("tranS21 with rolloff compensation") )
Last edited by pancho_hideboo; 3rd September 2018 at 12:21.

3rd September 2018, 13:35 #9
 Join Date
 May 2008
 Location
 Germany
 Posts
 5,750
 Helped
 1722 / 1722
 Points
 40,146
 Level
 48
Re: Switched Capacitor Circuits  PSS/PAC
Puppet23  are you required to use PSS/PAC or are you free to use any other simulation environment?

4th September 2018, 09:26 #10
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
Hello,
Must use Cadence and must use PSS/PAC.
That is why I asked the question originally.
Thank you.

4th September 2018, 11:25 #11

Advertisment

4th September 2018, 11:32 #12
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
I must use Cadence Spectre as my simulator from Cadence ADE on Cadence Virtuso Design Framework and use the PSS/PAC type simulations.
Last edited by Puppet123; 4th September 2018 at 11:54.

4th September 2018, 11:42 #13
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 2,171
 Helped
 595 / 595
 Points
 14,423
 Level
 28
Re: Switched Capacitor Circuits  PSS/PAC
No.
You can not understand EDA tools you use at all.
See https://www.edaboard.com/showthread.php?354854#10

21st December 2018, 06:30 #14
 Join Date
 Apr 2017
 Posts
 216
 Helped
 1 / 1
 Points
 1,319
 Level
 8
Re: Switched Capacitor Circuits  PSS/PAC
Yes, I am required to use:
Cadence Design Framework as my design environment, Cadence Spectre as my simulator and Cadence ViVA from Cadence ADE for Post Processing.
Also, @pancho_hideboo, what is the code you posted earlier  is that MATLAB ?
Thank you.

Post Processing of RollOffCompensation for Transient Analysis Result
Code:
Code dot  [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
selectResult('tran) time_vec = drGetWaveformXVec( v("/Vout") ) tstop = drGetElem( time_vec, drVectorLength(time_vec)1 ) printf("tstop = %g[usec]\n", tstop/1u) fmax = 25M tw_in = 1.0/(5*fmax) froll_off = 1.0 / tw_in fnyquist = 2*froll_off delta_f = 1.0 / tstop maxstep = 1.0 / fnyquist N = round(2*fnyquist * tstop) ip = round(log(N)/log(2)) NN = 2**ip if( NN < N then NN=2**(ip+1) ) fnyquist = NN / (2.0*tstop) printf("N = %d > N = %d\n", N NN) k = tstop / (2.0 * tw_in) ; Amplitude Compensation Vout_freq = dft(v("/Vout") 0 tstop N "Rectangular" 1 1) Vref_freq = dft(v("/Vref") 0 tstop N "Rectangular" 1 1) xvec = drGetWaveformXVec(Vout_freq) len = drVectorLength(xvec) printf("len = %d\n", len) bid = currentSubwindow(1) plot( db20(k*Vout_freq) ?expr '("tranS21 without rolloff compensation") ) plot( db20(Vout_freq/Vref_freq) ?expr '("tranS21 with rolloff compensation") )
Last edited by BradtheRad; 21st December 2018 at 07:07. Reason: Added code formatted window

21st December 2018, 09:48 #15
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 2,171
 Helped
 595 / 595
 Points
 14,423
 Level
 28
Re: Switched Capacitor Circuits  PSS/PAC
Cadence Skill Language.
+ Post New Thread
Please login