• 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. Error evaluating ocean expresstion

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 144
  • Views 13403
  • 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 evaluating ocean expresstion

winever
winever over 12 years ago

Hi everybody,

I got the following error when doing Monte Carlo analysis.

Error evaluating ocean expresstion bw = bandwidth(VF("/VOUTP") 3 "low")

It seems that the error is always there whether the analysis is done using ADE or OCEAN. For all the iterations, some can got the expected results while the others return the above error. However, I get the above expression from the Cadence Tool Calculator. I tried it several times, but the error was still there. Now, I was confused. Could anyone tell me what goes wrong? I appreciate it for your help.

 

Regards,

Winever.   

  • Cancel
Parents
  • Pedro Zamuner
    Pedro Zamuner over 12 years ago

    Hey there Winever and Matt,

     

    I have some experience with SKILL/Ocean scripts and my cases are similar as Matt stated. When running Monte Carlo or some Corners the circuit reaches some point that it does not have a valid value and it returns nil. If you pass nil to some other function it might throw an error.

     

    You may try to use the errset() function (read more at Skill Language User Guide, chapter 9 Advanced Topics at Error Handling section).

    As function results are stored into a list. I'll take the first element using car(). This way, you can do something like this:

     

    bw = car( errset( bandwidth(VF("/VOUTP") 3 "low") ) )

     if( bw then printf( " ok " ) else printf( "unable to evaluate expression" ) )

     Hope it helps.

    - Pedro.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Pedro Zamuner
    Pedro Zamuner over 12 years ago

    Hey there Winever and Matt,

     

    I have some experience with SKILL/Ocean scripts and my cases are similar as Matt stated. When running Monte Carlo or some Corners the circuit reaches some point that it does not have a valid value and it returns nil. If you pass nil to some other function it might throw an error.

     

    You may try to use the errset() function (read more at Skill Language User Guide, chapter 9 Advanced Topics at Error Handling section).

    As function results are stored into a list. I'll take the first element using car(). This way, you can do something like this:

     

    bw = car( errset( bandwidth(VF("/VOUTP") 3 "low") ) )

     if( bw then printf( " ok " ) else printf( "unable to evaluate expression" ) )

     Hope it helps.

    - Pedro.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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