Product Documentation
OCEAN XL Reference
Product Version IC23.1, June 2023

1


Introduction to OCEAN XL Commands

OCEAN XL commands let you simulate and analyze your design in Virtuoso® Analog Design Environment XL. In this chapter, you can find information about creating and running OCEAN XL scripts.

Licensing Requirements

The OCEAN XL commands can be run for Virtuoso® Analog Design Environment XL, Virtuoso® ADE Explorer, or Virtuoso® ADE Assembler. Depending on the mode set in the ocnxlSetXLMode command, any one of the following licenses is checked out to run an OCEAN XL script:

For information about licensing in the Virtuoso Studio Design Environment, see Virtuoso Software Licensing and Configuration Guide.

Creating and Running an OCEAN XL Script

You can create and run an OCEAN XL script to run one or more tests over zero or more corner conditions. When you save an OCEAN XL script, the program saves setup information for all your tests, sweeps, corner conditions and run options.

For more details, refer to the following sections:

Creating an OCEAN XL Script

You can create an OCEAN XL script in any of the following three ways:

Saving the ADE XL Setup to an OCEAN XL Script

You can create a simulation setup in ADE XL user interface and save it as an OCEAN XL script. For this, after the simulation setup is complete, do the following:

  1. In the main session window, choose File – Save Script.
    The Save OCEAN Script form appears.
  2. In the File Name field, type a name and location for your OCEAN XL script file.
    The default name and location is ./oceanScript.ocn.
  3. Click OK.
    The program saves simulation setup and conditions to the specified OCEAN XL script file.
The setup information for non-ADE XL tests will not be saved in the OCEAN XL script.

Scripting an OCEAN XL Script

You can use a text editor to create an OCEAN XL script by using OCEAN XL commands and save it in a .ocn file.

Creating OCEAN XL Scripts with Netlist Specified as a Design

If you have an already generated netlist of a design, you can provide the path to that netlist file to the design OCEAN XL command. By doing this, you can run a simulation without loading/ requiring the complete design hierarchy. Later, you can view the simulation results in ADE XL user interface. For more details, refer to Viewing Results of Simulations Run using OCEAN XL Scripts.

Modifying an OCEAN XL Script

If you run an OCEAN XL script from an ADE XL interface, if required, you can load its setup in ADE XL user interface and modify it after the run. To modify the OCEAN XL setup, do the following:

  1. In the History tab of the Data View assistant pane, right-click the history item for the OCEAN XL run and choose Load Setup to Active.
    Load Setup to Active will overwrite the current setup with the setup in the history item for the OCEAN XL run.
  2. Modify the setup as required.
    You can modify the setup using the ADE XL user interface (such as adding or modifying global variables or corners using the Data View assistant pane), or use the OCEAN Test Editor form to modify the setup.
    To use the OCEAN Test Editor form, do the following:
    1. Right-click the test name in the Tests tree in the Data tab of Data View assistant pane and choose Open Test Editor.
      The OCEAN Test Editor form appears in which the OCEAN commands saved in the script are displayed.
      The OCEAN Test Editor form is a text editor specified by using the editor SKILL variable, or the $VISUAL or $EDITOR variables in the .cshrc file, in the given order of preference.
    2. Change the simulation setup by modifying the commands.
    3. Click OK to save the changes in the script.
      When you modify the setup in the history item for the OCEAN XL run in ADE XL, the original OCEAN XL script that you used to run the simulation from a UNIX shell will not be modified. Choose File – Save Script if you want to save the changes in the setup to a new OCEAN XL script file.

Running an OCEAN Script

To run simulations using OCEAN scripts, perform any one of the following steps:

When you run a simulation using an OCEAN script, a history item named Ocean.n is created for the run. You can then start ADE XL, and use the ADE XL user interface to view the results for the OCEAN run.

You must not load and run your OCEAN script in the Command Interpreter Window (CIW) while ADE XL is still running for the same cellview.

When you run the script, the program reports the following information:

Also see: includeSimLogInJobLog, an environment that can be used to control the inclusion of the simulator output log in the OCEAN job log.

Running Parallel OCEAN XL Simulation Runs for an ADE XL View

In OCEAN XL, you can simultaneously run multiple simulation runs for an ADE XL view. You can do this by executing multiple ocnxlRun functions in parallel from the same OCEAN XL script. The results of all the runs are saved in the results database of that ADE XL view.

This section describes how to prepare setup and run parallel simulation runs in OCEAN XL.

Preparing Setup for Parallel Simulation Runs

You can enable the parallel run option for your OCEAN XL scripts in any of the following ways:

Running Parallel Simulation Runs

In your OCEAN script, ensure that the waitUntilDone argument of the ocnxlRun function is set to nil.

For example, if you have saved an ADE XL state, Ac_State1, and want to run a simulation for it parallel to other runs in your OCEAN XL script, use the following commands:

ocnxlLoadSetupState( "AC_State1" 'retain ?tests t ?vars t ?parameters t ?currentMode t ?runOptions t ?specs t ?corners t ?extensions t 
    ?modelGroups nil ?relxanalysis nil )
runid1 = ocnxlRun(?waitUntilDone nil)
ocnxlLoadSetupState( "Tran_State2" 'retain ?tests t ?vars t ?parameters t ?currentMode t 
    ?runOptions t ?specs t ?corners t ?extensions t 
    ?modelGroups nil ?relxanalysis nil )
runid2 = ocnxlRun(?waitUntilDone nil)

When the waitUntilDone argument is set to nil, OCEAN XL does not wait for the run to complete. Instead, while the run is in progress, it executes the next line in the script. In the example given above, OCEAN XL loads another state, Tran_State2, and starts a simulation for that without waiting for the first simulation run to finish.

You need to set the waitUntilDone argument for each OCEAN XL run that you want to run in parallel. By default, this argument is set to t.

When you set the waitUntilDone argument to nil, the ocnxlRun function also returns a run ID for each run. You can use this run ID later to either wait for that run to complete at a later stage or to access the history results of that run.

For example, before printing results, if you want to wait for a particular OCEAN XL run to complete simulations, you can use the following statement in your script:

(ocnxlWaitUntilDone rinid2)
(ocnxlOutputSummary ?forRun runid1 ?detailed nil)
; The previous command displays run summary for the simulation run with run ID as runid1

After a run is complete, you can get access to its results by using its run ID, as shown in the following statement:

h1 = ocnxlGetHistory(runid1)

You can use this handle to get results for the given OCEAN XL run.

For details on the related OCEAN XL functions and their examples, refer to the following sections in the OCEAN Reference Guide:

Viewing Results of Simulations Run using OCEAN XL Scripts

The results of simulations run from OCEAN XL scripts are saved in the results database of the ADE XL view. While the OCEAN XL simulations are in progress or after they are complete, you can view these results in the ADE XL user interface.

To view the results for an OCEAN XL simulation run in the ADE XL user interface, do the following:

While the simulations are in progress, you need to close and reopen the results to view the updated data.
When you view the results of simulations performed by specifying netlist as design, you cannot use the schematic-based post processing options. For example, you cannot use the VT calculator function to select a net on schematic or you cannot use the direct plotting feature. Therefore, when you right-click data in the Results tab, some of the commands that require use of the schematic view are not enabled.


Return to top
 ⠀
X