• 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. Error in delay calculation

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 126
  • Views 16004
  • 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

Error in delay calculation

KISHORE085
KISHORE085 over 11 years ago

hi all,

I've got  an error while calculating delay using delay function in virtuoso.

the error is : "(\"plus\" 0 t nil (\"*Error* plus: can't handle (nil + 0.0)\"))"Expression "delay(?wf1 v(\"/X1\" ?result \"tran-tran\"), ?value1 2.5, ?edge1 \"either\", ?nth1 1, ?td1 0.0, ?wf2 v(\"/sum\" ?result \"tran-tran\"), ?value2 2.5, ?edge2 \"either\", ?nth2 1, ?td2 0.0 , ?stop nil, ?multiple nil)" does not evaluate to waveform."

i couldn't figure out what was the error. Please help..

 Virtuoso version: IC6.1.5.72

  • Cancel
  • Tom Volden
    Tom Volden over 11 years ago

    SKILL errors which include nil as one of the arguments like "plus: can't handle (nil + 0.0)" often indicate that a triggered event has not happened.  Based on the expression that you have I would try plotting /X1 and /sum and checking to see if they both cross your threshold value of 2.5 V.

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

    The parameters ?td1 and ?td2 don't work in the example below because whatever value they are specified the time at which to start delay measurement is always time 0.

    tplh=delay( v("CLK1") 2.5 3 ?td1 15u "rising" v("OUT1") 2.5 2 "rising")

    Please give me some clue. Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • KISHORE085
    KISHORE085 over 11 years ago
    Its ok. i got it. while giving the inputs, i have given only 1 bit to all and i got 1 bit output. so i got that error. Anyways thanks for replying..
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    frankaurora said:

    The parameters ?td1 and ?td2 don't work in the example below because whatever value they are specified the time at which to start delay measurement is always time 0.

    tplh=delay( v("CLK1") 2.5 3 ?td1 15u "rising" v("OUT1") 2.5 2 "rising")

     

    There was a bug where the delay function from the calculator got generated with a mix of positional (e.g. the first three arguments above, plus some others later, and keyword arguments. Unfortunately the implementation requires you to use all positional, or all keyword. I don't know what version of Virtuoso you're using, but in IC615 this was fixed so that the calculator will generate the correct expression using keyword arguments. 

    Also, the documentation now encourages you to use the keyword argument form (and I think you have to if you want ?td1).

    Kind Regards,

    Andrew.

     

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

    Hi Andrew, 

     Thanks a lot! This problem confuses me for a long time.

    It really works with all keyword arguments. 

     Frank 

    • 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