Home > Community > Forums > Custom IC SKILL > Error evaluating ocean expresstion


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Error evaluating ocean expresstion 

Last post Mon, Aug 12 2013 5:30 AM by Pedro Zamuner. 2 replies.
Started by winever 03 Aug 2013 12:11 AM. Topic has 2 replies and 367 views
Page 1 of 1 (3 items)
Sort Posts:
  • Sat, Aug 3 2013 12:11 AM

    • winever
    • Top 500 Contributor
    • Joined on Fri, Jun 28 2013
    • NanJing, Jiangsu
    • Posts 17
    • Points 235
    Error evaluating ocean expresstion Reply

    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.




    • Post Points: 20
  • Mon, Aug 5 2013 3:28 PM

    • meland
    • Not Ranked
    • Joined on Thu, Jun 23 2011
    • Albuquerque, NM
    • Posts 7
    • Points 110
    Re: Error evaluating ocean expresstion Reply


     Have you tried running your ADE under the conditions in which it is failing? It could be that it is failing because the monte carlo essentially pushes it to a point where the circuit fails to generate something with a bandwidth and therefore has an error calculating because it doesn't exist. Similar to it would error if you ask for a rise time when there is no rise tranistion.

     So it could correctly be generating an error. I would check my waveforms


    • Post Points: 20
  • Mon, Aug 12 2013 5:30 AM

    • Pedro Zamuner
    • Not Ranked
    • Joined on Tue, Aug 6 2013
    • Florianópolis, 00-BR
    • Posts 3
    • Points 30
    Re: Error evaluating ocean expresstion Reply

    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.


    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by winever at 03 Aug 2013 12:11 AM. Topic has 2 replies.