• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. repeated measurements in Spectre

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 126
  • Views 14864
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

repeated measurements in Spectre

01farhad10
01farhad10 over 13 years ago

 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

 

 

 

 

  • Cancel
  • LeJonT
    LeJonT over 13 years ago
    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.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information