monte carlo simulation with spectremdl

J

Jos

Guest
Hi,

I'm trying to perform a MonteCarlo simulation which is controlled with
a spectremdl file.
My input.scs looks like this:

monte0 montecarlo numruns=50 seed=1 variations=process
saveprocessparams=yes savefamilyplots=yes {
op1 dc print=yes oppoint=logfile annotate=status save=all
ac2 ac dec=100 start=10 stop=1G annotate=status prevoppoint=yes
}

Runnnig this with spectre performs the MonteCarlo runs a expected.
However, when I try to control it with the following spectremdl file,
it fails:


alias measurement monterun {
run monte0
}
run monterun as monterun_1

It does perform a MonteCarlo simulation, but I don't see any sign of DC
or AC simulations being performed. Also the psg directoy only shows 3
files: logFile, monterun_1.process.mcdata and
monterun_1.process.mcparam.
The other files (for example: monte0-001_ac2.ac until
monte0-050_ac2.ac) are not present in the psf directory. They are there
when I simulate directly from spectre. I have added the output of
spectremdl below

Could someone give me a hint on what I'm doing wrong? Or is this known
behaviour in spectremdl?

Suppose I can get the simulation working correctly, is it possible to
perform measurements with spectremdl on the indivual monte carlo
simulations?

thanks for any help
Jos


********************************************************
Monte Carlo Analysis `monterun_1': iteration = (1 -> 50)
********************************************************

**** Performing nominal run for `monterun_1'

**** Performing monte carlo loop for `monterun_1'

1 0.00%
2 2.04%
3 4.08%
monterun_1: iteration = 3 (4.08 %), step = 1
(2.04 %)
4 6.12%
5 8.16%
monterun_1: iteration = 5 (8.16 %), step = 1
(2.04 %)
6 10.20%
7 12.24%
8 14.29%
monterun_1: iteration = 8 (14.3 %), step = 1
(2.04 %)
9 16.33%
10 18.37%
monterun_1: iteration = 10 (18.4 %), step = 1
(2.04 %)
11 20.41%
12 22.45%
13 24.49%
monterun_1: iteration = 13 (24.5 %), step = 1
(2.04 %)
14 26.53%
15 28.57%
monterun_1: iteration = 15 (28.6 %), step = 1
(2.04 %)
16 30.61%
17 32.65%
monterun_1: iteration = 17 (32.7 %), step = 1
(2.04 %)
18 34.69%
19 36.73%
20 38.78%
monterun_1: iteration = 20 (38.8 %), step = 1
(2.04 %)
21 40.82%
22 42.86%
monterun_1: iteration = 22 (42.9 %), step = 1
(2.04 %)
23 44.90%
24 46.94%
25 48.98%
monterun_1: iteration = 25 (49 %), step = 1
(2.04 %)
26 51.02%
27 53.06%
monterun_1: iteration = 27 (53.1 %), step = 1
(2.04 %)
28 55.10%
29 57.14%
30 59.18%
monterun_1: iteration = 30 (59.2 %), step = 1
(2.04 %)
31 61.22%
32 63.27%
monterun_1: iteration = 32 (63.3 %), step = 1
(2.04 %)
33 65.31%
34 67.35%
35 69.39%
monterun_1: iteration = 35 (69.4 %), step = 1
(2.04 %)
36 71.43%
37 73.47%
monterun_1: iteration = 37 (73.5 %), step = 1
(2.04 %)
38 75.51%
39 77.55%
monterun_1: iteration = 39 (77.6 %), step = 1
(2.04 %)
40 79.59%
41 81.63%
42 83.67%
monterun_1: iteration = 42 (83.7 %), step = 1
(2.04 %)
43 85.71%
44 87.76%
monterun_1: iteration = 44 (87.8 %), step = 1
(2.04 %)
45 89.80%
46 91.84%
47 93.88%
monterun_1: iteration = 47 (93.9 %), step = 1
(2.04 %)
48 95.92%
49 97.96%
monterun_1: iteration = 49 (98 %), step = 1
(2.04 %)
50 100.00%
Total time required for montecarlo analysis `monterun_1' was 520 ms.


Aggregate audit (3:50:08 PM, Thur Nov 30, 2006):
Time used: CPU = 2.75 s, elapsed = 3 s, util. = 91.6%.
Virtual memory used = 45.2 Mbytes.
spectre completes with 0 errors, 1 warning, and 0 notices.
 
Jos,

This is the expected behavior. To run a monte-carlo from MDL and
perform measurements you have to put the montecarlo in the .mdl file
instead, e.g.

alias measurement tran_meas {
run tran( stop=10n, autostop='yes )
export real foo = cross( V(out), thresh=1.0 )
}

run montecarlo( numruns=50, seed=1, variations='process ) {
run tran_meas
}


This will run the montecarlo, at each iteration run the tran, evaluate
the foo measurement, and at the end print out foo at each iteration,
mean. stddev, etc..

I haven't tested the example above, so it may not be exactly correct
syntax.

Regards,
John
 

Welcome to EDABoard.com

Sponsor

Back
Top