• 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. ADE-XL extension using OCEAN-XL

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 127
  • Views 14770
  • 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

ADE-XL extension using OCEAN-XL

KGh94
KGh94 over 7 years ago

Hello,

I am trying to run an OCEAN-XL script as an extension to an ADE-XL Testbench. The way I've been trying to do this is by right-clicking on the ADE-XL output list and "add OCEAN script", but I find that it is not run as part of the Testbench, but rather as an independent script. I can't seem to find information regarding how to setup this OCEAN script to be invoked by ADE-XL at the end of the simulation for some post-processing. Any assistance and/or explanation regarding this topic would be highly appreciated.

Edit: In my code, I tried using "openResults()" and "ocnxlOpenResults()" but I get "OpenResults is not available because no simulations have been run." either way.

  • Cancel
  • Marc Heise
    Marc Heise over 7 years ago

    Hi,

    There is an article on our support system talking about this:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nXTvEAM&pageName=ArticleContent&sq=

    Here are two very basic example scripts which can be added in the output setup. Maybe that gives you an idea:

    ;; ========   test.ocn   ========
    axlAddOutputs( list("myNet1"))
    selectResults('tran)
    myNet1 = VT("/net010")
    axlOutputResult( myNet1 "myNet1")
    ;; ======== end test.ocn =======

    A more complex example is below.  

    ;; ========   test1.ocn   ========

    axlAddOutputs(list("pn" "decade" "pnVsDecade" "slope" "freqDec" "freq"))
    openResults('pss)
    pn = phaseNoise(1 "pss-fd.pss" ?result "pnoise-pnoise")
    decade = log10(xval(pn))
    pnVsDecade = (abChangeXAxis pn decade)
    slope = deriv(pnVsDecade)
    freqDec = cross(slope -28)
    freq = 10**freqDec
    axlOutputResult(pn "pn")
    axlOutputResult(decade "decade")
    axlOutputResult(pnVsDecade "pnVsDecade")
    axlOutputResult(slope "slope")
    axlOutputResult(freqDec "freqDec")
    axlOutputResult(freq "freq")
    ;; ======== end test1.ocn =======

    Kind regards,

    Marc

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • KGh94
    KGh94 over 7 years ago in reply to Marc Heise

    Hello Marc,

    Thank you for your reply and the insight. These examples clarify the functionality of the script. I took your basic example and adapted it to my test-bench as follows:

    ;;=========== File Start ==========

    axlAddOutputs(list("myNet1"))

    selectResults('ac)

    myNet1 = VF("/VOUT1")

    axlOutputResult(myNet1 "myNet1")

    ;;=========== File End ===========

    The new result (myNet1) shows up in my outputs list and all is good, but upon running the simulation I get two errors:

    *Error* Evaluating expression (ocnEval("Directory other than the one I specified in outputs"))

    *Error* load: can't access file

    and in the "Details" field in ADE-XL the file directory changes to ocnEval(nil). This is rather odd since my previous trials changed the directory to some temporary directory.

    Regardless of the mess I just made, it seems that using the script in the output setup is limited to adding additional outputs to the list. Is that true? I am not able to open the link yet (Thank you for the link, by the way) since I need to provide a Host ID.

    Best regards,

    Karam

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Marc Heise
    Marc Heise over 7 years ago in reply to KGh94

    Hi Karam,

    after you initially added the script to the outputs it will be copied over into  a different directory. I my test ( with IC617 Assembler )
    it can by found within a directory called "ScriptDir" in the maestro cell view.
    I used your script, changed only the signal name and put it into one of my AC tests. No problem getting a result here.
    It's hard to say what happen on your side.

    Well, with the ocean script you can do far more than adding the outputs, you are free to do any processing Ocean allows you to do.
    Using conditions and loops and whatever to get output you want to see.

    To follow the link you need to register with our support site and need to provide the hostID of your license server, so we can check
    if your are an eligible customer. ( I know that might not work for some users in  educational environments )

    Regards,

    Marc

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • KGh94
    KGh94 over 7 years ago in reply to Marc Heise

    Hello Marc,

    I will try to obtain the Host ID tonight to read through the link you provided. Thank you again for your valuable time, your assistance is very much appreciated.

    Best regards,

    Karam

    • 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