Electronics-Related.com
Forums

Is This Spice Model Accurate?

Started by rickman December 20, 2014
On 24/12/2014 01:59, Jim Thompson wrote:
> On Tue, 23 Dec 2014 13:41:28 -0000, "Kevin Aylward" > <ExtractkevinRemove@kevinaylward.co.uk> wrote: > >>> "Jim Thompson" wrote in message >>> news:vddh9a1uvqg7luh64524bbuh7u84rt8hp7@4ax.com... >> >> >>> I just fit a high level chip model (Level=48 or some such BSIM3 or >>> BSIM4) to the discrete data sheet ;-) >> >>> LTspice tends to be behavioral, which often doesn't lend itself to >>> corner checking.) >> >> As far as published stuff goes, LTSpice has, essentially, zero support for >> WC. This makes LTSPice, essentially, useless for serious *simulation* based >> *design*. I found some references where people were piddling about to get >> the feature, e.g. >> >> http://k6jca.blogspot.co.uk/2012/07/monte-carlo-and-worst-case-circuit.html >> >> Like, every component has to be set up with {expressions} type stuff, so its >> truly a non starter. >> >> What I find strange is, why doesn't LTSPice have WC support? I had this idea >> that LTSpice grew out of a tool they used internally for IC design, and then >> decided to give it way as a marketing gimmick. Many companies developed >> their own Spice's before the Cadence and Mentor came along. If so, I would >> have guessed that there would be some sort of Rerun support, say a file >> where you could list model includes to be used on each auto run. I haven't >> found any documentation that says this is the case though. >> >> As we noted prior, I don't really use MC, but I did recently add full >> support for this in SS. Its just a button press. I also added in VBIC >> support, finally. >> >> Kevin Aylward >> www.kevinaylward.co.uk >> www.anasoft.co.uk - SuperSpice > > I don't do Monte Carlo either... AFAIK it's only useful for discrete > designs. > > ...Jim Thompson >
It is somewhat useful for IC designs - provided someone has gone to the trouble of creating reasonable statistics for the model parameters (which is not trivial since many model parameters are not directly physically meaningful, so they may need to vary model parameters together in a complicated way to achieve a good representation of reality). It is also important to know if the simulator is varying all of the devices together (to model lot-to-lot variation), or between devices (to model matching between devices on the same die), or both. Of course the statistics will be very different for these different kinds of variation. What I have used Monte Carlo for is figuring out the approximate standard deviation of offset voltages that one would expect from an op-amp, and identifying which devices are responsible for most of the offset voltage. It has allowed me to figure out whether to increase the size of the input pair, or instead increase the size or overdrive of the devices in a current mirror, etc. Spending a long time or a lot of die area in optimizing the matching in the wrong part of the circuit can thus be avoided. Using Monte Carlo in automated scripts is handy for checking whether some process/temperature/voltage corner causes some devices to operate in the wrong regime where the susceptibility to mismatch is worse. In theory you could do all of that with pencil and paper and some mismatch data from the fab, but then again in theory you don't need SPICE at all ever. Having monte carlo does help in quickly being able to be quite confident that you'll achieve the required offset voltage and that you haven't wasted a whole lot of die area or bandwidth or current by grossly oversizing stuff. Of course like any other aspect of a circuit's performance, the design can still be ruined by crappy layout even if your device sizes are perfectly adequate, but it at least allows you to know that the device dimensions are at least theoretically able to meet the matching requirements. With good layouts, I found that the actual performance in the lab was consistent with simulation. If you are not lucky in where you work or the fab you use, and you don't have good models, then sure Monte Carlo is probably useless for you. How do you decide how big to make the input devices of an op-amp, if you know that, for example, you need a 500uV 1-sigma offset? Or how big do you make the resistors if you are making a string DAC and you know that you need say 10-bit INL? How do you decide on the resistor sizes in a bandgap? I have seen nomograms used, but I would be quite scared of missing stuff like e.g. unusually big contributions from the second stage of an op-amp, unless I went around and looked up the nomogram for each device and then did a sensitivity analysis. That sounds like the sort of chore that I would happily leave to a computer. Chris
On Tue, 23 Dec 2014 13:41:28 -0000, "Kevin Aylward"
<ExtractkevinRemove@kevinaylward.co.uk> wrote:

>>"Jim Thompson" wrote in message >>news:vddh9a1uvqg7luh64524bbuh7u84rt8hp7@4ax.com... > > >>I just fit a high level chip model (Level=48 or some such BSIM3 or >>BSIM4) to the discrete data sheet ;-) > >>LTspice tends to be behavioral, which often doesn't lend itself to >>corner checking.) > >As far as published stuff goes, LTSpice has, essentially, zero support for >WC. This makes LTSPice, essentially, useless for serious *simulation* based >*design*. I found some references where people were piddling about to get >the feature, e.g. > >http://k6jca.blogspot.co.uk/2012/07/monte-carlo-and-worst-case-circuit.html > >Like, every component has to be set up with {expressions} type stuff, so its >truly a non starter. > >What I find strange is, why doesn't LTSPice have WC support? I had this idea >that LTSpice grew out of a tool they used internally for IC design, and then >decided to give it way as a marketing gimmick. Many companies developed >their own Spice's before the Cadence and Mentor came along. If so, I would >have guessed that there would be some sort of Rerun support, say a file >where you could list model includes to be used on each auto run. I haven't >found any documentation that says this is the case though. > >As we noted prior, I don't really use MC, but I did recently add full >support for this in SS. Its just a button press. I also added in VBIC >support, finally. > >Kevin Aylward >www.kevinaylward.co.uk >www.anasoft.co.uk - SuperSpice
LTspice (the public version) is a tool primarily designed to sell LT parts. I suspect there's a professional version within the confines of the LT chip design group. Attend one of Mikey's seminars and watch _very_ closely, lots of undocumented "features" ;-) ...Jim Thompson -- | James E.Thompson | mens | | Analog Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | San Tan Valley, AZ 85142 Skype: skypeanalog | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.
"Jim Thompson"  wrote in message 
news:l7qr9a9ohj2u3jaotgj078hfmbdmsjveed@4ax.com...

On Tue, 23 Dec 2014 13:41:28 -0000, "Kevin Aylward"
<ExtractkevinRemove@kevinaylward.co.uk> wrote:

>>"Jim Thompson" wrote in message >>news:vddh9a1uvqg7luh64524bbuh7u84rt8hp7@4ax.com... > > >>I just fit a high level chip model (Level=48 or some such BSIM3 or >>BSIM4) to the discrete data sheet ;-) > >>LTspice tends to be behavioral, which often doesn't lend itself to >>corner checking.) > >As far as published stuff goes, LTSpice has, essentially, zero support for >WC. This makes LTSPice, essentially, useless for serious *simulation* based >*design*. I found some references where people were piddling about to get >the feature, e.g. > >http://k6jca.blogspot.co.uk/2012/07/monte-carlo-and-worst-case-circuit.html > >Like, every component has to be set up with {expressions} type stuff, so >its >truly a non starter. > >>What I find strange is, why doesn't LTSPice have WC support? I had this >>idea >>that LTSpice grew out of a tool they used internally for IC design, and >>then >>decided to give it way as a marketing gimmick. Many companies developed >>their own Spice's before the Cadence and Mentor came along. If so, I would >>have guessed that there would be some sort of Rerun support, say a file >>where you could list model includes to be used on each auto run. I haven't >>found any documentation that says this is the case though. >> >>As we noted prior, I don't really use MC, but I did recently add full >>support for this in SS. Its just a button press. I also added in VBIC >>support, finally.
>LTspice (the public version) is a tool primarily designed to sell LT >parts. I suspect there's a professional version within the confines >of the LT chip design group.
At Ti, TISpice is used, but this is as an engine only, integrated transparently into the Cadence Virtuoso environment. I estimate that this saves them millions per year, even accounting for the dedicated cad staff. Its a really good engine. Excellent convergence. Kevin Aylward www.kevinaylward.co.uk www.anasoft.co.uk - SuperSpice
On Sat, 27 Dec 2014 19:26:57 -0000, "Kevin Aylward"
<ExtractkevinRemove@kevinaylward.co.uk> wrote:

>"Jim Thompson" wrote in message >news:l7qr9a9ohj2u3jaotgj078hfmbdmsjveed@4ax.com... > >On Tue, 23 Dec 2014 13:41:28 -0000, "Kevin Aylward" ><ExtractkevinRemove@kevinaylward.co.uk> wrote: > >>>"Jim Thompson" wrote in message >>>news:vddh9a1uvqg7luh64524bbuh7u84rt8hp7@4ax.com... >> >> >>>I just fit a high level chip model (Level=48 or some such BSIM3 or >>>BSIM4) to the discrete data sheet ;-) >> >>>LTspice tends to be behavioral, which often doesn't lend itself to >>>corner checking.) >> >>As far as published stuff goes, LTSpice has, essentially, zero support for >>WC. This makes LTSPice, essentially, useless for serious *simulation* based >>*design*. I found some references where people were piddling about to get >>the feature, e.g. >> >>http://k6jca.blogspot.co.uk/2012/07/monte-carlo-and-worst-case-circuit.html >> >>Like, every component has to be set up with {expressions} type stuff, so >>its >>truly a non starter. >> >>>What I find strange is, why doesn't LTSPice have WC support? I had this >>>idea >>>that LTSpice grew out of a tool they used internally for IC design, and >>>then >>>decided to give it way as a marketing gimmick. Many companies developed >>>their own Spice's before the Cadence and Mentor came along. If so, I would >>>have guessed that there would be some sort of Rerun support, say a file >>>where you could list model includes to be used on each auto run. I haven't >>>found any documentation that says this is the case though. >>> >>>As we noted prior, I don't really use MC, but I did recently add full >>>support for this in SS. Its just a button press. I also added in VBIC >>>support, finally. > > >>LTspice (the public version) is a tool primarily designed to sell LT >>parts. I suspect there's a professional version within the confines >>of the LT chip design group. > >At Ti, TISpice is used, but this is as an engine only, integrated >transparently into the Cadence Virtuoso environment. I estimate that this >saves them millions per year, even accounting for the dedicated cad staff. >Its a really good engine. Excellent convergence. > > > >Kevin Aylward >www.kevinaylward.co.uk >www.anasoft.co.uk - SuperSpice
Many of the semiconductor houses have their own "engine". Intel does... but when I used it some 10-15 years ago, PSpice ran circles around it. I used to go home (8 miles each way), run the schematic on my PSpice, come back to Intel (Chandler) and their simulator would still be churning ;-) ...Jim Thompson -- | James E.Thompson | mens | | Analog Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | San Tan Valley, AZ 85142 Skype: skypeanalog | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.
On 28/12/2014 08:01, Jim Thompson wrote:
> On Sat, 27 Dec 2014 19:26:57 -0000, "Kevin Aylward" > <ExtractkevinRemove@kevinaylward.co.uk> wrote: > >> "Jim Thompson" wrote in message >> news:l7qr9a9ohj2u3jaotgj078hfmbdmsjveed@4ax.com... >> >> On Tue, 23 Dec 2014 13:41:28 -0000, "Kevin Aylward" >> <ExtractkevinRemove@kevinaylward.co.uk> wrote: >> >>>> "Jim Thompson" wrote in message >>>> news:vddh9a1uvqg7luh64524bbuh7u84rt8hp7@4ax.com... >>> >>> >>>> I just fit a high level chip model (Level=48 or some such BSIM3 or >>>> BSIM4) to the discrete data sheet ;-) >>> >>>> LTspice tends to be behavioral, which often doesn't lend itself to >>>> corner checking.) >>> >>> As far as published stuff goes, LTSpice has, essentially, zero support for >>> WC. This makes LTSPice, essentially, useless for serious *simulation* based >>> *design*. I found some references where people were piddling about to get >>> the feature, e.g. >>> >>> http://k6jca.blogspot.co.uk/2012/07/monte-carlo-and-worst-case-circuit.html >>> >>> Like, every component has to be set up with {expressions} type stuff, so >>> its >>> truly a non starter. >>> >>>> What I find strange is, why doesn't LTSPice have WC support? I had this >>>> idea >>>> that LTSpice grew out of a tool they used internally for IC design, and >>>> then >>>> decided to give it way as a marketing gimmick. Many companies developed >>>> their own Spice's before the Cadence and Mentor came along. If so, I would >>>> have guessed that there would be some sort of Rerun support, say a file >>>> where you could list model includes to be used on each auto run. I haven't >>>> found any documentation that says this is the case though. >>>> >>>> As we noted prior, I don't really use MC, but I did recently add full >>>> support for this in SS. Its just a button press. I also added in VBIC >>>> support, finally. >> >> >>> LTspice (the public version) is a tool primarily designed to sell LT >>> parts. I suspect there's a professional version within the confines >>> of the LT chip design group. >> >> At Ti, TISpice is used, but this is as an engine only, integrated >> transparently into the Cadence Virtuoso environment. I estimate that this >> saves them millions per year, even accounting for the dedicated cad staff. >> Its a really good engine. Excellent convergence. >> >> >> >> Kevin Aylward >> www.kevinaylward.co.uk >> www.anasoft.co.uk - SuperSpice > > Many of the semiconductor houses have their own "engine". Intel > does... but when I used it some 10-15 years ago, PSpice ran circles > around it. I used to go home (8 miles each way), run the schematic on > my PSpice, come back to Intel (Chandler) and their simulator would > still be churning ;-) > > ...Jim Thompson >
My experience with a certain in-house spice was that it was about as good/fast as spectreRF but lacked one occasionally useful feature. The two simulators were used very differently because SpectreRF was pay-per-instance so we could only have one or two licences each, whereas the in-house tool could be run at no incremental cost, i.e. if we wanted to run 50 copies for a week, no problem, nobody was counting. We could set up batch jobs to run all of our corner simulations in parallel, for example. It also affects what computing hardware you buy - for each of the SpectreRF licences (that cost far more per hour than the hardware), you want one bleeding edge CPU of whatever intel has just released and never mind the price, whereas for the in-house tool, you would buy a lot of machines, whatever CPU gives the most bang for the buck, plus use last year's cast-off SpectreRF machines. Chris
"Jim Thompson"  wrote in message 
news:vb7u9allb0qltslfs022n38l57rm4g4f6p@4ax.com...


> >>LTspice (the public version) is a tool primarily designed to sell LT >>>parts. I suspect there's a professional version within the confines >>>of the LT chip design group. > >>At Ti, TISpice is used, but this is as an engine only, integrated >>transparently into the Cadence Virtuoso environment. I estimate that this >>saves them millions per year, even accounting for the dedicated cad staff. >>Its a really good engine. Excellent convergence.
>Many of the semiconductor houses have their own "engine". Intel >does... but when I used it some 10-15 years ago, PSpice ran circles >around it. I used to go home (8 miles each way), run the schematic on >my PSpice, come back to Intel (Chandler) and their simulator would >still be churning ;-)
I routinely run small schematics in SuperSpice that run 10 times faster than Spectre on group servers. Spectre has a lot of overhead. Kevin Aylward www.kevinaylward.co.uk www.anasoft.co.uk - SuperSpice