The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Modeling >> Passive Devices >> Spectre modelling of an Ideal Capacitor https://designers-guide.org/forum/YaBB.pl?num=1153151081 Message started by Maz on Jul 17th, 2006, 8:44am |
Title: Spectre modelling of an Ideal Capacitor Post by Maz on Jul 17th, 2006, 8:44am I am trying to model a very basic system however it is not performing as I expected. I basically have an ideal current source (1 pA) feeding into an ideal capacitor model (1uF) in Spectre. I am expecting a linear relationship of voltage vs time based on integrating the capacitor current equation: Ic = c*(dVc/dt) integrating to get Vc = (1/c)*Ic*t = Kt, where K = (1/c)*Ic However, I am finding that when I attempt to model this in Cadence using Spectre, the simulation saturates follows an exponential relationship that saturates at the constant K value (1mV). I cannot seem to explain why it does not follow a linear function. Does the specre ideal capacitor model include resistance? If so, is there a way to remove that? |
Title: Re: Spectre modelling of an Ideal Capacitor Post by Ken Kundert on Jul 17th, 2006, 10:46am The ideal capacitor model does not contain a resistance. Because the node is floating, Spectre will add a 1TΩ resistor from the node to ground, and it warns you of this. This would only really be an issue if the drive current is very small (1mV/1TΩ). Perhaps you could supply the netlist. The problem should be easy to find with that. -Ken |
Title: Re: Spectre modelling of an Ideal Capacitor Post by MK on Jul 17th, 2006, 11:31am Hi Ken, I do not seem to get a warning of spectre inserting a 1TΩ resistor into my circuit, and it seems to be irrelevant what current I use, the voltage seems to saturate at the constant K value I specified earlier (so its dependent on the input current). I have attached the netlist below. // Generated for: spectre // Generated on: Jul 17 12:25:42 2006 // Design cell name: amp_cap_test // Design view name: schematic simulator lang=spectre global 0 include "spectre.init" // Library name: experiments // Cell name: amp_cap_test // View name: schematic C1 (Vc 0) capacitor c=10p ic=0 I3 (net10 Vc) isource dc=1f type=dc V3 (net8 0) vsource dc=0 type=dc V2 (net10 net8) vsource dc=5 type=dc simulatorOptions options 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 ckptclock=1800 sensfile="../psf/sens.output" checklimitdest=psf tran tran stop=1000 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 save C1:1 saveOptions options save=allpub Thanks. |
Title: Re: Spectre modelling of an Ideal Capacitor Post by MK on Jul 17th, 2006, 12:40pm Hi Ken, it seems that you were correct, by placing a 1TΩ resistor in parallel with my capacitor, I was able to reproduce what I was seeing. By increasing the resistance, I can accurately model the ideal capacitor. Thx! |
Title: Re: Spectre modelling of an Ideal Capacitor Post by Ken Kundert on Jul 17th, 2006, 2:51pm The messsage is ... Quote:
You can use the options statement to change the value of gmin. By default gmin=1p, which corresponds to a 1TΩ resistor. -Ken |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |