I'm wondering if someone could point me in the right direction regarding MC simulations using foundry models?
If I look at the examples, I see the models and MC parameters are all included in the run deck. So in that case the user defined how the models would vary.
If I look at a foundry spice deck I get somethig like this?
.lib 'mylib.lib' CCO_pre_simu
+toxn = 2.5E-09
which is then used to modify another parameter in another model, which is in turn used in yet another model.
Is there a simple way of accounting for this in the .control section? I notice I can't just point to the model deck and make it work, so I'm clearly missing something.
unfortunately not with the actual code.
AGAUSS is evaluated upfront, before circuit parsing, and so no more accessible from a .control section. You may only restart ngspice without rndseed set, then each time you will get a different AGAUSS output. With foundry models and their long setup time, this of course is not very efficient.
Basically we might consider treating AGAUSS similar to TEMPER, which is no longer evaluated upfront, by later during simulation runs, so to catch temperature sweeps. We have to discuss this among developpers, because a certain effort in coding is required.
I would be happy to get some user comments, if this would be a generally worthwhile activity.