The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Passive Devices >> Questions after reading "modeling varactors".
https://designers-guide.org/forum/YaBB.pl?num=1236168468

Message started by cylin on Mar 4th, 2009, 4:07am

Title: Questions after reading "modeling varactors".
Post by cylin on Mar 4th, 2009, 4:07am

I have read the document of "modeling varactors" (http://www.designers-guide.org/Modeling/varactors.pdf.) and tried my best to reproduce the curve of Exhibited Capacitance(figure 2, p5).
However, I still could not get the same simulation result as figure 2.
All I could get is the expected capacitance.
Does anyone give me a netlist of this for my reference?
Thanks.


Title: Re: Questions after reading "modeling varactors".
Post by Ken Kundert on Mar 4th, 2009, 8:01am

If your model is correct, you will only get the expected capacitance. You get the exhibited capacitance when your model is wrong.

-Ken

Title: Re: Questions after reading "modeling varactors".
Post by cylin on Mar 5th, 2009, 5:10am

Thanks for your reply.

My test examples as attached. One is charge-based varactor model and the other one is the capacitance-based varactor model.
I expected to see the same result as the one shown in the document. Are there anything wrong? Could someone give an example?

By the way, the document mentioned that "A tell-tale symptom of this problem is that an anomalous DC current appears
to flow through the varactor. This problem does not occur if (2) is used.".
However, it shows the discrepency in the CV plot. This is also one of my questions.


test_varactor_c.scs
// varactor test circuit
simulator lang=spectre
include "varactor_c.scs" section=moscap
Vt (n 0) vsource mag=1
Xv (n 0) varactor
capacitanceInF ac freq=1/(2*M_PI) start=-2 stop=2 dev=Vt param=dc
save Xv:1

varactor_c.scs
//
simulator lang=spectre insensitive=yes
library test_varactor
section moscap
//
subckt varactor ( p n )
parameters c0=1p c1=0.5p v0=0 v1=1
cg ( p n ) bsource c=c0+c1*tanh((v(p,n)-v0)/v1)
ends varactor
endsection moscap
endlibrary

test_varactor_q.scs
// varactor test circuit
simulator lang=spectre
include "varactor_q.scs" section=moscap
Vt (n 0) vsource mag=1
Xv (n 0) varactor
capacitanceInF ac freq=1/(2*M_PI) start=-2 stop=2 dev=Vt param=dc
save Xv:1

varactor_q.scs
//
simulator lang=spectre insensitive=yes
library test_varactor
section moscap
//
subckt varactor ( p n )
parameters c0=1p c1=0.5p v0=0 v1=1
cg ( p n ) bsource q=c0*v(p,n)+c1*v1*ln(cosh((v(p,n)-v0)/v1))
ends varactor
endsection moscap
endlibrary test_varactor


Title: Re: Questions after reading "modeling varactors".
Post by Ken Kundert on Mar 5th, 2009, 11:22am

Oh, I remember now. You won't see this effect with an AC analysis because AC just uses the capacitance you give it. Rather, the exhibited capacitance is the effective capacitance seen in a large signal analysis such as transient. To see it you would have to do careful capacitance measurements in a transient analysis as a large signal was impressed on the capacitor.

-Ken

Title: Re: Questions after reading "modeling varactors".
Post by Ken Kundert on Mar 5th, 2009, 11:25am

Oh, you would be much better served by using Verilog-A rather than bsources. Bsources are very limited and have huge user traps like this one. With Verilog-A you can still fall into the user traps, but they are not so inviting. Furthermore, Verilog-A is a much richer capability. Knowing it is a very useful skill that can take you far.

-Ken

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.