S
Setu
Guest
For performing a Monte Carlo (MC) analysis, I would like to vary a
schematic variable according to a Gaussian
statistical distribution and repeat a DC sweep analysis 100 times. How
can this be done?
Background for the request:
In the current MC methodology in Cadence, one has to modify the model
file in order to set up statistics blocks for individual parameters
mentioned in the model file - this is very cumbersome. Especially in
the case of complex Spectre models, it is difficult to go from foundry
mismatch information, on say, Vt mismatch or resistance mismatch, to
figuring out which model parameter should be varied in order to have a
realistic MC simulation. Frankly, I don't even know what all the BSIM3
model parameters mean!
My design is an R-2R DAC. Mismatch in the different resistors in the
ladder gives rise to non-linearity errors. To characterize the effect
of resistor matching on yield, I want to define the value of my unit
resistor as a design
variable in ADE, say with mean of 1K and standard deviation of +/- 1%
of nominal value. Then I want MC to vary the value of this resistor
according to a Gaussian distribution with the above mean and standard
deviation and repeat a DC analysis (input sweep) at each MC iteration
and just give me those plots. This will tell me the information I
want.
How can this be accomplished simply without too much hacking in Ocean
or the model file? I find the current MC methodology really difficult
and obtuse to use. Other simulators like GoldenGate have the ability
to define variables with distributions in ADE. Spectre should have
this ability as well.
Thanks,
Setu
schematic variable according to a Gaussian
statistical distribution and repeat a DC sweep analysis 100 times. How
can this be done?
Background for the request:
In the current MC methodology in Cadence, one has to modify the model
file in order to set up statistics blocks for individual parameters
mentioned in the model file - this is very cumbersome. Especially in
the case of complex Spectre models, it is difficult to go from foundry
mismatch information, on say, Vt mismatch or resistance mismatch, to
figuring out which model parameter should be varied in order to have a
realistic MC simulation. Frankly, I don't even know what all the BSIM3
model parameters mean!
My design is an R-2R DAC. Mismatch in the different resistors in the
ladder gives rise to non-linearity errors. To characterize the effect
of resistor matching on yield, I want to define the value of my unit
resistor as a design
variable in ADE, say with mean of 1K and standard deviation of +/- 1%
of nominal value. Then I want MC to vary the value of this resistor
according to a Gaussian distribution with the above mean and standard
deviation and repeat a DC analysis (input sweep) at each MC iteration
and just give me those plots. This will tell me the information I
want.
How can this be accomplished simply without too much hacking in Ocean
or the model file? I find the current MC methodology really difficult
and obtuse to use. Other simulators like GoldenGate have the ability
to define variables with distributions in ADE. Spectre should have
this ability as well.
Thanks,
Setu