simple RLC montecarlo within analog artist

D

danmc

Guest
Hello,

Is there a simple way to do a monte carlo analysis on a simple RLC
filter from within analog artist using spectre?

I really don't want to have to resort to creating a model file with
subcircuits wrapping up simple things like R, L, and C along with
statistics blocks and everything. I guess I could create my own R, L,
and C cells that include a tolerance parameter, create spectre views,
and a model file to go with it, but wow that seems like a lot of
effort for what should be a really simple job. It makes me think I'm
going about it wrong. Any suggestions?

Thanks
-Dan
 
On Oct 31, 12:36 am, danmc <s...@mcmahill.net> wrote:
Hello,

Is there a simple way to do a monte carlo analysis on a simple RLC
filter from within analog artist using spectre?

I really don't want to have to resort to creating a model file with
subcircuits wrapping up simple things like R, L, and C along with
statistics blocks and everything. I guess I could create my own R, L,
and C cells that include a tolerance parameter, create spectre views,
and a model file to go with it, but wow that seems like a lot of
effort for what should be a really simple job. It makes me think I'm
going about it wrong. Any suggestions?

Thanks
-Dan
Read the aatoolsuser.pdf and spectreref.pdf on montecarlo and you will
see that it is not that difficult. Define the statistics blocks,
include that file in the ADE Setup-Model Libraries and off you go. No
need to create separate spectre views as far as I see. If you use the
library/section paradigm, you can play around with different
distributions and even have a corner simulation run across them. (That
will be a little more work as you have to set up a .pcf file for the
corner tool.

--
Svenn
 
On Oct 31, 8:23 am, Svenn Are Bjerkem <svenn.bjer...@googlemail.com>
wrote:
On Oct 31, 12:36 am, danmc <s...@mcmahill.net> wrote:

Hello,

Is there a simple way to do a monte carlo analysis on a simple RLC
filter from within analog artist using spectre?

I really don't want to have to resort to creating a model file with
subcircuits wrapping up simple things like R, L, and C along with
statistics blocks and everything. I guess I could create my own R, L,
and C cells that include a tolerance parameter, create spectre views,
and a model file to go with it, but wow that seems like a lot of
effort for what should be a really simple job. It makes me think I'm
going about it wrong. Any suggestions?

Thanks
-Dan

Read the aatoolsuser.pdf and spectreref.pdf on montecarlo and you will
see that it is not that difficult. Define the statistics blocks,
include that file in the ADE Setup-Model Libraries and off you go. No
need to create separate spectre views as far as I see. If you use the
library/section paradigm, you can play around with different
distributions and even have a corner simulation run across them. (That
will be a little more work as you have to set up a .pcf file for the
corner tool.

--
Svenn
I know how to set up monte carlo for something like PDK elements such
as a poly resistor or a MOS transistor. What I'm missing is what to
do if I just want to use some analogLib components like 'res', and
'cap'. Even the example in the aatoolsuser.pdf shows the elements
that vary being wrapped up in an inline subcircuit. This all leads me
to think I can't use analogLib cells but rather have to make my own R,
L, and C cells, set up the CDF so that they netlist to something like
"myres", "myind", "mycap", and then provide models for those in my
model file. I can do all of this, but it seems a little wierd that
there doesn't seem to be an easier way.

-Dan
 
Hi,

Unfortuntly, if you want use montecarlo analysis in Spectre, there is
no easy way to do that. You must have (inline) subcircuit defined for
the devices.

JD

On Oct 31, 8:08 am, danmc <s...@mcmahill.net> wrote:
On Oct 31, 8:23 am, Svenn Are Bjerkem <svenn.bjer...@googlemail.com
wrote:



On Oct 31, 12:36 am, danmc <s...@mcmahill.net> wrote:

Hello,

Is there a simple way to do a monte carlo analysis on a simple RLC
filter from within analog artist using spectre?

I really don't want to have to resort to creating a model file with
subcircuits wrapping up simple things like R, L, and C along with
statistics blocks and everything. I guess I could create my own R, L,
and C cells that include a tolerance parameter, create spectre views,
and a model file to go with it, but wow that seems like a lot of
effort for what should be a really simple job. It makes me think I'm
going about it wrong. Any suggestions?

Thanks
-Dan

Read the aatoolsuser.pdf and spectreref.pdf on montecarlo and you will
see that it is not that difficult. Define the statistics blocks,
include that file in the ADE Setup-Model Libraries and off you go. No
need to create separate spectre views as far as I see. If you use the
library/section paradigm, you can play around with different
distributions and even have a corner simulation run across them. (That
will be a little more work as you have to set up a .pcf file for the
corner tool.

--
Svenn

I know how to set up monte carlo for something like PDK elements such
as a poly resistor or a MOS transistor. What I'm missing is what to
do if I just want to use some analogLib components like 'res', and
'cap'. Even the example in the aatoolsuser.pdf shows the elements
that vary being wrapped up in an inline subcircuit. This all leads me
to think I can't use analogLib cells but rather have to make my own R,
L, and C cells, set up the CDF so that they netlist to something like
"myres", "myind", "mycap", and then provide models for those in my
model file. I can do all of this, but it seems a little wierd that
there doesn't seem to be an easier way.

-Dan
 
Actually, you only need subckt models if you want to do mismatch. For process
variations you can just set up a statistics block to define the process
variations of each variable, and then reference those variables in your
schematic - using (say) analogLib res/cap/ind components.

If you want to have mismatch, then you need to have a parameterised subckt
(often inline, but it doesn't have to be). Having defined such a subckt (call it
myres, mycap, myind or whatever), you can specify the model name from the
analogLib res/ind/cap - no need to create your own component library if you
don't want to.

So it's really not that much work!

Regards,

Andrew.

On Wed, 31 Oct 2007 14:39:01 -0000, JD <Jiandong.Ge@gmail.com> wrote:

Hi,

Unfortuntly, if you want use montecarlo analysis in Spectre, there is
no easy way to do that. You must have (inline) subcircuit defined for
the devices.

JD

On Oct 31, 8:08 am, danmc <s...@mcmahill.net> wrote:
On Oct 31, 8:23 am, Svenn Are Bjerkem <svenn.bjer...@googlemail.com
wrote:



On Oct 31, 12:36 am, danmc <s...@mcmahill.net> wrote:

Hello,

Is there a simple way to do a monte carlo analysis on a simple RLC
filter from within analog artist using spectre?

I really don't want to have to resort to creating a model file with
subcircuits wrapping up simple things like R, L, and C along with
statistics blocks and everything. I guess I could create my own R, L,
and C cells that include a tolerance parameter, create spectre views,
and a model file to go with it, but wow that seems like a lot of
effort for what should be a really simple job. It makes me think I'm
going about it wrong. Any suggestions?

Thanks
-Dan

Read the aatoolsuser.pdf and spectreref.pdf on montecarlo and you will
see that it is not that difficult. Define the statistics blocks,
include that file in the ADE Setup-Model Libraries and off you go. No
need to create separate spectre views as far as I see. If you use the
library/section paradigm, you can play around with different
distributions and even have a corner simulation run across them. (That
will be a little more work as you have to set up a .pcf file for the
corner tool.

--
Svenn

I know how to set up monte carlo for something like PDK elements such
as a poly resistor or a MOS transistor. What I'm missing is what to
do if I just want to use some analogLib components like 'res', and
'cap'. Even the example in the aatoolsuser.pdf shows the elements
that vary being wrapped up in an inline subcircuit. This all leads me
to think I can't use analogLib cells but rather have to make my own R,
L, and C cells, set up the CDF so that they netlist to something like
"myres", "myind", "mycap", and then provide models for those in my
model file. I can do all of this, but it seems a little wierd that
there doesn't seem to be an easier way.

-Dan

--
Andrew Beckett
Senior Solution Architect
Cadence Design Systems, UK.
 
On Nov 2, 9:46 pm, Andrew Beckett <andr...@DcEaLdEeTnEcTe.HcIoSm>
wrote:
Actually, you only need subckt models if you want to do mismatch. For process
variations you can just set up a statistics block to define the process
variations of each variable, and then reference those variables in your
schematic - using (say) analogLib res/cap/ind components.

If you want to have mismatch, then you need to have a parameterised subckt
(often inline, but it doesn't have to be). Having defined such a subckt (call it
myres, mycap, myind or whatever), you can specify the model name from the
analogLib res/ind/cap - no need to create your own component library if you
don't want to.

So it's really not that much work!
I have several times got the question if it is possible to do what Dan
asks here. In most cases it is the case that the user only want to
check a silicon model vs. an ideal element to see what the difference
is. Typically two capacitors or resistors vs. each other in an (ideal)
opamp loop to have a reference when evaluating what the PDK says. This
implies the need for an easy way to simulate mismatch on ideal
elements. I was once thinking of creating my own library since it is
most often just cap and res that the user want to vary and have a
SKILL callback generating the mismatch block in the model file based
on CDF parameters in the cell and automagically include that generated
file in ADE when running. I had to postpone this work as I needed too
much time to find out how to solve this as I am not that skilled in
SKILL. Maybe you have an idea or two on one of your flights :) ?

--
Svenn
 

Welcome to EDABoard.com

Sponsor

Back
Top