### Getting History Setup Database Handle (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Provides an example of using `ocnxlGetHistory` to obtain a handle to the setup database for a specific run ID, enabling access to history results. It includes loading states, running, getting the handle, waiting for completion, and getting the PSF directory. ```SKILL/OCEAN 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) ``` -------------------------------- ### Running Multiple Setups in Parallel (OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Demonstrates how to configure a job policy, load different setup states, and run them concurrently using `ocnxlRun` with `?waitUntilDone nil`. The example then waits for all jobs and outputs the summary for one specific run. ```OCEAN ocnxlJobSetup( '( "blockemail" "1" "configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "8" "name" "myJobPolicy" "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) ``` -------------------------------- ### Set Target CellView and Custom Setup Location - SKILL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example shows how to first specify the target cellview using `ocnxlTargetCellView` and then set a custom directory for the setup data using `ocnxlSetupLocation`. A new directory structure corresponding to the library, cell, and view will be created within the specified location. All setup data will be saved in this custom path. ```SKILL ocnxlTargetCellView( "solutions" "ampTest" "maestro" ) ocnxlSetupLocation("/home/ocnuser") ``` -------------------------------- ### Set Global Optimization Starting State (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example showing how to use ocnxlGlobalOptimizationOptions to specify a starting state for the optimization run using the startingstateorpoint and startingstatename arguments. The function returns t on success. ```SKILL ocnxlGlobalOptimizationOptions(?startingstateorpoint "Starting State" ?startingstatename "Optimization.PointID.46") => t ``` -------------------------------- ### Running Calibration Simulation (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Starts the simulation required to calibrate the simulation setup. This command must be used only in a pre-run script. It returns t on success and nil on failure. ```SKILL/OCEAN ocnxlRunCalibration() ``` -------------------------------- ### Generating Run Setup Summary (OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Generates a summary of the current run setup, detailing the number of tests, sweeps, and corners configured and whether they are enabled for the simulation. ```OCEAN ocnxlRunSetupSummary() ``` -------------------------------- ### Loading Setup State with ocnxlLoadSetupState (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Restores the settings in the specified setup state to the active setup. Allows selective restoration of tests, variables, parameters, etc. based on the mode and optional arguments. ```OCEAN XL ocnxlLoadSetupState( _t_state t_mode_[ ?tests _t_tests_ ] [ ?vars _t_vars_ ] [ ?parameters _t_parameters_ ] [ ?currentMode _t_currentMode_ ] [ ?runOptions _t_runOptions_ ] [ ?specs _t_specs_ ] [ ?corners _t_corners_ ] [ ?modelGroups _t_modelGroups_ ] [ ?extensions _t_extensions_] [ ?relxanalysis _t_relxanalysis_] ) => t / nil ``` ```OCEAN XL ocnxlLoadSetupState("optimize") => t ``` -------------------------------- ### Saving ADE XL Setup to New View - Ocean Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example illustrates how to use `ocnxlSaveSetupAs` to save the current ADE XL setup to a new ADE XL view named 'newView' within the 'ampTest' cell in the 'solution' library. ```Ocean ocnxlSaveSetupAs("solution" "ampTest" "newView") => t ``` -------------------------------- ### Example: Configure Sensitivity Analysis (ocnxlSensitivityOptions) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Provides an example call to ocnxlSensitivityOptions, demonstrating how to enable design parameters, disable process parameters, enable DC operating point data saving, specify steps for design parameters, set a percentage variation, and configure other analysis settings. ```Skill 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 ``` -------------------------------- ### Adding Reliability Setup with Variables (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Demonstrates how to call the ocnxlAddRelxSetup function to create a new reliability setup named "my_relx" with specified fresh, stress, and aged tests, including stress variables. ```SKILL ocnxlAddRelxSetup("my_relx" "fresh_test" "stress_test" "aged_test" ?stressVarList '(("CAP" "100f") ("RES" "10K"))) ``` -------------------------------- ### Getting Run Distribution Options (Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Retrieves the current run distribution options configured for the simulation setup database. This includes settings for parallel/serial execution, job division, and job limits. ```Ocean ocnxlGetRunDistributeOptions( ) ``` ```Ocean runOpt = ocnxlGetRunDistributeOptions() ``` ```Ocean runOpt~>?? (JobLimit 2 DivideJobs Specify RunIn Parallel ) ``` -------------------------------- ### Adding Gradual Aging Scenarios Setup (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Illustrates adding a reliability scenario setup named "gradualaging" with specific tests, enabling all tests, specifying scenario lists, and providing reliability options specifically configured for gradual aging analysis. ```SKILL 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)))) ``` -------------------------------- ### Specify Pre-run Script File (OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Specifies the path to the OCEAN script file that should be executed before the simulation starts. This function must be called within a test setup block defined by `ocnxlBeginTest` and `ocnxlEndTest`. It returns `t` if the file exists and `nil` otherwise. ```OCEAN ocnxlBeginTest("myTest") ... ocnxlPreRunScriptEnabled(t) ocnxlPreRunScript("/net/scripts/myPreRunScript") ... ocnxlEndTest() ``` -------------------------------- ### Waiting for All Parallel OCEAN XL Runs (Skill) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example shows how to wait for all currently running OCEAN XL simulations to complete. It loads two different setup states, initiates runs for both without waiting (?waitUntilDone nil), and then calls ocnxlWaitUntilDone with the 'All argument to pause execution until both runs finish before proceeding to output a summary. This is essential for managing dependencies between parallel simulation batches. ```Skill 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() ``` -------------------------------- ### Adding Reliability Scenarios Setup (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Shows how to set up the simulation environment (XL mode, project directory, target cellview) and then add a reliability scenario setup named "test" with specific fresh, stress, and aged tests, enabling all tests, specifying scenario lists, and providing reliability options. ```SKILL 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")))) ``` -------------------------------- ### Example for ocnxlPutEnabledChecksAssertsCellViews (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to use `ocnxlPutEnabledChecksAssertsCellViews` to specify which cellviews within a test should have their checks and asserts netlisted. It first sets up a test with partial netlisting enabled and then provides a list of specific cellviews ('vip'/'test'/'schematic' and 'checks'/'inv'/'schematic') for netlisting. ```SKILL/OCEAN 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"))) ``` -------------------------------- ### Disabling Reliability Analysis Setup (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Shows how to set up the simulation environment and then disables the reliability analysis setup named "my_relx". ```SKILL ocnSetXLMode("assembler") ocnxlProjectDir( "./simulation" ) ocnxlTargetCellView( "bertlink" "test" "maestro" ) ocnxlDisableRelxSetup("my_relx") ``` -------------------------------- ### Disabling Reliability Scenarios Setup (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Demonstrates how to set up the environment and add a scenario setup, then disables the previously added reliability scenario setup named "test". ```SKILL 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") ``` -------------------------------- ### Example Workflow Using ocnxlSetReferenceHistory (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates a workflow using ocnxlSetReferenceHistory to manage simulation runs. It shows how to perform an initial sweep, set the history as reference, and then perform a subsequent sweep where results for overlapping points are copied from the reference history, while only new points are simulated. ```OCEAN 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() ``` -------------------------------- ### Get Best Point Parameters (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example usage of the ocnxlGetBestPointParams function, which retrieves the parameters of the best point found during an optimization run. It returns a list of parameter-value pairs. ```SKILL ocnxlGetBestPointParams() ``` -------------------------------- ### Updating Reliability Setup for Pre-Run in OCEAN XL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Updates the reliability setup based on the current environment for use in a pre-run script, typically to print the setup in the pre-run netlist. Requires loading the current environment settings first. ```OCEAN/Skill ocnxlLoadCurrentEnvironment(?noAnalysis t) ``` ```OCEAN/Skill ocnxlSetRelxEnabledForPreRun() ``` -------------------------------- ### Beginning an OCEAN XL Test (Skill/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Begins the test specified by `_t_testName_`. Subsequent commands will configure this test until `ocnxlEndTest` is called. Returns `t` if the test run started successfully, `nil` otherwise. ```Skill ocnxlBeginTest("test_one") => t ``` -------------------------------- ### Running Simulation and Accessing Results (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Demonstrates a typical workflow for running an OCEAN XL simulation, loading a setup state, executing the run, retrieving the results database handle, accessing a specific design point, and iterating through expression outputs to print their values. ```SKILL/OCEAN 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)) ``` -------------------------------- ### Set Target CellView - SKILL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command specifies the library, cell, and view that will be used as the target for creating setup data. It takes the library name, cell name, and view name as mandatory arguments. The setup data, such as data.sdb and documents, will be associated with this cellview. ```SKILL ocnxlTargetCellView( "solutions" "ampTest" "maestro" ) ``` -------------------------------- ### Setting Starting Point for Analysis (SKILL/Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Specifies a reference point (starting place) for analysis runs such as Improve Yield, Global Optimization, Feasibility Analysis, or Monte Carlo. It takes a list of variable or parameter names and their desired values. Returns 't' if the reference point was specified successfully, 'nil' otherwise. ```SKILL/Ocean ocnxlStartingPoint('(("variable" "CAP" "2p") ("parameter" "ether_adcflash/adc_cascode_opamp/schematic/M2/fw" "16.3u"))) ``` -------------------------------- ### Monte Carlo Calibration Pre-Run Script Example (OCEAN/Skill) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md An example of a pre-run script demonstrating a Monte Carlo calibration flow. It loads the current environment, defines a variable, sets up a DC analysis, configures and runs a calibration step, calculates an output, adds it to the results, and uses ocnxlUpdatePointVariable to update a variable in the main simulation environment with the calibrated result. ocnxlUpdatePointVariable is specifically used here to propagate the calibration outcome back to the main simulation setup. ```OCEAN/Skill ;; 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 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)) ``` -------------------------------- ### ocnxlStartingPoint Function Definition Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Defines the function signature for ocnxlStartingPoint, used to specify a starting point for analysis runs in Ocean XL. It takes a list containing the starting point details. ```Skill ocnxlStartingPoint( _l_startingPointDetails_) => t / nil ``` -------------------------------- ### Setting Local Optimization Starting State (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command configures a local optimization run to start from a specific saved state or point, identified by the name 'Optimization.PointID.46'. ```SKILL/OCEAN ocnxlLocalOptimizationOptions(?startingstateorpoint "Starting State" ?startingstatename "Optimization.PointID.46") ``` -------------------------------- ### Examples for ocnxlPutChecksAssertsTest (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md These examples show how to use `ocnxlPutChecksAssertsTest` to control the netlisting behavior for different tests. The first call disables netlisting for 'vip:test:ca_disabled', while the second enables netlisting for 'vip:test:ca_enabled:all' with an 'all' scope. ```SKILL/OCEAN 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 ``` -------------------------------- ### Specifying ADE XL Sensitivity Variables - Ocean Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to use `ocnxlSensitivityVars` to define sensitivity variables for an ADE XL setup. It sets up sensitivity analysis for variables 'CAP' and 'RES' with specified sweep values and reference values. ```Ocean ocnxlSensitivityVars(list '("CAP" "100f 200f 300f" "200f") '("RES" "1K 1.5K 2K" "1.5K")) => t ``` -------------------------------- ### Example: Setting Monte Carlo Options (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This snippet demonstrates how to call the `ocnxlMonteCarloOptions` function to configure various settings for a Monte Carlo simulation run, such as the statistical method, number of points, sampling mode, and data saving options. It shows how to pass arguments using the `?keyword value` syntax. ```SKILL/OCEAN ocnxlMonteCarloOptions(?mcmethod "all" ?mcNumPoints "100" ?samplingMode "lhs" ?saveAllPilots "0" ?monteCarloSeed "" ?mcStartingRunNumber "" ?dutSummary "" ?saveProcess "1" ?saveMismatch "0" ?useReference "0" ?doNominal "1" ?mcNumBins "100") ``` -------------------------------- ### Ending Test Specification in Cadence Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Finalizes the definition of the current test block, which was started with ocnxlBeginTest. Returns 't' upon successful completion of the test setup, 'nil' otherwise. Takes no arguments. ```Cadence Skill ocnxlBeginTest("test_one") design("solutions" "ampTest" "schematic") simulator('spectre) ocnxlEndTest() ``` -------------------------------- ### Disabling All ADE XL Global Variables - Ocean Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to use `ocnxlSetAllVarsDisabled` to disable all global variables in the ADE XL setup by passing the boolean value `t`. ```Ocean ocnxlSetAllVarsDisabled(t) => t ``` -------------------------------- ### Setting Feasibility Analysis Algorithm (ocnxlFeasibilityAnalysisOptions) - Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example showing how to set the optimization algorithm for the Feasibility Analysis run mode to "conjugateGradient" using the '?effort' argument. Returns 't' upon successful option setting. ```Skill ocnxlFeasibilityAnalysisOptions(?effort "conjugateGradient") => t ``` -------------------------------- ### Enabling/Disabling Reliability Scenarios Setup in OCEAN XL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Enables or disables the complete reliability scenarios setup. Takes a boolean-like argument and returns 't' on success or 'nil' on failure. ```OCEAN/Skill 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) ``` -------------------------------- ### Setting Up Monte Carlo Calibration (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md 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 is set to the current iteration number of the main run. This command must be used only in a pre-run script. It returns t on success and nil on failure. ```SKILL/OCEAN ocnxlSetCalibration() ``` -------------------------------- ### Setting Tolerance Specification (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example uses `ocnxlPutToleranceSpec` to define a tolerance specification. It sets the transient voltage of '/out' to a target of 5.0 volts with a 10% percentage tolerance for 'test_one', using a weight of 4. ```SKILL/OCEAN ocnxlPutToleranceSpec("test_one" "VT(\"/out\")" "5.0" 'percentage "10" ?weight 4) => t ``` -------------------------------- ### Set Sampling Points (ocnxlSamplingOptions) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Configures the number of points used for a sampling run in Ocean XL. This example sets the number of points to 500. ```Skill ocnxlSamplingOptions(?points "500") => t ``` -------------------------------- ### Adding Test Outputs with ocnxlOutputViolations (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to use the `ocnxlOutputViolations` command to add specific outputs for the current test, such as maximum duration or a count of checks/asserts. The `?name` argument assigns a name to the output, and `?plot t` indicates it should be plotted. ```SKILL/OCEAN 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) ``` -------------------------------- ### Adding Note to ADE XL Global Variable - Ocean Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to use `ocnxlPutNote` to add a note to a global variable named 'gain' within an ADE XL setup. It first sets the XL mode, targets a specific cell view, sets a sweep variable, and then adds the note. ```Ocean ocnSetXLMode() ocnxlTargetCellView("opamp090" "full_diff_opamp" "adexl_1") ocnxlSweepVar("gain" "10") ocnxlPutNote( "globalvar" "gain" "note_content") ``` -------------------------------- ### Setting Feasibility Analysis Options (ocnxlFeasibilityAnalysisOptions) - Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Defines the syntax for specifying options for the Feasibility Analysis run mode in XL mode. Options include using a reference point, specifying starting state/point, meeting goals, and selecting the optimization algorithm ('effort'). Returns 't' on success or 'nil' on failure. ```Skill ocnxlFeasibilityAnalysisOptions( [ ?refPoint _t_refPoint_] [ ?startingstateorpoint _t_startingstateorpoint_] [ ?startingstatename _t_startingstatename_] [ ?meetAllGoals _t_meetAllGoals_] [ ?effort _t_effort_] ) => t / nil ``` -------------------------------- ### Set Global Optimization to Run Full Evaluation (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example demonstrating how to use ocnxlGlobalOptimizationOptions to set the runFullEvaluation option to "1", indicating that the optimization should run a full evaluation. The function returns t on success. ```SKILL ocnxlGlobalOptimizationOptions(?runFullEvaluation "1" ) => t ``` -------------------------------- ### Running Simulation Excluding Corners (OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Executes the currently loaded simulation setup. Setting `?allCornersEnabled` to `nil` excludes all corners from the run while executing the rest of the setup. ```OCEAN ocnxlRun(?allCornersEnabled nil) ``` -------------------------------- ### Setting EAD Waveform Clipping Times (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Defines the start and end times for processing electrical waveforms. Accepts optional keyword arguments `?t_clipFrom` and `?t_clipTo` specifying the start and end times as strings (e.g., "0.01u"). Defaults to `nil` if not provided. Returns `t` on success or `nil` on failure. ```SKILL ocnxlEADSetWaveFormClipping(?clipFrom "0.01u" ?clipTo "0.1u") ``` -------------------------------- ### Get Parameter Specification Names (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command returns a list of the names of all currently defined parameter specifications. It takes no arguments and returns 't' if successful, providing the list, or 'nil' if no list was returned. ```SKILL/OCEAN ocnxlGetSpecs( ) => t / nil ``` ```SKILL/OCEAN ocnxlGetSpecs() => t ``` -------------------------------- ### Load Current Environment Settings (OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Loads environment settings (variables, analyses) from the main test setup into the pre-run simulation environment. It also sets results and netlist directories for pre-calibration simulations based on the current point's results directory. This command must be used in a pre-run script and can optionally exclude analysis inheritance. ```OCEAN ocnxlLoadCurrentEnvironment(t) analysis('tran ?stop 10u) ``` -------------------------------- ### Getting Best Design Point Parameters (ocnxlGetBestPointParams) - Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Defines the syntax for retrieving a list of parameters from the best design point found during an analysis. The command takes no arguments and returns a list of parameters ('l__params_') on success or 'nil' if no best point is available. ```Skill ocnxlGetBestPointParams( ) => l__params_ / nil ``` -------------------------------- ### Enable Test in OCEAN XL (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Enables a specific test within an OCEAN XL setup. Enabled tests are included when the 'ocnxlRun' command is executed. Returns 't' if the test was enabled, 'nil' otherwise. ```SKILL/OCEAN ocnxlEnableTest("test_two") ``` -------------------------------- ### Getting List of Tests in Cadence Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Retrieves a list containing the names of all defined tests. Returns 't' if the list was successfully retrieved, 'nil' otherwise. Takes no arguments. ```Cadence Skill ocnxlGetTests() ``` -------------------------------- ### Set Analog Stimuli Data - SKILL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command is used to configure analog stimuli, including input stimuli and global sources, for a test. It accepts optional arguments `?inputs` and `?globals`, each taking a list specifying the stimulus details. The example demonstrates setting a DC voltage source for an input pin named 'iopin'. ```SKILL ocnxlStimuliData( ?inputs '(((name "iopin") (nodes ("iopin" "/gnd!")) (enabled t) (tranType "dc") (srcType "Voltage") (instParameters (dc("3n") type("dc"))) (otherParameters ((FNpairs "0"))))) ) ``` -------------------------------- ### Getting Main Simulation Session with ocnxlMainSimSession (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Returns the session object for the main simulation session. This command is intended for use only within a pre-run script. ```OCEAN XL ocnxlMainSimSession( ) => _g_session_ / nil ``` ```OCEAN XL ocnxlMainSimSession() ``` -------------------------------- ### Setting Conjugate Gradient Point Limit (ocnxlConjugateGradientOptions) - Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example showing how to set the limit on the number of points to be run during a conjugate gradient analysis to 3000 using the '?numPoints' argument. Returns 't' on successful option setting. ```Skill ocnxlConjugateGradientOptions(?numPoints "3000") => t ``` -------------------------------- ### Setting ADE XL Results Directory - Ocean Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example shows how to use `ocnxlResultsLocation` to specify the directory where ADE XL results and log files will be saved. It sets the results directory to '/home/ocnuser'. ```Ocean ocnxlResultsLocation("/home/ocnuser") => t ``` -------------------------------- ### Setting Yield Estimation Options in OCEAN/SKILL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This snippet demonstrates how to call the ocnxlYieldEstimationOptions function with various arguments to configure a yield estimation run, including specifying reference points, Monte Carlo methods, sampling methods, number of points, seed, yield start values, variable reduction, iterations, and yield estimation method. ```OCEAN ocnxlYieldEstimationOptions( ?useReference "0" ?mcMethod "all" ?samplingMode "random" ?mcNumPoints "300" ?mcNumBins "" ?monteCarloSeed "" ?haveYieldToStart "1" ?yisToStart "3.0" ?varReductionBy "auto" ?iterations "20" ?yeMethod "Worst Case Distance" ) ``` -------------------------------- ### Controlling Checks and Asserts Netlisting in ocnxl Script Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Adds checks and asserts to the active setup, providing overall control over their netlisting based on the `?netlist` argument. This command adds the `checksasserts` node and is distinct from test-specific control. ```ocnxl Script ocnxlPutChecksAsserts(?netlist t) ocnxlPutChecksAssertsTest(?testName "vip:test:ca_disabled" ?netlist nil ?netlistScope "all") ocnxlPutChecksAssertsTest(?testName "vip:test:ca_enabled:all" ?netlist t ?netlistScope "all") ``` -------------------------------- ### Configuring Sweeps and Corners Options (SKILL/Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Allows specifying options for Single Run, Sweeps, and Corners simulation runs. The '?submitpointenabled' argument can be used to override the active setup with submit point information when set to 't'. Returns 't' if the options were set successfully, 'nil' otherwise. ```SKILL/Ocean ocnxlSweepsAndCornersOptions(t) => t ``` -------------------------------- ### Setting Maximum Job Failures with ocnxlMaxJobFail (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Specifies the maximum number of times the tool should restart an ICRP job if it fails to start. Used in batch mode to prevent infinite retry loops. ```OCEAN XL ocnxlMaxJobFail( _n_int_) ``` ```OCEAN XL ocnxlMaxJobFail(20) ``` -------------------------------- ### Selecting Test with OCEAN XL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command selects a specific test within the current Maestro setup. The test name is provided as an argument. It returns 't' if successful and 'nil' otherwise. Use 'ocnxlGetTests' to list available tests. ```OCEAN ocnxlSelectTest("test_two") ``` -------------------------------- ### Waiting for a Specific OCEAN XL Run (Skill) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This snippet illustrates how to wait for a particular OCEAN XL run to finish before continuing script execution. It initiates a run using ocnxlRun with ?waitUntilDone nil to get a run ID, and then calls ocnxlWaitUntilDone with that specific run ID (runid2). This allows for finer-grained control over dependencies between simulation runs compared to waiting for all runs. ```Skill runid2 = ocnxlRun(?waitUntilDone nil) (ocnxlWaitUntilDone runid2) ocnxlOutputSummary() ``` -------------------------------- ### Setting DUT Master Library and Cell (SKILL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Sets the library and cell names for the Device Under Test (DUT) in the EAD setup. Requires the library name (`_t_libName_`) and cell name (`_t_cellName_`) as string arguments. Returns `t` on success or `nil` on failure. ```SKILL ocnxlEADSetDutMaster("testLib" "buffer") ``` -------------------------------- ### Define Local Optimization Options (SKILL) - Signature Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Function signature for ocnxlLocalOptimizationOptions, used to configure various settings for a local optimization run in Cadence Ocean XL. It accepts optional arguments to control effort level, evaluation, goals, time limits, number of points, and starting conditions. ```SKILL ocnxlLocalOptimizationOptions( [ ?effort _t_effort_ ] [ ?runFullEvaluation _t_runFullEvaluation_ ] [ ?meetAllGoals _t_meetAllGoals_] [ ?timeLimit _t_timeLimit_] [ ?numPoints _t_numPoints_ ] [ ?startingstateorpoint _t_startingstateorpoint_] [ ?startingstatename _t_startingstatename_] ) => t / nil ``` -------------------------------- ### Removing a Parameter Specification (ocnxlRemoveSpec) - Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Example showing how to remove a parameter specification named "MAX". The command takes the specification name as an argument and returns 't' on success or 'nil' if the specification was not found. ```Skill ocnxlRemoveSpec("MAX") => t ``` -------------------------------- ### Deleting Note from Corner with OCEAN XL Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This example demonstrates how to set up a Maestro session, define a corner, add a note to it, and then delete that note using 'ocnxlDeleteNote'. It shows the context for using the delete note command on a corner element. ```OCEAN 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" ) ``` -------------------------------- ### Define Global Optimization Options (SKILL) - Signature Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Function signature for ocnxlGlobalOptimizationOptions, used to configure various settings for a global optimization run in Cadence Ocean XL. It accepts optional arguments to control evaluation, reference points, goals, time limits, and starting conditions. ```SKILL ocnxlGlobalOptimizationOptions( [ ?runFullEvaluation _t_runFullEvaluation_ ] [ ?refPoint _t_refPoint_ ] [ ?meetAllGoals _t_meetAllGoals_] [ ?timeLimit _t_timeLimit_] [ ?numPoints _t_numPoints_ ] [ ?noImprvPoints _t_noImprvPoints_ ] [ ?pointsAfterAllSpecsSatisfied _t_pointsAfterAllSpecsSatisfied_] [ ?startingstateorpoint _t_startingstateorpoint_] [ ?startingstatename _t_startingstatename_] ) => t / nil ``` -------------------------------- ### Get Current Session Name in OCEAN XL (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Returns the name of the current OCEAN XL session. Useful for identifying the context of the simulation setup. Returns the session name if an OCEAN XL session exists, 'nil' otherwise. ```SKILL/OCEAN ocnSetXLMode() t ocnxlTargetCellView("myLib" "ampTest" "adexl") t ocnxlGetSession() "ocnXLSession_Apr_18_10_11_38_2013" ``` -------------------------------- ### Write Datasheet with ocnxlWriteDatasheet (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This function writes a datasheet from the latest OCEAN XL run. It provides numerous optional arguments to control the content and location of the generated datasheet, such as including results summaries, test summaries, detailed results, plots, and various setup details. ```OCEAN ocnxlWriteDatasheet( [ ?name _t_datasheetName_ ] [ ?directory _t_directory_ ] [ ?resultsSummary _g_resultsSummary_] [ ?testsSummary _g_testsSummary_] [ ?detailedResults _g_detailedResults_] [ ?plots _g_plots_] [ ?designVarsSummary _g_designVarsSummary_] [ ?paramsSummary _g_paramsSummary_] [ ?cornersSummary _g_cornersSummary_] [ ?setupSummary _g_setupsummary_] [ ?launchBrowser _g_launchBrowser_ ] ) => t / nil ``` ```OCEAN ocnxlWriteDatasheet(?name "My datasheet") => t ``` -------------------------------- ### Opening Simulation Results (Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Opens the simulation results after an Ocean XL simulation completes. This function is typically added automatically when saving an OCEAN script from ADE Explorer or Assembler. Optionally opens results for a specific test in a multi-test setup. ```Ocean ocnxlOpenResults( [ ?testName _t_testName_] ) ``` ```Ocean 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")) ``` -------------------------------- ### Selecting All Signals for Data Saving with ocnxlEADSelectAllSignals (Skill/Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Determines whether EAD current/voltage data is saved for all signals/terminals in the design or only a selected subset. Setting to t saves data for all; nil saves data only for signals/terminals explicitly selected, typically via the Parasitics & Electrical Setup assistant. ```Skill/Ocean ocnxlEADSelectAllSignals(t) ``` -------------------------------- ### Getting Reference History Name OCEAN Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Retrieves the name of the reference history currently configured in OCEAN XL. This function requires no arguments and returns the history name string or nil if not set. The example shows setting the reference history first. ```Skill ocnxlSetXLMode() ... ... ocnxlSetReferenceHistory(ocnxlGetCurrentHistory()) => t ocnxlGetReferenceHistory() =>"Interactive.1" ``` -------------------------------- ### Set Local Job Policy - OCEAN Script Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md This command sets the job policy for executing simulations locally. It configures various timeouts (configure, linger, start, run), maximum concurrent jobs, immediate start/reconfiguration, and error output display. ```OCEAN Script ocnxlJobSetup( '("configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "1" "preemptivestart" "1" "reconfigureimmediately" "1" "runtimeout" "-1" "showerrorwhenretrying" "1" "starttimeout" "300" ) ) ``` -------------------------------- ### Setting OCEAN Mode to XL (Skill/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Sets the OCEAN mode to XL, enabling simulation setups with multiple tests, corners, or advanced run modes like MonteCarlo in ADE Explorer or ADE Assembler. The optional `_t_maestroMode_` argument specifies the tool ("explorer" or "assembler"), checking out the corresponding license (95250 or 95260). The default is `nil`. Once set to XL, the mode cannot be reverted. Returns `t` if the mode was set successfully, `nil` otherwise. ```Skill ocnSetXLMode() ocnxlBeginTest("test_one") design("solutions" "ampTest" "schematic") simulator('spectre) ... ocnxlEndTest() ``` -------------------------------- ### Setting Up Test with Pre-Run Script in OCEAN XL (OCEAN/Skill) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Demonstrates the basic sequence of OCEAN XL commands to define a test (ocnxlBeginTest), enable and specify a pre-run script (ocnxlSetPreRunScriptEnabled, ocnxlPreRunScript), and finalize the test definition (ocnxlEndTest). This flow is essential for incorporating custom logic via pre-run scripts into simulation tests. ```OCEAN/Skill ocnxlBeginTest("myTest") ... ocnxlSetPreRunScriptEnabled(t) ocnxlPreRunScript("/net/scripts/myPreRunScript") ... ocnxlEndTest() ``` -------------------------------- ### Setting Reference History OCEAN Skill Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Designates a specific history to be used as a reference for incremental simulation runs within OCEAN XL mode. It requires the history name and optionally accepts arguments to control netlist reuse and result handling. The function returns the name of the set reference history or nil, although examples show it returning 't' on success. ```Skill ocnxlSetXLMode() ... ... ocnxlSetReferenceHistory(ocnxlGetCurrentHistory()) => t ocnxlGetReferenceHistory() =>"Interactive.1" ``` -------------------------------- ### Print Full Precision Results with Header Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Sets the system status to full precision and then prints detailed and summary information for expressions, specs, and waveforms, including the header at the top of the output. ```OCEAN sstatus(fullPrecision t) ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t ?printHeader? t) ``` -------------------------------- ### Setting Project Directory with ocnxlProjectDir (OCEAN XL) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Sets the project directory where simulation data is stored by default. Overrides the default location `$HOME/simulation`. ```OCEAN XL ocnxlProjectDir( _t_projectDir_) => t / nil ``` ```OCEAN XL ocnxlProjectDir("/tmp/simulation") => t ``` -------------------------------- ### Write All Summary Information to File Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Writes all the summary information (detailed expressions, specs, and waveforms) to the specified file with a default header. ```OCEAN ocnxlOutputSummary(?exprSummary t ?specSummary t ?detailed t ?wave t ?fileName "myoutputfile") ``` -------------------------------- ### Getting Current History ID (SKILL/OCEAN) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Shows how to call the `ocnxlGetCurrentHistoryId` function to retrieve the ID of the currently active simulation history or checkpoint. ```SKILL/OCEAN ocnxlGetCurrentHistoryId() => t ``` -------------------------------- ### Creating Dataset with ocnxlEADCreateDataSet (Skill/Ocean) Source: https://github.com/kkkkkom/mt_dummy_ocean/blob/main/README.md Creates a dataset for Electromigration Analysis Data (EAD). It allows specifying the library, cell, view, and a custom name for the dataset. If library, cell, or view are omitted, it applies to all master DUTs. ```Skill/Ocean ocnxlEADCreateDataSet(?userDataSetName "myDataSet") ``` ```Skill/Ocean ocnxlEADCreateDataSet(?lib "myLib1" ?cell "myCell1" ?view "schematic" ?userDataSetName "EM1") ocnxlEADCreateDataSet(?lib "myLib2" ?cell "myCell2" ?view "schematic" ?userDataSetName "EM2") ```