Home > Community > Forums > Custom IC Design > repeated measurements in Spectre

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 repeated measurements in Spectre 

Last post Tue, Jan 3 2012 2:42 AM by LeJonT. 1 replies.
Started by 01farhad10 22 Dec 2011 12:40 PM. Topic has 1 replies and 1827 views
Page 1 of 1 (2 items)
Sort Posts:
  • Thu, Dec 22 2011 12:40 PM

    repeated measurements in Spectre Reply

     Hello everybody,

    I was wondering if there is an easy way to do a repeated measurement in Spectre by using Spice or MDL syntax. For example, assume you want to measure the rise time of a node in a circuit repeatedly and you have no idea when the rise events happen or how many rise events you would have. In Hspice one can easilly add the following line to the netlist:

    .meas tran_cont Trise TRIG V(z) val=0.1 TARG V(z) val=1.1 Rise=1

     But if you add the same line to Spectre netlist by using "simulator lang=spice" it will give you error because Spectre cannot parse "tran_cont". Changing "tran_cont" to "tran" will remove the error but this will only measure the very first risetime event.

    If you use MDL then you can have the following lines to measure risetime:

    alias measurement Trise {
         export Rise_Time
         export real VDD = 1.2

         run tran

         Rise_Time = risetime(V(z),0,VDD,theta1=10,theta2=90)
    }
    run Trise

    However, this will also measure only the very first risetime event. I found a solution for measuring repeated risetime events by using a foreach loop and two cross functions where the edge number is changed inside the loop. But this way I have to know in advance how many risetime events I would have to set the loop index or select an adequately large index and expect to get some NaN values at the output.

    I am wondering if there is an easy way to do repeated measurements in Spectre by using either MDL or Spice syntax?

    Thanks

     

     

     

     

    • Post Points: 20
  • Tue, Jan 3 2012 2:42 AM

    • LeJonT
    • Top 500 Contributor
    • Joined on Thu, Apr 1 2010
    • Chengannur, Kerala
    • Posts 31
    • Points 485
    Re: repeated measurements in Spectre Reply
    I think you can use the "crosses" function to get the cross points of lower and upper threshold values and the difference between the corresponding values will give you rise/fall times.
    • Post Points: 5
Page 1 of 1 (2 items)
Sort Posts:
Started by 01farhad10 at 22 Dec 2011 12:40 PM. Topic has 1 replies.