The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> How to use bsource in spectre? https://designers-guide.org/forum/YaBB.pl?num=1219634938 Message started by microant on Aug 24th, 2008, 8:28pm |
Title: How to use bsource in spectre? Post by microant on Aug 24th, 2008, 8:28pm Hi all, I want to use behavior model in cadence spectre, I found the help said that it can use bsource to achieve. well, I didn't find any instance in analogLib library can set the bsource attribute, would anyone can give me some suggestion? thanks! BR, microant |
Title: Re: How to use bsource in spectre? Post by Ken Kundert on Aug 24th, 2008, 10:42pm Never use the bsource. Learn and use Verilog-A. It will serve you much better in the long run. -Ken |
Title: Re: How to use bsource in spectre? Post by achim.graupner on Aug 25th, 2008, 1:05am Hi there, 1. Ken is right. 2. for the quick hack in schematic in analogLib you have {voltage; current} controlled {voltage; current} source: vcvs, ccvs, cccs, vccs. Do not try to model much more that a simple buffer - the schematic gets weired quickly soon. |
Title: Re: How to use bsource in spectre? Post by microant on Aug 25th, 2008, 4:51am thanks for above! But how to realize the following function in spectre such as in hspice? E1 a b vol=v(n1,n2)*k max=cc min=0 Verilog-A is so strong while if the expression quote many voltage or current it need many input/output port. BR, microant |
Title: Re: How to use bsource in spectre? Post by pancho_hideboo on Aug 25th, 2008, 5:40am microant wrote on Aug 24th, 2008, 8:28pm:
Many simulators except for Cadence Spectre had enhanced controlled sources which were familiar in HSPICE or PSPICE. Also many model files provided from foundary are written in HSPICE netlist. So "bsource" was introduced into Cadence Spectre for porting HSPICE model file which includes enhanced controlled sources. So Cadence doesn't provide spectre view of bsource. But you can use bsource in netlist. See the result of "spectre -h bsource". Actually any bsources are replaced to Verilog-A internally in Cadence Spectre. microant wrote on Aug 25th, 2008, 4:51am:
See http://www.designers-guide.org/Forum/YaBB.pl?num=1188726802/0 |
Title: Re: How to use bsource in spectre? Post by microant on Aug 25th, 2008, 7:19pm Hi pancho_hideboo thanks for your suggestion! I find a alternative method to use bsource in spectre not by modifying the netlist. copy instance 'vdc' from analogLib and modify the CDF parameter. in simulation information, modify the item 'componetName' with bsource, in component parameters, add new param 'v', 'max_val' et, delete other params. when use bsource, just like add voltage source and fill the expression in param 'v' and when generate netlist, it will be v1 net1 net2 bsource v=express BR, Lin |
Title: Re: How to use bsource in spectre? Post by Ken Kundert on Aug 28th, 2008, 7:33am I recommend that you start with this ... Code:
|
Title: Re: How to use bsource in spectre? Post by Geoffrey_Coram on Aug 28th, 2008, 1:32pm Ken - Shouldn't you do out = gain * V(pin, nin); if (out > maximum) out = maximum; if (out < minimum) out = minimum; V(pout,nout) <+ out; ? Not that either one is good for convergence, but I don't quite know what your maximum was doing. |
Title: Re: How to use bsource in spectre? Post by Ken Kundert on Aug 29th, 2008, 3:58am Geoffrey, Indeed, the model should be ... Code:
Why do you think convergence will be a problem? -Ken |
Title: Re: How to use bsource in spectre? Post by Geoffrey_Coram on Aug 29th, 2008, 7:05am Ken Kundert wrote on Aug 29th, 2008, 3:58am:
I was thinking that, when it's clamping, there is no derivative information, so the linear solver wouldn't "know" to change the input voltage to fix the output. I suppose, though, that it looks like an independent voltage source in that case, so it isn't a problem. |
Title: Re: How to use bsource in spectre? Post by imd1 on Sep 1st, 2008, 1:11am How about the discontinuous jump in the derivative when the hard limiter kicks in ? i mean, the solver is doing its N-R iterations and using the derivative to "slide towards" the circuit solution at the node. If the solution is just below the hard limit breakpoint and the current estimate is above that level, there's no gradient information to point in which direction to go. I assume that a smoothing function would be useful . Comments? |
Title: Re: How to use bsource in spectre? Post by Ken Kundert on Sep 1st, 2008, 6:53pm A common misconception. |
Title: Re: How to use bsource in spectre? Post by imd1 on Sep 2nd, 2008, 1:17am Ken Kundert wrote on Sep 1st, 2008, 6:53pm:
I see. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |