The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> monte carlo mismatch simulation in spectre https://designers-guide.org/forum/YaBB.pl?num=1074804759 Message started by stephen on Jan 22nd, 2004, 12:52pm |
Title: monte carlo mismatch simulation in spectre Post by stephen on Jan 22nd, 2004, 12:52pm I tried to do monte carlo simulaiton in spectre. I succeeded with process variation simulation. But I failed with mismatch simulation. The simulation can complete successfully. But all the runs yield the same result without any mismatch. I am using TSMC018 CMOS design kit. The model file is a binned model. It includes several processor corners defined like tt, ss, ff, sf, fs. I am only using the tt corner (typical case). library tsmclib section tt .... parameters dvthn=0 parameters dvthp=0 ... statistics { mismatch { vary dvthn dist=gauss std=0.01 vary dvthp dist=gauss std=0.01 } } model nmos bsim3v3 { 1: lmin=xx, lmax=xx, vth0=0.4xx+dvthn, .... 2: lmin=xx, lmax=xx, vth0=0.4xx+dvthn, ... 3. lmin=xx, lmax=xx, vth0=0.4xx+dvthn, ... } model pnmos bsim3v3 { ... vthp=0.4xx+dvthp ... } I put two identical NMOS transistors in the same schematic. Made 4 runs of monte carlo. I couldn't observe any mismatch of their operation points. The 4 runs yield identical operation points for both transistors. Any tips will be greatly appreciated. |
Title: Re: monte carlo mismatch simulation in spectre Post by Paul on Jan 23rd, 2004, 11:57am Stephen, the first thing you should not forget is that matching for MOS devices is size dependent, which is not the case in your file. Have a look at EVI's example in http://www.designers-guide.com/Forum/?board=circuit;action=display;num=1066706959 Further more, I don't know your model file, but I would guess dvthn (and p) are used to calculate the corner values for VTH, so you should use a different parameter name for your mismatch simulations (again see EVI's example). Regarding your problem, I don't know very well the detailed MC calculations performed by Spectre, but as you don't use subcircuits to interface the devices with the models, the simulator may calculate once per run the mismatch and apply the same mismatch to both devices. Does your simulation give different operating points from one run to the next? Maybe EVI or BSIM4, doing these simulations with Spectre, can help here? Paul |
Title: Re: monte carlo mismatch simulation in spectre Post by stephen on Jan 23rd, 2004, 12:30pm Thanks, paul. dvthn(p) are used for process corners. But I think it doesn't matter to use it for mismatch too. Anyway, I've tried using another parameter like vthmis and changing the equation for vth0 to be sth like vth0=vthmis*(0.4xxx+dvthn). But still no use. By the way, the simulation result is the same from run to run if I choose "Mismatch Only" in monte carlo GUI window. Paul wrote on Jan 23rd, 2004, 11:57am:
|
Title: Re: monte carlo mismatch simulation in spectre Post by Andrew Beckett on Jan 23rd, 2004, 11:07pm In order to do mismatch in monte-carlo, you need to surround the parameterized model in a subckt. The reason for doing this is that it causes the name of the model to be scoped inside that subckt. That way each instance has a unique model, and so can vary from one instance to another. Often this is done using inline subckts so that the results from that model appear not to be down one level in the hierarchy and so annotate properly. This is covered in the Spectre User's Guide in some detail, so you should look there. It talks all about statistical modelling. Andrew. |
Title: Re: monte carlo mismatch simulation in spectre Post by Mighty Mouse on Jan 24th, 2004, 8:26am You can also see an example of how to use inline subcircuits for mismatch analysis in Recommended Spectre Monte Carlo modeling methodology, which you can find at http://www.designers-guide.com/Modeling/. |
Title: Re: monte carlo mismatch simulation in spectre Post by stephen on Feb 6th, 2004, 11:20pm Thanks. I will try out using subckt although I don't think using subckt is as handy as the original device model. Maybe cadence need improve on this issue. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |