• 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. Ocean script error - run() too few arguments

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 143
  • Views 4035
  • 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

Ocean script error - run() too few arguments

OceanDesign
OceanDesign over 13 years ago

Hello,

 

I have a strange problem related to Ocean Scripts.

When I run my simulation in Virtuoso Analog Design Environment, it works perfectly. But when I use "Session -> Save Script" and create the Ocean script file "oceanScript.ocn" and try to call it in ICFB using

load "oceanScript.ocn"  

I get one Warning and one Error.

1) *Warning* hiInsertMenuItem: All menu item must be unique. No item added.

I verified that this was related to the first line of the script file, where I have:

 ocnWaveformTool( 'wavescan )

2)  *Error* run: too few arguments (1 expected, 0 given) - nil

 I verified that this was realted to these two lines

analysis( 'dc ?saveOppoint t )

run()

 Could someone please help me figure out what is going on? The script is generated by Viruoso ADE and I haven't even touched it. But I keep getting these errors.

Thank you. 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    My guess is that in both cases some local customization is messing things up - there's probably a trigger somewhere which is trying to add a menu (I'm not sure), and I suspect somebody has written their own SKILL function which is also called run().

    Try using "icfb -nocdsinit" to launch and see if that helps; this would avoid loading any customization and so should hopefully avoid the problem (if it's what I'm guessing it is).

    You could also try arglist('run) or pp(run) to see what the definition is (this may not work) - you'd have to do that in a normal "icfb" session to ensure any custom code is loaded.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • OceanDesign
    OceanDesign over 13 years ago

    Thanks Andrew for your reply. 

     

    For arglist('run) I get:

    (commands)

    Version : IC5141 (IC5.1.41 USR5), LINUX

     

    and for pp(run) I get:

    pp: run is a read protected function and cannot be pretty printed

    nil

     

    For icfb -nocdsinit I get

    command not found

    and then starts exactly as if I have not used the option. I keep getting the same error messages.

    Any idea how I can resolve this?

     

     

     

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

    The arglist should return

    (@rest args)

    I checked in IC5141 USR5, so clearly you must have some customization. Presumably the customization is encrypted or in a context file, which is why you can't pp() the function.

    If "icfb -nocdsinit" does not work, my guess is that  you have a wrapper around icfb which doesn't allow you to pass arguments. If you type in the UNIX shell "which icfb" is it coming from <ICinstDir>/tools/dfII/bin ?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • OceanDesign
    OceanDesign over 13 years ago

    Thanks Andrew.

     

    When I type which icfb I get

    icfb: aliased to icfb_sub

    And when I type which icfb_sub I see a directory different than the one you mentioned.

     

    Is there still a way to get the Ocean Script working properly under these circumstances? 

     

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

    Presumably - but hard for me to advise since I can't see what the "icfb_sub" script does. Maybe if you have a look in the script you can see who wrote it and contact them? From the name, my guess is that it submits it to your compute farm?

    Perhaps you can post the contents of icfb_sub here?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • OceanDesign
    OceanDesign over 13 years ago

    Thanks Andrew.

    I showed your comments to our support team and they suggested this:

     icfb_sub -sim -v 51.usr6 icfb -nocdsinit

     

    It now works perfectly.

    I was scratching my head for a while on what was wrong with my Ocean codes. But now the mystery is resolved!

    Again, thanks a lot!

     

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

    That's good! You may also want to suggest to your support team that they don't define a SKILL function called run(). We recommend that SKILL functions use an uppercase prefix, as that way it won't clash with a function from Cadence.

    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