• 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. meassuring delay in viva

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 14853
  • 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

meassuring delay in viva

jerry124
jerry124 over 11 years ago

dear all,

I would like to measure delay on signal "gap" simulated on two temp -40 and 125 with "trigger" option like:

dly_fr=delay( v("gap") 0.75 1 "falling" v("gap") 0.75 2 "rising" 1 1 t "trigger")

I am getting results like:

time delay(v("gap" delay(v("gap"

temp                       -40               125

17.8748u             38.4359u       7.67508u

56.3107u             9.60973u       38.4348u

65.9204u             38.4462u       9.60979u

104.367u             9.60927u        38.4452u

 

but I am expecting results something like:

 

17.8748u             38.4359u          38.XXXXu

56.3107u            38.XXXXu         38.4348u

65.9204u             38.4462u          38.XXXXu

(bold are expected values which also could be measured manually)

 

Signal shape is:

       ___       ___                            ___       ___        

___|      |___|      |_____________|      |___|      |________
                           <       fr            >

and I would like to measure value fr.

How can I correctly measure value fr? What caracters 1 1 t in the command line (marked bold) mean?

 

THX

Jerry 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Jerry,

    Which subversion are you using? In recent versions that I've tried, ViVA uses the newer keyword argument form of delay() which is much clearer to see what the arguments mean because they are passed by name rather than order. 

    The subversion can be found by doing Help->About... in the CIW.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jerry124
    jerry124 over 11 years ago

     Hi Andrew,

     I am using version IC6.1.5-64b.500.10

     

    BR

    Jerry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Jerry,

    If you build the expression in that version (using the calculator) you'd get the newer keyword argument version of the function - for example:

    delay(?wf1 v("gap" ?result "tran"), ?value1 0.75, ?edge1 "falling", ?nth1 1, ?td1 0.0, ?wf2 v("gap" ?result "tran"), ?value2 0.75, ?edge2 "rising", ?nth2 2,  ?td2 0.0 , ?stop nil, ?multiple nil)

    which is much clearer as every argument is named. I did a bit of digging, and the ordered arguments are in this order (we seem to have removed this from the documentation):

    wf1 value1 nth1 edge1 wf2 value2 nth2 edge2 period1 period2 multiple xName

    The default is that the second edge is relative to time, rather than the first edge.

    So I believe your expression is equivalent to:

    delay(?wf1 v("gap" ?result "tran"), ?value1 0.75, ?edge1 "falling", ?nth1 1, ?td1 0.0, ?wf2 v("gap" ?result "tran"), ?value2 0.75, ?edge2 "rising", ?nth2 2,  ?td2r0 0.0 , ?stop nil,  ?period1 1 ?period2 1 ?multiple t ?xName "trigger" )

    This means that:

    • The bold t in your expression indicates that you are generating multiple delays, from the first falling edge to the second rising edge on the waveform gap. The second edge is not relative to the first.
    • It is using periodicity of 1 for both (the two bold 1s). 

    It's not clear to me if you really want the ?multiple occurrences or not.

    So my recommendation would be to try building the expression in the calculator and check to see what  you're getting, rather than using this positional argument version (I even checked back in IC5141 and the keyword argument version is documented there too).

    Regards,

    Andrew.

    • 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