• 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 SKILL
  3. Create a function to save time points of waveform_1 and...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 149
  • Views 6707
  • 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

Create a function to save time points of waveform_1 and save y-axis values of waveform_2 corresponding to these x-axis values.

Zaara
Zaara over 2 years ago

I wish to save rising edge's time points and save OUT waveform's have used these equations:

risíng_edges   = cross(v("/CLK_REF" ?result "tran") vdd*0.5 0 "rising" t "time")

OUT_val        = value(v("/OUT" ?result "tran") rising_edges ) 

cross function works fine but value function evaluates to nil, I have tried this expression as well: 
OUT_val        = value(v("/OUT" ?result "tran") xval(rising_edges) ) 

I followed previous posts on the topic and I receive an error: 
1)   Calculator function to measure the value of a waveform when another waveform crosses a threshold (cadence.com) abMakeWaveform() the second argument should be a list.. 
2)   convert a waveform to a list: SKILL: How to convert a waveform object into a list? (google.com) abWaveToList() gives me an error that waveform points be a complex number, I tried this function with real() inbuilt as well. 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago

    The abCrossTwoWaves function you referred to in your first numbered point should do wha you want - I just re-checked it. What was the expression you had with abCrossTwoWaves which was giving the error you saw?

    The approaches you were trying otherwise won't work because the value() function doesn't accept multiple x-axis points (either as a list or as a waveform). That's why I wrote abCrossTwoWaves in the first place (of course, things could have changed in the meantime, but as far as I'm aware, value() still doesn't accept multiple x-points).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Zaara
    Zaara over 2 years ago in reply to Andrew Beckett

    I checked again the syntax for abCrossTwoWaves and yes there was an error in my equation. I can now extract the required data. thank you!

    • 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