I am trying to use Monte Carlo simulation togauge the effect of variation in the channel length of the nmos and pmos gates on the average power and clock to q delay of the circuit.
First, without any variation in gate length, the discription of the nodes and .measure statement are like this.
m2 Q 10 vdd vdd pmos w=270nm l=65nm
.tran 10p 20000p.measure power AVG POWER FROM=600p TO=1801p.measure tran TIME trig=v(clock) val='(0.9*pvdd)' fall=1 targ=v(Q) val='(0.9*pvdd)' rise=1
With monte carlo variation, I am writing the commands like this.
m2 Q 10 vdd vdd pmos w=270nm l=LEFF
.param l=0.65u.param LEFF= GAUSS (l, 0.05, 3)
.tran 10p 20000p SWEEP MONTE=5000.measure power AVG POWER FROM=600p TO=1801p.measure tran TIME trig=v(clock) val='(0.9*pvdd)' fall=1 targ=v(Q) val='(0.9*pvdd)' rise=1
These are only changes I am making. The change in the node description is applied to all the nodes.
My Problems and Questions: --->
(1) When using the monte carlo, the .mt0 file shows the POWER value but shows "error" for the TIME value. This is a flip flop cell. Looking at the waveform it seems that the flip flop does not operate correctly and the output Q is not a desired waveform. If I don't use monte carlo and separately check for the maximum and minimum gate lengths this mone carlo will take, then circuit works fine and I get corrrect value in .mt0 file.
(1) Here, the two .measure statements will give me different values for POWER and TIME for all sweeps in the .mt0 file which I can export to xls; but I am more interested in a mathematical description of POWER and TIME in the form of value, mean and sigma if it gaussian or something similar so I can multiply the POWER and TIME and get ENERGY. That will be much easier than performing multiplication of hundreds of cells in the xls sheet and then finding the right values.
I would really appreciate any help. This may sound like a trivial problem to experienced users but any suggestion will be very critical to my work at this point.