2
OCEAN Commands in XL Mode
This chapter provides details of the OCEAN XL commands related to the following areas:
- Commands to Set Up OCEAN XL Mode
- Commands for Tests
- Commands for Active Setup
- Commands for Corners
- Commands for Outputs
- Commands for Specifications
- Commands to Set Up Run Options
- Commands for OCEAN XL Runs
- Commands for History
- Commands for Parametric Sets
- Commands for Pre-run Scripts
- Commands for Reliability Analysis
- Commands for EAD
Commands to Set Up OCEAN XL Mode
ocnxlEndXLMode
ocnxlEndXLMode( [t_maestroMode] )=>t / nil
Description
This command indicates the end of the current XL mode. This command releases the license that was checked out for the XL mode.
Arguments
|
Specifies the application for which the XL mode is to be ended.
Any other value ends the OCEAN XL mode for ADE XL.
Ensure that the value given for this argument is same as the mode in the ocnSetXLMode command. If the two values do not match, the checked out license will not be released.
|
Value Returned
Example
ocnSetXLMode()
ocnxlBeginTest("test_one")
design("solutions" "ampTest" "schematic")
simulator(’spectre)
...
ocnxlEndTest()
ocnSetXLMode
ocnSetXLMode(
[ t_maestroMode ]
)
=> t / nil
Description
Sets the OCEAN mode to XL. In this mode, the simulation setup can contain multiple tests, corners, or advanced run modes, such as MonteCarlo. The OCEAN XL mode can be used to run simulations for ADE XL, ADE Explorer, or ADE Assembler. Accordingly, it checks out the required license. Once the mode is set to XL, it cannot be reverted.
Arguments
Value Returned
.Example
ocnSetXLMode()
ocnxlBeginTest("test_one")
design("solutions" "ampTest" "schematic")
simulator(’spectre)
...
ocnxlEndTest()
Commands for Tests
- ocnxlBeginTest
- ocnxlDisableTest
- ocnxlEndTest
- ocnxlGetTests
- ocnxlMTSBlock
- ocnxlSetMTSMode
- ocnxlMTSEnable
- ocnxlSelectTest
ocnxlBeginTest
ocnxlBeginTest(
t_testName
)
=> t / nil
Description
This command indicates the beginning of the test specified by testName. Subsequent commands populate this test. The test specification ends when ocnxlEndTest() command is given.
Arguments
Value Returned
Example
ocnxlBeginTest("test_one")
ocnxlDisableTest
ocnxlDisableTest(
t_testName
)
=> t / nil
Description
Lets you disable a test. A disabled test will not be run when ocnxlRun() command is fired. See help on ocnxlRun().
Arguments
Value Returned
Example
ocnxlDisableTest("test_two") => t
ocnxlEndTest
ocnxlEndTest()
=> t / nil
Description
This command indicates the end of the current test’s specification.
Arguments
Value Returned
Example
ocnxlBeginTest("test_one")
design("solutions" "ampTest" "schematic")
simulator(’spectre)
ocnxlEndTest()
ocnxlGetTests
ocnxlGetTests( ) => t / nil
Description
Arguments
Value Returned
Example
ocnxlGetTests()
ocnxlMTSBlock
ocnxlMTSBlock(s_blockName[?isMtsBlockg_isMtsBlock] [?includeFilel_includeFile] [?modelFilesl_modelFiles] [ ?simOptionst_simOptions] ) => t / nil
Description
Enables a block for multi-technology simulation (MTS) and specifies the include files and model files associated with the block.
Arguments
Value Returned
Example
ocnxlMTSBlock(‘digLib\ inv_usim
?isMtsBlock t
?modelFiles ’(("Models/myModels.scs" "ss")
("Models/spectre_cl013lv.scs" "aa"))
Enables theinv_usimcell in thedigLiblibrary for multi-technology simulation and specifies the model files (and the sections of the model files) associated with the block.
ocnxlSetMTSMode
ocnxlSetMTSMode(s_blockName[?enableMTSg_enableMTSBlock] [?modelFilesl_modelFiles] [ ?simOptionst_simOptions] ) => t / nil
Description
Enables a block for multi-technology simulation (MTS) and specifies the model files associated with the block.
Arguments
Value Returned
Example
ocnxlMTSEnable(t "assembler") ocnxlSetMTSMode("design_45 inv" ?enableMTS t ?modelFiles '(("gpdk045/gpdk045_v_3_0/models/spectre/gpdk045.scs" "tt")) ?simOptions '(("scale" "2") ("temp" "25")))
Enables theinvcell in thedesign_45library for multi-technology simulation and specifies the model files associated with the block.
ocnxlMTSEnable
ocnxlMTSEnable(
g_enable
)
=> t / nil
Description
Enables or disables multi-technology simulation (MTS) mode for the current test. The current test’s specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
Value Returned
Example
ocnxlMTSEnable(t)
;Enables MTS mode for the current test.
ocnxlSelectTest
ocnxlSelectTest(
t_testName
)
=> t / nil
Description
Lets you select a test. List of test names can be obtained by ocnxlGetTests() command. See help on ocnxlGetTests().
Arguments
Value Returned
Example
ocnxlSelectTest("test_two") => t
Sets "test_two" as the currently selected test.
Commands for Active Setup
- ocnxlDeleteNote
- ocnxlDisableSweepParam
- ocnxlDisableSweepVar
- ocnxlEnableSweepParam
- ocnxlEnableSweepVar
- ocnxlEnableTest
- ocnxlGetJobId
- ocnxlGetSession
- ocnxlJobSetup
- ocnxlLoadSetupState
- ocnxlMaxJobFail
- ocnxlMainSimSession
- ocnxlProjectDir
- ocnxlPutNote
- ocnxlResultsLocation
- ocnxlSaveSetupAs
- ocnxlSensitivityVars
- ocnxlSetDesignVariablePerTest
- ocnxlSetAllVarsDisabled
- ocnxlSetupLocation
- ocnxlSimResultsLocation
- ocnxlStimuliData
- ocnxlSweepVar
- ocnxlSweepParam
- ocnxlTargetCellView
ocnxlDeleteNote
ocnxlDeleteNote(t_itemt_name) => t / nil
Description
Deletes a note from the given test, history, corner, or variable.
For more information about notes, see
Arguments
Value Returned
Example
The following example code shows how to delete a note added to a corner:
ocnSetXLMode()
ocnxlTargetCellView("opamp090" "full_diff_opamp" "adexl_1")
ocnxlCorner( "C0" '(
("model" "gpdk090.scs" ?section "\"SF\" \"FS\"") ("modelGroup" "")
)
)
ocnxlPutNote( "corner" "C0" "note_content")
ocnxlDeleteNote( "corner" "C0" )
ocnxlDisableSweepParam
ocnxlDisableSweepParam(
t_paramName
)
=> t / nil
Description
Lets you disable a sweep parameter. A disabled parameter is not run when ocnxlRun() command is fired. See help on ocnxlRun().
Arguments
Value Returned
Example
ocnxlDisableSweepParam("solutions/ampTest/schematic/R1/r")
=> t
ocnxlDisableSweepVar
ocnxlDisableSweepVar(
t_varName
)
=> t / nil
Description
Lets you disable a sweep variable. A disabled sweep is not run when ocnxlRun() command is fired. See help on ocnxlRun().
Arguments
Value Returned
Example
ocnxlDisableSweepVar("CAP")
=> t
ocnxlEnableSweepParam
ocnxlEnableSweepParam(
t_paramPath
)
=> t / nil
Description
Enables a sweep parameter. A disabled sweep parameter is not run when the ocnxlRun() command is run.
Arguments
Value Returned
Example
ocnxlEnableSweepParam("solutions/ampTest/schematic/R1/r")
=> t
ocnxlEnableSweepVar
ocnxlEnableSweepVar(
t_varName
)
=> t / nil
Description
Enables a sweep variable. A disabled sweep variable is not run when the ocnxlRun() command is run.
Arguments
Value Returned
Example
ocnxlEnableSweepVar("CAP")
=> t
ocnxlEnableTest
ocnxlEnableTest(
t_testName
)
=> t / nil
Description
Enables a test. A disabled test will not be run when the ocnxlRun() command is run.
Arguments
Value Returned
Example
ocnxlEnableTest("test_two")
=> t
ocnxlGetJobId
ocnxlGetJobId(
)
=> x_jobID / nil
Description
Returns the ID of the current simulation job. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
id=ocnxlGetJobId()
ocnxlGetSession
ocnxlGetSession(
)
=> t_sessionName / nil
Description
Arguments
Value Returned
|
Returns |
Example
The following example shows that this function returns the default session name assigned by OCEAN.
ocnSetXLMode()
t
ocnxlTargetCellView("myLib" "ampTest" "adexl")
t
ocnxlGetSession()
"ocnXLSession_Apr_18_10_11_38_2013"
ocnxlJobSetup
ocnxlJobSetup(l_setupOptions[?namet_name] ) => t / nil
Description
Specifies various job setup details for a simulation job.
Arguments
The following table describes all the job setup options for l_setupOptions.
|
Specifies the location where the job has to run. The possible values for distribution method are:
When you choose |
|
|
Specifies the maximum number of jobs that can run at any time during the given session. Default value: |
|
|
Specifies the time (number of seconds) to wait for the icrp process (a process that runs the specific job) to report back that it has started the job. The wait time starts as the job is submitted. Default value: |
|
|
Immediately submits all the specified maximum number of jobs. Default value: |
|
|
Specifies the time (number of seconds) to wait for the icrp process to report back that it has configured the job. The wait time starts as soon as a job configure command is sent. Default value: |
|
|
Specifies the time (number of seconds) after which you want the program to kill the icrp process after the simulations finish. Default value: |
|
|
Specifies the time (number of seconds) to wait for the icrp process to report back that it has run the job. The wait time starts as soon as the run command for the job is sent. Default value: |
|
|
Displays the output log files of all error points in the test. Default value: |
|
|
Displays the output log file on the occurrence of an error for a test, even if the ADE XL distribution system is retrying the test. Default value: |
|
|
When running multiple runs in the same ADE XL session, specifies that a completed job be reassigned from the current run to a new run. Default value: |
|
|
Specifies the name of the queue. If no queue is defined, the job is placed in the default queue. This option is used only when LBS or LSF DRMS is used. |
|
|
Specifies the name of the host on which the job will run. If no host is specified, the system assigns the job to any available host. This option is used when |
|
|
Specifies the number of parallel processors to be used. This option is used only when LSF DRMS is used. |
|
|
Specifies a string describing the resources required to run the job when LSF DRMS is used.
To know more about the format of the resource requirements string, refer to |
|
|
Specifies requirements for hardware resources for the job to be run when SGE DRMS is used. |
|
|
Specifies requirements for software resources for the job to be run when SGE DRMS is used. |
|
|
Specifies priority for the job being submitted when SGE DRMS is used. |
|
|
Specifies the name of a parallel environment for the job to be run when SGE DRMS is used. |
|
|
Specifies the command you want to use to start jobs. This option is used when |
Value Returned
Example 1
The following command sets the job policy for a local job:
ocnxlJobSetup( '("configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "1" "preemptivestart" "1" "reconfigureimmediately" "1" "runtimeout" "-1" "showerrorwhenretrying" "1" "starttimeout" "300" ) )
Example 2
The following command sets the job policy for a bsub command for LSF (command):
ocnxlJobSetup ( '( "distributionmethod" "command" "bsub -I -q queue1") )
Example 3
The following command sets the job policy for LSF (LBS mode):
ocnxlJobSetup ( '( "distributionmethod" "LBS" configuretimeout" "300" "lingertimeout" "300" "maxjobs" "1" "jobqueue" "fast" "jobhostname" "sun15") )
ocnxlLoadSetupState
ocnxlLoadSetupState(t_state t_mode[?testst_tests] [?varst_vars] [?parameterst_parameters] [?currentModet_currentMode] [?runOptionst_runOptions] [?specst_specs] [?cornerst_corners] [?modelGroupst_modelGroups] [?extensionst_extensions] [?relxanalysist_relxanalysis] ) => t / nil
Restores the settings in the specified setup state to the active setup.
Arguments
Value Returned
Example
ocnxlLoadSetupState("optimize")
Loads the setup state named optimize.
ocnxlMaxJobFail
ocnxlMaxJobFail(
n_int
)
Description
Specifies the maximum number of times the application should restart an ICRP job if it fails to start. This variable is used in batch mode to ensure that the job retries do not go into an infinite loop.
Arguments
Value Returned
Example
ocnxlMaxJobFail(20)
ocnxlMainSimSession
ocnxlMainSimSession(
)
=> g_session / nil
Description
Returns the session object for the main simulation session. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
ocnxlMainSimSession()
ocnxlProjectDir
ocnxlProjectDir(
t_projectDir
)
=> t / nil
Description
Sets the project directory to the specified location. All simulation data goes into this location by default, if the simulation results or results directories are not set. By default, the project directory is set as $HOME/simulation.
Arguments
Value Returned
Example
ocnxlProjectDir("/tmp/simulation")
Related Commands
ocnxlPutNote
ocnxlPutNote(t_itemt_name t_note) => t / nil
Description
Adds a note to the given test, history, corner, or variable.
For more information about notes, see
Arguments
Value Returned
Example
The following example code shows how to add a note for the gain global variable:
ocnSetXLMode()
ocnxlTargetCellView("opamp090" "full_diff_opamp" "adexl_1")
ocnxlSweepVar("gain" "10")
ocnxlPutNote( "globalvar" "gain" "note_content")
ocnxlResultsLocation
ocnxlResultsLocation(
t_resultsDir
)
=> t / nil
Description
Sets the results directory to the specified location. All results database and log files are saved in the /libraryName/cellName/<target-view>/results/data/ directory at this location.
By default, data is saved at the <target-view>/results/data directory. See help on
libraryName/cellName/adexl/results/data/<history_item> in the project directory, set by ocnxlProjectDir.Arguments
Value Returned
Example
ocnxlResultsLocation("/home/ocnuser")
ocnxlSaveSetupAs
ocnxlSaveSetupAs(
t_lib
t_cell
t_view
)
=> t / nil
Description
Saves the current setup to a different adexl view.
Arguments
|
The name of the library in which the new adexl view is to be saved. |
|
|
The name of the cell in which the new adexl view is to be saved. |
|
Value Returned
Example
ocnxlSaveSetupAs("solution" "ampTest" "newView")
ocnxlSensitivityVars
ocnxlSensitivityVars(
l_varValueList
)
=> t / nil
Description
Specifies a list of sensitivity variables for the given setup.
Arguments
|
List of variable and values combination. Each list item contains the name of sensitivity variable, a list of sweep values for that variable, and a reference value. |
Value Returned
Example
ocnxlSensitivityVars(list '("CAP" "100f 200f 300f" "200f") '("RES" "1K 1.5K 2K" "1.5K"))
=> t
ocnxlSetDesignVariablePerTest
ocnxlSetDesignVariablePerTest(
t_varName
t_testName
)
=> t / nil
Description
Sets a value for a design variable to be overridden for the given test. In this case, the test will not use the global value set for the variable.
Arguments
Value Returned
Example
ocnxlSetDesignVariablePerTest("CAP" "test1")
=> t
; this implies that for test test1, the CAP variable will use the local value
; instead of the global value.
ocnxlSetAllVarsDisabled
ocnxlSetAllVarsDisabled(
g_disabled
)
=> t / nil
Description
Lets you enable or disable all global variables.
Arguments
|
Specify |
Value Returned
Example
ocnxlSetAllVarsDisabled(t) => t
ocnxlSetupLocation
ocnxlSetupLocation(
t_setupDir
)
=> t / nil
Description
Sets the setup directory to the specified location. All setup data goes into this location. By default data goes into the target cell view. See help on ocnxlTargetCellView.
Arguments
Value Returned
Example
ocnxlTargetCellView( "solutions" "ampTest" "maestro" )
; All the setup data goes into thesolutions/ampTest/maestrodirectory.
ocnxlTargetCellView( "solutions" "ampTest" "maestro" )
ocnxlSetupLocation("/home/ocnuser")
;Creates a new directory structuresolutions/ampTest/maestroin the location "/home/ocnuser". All the setup data, such as data.sdb, documents etc. will be saved in this location.
ocnxlSimResultsLocation
ocnxlSimResultsLocation(
t_simResultsDir
)
=> t / nil
Description
Sets the simulation results directory to the specified location. All simulation data goes into this location. If the simulation results directory is not set using this function, the simulation results are saved at any one of the following locations:
-
In the /
libraryName/cellName/<target-view>/results/data/<history_item>directory at the location set by ocnxlResultsLocation, if set. -
Otherwise, in the
libraryName/cellName/<target-view>/results/data/<history_item>directory at the location set by ocnxlProjectDir, if set. -
Otherwise, in the
$HOME/simulation/libraryName/cellName/<target-view>/results/datadirectory.
Arguments
Value Returned
Example
ocnxlSimResultsLocation("/home/ocnuser")
ocnxlStimuliData
ocnxlStimuliData( [ ?inputs t_inputs] [ ?globals t_globals] ) => t / nil
Description
Sets the specified analog stimuli (input stimulus and global sources) for a test.
Arguments
Value Returned
Example
The following command sets the specified input stimuli:
ocnxlStimuliData(
?inputs '(((name "iopin") (nodes ("iopin" "/gnd!")) (enabled t) (tranType "dc") (srcType "Voltage") (instParameters (dc("3n") type("dc"))) (otherParameters ((FNpairs "0")))))
)
ocnxlSweepParam
ocnxlSweepParam(
t_paramName
t_paramValue
)
=> t / nil
Description
Lets you define a sweep parameter along with its value.
Arguments
Value Returned
Example
ocnxlSweepParam("solutions/ampTest/schematic/R1/r" "10K") =>t
ocnxlSweepVar
ocnxlSweepVar(
t_varName
t_varValue
)
=> t / nil
Description
Lets you define a sweep variable along with its value.
Arguments
Value Returned
Example
ocnxlSweepVar("CAP" "5p")
=>t
ocnxlTargetCellView
ocnxlTargetCellView(t_lib t_cell t_view[?modet_mode] ) => t / nil
Description
Specifies target cellview where data will be created.
Arguments
Value Returned
|
Returns |
|
Example
ocnxlTargetCellView("opamplib" "ampTest" "adexl" ?mode "r")
=> t
; ...
;; to access the library, cell, and view name set by this function later in the script, you can use the following code:
session = ocnxlGetSession()
=> "ocnXLSession_Nov__9_11_27_10_2015"
axlGetSessionLibName(session)
=> "opamplib"
axlGetSessionCellName(session)
=> "ampTest"
axlGetSessionViewName(session)
=> "adexl"
Commands for Corners
- ocnxlCorner
- ocnxlDisableCorner
- ocnxlDisableCornerForTest
- ocnxlEnableCorner
- ocnxlEnableCornerForTest
- ocnxlGetCorners
- ocnxlModelGroup
ocnxlCorner
ocnxlCorner(
t_cornerName
l_cornerDetails
)
=> t / nil
Description
Lets you define a corner.cornerDetails is a list of elements where each element is (t_type t_varName t_value). Available types are variable, parameter, and model.
Arguments
|
Details of the corner. Details is a list of items where each item has a tag, name, and a value. The tag can be of 3 types: |
Value Returned
Example
ocnxlCorner("C0" ’( ("variable" "CAP" "2p") ("variable" "T" "78"))) => t
ocnxlDisableCorner
ocnxlDisableCorner(
t_cornerName
)
=> t / nil
Description
Lets you disable a corner. A disabled corner will not be run when the ocnxlRun() command is run. This command works only in XL mode. See help on ocnSetXLMode()
Arguments
Value Returned
Example
ocnxlDisableCorner("C0") => t
ocnxlDisableCornerForTest
ocnxlDisableCornerForTest(
t_cornerName
t_testName
)
=> t / nil
Description
Lets you disable a corner for a test.
Arguments
Value Returned
Example
ocnxlDisableCornerForTest("C0" "test_one")
ocnxlEnableCorner
ocnxlEnableCorner(
t_cornerName
)
=> t / nil
Description
Lets you enable a corner. An enabled corner will be run when ocnxlRun() command is run.
Arguments
Value Returned
Example
ocnxlEnableCorner("C0") => t
ocnxlEnableCornerForTest
ocnxlEnableCornerForTest(
t_cornerName
t_testName
)
=> t / nil
Description
Arguments
Value Returned
Example
ocnxlEnableCornerForTest("C0" "test_one") => t
ocnxlGetCorners
ocnxlGetCorners( ) => t / nil
Description
Returns a list of corners names.
Arguments
Value Returned
Example
ocnxlGetCorners()
ocnxlModelGroup
ocnxlModelGroup( t_modelGroupName l_modelFileSetup) => t / nil
Description
Lets you add and define a new model group.
Arguments
Value Returned
Example
ocnxlModelGroup( "F2"
’(
( "/myModels/Models/model1.scs" ?enabled nil ?section "")
( "/myModels/Models/model2.scs" ?section "")
( "/myModels/Models/model3.scs" ?enabled nil ?section "")
))
Commands for Outputs
- ocnxlAddOrUpdateOutput
- ocnxlExportOutputView
- ocnxlOutputAreaGoal
- ocnxlOutputExpr
- ocnxlOutputMatExpr
- ocnxlOutputMatlabScript
- ocnxlOutputOceanScript
- ocnxlOutputOpRegion
- ocnxlOutputSignal
- ocnxlOutputTerminal
- ocnxlOutputTerminal
- ocnxlOutputViolations
- ocnxlPutChecksAsserts
- ocnxlPutChecksAssertsTest
- ocnxlPutEnabledChecksAssertsCellViews
ocnxlAddOrUpdateOutput
ocnxlAddOrUpdateOutput(t_outputNamet_outputVal) => t / nil
Description
Adds the specified scalar output to the simulation setup so that the results for the output can be viewed on the Results tab in ADE XL. If the specified output name already exists, only its value is updated with the specified value. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
ocnxlAddOrUpdateOutput("Calibrated_ParamName" CalResult)
ocnxlExportOutputView
ocnxlExportOutputView(t_fileName t_viewType) => t /t_error
Description
Exports the results view to the specified .csv or .html file.
Argument
Value Returned
Examples
ocnxlExportOutputView( "./abc.csv" "Yield")
ocnxlExportOutputView( "./abc.html" "Detail-Transpose")
ocnxlExportOutputView("./abcd.html" "Yield" )
ocnxlOutputAreaGoal
ocnxlOutputAreaGoal(t_expr[?namet_outputName] [?plotplot] [?savesave] ) => t / nil
Description
Adds an area goal output expression in the current test being specified. A test’s specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
Value Returned
Example
ocnxlOutputAreaGoal( "(('I8/R4' ('res' 'w*l' 'default' 'enabled'))...)" ?name "MAX" ?plot t ?save t ) => t
Adds an area goal output expression named MAX for the current test.
ocnxlOutputExpr
ocnxlOutputExpr (t_expr[?namet_outputName] [?plotplot] [?savesave] [?evalTypet_evaltype] ) => t / nil
Description
This command adds an output expression in the current test being specified. Specification of a test specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
Value Returned
Example
ocnxlOutputExpr( "ymax(VT("/out"))" ?name "MAX" ?plot t ?save t )
# Adds "/out" in the outputs.
ocnxlOutputMatExpr
ocnxlOutputMatExpr (t_expr[?namet_name] [?plotb_flag] [?saveb_flag] [?evalTypes_type] ) => t / nil
Description
Creates a MATLAB expression output in the test where it is being specified.
Arguments
Value Returned
Example
ocnxlOutputMatExpr("matEval(\"fft(VF(\\\"/out\\\"))\" ?name "out" ?plot t ?evalType 'maa)
;Creates a MATLAB expression output for evaluation during the simulation. The simulation will dispatch this output expression to matlab for evaluation.
ocnxlOutputMatlabScript
ocnxlOutputMatlabScript(t_script[?namet_outputName] [?plotplot] [?savesave] ) => t / nil
Description
Adds a MATLAB script based output in the current test being specified. A test’s specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
Value Returned
Example
ocnxlOutputMatlabScript( "/tmp/my_measure.m" ?name "MAX" ?plot t ?save t )
=> t
Adds "MAX" in the outputs.
ocnxlOutputOceanScript
ocnxlOutputOceanScript(t_script[?namet_outputName] [?plotplot] [?savesave] [?evalTypet_evaltype] ) => t / nil
Description
Adds an OCEAN script based output in the current test being specified. A test’s specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
|
Whether to evaluate the OCEAN script for a design point or across all corners for a design points. |
Value Returned
Example
ocnxlOutputOceanScript( "/tmp/my_measure.ocn" ?name "MAX" ?plot t ?save t )
=> t
Adds "MAX" in the outputs.
ocnxlOutputOpRegion
ocnxlOutputOpRegion(t_expr[?namename] [?plotplot] [?savesave] ) => t / nil
Description
Adds an operating region specification in the current test being specified. There can be only one operating region for a test. A test specification begins with ocnxlBeginTest.
Arguments
Return Values
Example
ocnxlOutputOpRegion( "((\"enabled\" \"/amp/M1\" \"\" \"Schematic\" \"vgs-vth\" \">\" \"25m\" \"amp.M1\"))" ?name "Op_Region" ?plot t ?save t)
ocnxlOutputSignal
ocnxlOutputSignal(t_signal[?plotplot] [?savesave] ) => t / nil
Description
This command adds an output signal in the current test being specified. A test’s specification begins with ocnxlBeginTest(). See help on ocnxlBeginTest().
Arguments
Value Returned
Example
ocnxlOutputSignal( "/out" ?plot t ?save t )
# Adds "/out" in the outputs.
ocnxlOutputTerminal
ocnxlOutputTerminal(t_term[?plotplot] [?savesave] [?typetype] ) => t / nil
Description
This command adds an output terminal in the current test being specified. Specifications for a test begin with ocnxlBeginTest(). For more information, see ocnxlBeginTest. ()
Arguments
|
If |
Value Returned
Example
ocnxlOutputTerminal( "/I0/M18/S" ?plot t ?save t)
# Adds "/I0/M18/S" in the current outputs.
ocnxlOutputTerminal( "/I0/M18/G" ?plot t ?save t ?type "terminalV") # Adds "/I0/M18/G" in the voltage terminal outputs.
ocnxlPutChecksAsserts
ocnxlPutChecksAsserts( [?netlistg_netlist] ) => t / nil
Description
Adds the checks and asserts to the active setup for an overall control on the netlisting of checks and asserts defined in the Checks/Asserts assistant. Technically, this command adds the checksasserts node in the active setup.
Arguments
|
Specifies whether the checks and asserts defined in the Checks/Asserts assistant will be netlisted or not. This provides an overall control over the netlisting of checks and asserts.
|
Value Returned
|
Returns |
||
|
Returns |
||
Example
The following example controls netlisting of checks and asserts for two tests. Netlisting of checks and asserts is disabled for the first test. All the checks and asserts are netlisted for the second test.
ocnxlPutChecksAsserts(?netlist t)
ocnxlPutChecksAssertsTest(?testName "vip:test:ca_disabled" ?netlist nil ?netlistScope "all")
ocnxlPutChecksAssertsTest(?testName "vip:test:ca_enabled:all" ?netlist t ?netlistScope "all")
ocnxlOutputViolations
ocnxlOutputViolations(t_expr[?namet_name] [?plotg_plot] [?saveg_save] ) => t / nil
Description
Adds a new output of type violations for the current test to show violation filters for checks or asserts.
Arguments
Value Returned
Example
The following example code adds two new outputs max_duration and allChecks for the current test:
ocnxlOutputViolations( "Max 'Duration (s)' on 'Dynamic Excessive Rise, Fall, Undefined State Time Check'" ?name "max_duration" ?plot t)
ocnxlOutputViolations( "Count 'All Checks/Asserts'" ?name "Count 'All Checks/Asserts'" ?plot t)
ocnxlPutChecksAssertsTest
ocnxPutChecksAssertsTest( [?testNamet_testName] [?netlistg_netlist] [?netlistScopeg_netlistScope] ) => t / nil
Description
Specifies the name of the test to which the checks and asserts defined in the Checks/Asserts assistant will be applicable and whether to netlist the checks and asserts for that test. In addition, it also specifies the scope for netlisting. By default, the checks and asserts are not applied to any test.
Arguments
|
Specifies the scope for netlist.
|
Value Returned
|
Returns |
||
Example
The following example controls netlisting of checks and asserts for two tests. Netlisting of checks and asserts is disabled for the first test. All the checks and asserts are netlisted for the second test.
ocnxlPutChecksAsserts(?netlist t)
=> t
ocnxlPutChecksAssertsTest(?testName "vip:test:ca_disabled" ?netlist nil ?netlistScope "all")
=> t
ocnxlPutChecksAssertsTest(?testName "vip:test:ca_enabled:all" ?netlist t ?netlistScope "all")
=> t
ocnxlPutEnabledChecksAssertsCellViews
ocnxlPutEnabledChecksAssertsCellViews( [?testNamet_testName] [?enabledCellViewsl_enabledCellViews] ) => t / nil
Description
Specifies a list of library/cell/view lists that define the names of cellviews within a test for which the checks and asserts defined in the Checks/Asserts assistant will be netlisted. The checks and asserts under each of these cellviews will be netlisted provided that the netlist attribute of the test is set to t and its netlistScope attribute is set to partial or all. The cellviews will not be netlisted if the netlist attribute is nil or the netlistScope attribute is none.
Arguments
Value Returned
|
Returns |
||
Example
The following example enables netlisting of checks and asserts for two cellviews in the test vip:test:ca_enabled:partial:
ocnxlPutChecksAsserts(?netlist t)
=> t
ocnxlPutChecksAssertsTest(?testName "vip:test:ca_enabled:partial" ?netlist t ?netlistScope "partial")
ocnxlPutEnabledChecksAssertsCellViews(?testName "vip:test:ca_enabled:partial" ?enabledCellViews list(list("vip" "test" "schematic") list("checks" "inv" "schematic")))
Commands for Specifications
- ocnxlGetSpecs
- ocnxlPutGreaterthanSpec
- ocnxlPutInfoSpec
- ocnxlPutLessthanSpec
- ocnxlPutMaxSpec
- ocnxlPutMinSpec
- ocnxlPutToleranceSpec
- ocnxlPutRangeSpec
- ocnxlRemoveSpec
ocnxlGetSpecs
ocnxlGetSpecs( ) => t / nil
Description
Returns a list of parameter specification names.
Arguments
Value Returned
Example
ocnxlGetSpecs()
ocnxlPutGreaterthanSpec
ocnxlPutGreaterthanSpec(t_testName t_outputName t_thresholdValue[?weightg_weight][?cornerg_cornerName])=> t / nil
Description
Lets you specify that value of an output must be greater than the given threshold value.
Arguments
Value Returned
Example
ocnxlPutGreaterthanSpec("test_one" "VT("/out")" "3.5" 4)
=> t
; Spec is defined that transient voltage for /out signal
; must always be greater than 3.5 volts. The weighting factor for the spec is 4.
ocnxlPutInfoSpec
ocnxlPutInfoSpec(t_testNamet_outputName[?cornerg_cornerName ]) => t / nil
Description
Specifies an info spec for an output.
Arguments
Value Returned
Example
ocnxlPutInfoSpec("test_one" "VT(\"/out\")")
=> t
# An info spec “test_one” is set for the expression “VT(\"/out\”.
ocnxlPutLessthanSpec
ocnxlPutLessthanSpec(t_testName t_outputName t_thresholdValue[?weightg_weight][?cornerg_cornerName])=> t / nil
Description
Lets you specify that value for a output must be less than the given threshold value.
Arguments
Value Returned
Example
ocnxlPutLessthanSpec("test_one" "VT("/out")" "6.5" 4)
=> t
; Spec is defined that the transient voltage for /out signal
; must always be less than 6.5 volts. The weighting factor for the spec is 4.
ocnxlPutMaxSpec
ocnxlPutMaxSpec(t_testName t_resultName t_maxValue[?weightg_weight][?cornerg_cornerName])=> t / nil
Description
Lets you specify a maximize spec for a result.
Arguments
Value Returned
Example
ocnxlPutMaxSpec("test_one" "VT("/out")" "6.5" ?weight 4)
=> t
; Spec is defined that transient voltage for /out signal should be as high as
; possible and must be more than 6.5 volts to pass. The weighting factor for the
; spec is 4.
ocnxlPutMinSpec
ocnxlPutMinSpec(t_testName t_outputName t_minValue[ ?weightg_weight][?cornerg_cornerName])=> t / nil
Description
Lets you specify a minimize spec for an output.
Arguments
Value Returned
Example
ocnxlPutMinSpec("test_one" "VT("/out")" "3.5" ?weight 4)
=> t
; Spec is defined that the transient voltage for /out signal should be ; as low as possible and it must be below 3.5 volts to pass. The weighting factor ; for the spec is 4.
ocnxlPutToleranceSpec
ocnxlPutToleranceSpec(t_testNamet_outputNamet_value s_toleranceType t_toleranceValue[?weightg_weight][?cornerg_cornerName]) => t / nil
Description
Lets you specify a tolerance spec for an output.
Arguments
Value Returned
Example
ocnxlPutToleranceSpec("test_one" "VT("/out")" "5.0" ’percentage "10" ?weight 4)
=> t
# Spec is defined that transient voltage for /out signal must be 5.0 volts with tolerance 10%. The weighting factor for the spec is 4.
ocnxlPutRangeSpec
ocnxlPutRangeSpec(t_testName t_outputName t_maxValue t_minValue[?weightg_weight][?cornerg_cornerName]=> t / nil
Description
Lets you specify a range spec for an output.
Arguments
Value Returned
Example
ocnxlPutRangeSpec("test_one" "VT("/out")" "6.5" "3.5" 4)
=> t
; Spec is defined that maximum transient voltage for /out signal
; must be 6.5 volts and minimum must be 3.5 volts. The weighting factor for the
; spec is 4.
ocnxlRemoveSpec
ocnxlRemoveSpec(
t_specName
)
=> t / nil
Description
Removes the specified parameter specification.
Arguments
Value Returned
Example
ocnxlRemoveSpec("MAX")
Commands to Set Up Run Options
- ocnxlConjugateGradientOptions
- ocnxlCornerVars
- ocnxlFeasibilityAnalysisOptions
- ocnxlGetBestPointParams
- ocnxlGlobalOptimizationOptions
- ocnxlLocalOptimizationOptions
- ocnxlMonteCarloOptions
- ocnxlSamplingOptions
- ocnxlSensitivityOptions
- ocnxlSizeOverCornersOptions
- ocnxlStartingPoint
- ocnxlSweepsAndCornersOptions
- ocnxlWorstCaseCornersOptions
- ocnxlYieldEstimationOptions
- ocnxlYieldImprovementOptions
ocnxlConjugateGradientOptions
ocnxlConjugateGradientOptions ( [?runFullEvaluationt_runFullEvaluation] [?meetAllGoalst_meetAllGoals] [?timeLimitt_timeLimit] [?numPointst_numPoints] ) => t / nil
Description
Sets options for conjugate gradient runs. This command works only in XL mode. See help on ocnSetXLMode().
Arguments
Value Returned
|
Returns |
||
Example
ocnxlConjugateGradientOptions(?numPoints "3000")
Sets to run for 3000 points.
ocnxlCornerVars
ocnxlCornerVars(l_varValueList)=> t / nil
Description
Specifies a list of corner variables (along with their minimum, maximum, and reference values) to be used to run the Create Worst Care Corner simulation run mode.
Arguments
|
List of corner variable-value combination list. Each list item contains a list of variable name, minimum and maximum values for the variable, and a reference value. |
Value Returned
|
Returns |
|
ocnxlFeasibilityAnalysisOptions
ocnxlFeasibilityAnalysisOptions( [?refPointt_refPoint] [?startingstateorpointt_startingstateorpoint] [?startingstatenamet_startingstatename][ ?meetAllGoalst_meetAllGoals][ ?effortt_effort] )=> t / nil
Description
Specifies options for the Feasibility Analysis run mode. See help on ocnxlRun for help on run modes. This command works only in XL mode.
Arguments
Value Returned
Example
ocnxlFeasibilityAnalysisOptions(?effort "conjugateGradient")
t
ocnxlGetBestPointParams
ocnxlGetBestPointParams(
)
=> l_params / nil
Description
Returns a list of parameters from the best design point.Arguments
Value Returned
Example
ocnxlGetBestPointParams()
(("C" "1.2p")
("R" "800k")
)
ocnxlGlobalOptimizationOptions
ocnxlGlobalOptimizationOptions( [?runFullEvaluationt_runFullEvaluation] [?refPointt_refPoint] [?meetAllGoalst_meetAllGoals] [?timeLimitt_timeLimit] [?numPointst_numPoints] [?noImprvPointst_noImprvPoints] [?pointsAfterAllSpecsSatisfiedt_pointsAfterAllSpecsSatisfied] [?startingstateorpointt_startingstateorpoint] [?startingstatenamet_startingstatename] ) => t / nil
Description
Lets you specify options for global optimization run. See help on ocnxlRun() for run modes. This command works only in XL mode. See help on ocnSetXLMode()
Arguments
Value Returned
|
Returns |
|
Example
ocnxlGlobalOptimizationOptions(?runFullEvaluation "1" )
# Sets global optimization to be run only until all specifications are met.
ocnxlGlobalOptimizationOptions(?startingstateorpoint "Starting State" ?startingstatename "Optimization.PointID.46")
# Sets the optimization to be run with starting point as “Optimization.PointID.46” state.
ocnxlLocalOptimizationOptions
ocnxlLocalOptimizationOptions( [?effortt_effort ] [?runFullEvaluationt_runFullEvaluation] [?meetAllGoalst_meetAllGoals] [?timeLimitt_timeLimit] [?numPointst_numPoints] [?startingstateorpointt_startingstateorpoint] [?startingstatenamet_startingstatename] ) => t / nil
Description
Lets you specify options for local optimization run. See help on ocnxlRun() for run modes.
Arguments
Value Returned
|
Returns |
|
Example
ocnxlLocalOptimizationOptions(?effort "coarse" )
# Sets coarse as the effort for local optimization run.
ocnxlLocalOptimizationOptions(?startingstateorpoint "Starting State" ?startingstatename "Optimization.PointID.46")
# Sets the optimization to be run with starting point as “Optimization.PointID.46” state.
ocnxlMonteCarloOptions
ocnxlMonteCarloOptions( [?mcmethodt_mcmethod] [?mcNumPointst_mcNumPoints] [?samplingModet_samplingMode] [?saveAllPlotst_saveAllPlots] [?saveProcesst_saveProcess] [?saveMismatcht_saveMismatch] [?useReferencet_useReference] [?donominalt_donominal] [?monteCarloSeedt_monteCarloSeed] [?mcStartingRunNumbert_mcStartingRunNumber] [?designUnderTestt_designUnderTest] [?dutIntancest_dutIntances] [?dutSummaryt_dutSummary] [?dutSubcktst_dutSubckts] [?ignoreFlagt_ignoreFlag] [?mcNumBinst_mcNumBins] [?mcStopEarlyt_mcStopEarly] [?mcYieldTargett_mcYieldTarget] [?mcYieldAlphaLimitt_mcYieldAlphaLimit] [?mcStopMethodt_mcStopMethod] [?mcSigmaScaleValuet_mcSigmaScaleValue] [?dumpParamModet_dumpParamMode] [?evaluationmodet_evaluationmode] [?limitOnOutstandingPointst_limitOnOutstandingPoints] ) => t / nil
Description
Lets you specify options for Monte Carlo runs. See help on ocnxlRun() for run modes.
Arguments
Value Returned
Example
ocnxlMonteCarloOptions(?mcmethod "all" ?mcNumPoints “100” ?samplingMode “lhs”
?saveAllPilots “0” ?monteCarloSeed "" ?mcStartingRunNumber "" ?dutSummary ""
?saveProcess “1” ?saveMismatch “0” ?useReference “0” ?doNominal “1” ?mcNumBins "100")
ocnxlSamplingOptions
ocnxlSamplingOptions ( [?pointst_numberOfPoints] ) => t / nil
Description
Lets you specify options for sampling run. See help on ocnxlRun () for run modes.
Arguments
|
Specifies the number of points. The default value for points is 200. |
Value Returned
Example
ocnxlSamplingOptions(?points "500") # Sets 500 as the number of points for sampling run.
ocnxlSensitivityOptions
ocnxlSensitivityOptions( [?haveDesignParamst_haveDesignParams] [?haveProcessParamst_haveProcessParams] [?haveDcOpt_haveDcOp] [?haveDesignParamStepst_haveDesignParamSteps] [?designParamPercentaget_designParamPercentage] [?processSigmaStepst_processSigmaSteps] [?processConfidenceIntervalUniformt_processConfidenceIntervalUniform] [?processMethodt_processMethod] [?dcOpInfot_dcOpInfo] [?algoritmt_algoritm] [?statisticalInfot_statisticalInfo] ) => nil
Description
Specifies options for the Sensitivity Analysis run mode. See help on ocnxlRun for help on run modes. This command works only in XL mode.
Arguments
Value Returned
Example
ocnxlSensitivityOptions( ?haveDesignParams "1" ?haveProcessParams "0" ?haveDcOp "1" ?haveDesignParamSteps "1" ?designParamPercentage "10" ?processSigmaSteps "1" ?processConfidenceIntervalUniform "20" ?processMethod "Process" ?dcOpInfo "voltage_divider:voltage_divider:1%/R0%i%analogLib/res/spectre%Master%analogLib/res/spectre#"
nil
ocnxlSizeOverCornersOptions
ocnxlSizeOverCornersOptions( [?soclazyt_soclazy] [?socoptmethodt_socoptmetjod[?socreferencepointt_socreferencepoint] [?soceffortt_soceffort] [?soctimelimitt_spctimelimit] [?socmaxpointst_socmaxpoints] [?sociterationst_sociterations] [?socstopifnoimprovementt_socstopifnoimprovement] )=>nil
Description
Provides run options for the Size Over Corners run.
Arguments
Value Returned
ocnxlStartingPoint
ocnxlStartingPoint(
l_startingPointDetails
)
=> t / nil
Description
Lets you specify a reference point—a starting place for sizing—for Improve Yield, Global Optimization, Feasibility Analysis or Monte Carlo runs.
Arguments
Value Returned
Example
ocnxlStartingPoint(’(("variable" "CAP" "2p")
(“parameter” "ether_adcflash/adc_cascode_opamp/schematic/M2/fw" "16.3u")))
ocnxlSweepsAndCornersOptions
ocnxlSweepsAndCornersOptions( [?submitpointenabledt_submitpointenabled] ) => t / nil
Description
Lets you specify options for Single Run, Sweeps and Corners runs.
Arguments
|
Specify |
Value Returned
Example
ocnxlSweepsAndCornersOptions(t) => t
ocnxlWorstCaseCornersOptions
ocnxlWorstCaseCornersOptions( [?statisticalInfot_statisticalInfo] [?algorithmt_algorithm] ) => t / nil
Description
Sets the algorithm to be used while running the worst case corner simulation.
Arguments
|
Specifies the algorithm based on which you want to create the worst case corners.
Possible values: |
Value Returned
Example
ocnxlWorstCaseCornersOptions( ?algorithm "OFAT 3-level" ?grouprun "1" )
ocnxlYieldEstimationOptions
ocnxlYieldEstimationOptions( [?useReferencet_useReference] [?mcMethodt_mcMethod] [?samplingMethodt_samplingMethod] [?mcNumPointst_mcNumPoints] [?mcNumBinst_mcNumBins] [?monteCarloSeedt_monteCarloSeed] [?speccornerselectiont_speccornerselection] [?haveYieldToStartt_yieldToStart] [?yisToStartt_yisToStart] [?useVarReductiont_varReductionBy] [?varReductionParamt_varReductionParam] [?numlmportt_numlmport] [?iterationst_iterations] [?designUnderTestt_designUnderTest] [?dutInstancest_dutInstances] [?dutSummaryt_dutSummary] [?dutSubcktst_dutSubckts] [?ignoreFlagt_ignoreFlag] [?yeMethodt_yeMethod] [?yeSpecTolerancet_yeSpecTolerance] [?yeAngleTolerancet_yeAngleTolerance] ) => t / nil
Description
Lets you specify options for High Yield Estimation run mode. See help on ocnxlRun() for run modes.
Arguments
|
Specifies whether to use a schematic point or a reference point that you have created as a starting place for sizing. The possible values are |
|
|
Specifies the yield estimation method to be used. The default value is |
|
|
Sets the default statistical sampling method for improve yield runs. The default value is |
|
|
Sets the number of Monte Carlo points you want to simulate. The default value is |
|
|
If the selected sampling method is
Default for
|
|
|
Specifies a different seed for Monte Carlo runs. Default for |
|
|
Specifies if there is a yield in sigma value from which the high yield estimation method should be applied. The default value is |
|
|
Specifies a yield in sigma value from which the high yield estimation method should be applied. The default value is |
|
|
Enables or disables the statistical variable reduction method.
Default value |
|
|
Optional argument to specify the number of sizing/Monte Carlo iterations run for each specification. |
|
|
Optional argument to specify a list of design under test (DUT) instances for improve yield runs. In this list, you can specify the instances and devices to which mismatch variations must be applied. The format to specify the list is as given below: <testname%instances%Libname/Cellname/Viewname%Master#testname%instances%modelname%Subcircuit#testname%instances%Schematic%Schematic>
where two DUT instances in the list are separated by a For example: |
|
|
Specifies a list of design under test (DUT) instances for Monte Carlo runs that are subcircuits. The valid value is semicolon-separated list of DUT instances that are subcircuits. |
|
|
Optional argument to specify if the user wants to apply mismatch variations to instances specified with
Default for |
|
|
Specifies the estimation method to be used. This argument takes only one value |
|
|
Specifies the specification tolerance value. This argument is used to modify the convergence criteria to be used for WCD calculation.
Valid value range:
|
|
|
Specifies the angle tolerance value between WCD point vector and gradient vector.
Valid value range:
For more details, refer to the note given for |
|
Value Returned
Example
ocnxlYieldEstimationOptions( ?useReference "0" ?mcMethod "all" ?samplingMode "random" ?mcNumPoints "300" ?mcNumBins "" ?monteCarloSeed "" ?haveYieldToStart "1" ?yisToStart "3.0" ?varReductionBy "auto" ?iterations "20" ?yeMethod "Worst Case Distance" )
ocnxlYieldImprovementOptions
ocnxlYieldImprovementOptions( [?iymethodt_iymethod] [?refPointt_refPoint] [?algorithmt_algorithm] [?timeLimitt_timeLimit] [?iterationst_iterations] [?numPointst_numPoints] [?sigmaTargett_sigmaTarget] [?stopIfNoImprovementt_stopIfNoImprovement] [?runFullEvaluationt_runFullEvaluation] [?optimizationMethodt_optimizationMethod] [?effortt_effort] [?saveCornert_saveCorner] [?iysamplingmethodt_iysamplingmethod] [?iymontecarlodonominalt_iymontecarlodonominal] [?iymontecarloseedt_iymontecarloseed] [?iymcnumpointst_iymcnumpoints] [?iymontecarlostartingrunt_iymontecarlostartingrun] [?WYCmethodt_WYCmethod] [?dutSummaryt_dutSummary] [?dutSubcktst_dutSubckts] [?ignoreFlagt_ignoreFlag] ) => t / nil
Description
Lets you specify options for improve yield runs. See help on ocnxlRun() for run modes.
Arguments
Value Returned
Example
ocnxlYieldImprovementOptions(?iymethod "mismatch" )
# Sets mismatch as the method for yield improvement run.
Commands for OCEAN XL Runs
- ocnxlGetRunDistributeOptions
- ocnxlOpenResults
- ocnxlOutputSummary
- ocnxlRun
- ocnxlRunSetupSummary
- ocnxlSetRunDistributeOptions
- ocnxlWaitUntilDone
ocnxlGetRunDistributeOptions
ocnxlGetRunDistributeOptions(
)
=> l_runOptions / nil
Description
Returns the run options set for the current setup database.
Arguments
Value Returned
Example
runOpt = ocnxlGetRunDistributeOptions()
runOpt~>??
(JobLimit 2 DivideJobs Specify RunIn
Parallel
)
Related Functions
ocnxlOpenResults
ocnxlOpenResults( [ ?testNamet_testName] )=> t / nil
Description
Opens the simulation results at the end of an Ocean XL simulation.When you save an OCEAN script from the ADE XL environment, this function is automatically added to the script.
Arguments
|
Name of the test for which the results are to be opened. In case of a multi-test setup, by default, the results are opened for the first test.l |
Value Returned
Example
;The following code snippet shows how the results can be opened for the test
;"opamplib:ampTest:1" at the end of simulation and use ocnPrint to print the
;outputs.
;
ocnxlRun( ?mode 'sweepsAndCorners ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t)
ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t)
ocnxlOpenResults(?testName "opamplib:ampTest:1") selectResults('tran) ocnPrint( ?output "./bandwidth.txt" ?width 20 ?numSpaces 1 bandwidth(VT("/out") 3 "low"))
ocnxlOutputSummary
ocnxlOutputSummary( [?exprSummaryg_exprSummary] [?specSummaryg_specSummary] [?yieldSummaryg_yieldSummary] [?detailedg_detailed] [?waveg_wave] [?forRunrunID] [?fileNamet_filePath] [?printHeader?g_printHeader] ) => t / nil
Description
Arguments
Value Returned
Example
Example 1:
#This will print the detailed expression and specification information. Printing of the outputs that evaluate to waveforms will be skipped.
ocnxlOutputSummary(?exprSummary 'OnlyDetailed ?specSummary 'OnlyDetailed ?wave nil)
=>
Detailed Expression Summary:
===========================
Parameters: None. Test: opamplib:ampTest:1
Nominal Corner:
output value
MAX -1.35091
MIN -1.50789
Detailed Spec Summary: ===================== Parameters: None. Test: opamplib:ampTest:1
Nominal Corner:
spec status value spec details
MAX pass -1.35091 lt 1.2 0.0
MIN fail -1.50789 range 1.2 2.3
t
Example 2:
ocnxlOutputSummary()
# This will print the detailed and summary information of expressions and specs for each sweep point and each corner.
Example 3:
ocnxlOutputSummary(?exprSummary nil)
# This will print the detailed and summary informaition of output expressions. It will not print any information about the specifications.
Example 4:
ocnxlOutputSummary(?specSummary nil ?detailed nil)
# This will print only the summary of output expressions for each sweep point across all corners. This will not print any details for expressions. This will also not print any spec details/summary.
Example 5:
ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t ?fileName "myoutputfile")
#Writes all the summary to the file myoutputfile with default header as following
#
#Ocean XL Output Summary for run Ocean.<runNumber> on <DateTime>
(ocnxlOutputSummary ?forRun runid2 ?detailed nil)
#
#Ocean XL Output Summary for the run with runID as runid2
Example 6:
# When " sstatus(fullPrecision t)" & "?printHeader? t"
# This will display the value of the output if "sstatus(fullPrecision t)" and print the header at the top if "?printHeader?" is set to "t".
ocean> sstatus(fullPrecision t)
=>t
ocean> ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t ?printHeader? t)
=>
Ocean XL Output Summary for run Ocean.10 on Dec 5 01:05:46 2018
Detailed Expression Summary:
===========================
Parameters: None. Test: AC
Nominal Corner:
output value
/vin wave
/out wave
PM 27.33218483010016
Expression Summary:
===========================
Parameters: None. Test: AC
Nominal Corner:
output value
/vin wave
/out wave
PM 27.33218483010016
Detailed Spec Summary:
=====================
Parameters: None.
Test: AC
Nominal Corner:
spec status value spec details
PM pass 27.33218483010016 lt 45.0 0.0
Spec Summary:
=============
Parameters: None.
Test: AC
spec status value spec details
PM pass 27.33218483010016 lt 45.0 0.0
Example 7:
# When " sstatus(fullPrecision nil)" & "?printHeader? nil"
# This will display only the default digits as output if "sstatus(fullPrecision nil)" and will not print the header at the top if "?printHeader?" is set to "nil".
ocean> sstatus(fullPrecision nil)
=>nil
ocean> ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t ?printHeader? nil)
=>
Detailed Expression Summary:
===========================
Parameters: None. Test: AC
Nominal Corner:
output value
/vin wave
/out wave
PM 27.33218
Expression Summary:
===========================
Parameters: None. Test: AC
Nominal Corner:
output value
/vin wave
/out wave
PM 27.33218
Detailed Spec Summary:
=====================
Parameters: None.
Test: AC
Nominal Corner:
spec status value spec details
PM pass 27.33218 lt 45.0 0.0
Spec Summary:
=============
Parameters: None.
Test: AC
spec status value spec details
PM pass 27.33218 lt 45.0 0.0
Example 8:
ocnxlOutputSummary(?fileName "myoutputfile" ?printheader? 'WhenFileName)
# This will write the summary output to the "myoutputfile" file when the ?fileName argument is specified.
Related Functions
ocnxlRun
ocnxlRun( [?modes_mode] [?nominalCornerEnabledg_nominalCornerEnabled] [?allCornersEnabledg_allCornersEnabled] [?allSweepsEnabledg_allSweepsEnabled] [?verboseModeg_verboseMode] [?waitUntilDoneg_waitUntilDone] [?runFinishedCallbackg_runFinishedCallback] ) => t / nil /runID
Description
Specifies the run mode for simulation and whether to run the nominal corner, corners and sweeps during simulation. Also specifies whether to report completion of points during simulation.
Arguments
Value Returned
|
When the OCEAN runs are run in parallel, that is, when ?waitUntilDone is set to |
|
Examples
Example 1:
The following command runs an already loaded setup and also specifies that no corner should be run.
ocnxlRun(?allCornersEnabled nil)
No corner will be run but rest of the setup will be run.
Example 2:
This example runs two setups in parallel.
ocnxlJobSetup( '( "blockemail" "1" "configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "8" "name" "ADE XL Default" "preemptivestart" "1" "reconfigureimmediately" "1" "runtimeout" "-1" "showerrorwhenretrying" "1" "showoutputlogerror" "0" "startmaxjobsimmed" "1" "starttimeout" "300" ) )
ocnxlLoadSetupState( "C1" '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( "C4" '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)
(ocnxlWaitUntilDone 'All)
(ocnxlOutputSummary ?forRun runid2 ?detailed nil)
; The previous command displays run summary for the second run
Related Functions
ocnxlWaitUntilDone, ocnxlLoadSetupState, ocnxlJobSetup, ocnxlGetHistory, ocnxlSetRunDistributeOptions
ocnxlRunSetupSummary
ocnxlRunSetupSummary( ) => t / nil
Description
Generates the run setup summary. It shows how many tests, sweeps and corners are there and whether they are enabled.
Arguments
Value Returned
Example
ocnxlRunSetupSummary()
ocnxlSetRunDistributeOptions
ocnxlSetRunDistributeOptions( [?RunInt_runIn][?DivideJobst_divideJobs][?JobLimitn_jobLimit]) => t / nil
Description
Sets the specified run option settings for the current setup database.
Arguments
Value Returned
Example
The following example sets the run options to run ICRPs in parallel with a maximum of three jobs per run:
ocnxlSetRunDistributeOptions( ?RunIn 'Parallel ?DivideJobs 'Specify ?JobLimit 3)
t
Related Functions
ocnxlGetRunDistributeOptions
ocnxlWaitUntilDone
ocnxlWaitUntilDone(
x_runID
'All
)
=> t / nil
Description
This command waits for an active OCEAN XL run to complete. This command works only in XL mode. See help on ocnSetXLMode().
nil. You can enable parallel run in OCEAN XL scripts by using the ocnxlSetRunDistributeOptions function.Arguments
|
Specifies the ID of the OCEAN XL run for which OCEAN needs to wait to complete before starting execution of the next command. You can specify the runId returned by the ocnxlRun function or the history name or the handle to the setup database for a run. |
|
|
Specify |
Value Returned
Examples
Example 1
In this example, the ocnxlWaitUntilDone command waits for all OCEAN XL runs that are currently running to complete before moving to the next command in the script.
ocnxlLoadSetupState( "C1" '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( "C4" '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)
(ocnxlWaitUntilDone 'All)
ocnxlOutputSummary()
Example 2
In this example, the ocnxlWaitUntilDone command waits for the OCEAN XL run with runID as runid2 to complete before moving to the next command in the script.
runid2 = ocnxlRun(?waitUntilDone nil)
(ocnxlWaitUntilDone runid2)
ocnxlOutputSummary()
Related Function
Commands for History
- ocnxlGetCurrentHistory
- ocnxlGetCurrentHistoryId
- ocnxlGetHistory
- ocnxlGetOverwriteHistory
- ocnxlGetOverwriteHistoryName
- ocnxlGetReferenceHistory
- ocnxlHistoryPrefix
- ocnxlRenameCurrentHistory
- ocnxlSetOverwriteHistory
- ocnxlSetOverwriteHistoryName
- ocnxlSetReferenceHistory
- ocnxlWriteDatasheet
ocnxlGetCurrentHistory
ocnxlGetCurrentHistory(
)
=> historyName / nil
Description
Returns the current history (checkpoint) name.
Arguments
Value Returned
Example
ocnxlLoadSetupState( "ac_state1" 'retain ?tests t ?vars t ?parameters t ?currentMode t ?runOptions t ?specs t ?corners t ?extensions t ?modelGroups nil ?relxanalysis nil )
runId = ocnxlRun( ?mode 'sweepsAndCorners ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t ?waitUntilDone nil) ; The following function returns the handle to the results database for the current history.
rdb=axlReadHistoryResDB(ocnxlGetCurrentHistory() ?session ocnxlGetSession())
; The following function returns the point object for design point 1.
pt = rdb->point(1)
; The following code prints corner name, test name, output name and its value
; for each output of type expression
foreach(out pt->outputs(?type 'expr ?sortBy 'corner)
printf("corner=%s, test=%s, output=%s, value=%L\n" out->cornerName out->testName out->name out->value))
When the above script is run, the results are displayed as shown below:
corner=C4_0, test=AC, output=gainBwProd(VF("/OUT")), value=1.068285e+09
corner=C4_0, test=AC, output=Current, value=0.0007904204
corner=C4_0, test=AC, output=Gain, value=49.76433
corner=C4_0, test=AC, output=UGF, value=5.639488e+08
corner=C4_0, test=TRAN, output=SettlingTime, value=5.911562e-09
corner=C4_0, test=TRAN, output=Swing, value=1.26184
corner=C4_1, test=AC, output=gainBwProd(VF("/OUT")), value=5.452747e+08
corner=C4_1, test=AC, output=Current, value=0.0004168163
corner=C4_1, test=AC, output=Gain, value=46.60983
corner=C4_1, test=AC, output=UGF, value=2.736042e+08
corner=C4_1, test=TRAN, output=SettlingTime, value=7.762304e-09
corner=C4_1, test=TRAN, output=Swing, value=1.05484
corner=nominal, test=AC, output=gainBwProd(VF("/OUT")), value=1.068285e+09
corner=nominal, test=AC, output=Current, value=0.0007904204
corner=nominal, test=AC, output=Gain, value=49.76433
corner=nominal, test=AC, output=UGF, value=5.639488e+08
corner=nominal, test=TRAN, output=SettlingTime, value=5.911562e-09
corner=nominal, test=TRAN, output=Swing, value=1.26184
ocnxlGetCurrentHistoryId
ocnxlGetCurrentHistoryId( [?returnSingleEntryIfGroupRunt_returnSingleEntryIfGroupRun] ) =>historyID/ nil
Description
Returns the ID of the current history (checkpoint).
Arguments
|
Specifies if a single history ID is to be returned in case of a group run. |
|
Value Returned
Example
ocnxlGetCurrentHistoryId()
ocnxlGetHistory
ocnxlGetHistory(x_runID) =>x_setupdbHandle/ nil
Description
Returns the handle to the history setup database associated with a particular run. You can use this handle to work with the history results.
This command works only in XL mode. See help on ocnSetXLMode().
Arguments
|
ID of the run for which the handle to the history setup database is to be returned. |
Value Returned
Example
ocnxlLoadSetupState( "ac_state1" '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)
ocnxlLoadSetupState( "tran_state2" 'retain ?tests t ?vars t ?parameters t ?currentMode t ?runOptions t ?specs t ?corners t ?extensions t ?modelGroups nil ?relxanalysis nil )
runId = ocnxlRun( ?mode 'sweepsAndCorners ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t ?waitUntilDone nil) histId = ocnxlGetHistory(runId) ocnxlWaitUntilDone('All) psfDir = axlGetPointPsfDir(histId "mdltest:testinv:1" ?cornerName "" ?designPointId 1)
Related Functions
ocnxlSetRunDistributeOptions, ocnxlRun
ocnxlGetOverwriteHistory
ocnxlGetOverwriteHistory( ) => t / nil
Description
Returns the status of overwrite history.
Arguments
Value Returned
Example
ocnxlGetOverwriteHistory()
t
ocnxlGetOverwriteHistoryName
ocnxlGetOverwriteHistoryName(
)
=> t_historyName / nil
Description
Returns name of the history to be overwritten.
Arguments
Value Returned
Example
ocnxlGetOverwriteHistoryName()
Interactive.4
ocnxlGetReferenceHistory
ocnxlGetReferenceHistory(
)
=> t_referenceHistoryName / nil
Description
Gets the name of the reference history currently set in the OCAEN XL.
Argument
Value Returned
Example
ocnxlSetXLMode()
...
...
ocnxlSetReferenceHistory(ocnxlGetCurrentHistory())
t
ocnxlGetReferenceHistory()
"Interactive.1"
ocnxlHistoryPrefix
ocnxlHistoryPrefix(
t_prefixName
)
=> t / nil
Sets the prefix used in the names of history items created by OCEAN XL runs.
Arguments
Value Returned
Example
ocnxlHistoryPrefix("check")
Creates history items with names likecheck.0,check.1, and so on.
ocnxlRenameCurrentHistory
ocnxlRenameCurrentHistory(
t_newNameForHistory
)
=> t / nil
Description
Renames the current history (checkpoint).
Arguments
Value Returned
Example
ocnxlRenameCurrentHistory("myHistory")
ocnxlSetOverwriteHistory
ocnxlSetOverwriteHistory(
g_historyStatus
)
=> t / nil
Description
Sets the status of overwrite history.
Arguments
Value Returned
Example
ocnxlSetOverwriteHistory(t)
t
ocnxlSetOverwriteHistoryName
ocnxlSetOverwriteHistoryName(
t_historyName
)
=> t / nil
Description
Sets name of the history to be overwritten.
Arguments
Value Returned
Example
ocnxlSetOverwriteHistoryName("Interactive.4")
ocnxlSetReferenceHistory
ocnxlSetReferenceHistory(t_historyName[?reuseNetlistt_reuseNetlist] [?useReferenceResultst_useReferenceResults] ) =>t_referenceHistoryName/ nil
Description
Sets a reference history for incremental simulation runs in OCEAN. This command works only in XL mode. See help on ocnSetXLMode().
Argument
Value Returned
Example
In the following example, during the first OCEAN run, the variable var1 is sweeped for values 1 and 2. For the next run, the current history is set as the reference history. The default options specify that the netlist will not be reused, but the reference results will be copied to the incremental run. As a result, in the subsequent run, netlist will be created for the entire design, but the results will be generated only for the new design points with the value of var1 set to 3, 4, and 5. Results for design points with ABC set to 1 or 2 will be copied to the new history.
ocnxlSetXLMode()
...
...
ocnxlSweepVar("var1" "1 2")
...
...
ocnxlRun(...)
...
...
ocnxlSetReferenceHistory(ocnxlGetCurrentHistory())
...
ocnxlSweepVar("var1" "1 2 3 4 5")
...
ocnxlRun() <--- This will only run three (3 4 5) additional points for netlisting
...
...
ocnxlEndXLMode()
ocnxlWriteDatasheet
ocnxlWriteDatasheet( [?namet_datasheetName] [?directoryt_directory] [?resultsSummaryg_resultsSummary] [?testsSummaryg_testsSummary] [?detailedResultsg_detailedResults] [?plotsg_plots] [?designVarsSummaryg_designVarsSummary] [?paramsSummaryg_paramsSummary] [?cornersSummaryg_cornersSummary] [?setupSummaryg_setupsummary] [?launchBrowserg_launchBrowser] ) => t / nil
Description
This command writes a datasheet from the latest OceanXL run.
Arguments
Value Returned
Example
ocnxlWriteDatasheet(?name "My datasheet")
=> t
Commands for Parametric Sets
- ocnxlParametricSet
- ocnxlLocalParametricSet
- ocnxlSetAllParametersDisabled
- ocnxlSetAllParameterPSetsDisabled
- ocnxlSetAllVariablePSetsDisabled
ocnxlParametricSet
ocnxlParametricSet(l_paramList) =>l_paramList
Description
Creates a parametric set by using the given list of parameters.
Arguments
|
List of parameter names to be included in the parametric set. |
Example
The following example creates a parametric set with two parameters, vin_ac and vdd:
ocnxlParametricSet('("vin_ac" "vdd"))
ocnxlLocalParametricSet
ocnxlLocalParametricSet(
t_testName
l_paramList
)
=> t / nil
Description
Adds a parametric set for local variables in a maestro view.
Arguments
Value Returned
Example
The following example adds a group parametric variables set (ldc, r0, Vdc) into the test wcd_math_testcases:test1:1:
ocnxlLocalParametricSet("wcd_math_testcases:test1:1" '("Idc""r0""Vdc"))
ocnxlSetAllParametersDisabled
ocnxlSetAllParametersDisabled(
g_disabled
)
=> t / nil
Description
Enables or disables all parameters.
Arguments
|
Specify |
Value Returned
Example
ocnxlSetAllParametersDisabled(t) => t
ocnxlSetAllParameterPSetsDisabled
ocnxlSetAllParameterPSetsDisabled(
g_disabled
)
=> t / nil
Description
Enables or disables all parameter parametric sets.
Arguments
|
Specify |
Value Returned
|
Returns |
|
Example
ocnxlSetAllParameterPSetsDisabled(t)
ocnxlSetAllVariablePSetsDisabled
ocnxlSetAllVariablePSetsDisabled(
g_disabled
)
=> t / nil
Description
Enables or disables all variable parametric sets.
Arguments
|
Specify |
Value Returned
|
Returns |
|
Example
ocnxlSetAllVariablePSetsDisabled(t)
Commands for Pre-run Scripts
- ocnxlGetPointId
- ocnxlLoadCurrentEnvironment
- ocnxlMCIterNum
- ocnxlPreRunScript
- ocnxlReEvaluatePointVariables
- ocnxlRunCalibration
- ocnxlSetCalibration
- ocnxlSetMCdut
- ocnxlSetPreRunScriptEnabled
- ocnxlUpdatePointVariable
ocnxlGetPointId
ocnxlGetPointId(
)
=> x_pointID / nil
Description
Returns the ID of the current simulation point. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
id=ocnxlGetPointId()
ocnxlLoadCurrentEnvironment
ocnxlLoadCurrentEnvironment( [?noAnalysisg_noAnalysis] ) => t / nil
Description
Loads all the current environment settings, such as variables, analyses, etc., from the main test setup into the pre-run simulation environment. It also sets the results and netlist directory for the pre-calibration simulations based on the results directory for the current point.
For example, if the results directory of point 4 is $AXL_PROJECT_DIR/myLib/myCell/myView/results/data/Interactive.1/4/myTest, the netlist directory for the pre-calibration simulation run will be $AXL_PROJECT_DIR/myLib/myCell/myView/results/data/Interactive.1/4/myTest/preSim/netlist and the results directory will be $AXL_PROJECT_DIR/myLib/myCell/myView/results/data/Interactive.1/4/myTest/preSim/psf. You can specify a different results directory for the pre-calibration simulation run by using the
This command must be used only in a pre-run script.
For more information, see
ocnxlUpdatePointVariable become part of the current environment. ocnxLoadCurrentEnvironment will load all variables from the current environment. If your script requires a variable to be initialized and you also set the value with ocnxlUpdatePointVariable, the variable must be explicitly initialized after the call to ocnxlLoadCurrentEnvironment. For example, desVar("myout" 1).Arguments
Value Returned
|
Returns |
|
Example
ocnxlLoadCurrentEnvironment(t)
analysis('tran ?stop 10u)
Related Functions
ocnxlMCIterNum
ocnxlMCIterNum(
)
=> x_iterNum / nil
Description
Returns the current iteration number of the main Monte Carlo simulation run. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
|
Returns the iteration number of main Monte Carlo simulation run |
|
Example
x=ocnxlMCIterNum()
when( equal(x 1) then
initialize();
)
ocnxlPreRunScript
ocnxlPreRunScript(
t_fileName
)
=> t / nil
Description
Specifies the pre-run script file containing the OCEAN commands that need to be run before the simulation starts. This function must be used within a test setup block (starting with ocnxlBeginTest and ending with ocnxlEndTest ) in your OCEAN script file.
For more information, see
Arguments
Value Returned
Example
ocnxlBeginTest("myTest")
...
ocnxlPreRunScriptEnabled(t)
ocnxlPreRunScript("/net/scripts/myPreRunScript")
...
ocnxlEndTest()
Related Functions
ocnxlReEvaluatePointVariables
ocnxlReEvaluatePointVariables( ) => t / nil
Description
Re-evaluates the eval() expressions that include or are dependent on the variables updated through ocnxlUpdatePointVariable during the pre-run stage.
This function must be used only in a pre-run script.
Arguments
Value Returned
Examples
Re-evaluates the eval() expressions that include or have dependencies with the updated variables CTRL and DoubleArray.
(let (CTRL_calibrated)
;Initialize and inherit the test setup from the current point
ocnxlLoadCurrentEnvironment(?noAnalysis t)
;Define the analysis if different from the main setup
;Sweep the calibration variable
analysis('dc ?saveOppoint t
?param "CTRL" ?start "0" ?stop "127" ?step "1" )
;Run a simulation
ocnxlRunCalibration()
;Measurement to find the calibrated value
CTRL_calibrated = aelEngNotation(
round(cross(VS("/vref") 1 1 "rising" nil nil nil)))
;Add the calibrated result value to the outputs table
ocnxlAddOrUpdateOutput("CTRL_calibrated" CTRL_calibrated)
;Update the main simulation environment with the calibrated result
ocnxlUpdatePointVariable("CTRL" CTRL_calibrated)
ocnxlUpdatePointVariable("DoubleArray" "16")
;Re-evaluate the expressions which include or have dependencies with updated "CTRL" and "DoubleArray".
ocnxlReEvaluatePointVariables()
ocnCloseSession()
)
Related Topics
ocnxlRunCalibration
ocnxlRunCalibration( ) => t / nil
Description
Starts the simulation required to calibrate the simulation setup. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
ocnxlRunCalibration()
t
ocnxlSetCalibration
ocnxlSetCalibration( ) => t / nil
Description
Sets up a single iteration Monte Carlo calibration run by inheriting statistical parameter information from the main Monte Carlo simulation run. The starting iteration number for the calibration run is set to the current iteration number of the main Monte Carlo simulation run. This command must be used only in a pre-run script.
For more information, see
Arguments
Value Returned
Example
ocnxlSetCalibration()
t
ocnxlSetMCdut
ocnxlSetMCdut(
t_instName
)
=> t / nil
Description
Sets a design instance to be used in a pre-run script for Monte Carlo calibration. If set, the specified subcircuit instance has process and mismatch variations applied to it and the unspecified instances only have process variations. All subcircuits instantiated under the specified instance also have process and mismatch enabled. By default, mismatch variations are applied to all the subcircuit instances in the design and process variations are applied globally. This allows the testbench to change and not affect the variations seen by the original design.
For more information, see
Arguments
Value Returned
Example
;Set the MC iteration number, etc. to match the main simulation
ocnxlSetCalibration()
;Set the DUT instance of the pre run design ocnxlSetMCdut("I0") ; For one test you can specify multiple instances to restrict mismatch variation to ; these instances: ocnxlSetMCdut("I0.M0 I0.M1" )
ocnxlSetPreRunScriptEnabled
ocnxlSetPreRunScriptEnabled(
g_enabled
)
=> t / nil
Description
Specifies if running the pre-run scripts through OCEAN scripts should be enabled.
This command works only in the XL mode. See help on ocnSetXLMode().
For more information, see
Arguments
Value Returned
Example
ocnxlBeginTest("myTest")
...
ocnxlSetPreRunScriptEnabled(t)
ocnxlPreRunScript("/net/scripts/myPreRunScript")
...
ocnxlEndTest()
ocnxlUpdatePointVariable
ocnxlUpdatePointVariable(t_paramNamet_paramValue) => t / nil
Description
Updates the value of a parameter or variable in the simulation setup. This command must be used only in a pre-run script.
ocnxlUpdatePointVariable become part of the current environment. If your pre-run script requires a variable to be initialized and you are setting its value with ocnxlUpdatePointVariable, the variable must be explicitly initialized after the call to ocnxlLoadCurrentEnvironment. See example.
For more information, see
Arguments
Value Returned
Example
;; Montecarlo Calibration Example
;; Inherit test setup from the current point
ocnxlLoadCurrentEnvironment( ?noAnalysis t)
desVar("myout" 1)
;; Apply changes if any e.g set a different analysis for calibration run
analysis('dc ?anaName "dc" ?saveOppoint t ?write "spectre.dc"
?oppoint "rawfile" ?maxiters "150" ?maxsteps "10000" ?annotate "status"
)
;; The following command sets the calibration run. It will iherit main
;; montecarlo options for single iteration run.
ocnxlSetCalibration()
;; An example to calculate calibrated value using successive approximation method. ;; ocnxlRunCalibration() will run monte carlo simulation for single iteration. ocnxlRunCalibration() myout = IDC("/R0/PLUS") ;; Add this value as ADE XL output so that it can be viewed in outputs window. ;; An output name Calibrated_ParamName will be added for each point. ocnxlAddOrUpdateOutput("myout" myout) ;; Update the main simulation environment with the calibrated result. ocnxlUpdatePointVariable("myout" sprintf( nil "%L" myout))
Commands for Reliability Analysis
- ocnxlAddRelxSetup
- ocnxlAddRelxScenariosSetup
- ocnxlDisableRelxScenariosSetup
- ocnxlDisableRelxSetup
- ocnxlSetRelxAnalysisEnabled
- ocnxlSetRelxScenariosEnabled
- ocnxlSetRelxEnabledForPreRun
ocnxlAddRelxSetup
ocnxlAddRelxSetup(t_relxSetupName t_freshTest t_stressTest t_agedTest[?stressVarListl_stressVarList] [?agedVarListl_agedVarList] [?freshTestEnabledt_freshTestEnabled] [?stressTestEnabledt_stressTestEnabled] [?agedTestEnabledt_agedTestEnabled] [?stressFilet_stressFile] ) => t / nil
Description
Adds a new reliability analysis setup with the specified fresh, stress, and aged tests and any variables for which the values need to be overridden.
Arguments
Value Returned
Example
ocnxlAddRelxSetup("my_relx" "fresh_test" "stress_test" "aged_test"
?stressVarList '(("CAP" "100f") ("RES" "10K")))
ocnxlAddRelxScenariosSetup
ocnxlAddRelxScenariosSetup(t_relxName t_freshTest t_stressTest t_agedTest[?freshTestEnabledt_freshTestEnabled] [?stressTestEnabledt_stressTestEnabled] [?agedTestEnabledt_agedTestEnabled] [?scenariosListt_scenariosList] [?relxOptionst_relxOptions] ) => t / nil
Description
Adds a new scenario setup in the reliability analysis setup.
Arguments
|
Specifies the list of reliability scenarios and corner values for the fresh, stress, and aged tests in each scenario. |
|
|
Specifies the reliability options to be used for this scenario |
|
Value Returned
|
Returns |
|
Example
ocnSetXLMode("assembler")
ocnxlProjectDir( "./simulation" )
ocnxlTargetCellView( "bertlink" "test" "maestro" )
ocnxlAddRelxScenariosSetup( "test" "bertlink:osc13:1" "bertlink:osc13:1" "bertlink:osc13:1" ?freshTestEnabled t ?stressTestEnabled t ?agedTestEnabled t ?scenariosList '("Scenario_1 C0 C4 C1" "Scenario_2 _default C3 C1") ?relxOptions '(nil simulator "spectre" relxOpts (((relxOpts showunageddevices) "none") ((relxOpts enableRelxpert) t) ((relxOpts anaMode) "TMI") ((relxOpts enableSelfheating) t) ((relxOpts gaSaveResults) "none") ((relxOpts nativeMode) "Spectre native"))))
ocnxlAddRelxScenariosSetup( "gradualaging" "gradualaging" "gradualaging" "gradualaging" ?freshTestEnabled t ?stressTestEnabled t ?agedTestEnabled t ?scenariosList '("Scenario_1 C1 C3 C2" "Scenario_2 C0 C4 C1") ?relxOptions '(nil simulator "spectre" relxOpts (((relxOpts enableGradualAging) t) ((relxOpts agingPointsType) "Gradual aging") ((relxOpts gaAgePoints) "10 20") ((relxOpts showunageddevices) "none") ((relxOpts anaMode) "TMI") ((relxOpts enableSelfheating) t) ((relxOpts gaSaveResults) "none") ((relxOpts mosAgingTime) "10 20") ((relxOpts nativeMode) "Spectre native") ((relxOpts enableAging) t))))
ocnxlDisableRelxScenariosSetup
ocnxlDisableRelxScenariosSetup(
t_relxSetupName
)
=> t / nil
Description
Disables the specified reliability scenario setup.
Arguments
|
Specifies the name of the reliability scenario setup to be disabled |
|
Value Returned
Example
ocnSetXLMode("assembler")
ocnxlProjectDir( "./simulation" )
ocnxlTargetCellView( "bertlink" "test" "maestro" )
ocnxlAddRelxScenariosSetup( "test" "bertlink:osc13:1" "bertlink:osc13:1" "bertlink:osc13:1" ?freshTestEnabled t ?stressTestEnabled t ?agedTestEnabled t ?scenariosList '("Scenario_1 C0 C4 C1" "Scenario_2 _default C3 C1") ?relxOptions '(nil simulator "spectre" relxOpts (((relxOpts showunageddevices) "none") ((relxOpts enableRelxpert) t) ((relxOpts anaMode) "TMI") ((relxOpts enableSelfheating) t) ((relxOpts gaSaveResults) "none") ((relxOpts nativeMode) "Spectre native")))) ocnxlDisableRelxScenariosSetup("test")
ocnxlDisableRelxSetup
ocnxlDisableRelxSetup(
t_relxSetupName
)
=> t / nil
Disables the specified reliability analysis setup.
Arguments
|
Specifies the name of the reliability analysis setup that is to be disabled |
Value Returned
Example
ocnSetXLMode("assembler")
ocnxlProjectDir( "./simulation" )
ocnxlTargetCellView( "bertlink" "test" "maestro" )
ocnxlDisableRelxSetup("my_relx")
ocnxlSetRelxAnalysisEnabled
ocnxlSetRelxAnalysisEnabled(
g_enable
)
=> t / nil
Description
Enables or disables reliability analysis for the setup based on the input argument.
Arguments
|
Enables reliability analysis if the value specified is |
Value Returned
Example
ocnxlSetRelxAnalysisEnabled(t)
ocnxlSetRelxScenariosEnabled
ocnxlSetRelxScenariosEnabled(
g_enabled
)
=> t / nil
Description
Enables or disables the complete reliability scenarios setup.
Argument
|
Specifies the enabled or disabled status for the reliability scenario setup |
Value Returned
Example
ocnSetXLMode("assembler")
ocnxlProjectDir( "./simulation" )
ocnxlTargetCellView( "bertlink" "test" "maestro" )
ocnxlAddRelxScenariosSetup( "test" "bertlink:osc13:1" "bertlink:osc13:1" "bertlink:osc13:1" ?freshTestEnabled t ?stressTestEnabled t ?agedTestEnabled t ?scenariosList '("Scenario_1 C0 C4 C1" "Scenario_2 _default C3 C1") ?relxOptions '(nil simulator "spectre" relxOpts (((relxOpts showunageddevices) "none") ((relxOpts enableRelxpert) t) ((relxOpts anaMode) "TMI") ((relxOpts enableSelfheating) t) ((relxOpts gaSaveResults) "none") ((relxOpts nativeMode) "Spectre native")))) ocnxlSetRelxScenariosEnabled(t)
ocnxlSetRelxEnabledForPreRun
ocnxlSetRelxEnabledForPreRun( ) =>t/nil
Description
Updates the reliability setup based on the corresponding setup from the current environment. Use this function in the pre-run script to print the reliability setup in the pre-run netlist.
Argument
Value Returned
Example
Run the ocnxlLoadCurrentEnvironment function to load the current environment settings into the pre-run simulation environment.
ocnxlLoadCurrentEnvironment(?noAnalysis t)
Use the following function in the pre-run script to update the reliability setup from the current environment and to print it in the pre-run netlist.
ocnxlSetRelxEnabledForPreRun()
Commands for EAD
You can use the OCEAN commands described in this section to configure the settings to be considered by a simulation whose results are to be used in the Electrically-Aware Design flow. The settings correspond to the UI options that can be set using the EAD Setup form described in Chapter 2 of Virtuoso Electrically Aware Design Flow Guide.
- ocnxlEADAddMeasurement
- ocnxlEADCreateDataSet
- ocnxlEADEnableLiveProcessing
- ocnxlEADEnableVoltageConstraints
- ocnxlEADSelectAllSignals
- ocnxlEADSetDutMaster
- ocnxlEADSetHierarchyLevel
- ocnxlEADSetWaveFormClipping
ocnxlEADAddMeasurement
ocnxlEADAddMeasurement(t_measName[?n_scaleFactorscaleFactor] ) => t / nil
Description
Specifies the name of the current or voltage data to be saved from simulation results. A new output is created in the outputs setup of the adexl or maestro view.
Arguments
|
Option used to scale the electrical data while transferring from schematic to layout. |
|
Value Returned
|
The electrical data option and scale factor is saved successfully in the setup |
|
Example
The following example code adds three measurements:
ocnxlEADAddMeasurement("Idc" ?scaleFactor 1)
ocnxlEADAddMeasurement("Isignal")
ocnxlEADAddMeasurement("Vmin" ?scaleFactor 1.5)
ocnxlEADCreateDataSet
ocnxlEADCreateDataSet( [?libt_libName] [?cellt_cellName] [?viewt_viewName] [?userDataSetNamet_dataSetName] ) => t / nil
Description
Creates and saves an EAD dataset for all or for the specified master DUTs. . This command is equivalent to the Create command in the EAD results view of ADE XL or ADE Assembler.
Arguments
Value Returned
Example
The following example creates a dataset with the name myDataSet for all master DUTs:
ocnxlEADCreateDataSet(?userDataSetName "myDataSet")
=> t
The following example creates datasets, EM1 and EM2 for the specified master DUTs:
ocnxlEADCreateDataSet(?lib "myLib1" ?cell "myCell1" ?view "schematic" ?userDataSetName "EM1")
ocnxlEADCreateDataSet(?lib "myLib2" ?cell "myCell2" ?view "schematic" ?userDataSetName "EM2")
=> t
ocnxlEADEnableLiveProcessing
ocnxlEADEnableLiveProcessing(
g_enabled
)
=> t / nil
Description
Specifies whether the current waveform has to be processed during simulation or post simulation.
Arguments
Value Returned
|
When the specified option is saved successfully in the setup |
|
Example
The following example shows how to use this command:
ocnxlEADEnableLiveProcessing(nil)
=> t
cnxlEADEnableLiveProcessing(
g_enabled
)
=> t / nil
ocnxlEADEnableVoltageConstraints
ocnxlEADEnableVoltageConstraints(
g_enabled
)
=> t / nil
Description
Specifies whether a user-defined function is called to create voltage constraints, deltaV and voltageSyncedNets.
You can specify the user-defined function to be called by using the elec.gui customVoltageConstraintFunc environment variable.
Arguments
Value Returned
|
When the creation of voltage constraints is enabled or disabled successfully. |
|
Example
The following example shows how to use this command:
ocnxlEADEnableVoltageConstraints(t)
=> t
ocnxlEADEnableVoltageConstraints(nil)
=> t
ocnxlEADSelectAllSignals
ocnxlEADSelectAllSignals(
g_enabled
)
=> t / nil
Description
Specifies whether the current (or voltage) data is to be saved for all the instance terminals and terminals (or signals for the voltage data); or only for a selected set of instance terminals and terminals (or signals for the voltage data) in the selected design. This command is equivalent to the All Signals field on the EAD Setup form. The signals can be selected using the Parasitics & Electrical Setup assistant in Virtuoso Schematic Editor XL.
Arguments
|
Enables or disables saving of data for all or selected instance terminals, and terminals or signals. |
Value Returned
|
When the specified option is saved successfully in the setup |
|
Example
The following example shows how to use this command:
ocnxlEADSelectAllSignals(t)
=> t
ocnxlEADSetDutMaster
ocnxlEADSetDutMaster(
t_libName
t_cellName
)
=> t / nil
Description
Saves the library and cell names of the DUT master for which EM analysis is to be performed.
Arguments
Value Returned
|
When the library and cell names are saved successfully in the setup |
|
Example
The following example shows how to use this command:
ocnxlEADSetDutMaster("testLib" "buffer")
=> t
ocnxlEADSetHierarchyLevel
ocnxlEADSetHierarchyLevel(
x_hierLevel
)
=> t / nil
Description
Sets the value for the design hierarchy level upto which the current or voltage data for all the instance terminals, and terminals or signals will be saved. This command is equivalent to the Hierarchy Stop Level field on the EAD Setup form.
Arguments
|
A non-negative numeric value that specifies the number of hierarchy levels for which current or voltage data is to be saved. |
Value Returned
|
When the value for hierarchy level is saved successfully in the setup |
|
Examples
The following examples show how to use this command:
; example 1
ocnxlEADSetHierarchyLevel(99)
=> t
; example 2
ocnxlEADSetHierarchyLevel(0) => t
ocnxlEADSetWaveFormClipping
ocnxlEADSetWaveFormClipping( [?t_clipFromt_clipFrom] [?t_clipTot_clipTo] ) => t / nil
Description
Sets a start time and an end time for which an electrical waveform is to be processed. This command is equivalent to the Clip Waveforms - From and To fields on the EAD Setup form.
Arguments
Value Returned
Example
The following example shows how to use this command:
ocnxlEADSetWaveFormClipping(?clipFrom "0.01u" ?clipTo "0.1u")
=> t
Return to top