• 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. calculator delay function

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 30641
  • 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

calculator delay function

swdesigner
swdesigner over 13 years ago
I always used cross(), but I'm trying delay() in IC6 and running into issues :

cross(VT("/PV5")-VT("/xlx5/Pgate") 1 2 "falling" nil nil )

that's for signal 1 - 2nd falling edge when crossing 1V. It givesd me 406 ns which is right.

cross(VT("/xlx5/Ngate") 1 2 "rising" nil nil )

is for signal 2 - 2nd rising edge when crossing 1V. It gives me 412 ns - which is right.

I fill out the form for the delay function and I get :

delay(?wf1 VT("/PV5")-VT("/xlx5/Pgate"), ?value1 1, ?edge1 "falling", ?nth1 2, ?td1 0, ?wf2 VT("/xlx5/Ngate"), ?value2 1, ?edge2 "rising", ?nth2 2, ?td2 0 , ?stop nil, ?multiple nil)

When I try this, CIW shows "expression evaluation failed".

But, delay worked for the delay from 1st falling edge of wf2 (above) to 1st rising edge of wf1 giving 5.5 ns correctly with the same values for start1 and start2.

Any help would be super.
  • Cancel
  • Amel
    Amel over 13 years ago
    Hi,
    I always use Delay function (in IC.5) with voltages without any problem with the following expressin s bellow:

    delay(VT("/A") 0.9 1 "falling" VT("/Z") 0.9 1 "rising" 0 0 nil nil    )

    when I eveluate the expression it gives me the delay.

    try it with voltages. I think it also feasable in IC.6

    Amel
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Not sure which version you're using, but there were some fixes added in IC6.1.5 to handle the keyword arguments properly on the delay function.

    Other than that, hard to know without seeing the data. Maybe logging a service request would be your best bet.

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • wgtkan
    wgtkan over 12 years ago
    I am using Cadence 6.1.5 -64b.72 and I am running into similar problem using the calculator to find a delay past the first edge of the waveform. It only works for the first edge not for the second or fourth edge.

    Thank you.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    If you used the calculator from IC615 to build the expression, it should work - provided you've entered the fields properly.

    Can you post the expression, and maybe a picture (save an image from ViVA and then upload it via the Options tab) to show what you're trying to measure?

    That said, IC615 had a major change in quite a few parts of the tools.  The subversion you are using is the Base release, which came out 2 years ago - there have been a lot of fixes and enhancements in the meantime and so I would strongly recommend moving to the latest hotfix of IC615.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • wgtkan
    wgtkan over 12 years ago
    Thank you for your promote response.

    I am trying to measure the propagation delay low to high which is the delay time between the 50% transition of the falling input voltage and the 50% transition of the rising output voltage and I enter in the delay special function:

    My input is A and my output is Z. to measure the low to high delay time I must use the second falling edge of the input and the second rising edge of the output. I enter these values in the delay function. For some reason when I enter ok: This is what I get on the buffer:

     delay(?wf1 VT("/A"), ?value1 0.9, ?edge1 "falling", ?nth1 2, ?td1 0.0, ?wf2 VT("/Z"), ?value2 0.9, ?edge2 "rising", ?nth2 2,  ?td2 0.0 , ?stop nil, ?multiple nil).

    And that is wrong because I chose the second edge for both input and output. Instead I used the marker to find the actual low to high delay. Please see the attached picture. Is the new fix available to remedy this issue? I saved the picture from ViVa but it wont let me upload it. I have sent you the picture via your email.

    Regards,
    • 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