Product Documentation
Virtuoso ADE Explorer User Guide
Product Version IC23.1, November 2023

7


Running a Simulation

This chapter describes how to run a simulation that you have set up.

Prerequisites to Run Simulation

Before running a simulation, you need to do the following tasks:

ADE Explorer Simulation Flow

All simulations running in ADE Explorer are distributed according to the job control method specified in the job policy.

ADE Explorer supports the following two job control modes:

Setting up Job Policies

A job policy specifies the job control mode to be used to run simulations. In addition, it specifies the job distribution method: local, remote, or command; maximum number of jobs to be run at a time; and various job timeout settings.

The default job policy for ADE Explorer is Maestro Default. You can also define a custom job policy, save it with a unique name in the.cadence/jobpolicy directory and set it as default by using the defaultJobPolicy environment variable.

The order in which the job policy files are searched in the .cadence/jobpolicy directory is determined by the Cadence Setup Search File mechanism (CSF). To find this information, CSF uses the setup.loc file, which is an ASCII file that specifies the locations to be searched and the order in which they should be searched. For more information about the setup.loc file or how to edit search order, see Cadence Setup Search File: setup.loc in the Cadence Application Infrastructure User Guide.

You can set up a job policy to define the distributed processing resources required to run simulations for the test.

To set up a job policy, choose SetupJob Setup. The Job Policy Setup form appears. In this form, modify the settings to suit your requirements and save the setup with a new policy name.

To use the ICRP job control mode, click ICRP in the Setup section. The fields related to ICRP are displayed.

By default, the LSCS job control mode is set and the fields related to this control mode are visible.

For the ICRP mode, the Netlisting tab is not available.
The job policies and their settings are global to ADE Explorer and ADE Assembler. For example, if a change is made in a job policy or its setup in ADE Explorer for a particular test, the job policy setup will reflect in ADE Assembler as well. Similarly, if a change is made in a job policy or its setup in ADE Assembler, the change is seen in the ADE Explorer Job Policy form.

Setting Up the Default Job Policy

To specify a customized default job policy:

  1. In the Job Policy Setup Form:
    1. Specify a job policy name.
      For example, myDefaultJobPolicy.
    2. Change the values for the fields Distribution Method, Max. Jobs, and Linger Time.
  2. Click the Save button next to the Job Policy Name field.
    The Save Jobpolicy form is displayed.
  3. In this form, select the path for the job policy.
  4. Click OK.
  5. Set this job policy name as the value for the following variable.
    envSetVal( "adexl.icrpStartup" "defaultJobPolicy" 'string "myDefaultJobPolicy" )
    By default, the job control mode is set to LSCS. Set the following variable to specify the default job policy for ICRP job control mode:
    envSetVal("maestro.distribute" "forceJobControlModeWhenViewOpen" 'cyclic "ICRP")

If you do not specify a job policy, the program applies the following defaults.

Specifying a Job Policy Name

To specify a job policy name, do the following:

Optimizing a Single Point Run

By default, the Optimize Single Point Run check box in the Setup section is selected. Therefore, for a single point run, ADE Explorer optimizes the run by completing the netlist generation and expression evaluation tasks inside the ADE Explorer process and running the simulation as per the distribution method specified by the job policy. This saves the overhead of starting a separate process thereby saving the overall processing time.

Important points to note:

Specifying a Distribution Method

You can specify a distribution method by using the Distribution Method drop-down list

Depending on your setup, you can choose one of the following methods:

Both LBS and Command distribution method submit ADE Explorer job to a job distribution engine, for example Sun Grid Engine (SGE). In LBS mode, you can specify a selected set of qsub options whereas with the Command method you can submit a command with any qsub option.

If the specified job distribution method is invalid, ADE Explorer checks whether a default distribution method is returned by the maeGetDefaultDistributionMethod custom SKILL function. You can define this function in the .cdsinit file as shown in the example below.

procedure(maeGetDefaultDistributionMethod()
"Command"
)

Specifying Max Jobs

Max jobs specifies the maximum number of jobs that can run in a ADE Explorer session.

To specify maximum job information, do the following:

If the distribution method specified in your job policy is Command, Local or Remote-Host, the maximum number of jobs that can run at any time cannot exceed the value specified using the maxIPCJobsLimit environment variable. The default value of this environment variable is 1000.

When Start Immediately is turned on, the program immediately submits the specified maximum number of jobs, or one job for every test, whichever is less, when you start ADE Explorer. This means that the defined number of processes are already running before you start the simulation. This saves the overhead of staring processes at time of running simulation.

To turn off this feature, do the following:

Important Points to Note

Specifying an LBS Job Policy

ADE Explorer supports the following Distributed Resource Management Systems (DRMS):

LBS

Load Balancing System – Simple job distribution system (cdsqmgr) for setting up queues (collections of host machines) and hosts per queue; each queue has a job-per-host limit

LSF

Load Sharing Facility – DRMS from Platform Computing

SGE

Sun Grid Engine – Freeware from Sun Microsystems, Inc.

OpenLava

OpenLava Workload Management System

See “Setting Up to Use Distributed Processing Option” in the Virtuoso Analog Distributed Processing Option User Guide for more information on setting up this job distribution method.
  1. Specify a name for your job policy.
  2. In the Distribution Method drop-down list, select LBS.
    The check boxes, fields, and list boxes related to specifying queues and hosts appear.
    If you have set up the LBS DRMS, the form shows the fields, as shown below:
    If you have LSF in your cluster setup, the LSF string is displayed next to the Distribution Method field.
    If you have OpenLava in your cluster setup, the OpenLava string is displayed next to the Distribution Method field.

If you have set up the SGE DRMS, the form shows the fields relevant to SGE.

  1. (For LSF and OpenLava only) Select the Queue check box and select an available queue from the drop-down list.
    Your system administrator determines the list of available queues. See “System Administrator Information” in the Virtuoso Analog Distributed Processing Option User Guide for more information.
    If you do not select the Queue check box, the program uses the default system queue.
  2. (For LSF and OpenLava only) Select the Host check box and select an available host from the list area.
    The list of hosts corresponds to those available in the selected queue (see the previous step).
    If you do not select the Host check box, the host to be used is decided by the DRMS.
  3. (For LSF and OpenLava only) In the Resource Requirements field, specify any additional resource requirements to submit the job.
    The program uses these resource requirements along with the queue/host you specified to start the job. It is up to the load sharing facility software to resolve any conflicts between the queue/host and the resource requirements.
  4. (For LSF and OpenLava only) In the Parallel Num. Processors field, specify the number of parallel processors to be used to run a simulation. To use this value, select the check box given to the right.
  5. (For LSF and OpenLava only) In the Job Group field, specify the name of the job group to which you need to submit the job.
  6. (For LSF and OpenLava only) In the Service Class field, specify the name of the service class to which you need to submit the job.
  7. (For LSF only) Select the Memory Host Limit check box to apply the memory limit set for the selected LSF queue in the configuration file for LSF.
  8. (For SGE only) In the Hard Resource Req field, specify the resources that must be allocated before a job can be started.

For example, num_proc=4,mem_total=4G.

  1. (For SGE only) In the Soft Resource Req field, specify the resources that a job needs but that do not have to be allocated before the job can be started. The specified resources will be allocated to the job on an as-available basis.

For example, mem_free=2G.

  1. (For SGE only) In the Job Priority field, specify the priority for the job being submitted relative to the other pending jobs submitted by you. The default priority of a submitted job is 0. Users with administrator privileges can set this value from -1023 to 1024. Other users can set this value from -1023 to 0.
    For example, you can set the priority for a job as -500.
  2. (For SGE only) In the Parallel Environment field, specify the name of the parallel environment.
  3. (Optional) Specifying Max Jobs.
  4. (Optional) Specifying Job Timeouts.
  5. (Optional) Specifying Error Reporting Options.
  6. (Optional) Specifying Multiple Run Options.
  7. Save your job policy.
    For more information, see Starting a Simulation.
  8. Click OK.

Specifying Job Timeouts

To specify job timeouts, do the following in the Timeouts group box:

  1. In the Start Timeout field, type an integer number of seconds of time to wait for the process to report back to ADE Explorer that it has started the job. The wait time starts as soon as ADE Explorer submits the job.
    If the process does not respond in the number of seconds you specify, ADE Explorer considers the job not started and kills it. If there is another job waiting to start, ADE Explorer starts it.
  2. In the Configure Timeout field, type an integer number of seconds to wait for the process to report back to ADE Explorer that it has configured the job. The wait time starts as soon as ADE Explorer sends the job configure command.
    If the process does not respond with a successful configuration message in the number of seconds you specify, ADE Explorer considers the job configuration unsuccessful and kills it. ADE Explorer looks for the next idle job and tries to start and configure it.
  3. In the Run Timeout field, type an integer number of seconds to wait for the process to report back to ADE Explorer that it has run the job. The wait time starts as soon as ADE Explorer sends the run command for the job.
    If the process does not respond that the job has completed in the number of seconds you specify, ADE Explorer considers the job run unsuccessful and kills it. ADE Explorer looks for the next idle job and tries to start, configure, and run it.
  4. In the Linger Time field, type an integer number of seconds after which you want the program to kill a remote job after the simulations finish.
    When a timeout value is set to 0, -1 or is left blank, the timeout is disabled. This leads to an unlimited wait time.

Specifying Error Reporting Options

To specify error reporting options, do the following in the Error Reporting group box:

Saving or Deleting a Job Policy

To save a job policy, do the following:

  1. In the Job Policy Setup form, click Save.
    The Save Job Policy form appears.
  2. In the Select Path list, select the directory where you want to save the job policy.
    You can save the job policy in one of the following directories in which you have write permissions or in the paths specified in your setup.loc file where you have write permissions:
    • .cadence directory in the current directory
    • The .cadence directory in the path specified in the CDS_WORKAREA environment variable.
    • $HOME/.cadence (the .cadence directory in your home directory)
    • The .cadence directory in the path specified in the CDS_PROJECT environment variable.
    • The .cadence directory in the path specified in the CDS_SITE environment variable.
  3. Click OK.
    The job policy is saved in the jobpolicy directory under the selected directory. The job policy file has the .jp extension.

If a job policy file with the same name is found in more than one of the above locations, the first job policy file found in the first of the following locations is used:

To delete a job policy, do the following:

  1. Choose Options – Job Setup.
    The Job Policy Setup form appears.
  2. From the Job Policy Name drop-down list, select the job policy you want to delete.

Click Delete.

Running Simulations With ICRP Job Control Mode

The ICRP job control model uses the IC Remote Processes that are started by ADE Explorer in the virtuoso -nograph mode. These process in turn, may start a few child processes (clsbd, oaFSLockD, cdsNameServer, cdsServIpc) to perform some special tasks.

ADE Explorer internally uses ICRP jobs to efficiently distribute time-consuming tasks that can be performed in parallel. Settings for these jobs such as how many remote processes to start; where the processes should run, on local or remote machines; or the time for which a remote process should stay active and wait for a simulation to run; are set as a job policy.

For more information on managing the ICRP job control mode, see the following topics:

Running Simulations With ICRP Job Control Mode

The ICRP job control model uses the IC Remote Processes that are started by ADE Assembler in the virtuoso -nograph mode. These process in turn, may start a few child processes (clsbd, oaFSLockD, cdsNameServer, cdsServIpc) to perform some special tasks.

ADE Assembler internally uses ICRP jobs to efficiently distribute time-consuming tasks that can be performed in parallel. Settings for these jobs such as how many remote processes to start; where the processes should run, on local or remote machines; or the time for which a remote process should stay active and wait for a simulation to run; are set as a job policy.

For more information on managing the ICRP job control mode, see the following topics:

Specifying Multiple Run Options

To specify the job option to be used when running multiple runs in the same ADE Explorer session, do one of the following in the For Multiple Runs group box.

Setting Up Resource Options

ADE Explorer provides a feature to estimate the memory and CPU resources required to run simulations. After completing the simulation setup, you can use this feature to run resource estimation for the defined test, and ensure that the required memory and CPUs are available on the local or remote computer as defined by the job policy setup.

This feature can be used only for the hb or tran analyses, or for pss and qpss when the time-domain shooting engine is used for these two analyses, that is when the Engine property for the pss and qpss analyses is set to Shooting on the Choosing Analyses form. This feature is supported by MMSIM 14.1 ISR8 or later releases.

By default, the resource estimation feature is disabled. You can enable and configure it using the Resources tab on the Job Policy Setup form shown below.

The following table describes the commands given on the Resources tab.

Form Field Description

Estimated Memory

Shows the estimated memory requirement to run the current simulation run. This feature is enabled using the options given in the Provide CPU and Memory Data group box.

Provide CPU and Memory Data

- Do not estimate

Disables estimation of processors and memory required for the current simulation. In this case, you can yourself specify the required number of processors to be used to distribute simulations.

When you disable estimation for LBS DRMS, select the check box given to the right of the Parallel Num. Processors field on the Basic tab of the Job Policy Setup form and specify a value in it. If you clear the check box given to the right of the Parallel Num. Processors field, the value given in the field is also cleared. In such a case, you should select any one of the other two options in this field to get an estimate of processors required.

- Always run simulation to estimate data

Enables the feature and runs a simulation before every new simulation to estimate resources

- Reuse history data if available

Enables the feature and estimates resources based on the data available for the most recent history available in the current ADE Explorer session.

If no history data is available, either use the default values specified in the Default Value group box, or runs a simulation to estimate values.

Default Value

- Memory

Specifies the default memory requirement in Mbytes

Default value: 1000 Mbytes

- CPU

Specifies the default number of CPUs required

Default value: 1 processor

If you know the resource requirements for the simulations you are running, you can specify the default values and select the Use Default Values option in the Provide CPU and Memory Data group box.

Distribution Method for Simulations to Get Estimated Data

- On the local machine

Specifies that the simulation for resource estimation needs to be run on the local computer irrespective of the distribution methods set on the Basic tab.

This option is helpful when you cannot run simulations on a local computer.

- Use the current distribution method with default values

Specifies that the simulation for resource estimation needs to be run using the distribution method specified on the Basic tab.

This option helps in getting a good estimate of resource requirement because it uses the same remote computers that are required to run the simulations.

Scale Estimated Values by

- Memory

Specifies the value by which the estimated value of memory requirement should be scaled

Default value: 100%

- CPU

Specifies the value by which the estimated value of CPU requirement should be scaled

Default value: 100%

If this feature is enabled using the options given in the Provide CPU and Memory Data group box, when you run a simulation in ADE Explorer, the resource requirement is estimated. The estimated memory required to run the simulaitons is populated in the Estimate Memory field on the Resources tab of the Job Policy setup form, as shown below.

Before the next simulation run, you can ensure that the required memory is available on the local or remote computer where you plan to run the simulation as per the Distribution Method of the job policy. You can use the template strings %MEM_EST and %CPU_EST to automatically transmit these resource requirements to your subsequent jobs.

When the distribution method is set to LBS, and you are using an LSF cluster to run simulation, the value of the required number of processors is displayed in the Parallel Num Processors field on the Basic tab.This value is used with other resource requirement settings for LSF. An example of a resource requirement string for LBS is shown below.

rusage[mem=%MEM_EST:mmsim=4] span[hosts=1]

When the distribution method is set to Command, you can include the %CPU_EST and %MEM_EST template string in the command, as shown below.

bsub -n %CPU_EST -I -q queueName -R \"rusage[mem=%MEM_EST]\" other_bsub_options

During runtime, the %CPU_EST and %MEM_EST template strings are replaced with the estimated values

Suspending and Resuming Simulation Runs

A resource-intensive simulation run might fail when sufficient disk space is not available. In such cases, you can suspend one or all of the running simulations, clean up the disk, and resume those for completion. You do not need to cancel the run.

You can suspend a simulation in the following ways:

Automatically Suspend Simulations When the Disk Space is Low

You can configure the commands to automatically suspend simulations when the disk space is low, and flag appropriate information or warning messages.

To enable checking of disk space and automatic suspension of simulations depending on the configured settings, do this:

  1. Choose Options – Job Setup to open the Job Policy Setup form.
  2. Open the Resources tab, shown below.
  3. Specify the following options in the Disk Space group:
    • Show warning for low disk: Select this check box to enable checking of the available disk space when a simulation run is started. ADE Explorer shows a warning in these cases:
      • If the available disk space before running simulation for the first point is less than the threshold value specified in the If the remaining disk space is less than _ MB field, a warning message is flagged to report about the unavailability of the required space and to confirm whether the run is to be continued.
      • For the Single Run, Sweeps, or Corners run mode, after the first design point is simulated, the disk space consumed for that point is used to estimate the total space required to run simulations for all the points. If the remaining (available – estimated) disk space falls below the threshold, ADE Explorer shows the following types of messages:
        If the remaining (available – estimated) disk space is more than or equal to the threshold specified in the If the remaining disk space is less than field, an information message is flagged to report the same.
        If the remaining (available – estimated) disk space is less than or equal to the threshold specified in the If the remaining disk space is less than field, a warning message is flagged to report the same. It is recommended to manually suspend the simulation run for the current history, free up the disk space, and resume the run.
        Consider an example of a simulation run for three design points. - The simulation of the first design point used: 15 MB - The estimated disk space for the remaining two points: 30 MB - The available disk space after the first design point is simulated: 115 MB - The threshold value for disk space: 100 MB - The estimated remaining disk space = 115 – 30 = 85 MB, which is less than the threshold value In this scenario, after the simulation for the first design point is complete, a warning message is displayed to clear disk space.
    • Automatically suspend simulations if the disk space is insufficient: Select this check box to enable automatic suspension of all the simulations in progress whenever the available disk space falls below the minimum threshold specified in the Minimum disk space to be maintained (in MB) field.
      When automatic suspension is enabled, by default, ADE Explorer checks the disk space after every five simulations. You can change the frequency in the Check disk space after every _ simulations field.
  4. Click OK to close the form.
    ADE Explorer uses the settings specified on this form to constantly monitor the available and estimated disk space and shows appropriate messages. If a simulation is automatically suspended, the status on the Run Summary tab and the Results tab is updated, as shown below.

In the Explorer Run Summary pane, the icons of the jobs allocated for the suspended simulation run appear as paused ( ). Their tooltips also show the time since when they are in the suspended state.

Manually Suspend Simulations

You can manually suspend the simulation while a simulation run is in progress. To do so, choose Simulation – Suspend.

The current simulation run is suspended and the following status is displayed on the ADE Explorer status bar to indicate that the simulation run is suspended.

To indicate that the simulation is manually suspended for a point, the status of the suspended point on Results tab shows the text, Suspended, as shown in the figure below. In addition, the message highlighted in figure below is displayed in the table header to indicate that the current simulation run has been manually suspended.

To resume a suspended simulation, choose Simulation – Resume. The simulation is resumed from the point where it was suspended previously.

Important Points to Note

Suspending or Resuming Simulations From a DRMS

When the simulations are running in a DRMS, if you need to preempt any simulation to manage the resources, send the SIGTSTP signal to the ICRP process. The signal is then sent to the Spectre process spawned by that ICRP to suspend the simulation and release the license. To retrieve the license and resume simulation, send the SIGCONT signal to that ICRP process.

When suspended, Spectre will release the license only if it is called with the +lsuspend option. If +lsuspend is not used, Spectre will suspend the simulation, but the license will not be released.

Troubleshooting jobs that stay pending until Timeout

Certain jobs may stay pending until timeout because a Message Passing System (MPS) communication cannot be established between the ICRP and GUI processes.

Any one of the following reasons can cause this gap in communication:

Important points to note about MPS:

These ports (7325 and ephemeral ports) need to be opened up for both the GUI host and the remote host, in case these are blocked by a firewall.

Starting a Simulation

After you specified the required settings, perform the following steps to start a simulation:

When the simulation run is complete, it shows the completion status, as shown in the figure below:

In addition, the simulation status is displayed in the status bar of the ADE Explorer window, as shown in the figure below:

When you modify the design in Schematic editor and run the simulation without saving the design updates, a warning message appears that informs about the unsaved design changes and asks whether you want to continue with the simulation run.

Simulation RunTime Improvements

The following enhancements show significant in simulation runtime.

Performance Enhancements Using Spectre Plugin

To reduce the performance overhead of creating the complete netlist for every simulation point and the associated Spectre startup time, a Spectre plugin has been introduced in this release. ADE Explorer creates an initial netlist for the first design point and sends it to Spectre. Spectre reuses this netlist for all the design points and makes only variable changes for which the plugin sends the details to Spectre.

If netlist recreation and Spectre startup time is comparable to simulation time, then significant performance improvement can be noticed when the new Spectre plugin is used. However, the performance improvement may diminish when the simulation run time is high.

Viewing Netlist

To view or create the netlist for a design point during the simulation run, right-click in a cell in the results table and select one of the options in the View Netlist menu:

Viewing Output Log

Spectre plugin maintains a single output log named Spectre.out for all the points. To view the output log for a data point, right-click in a cell on the Results tab and choose Output Log.

Clicking the hyperlinks for .s\\d+p and .snp files in the Spectre.log file opens the S-parameter data in the Results Browser workspace in ViVA XL. You can then choose the waveforms you want to plot.

Limitations

The Spectre plugin is not supported and is automatically switched off for the following features:

Spectre plugin cannot run simulations successfully if the enabled corners use the model sections, but the default model file is not defined and the Nominal corner is disabled. In this case, ADE Explorer automatically disables Spectre plugin, and continues to run simulation.

Performance Enhancements by Simulating Group of Points

Prior to this release, ADE Explorer used to send one point at a time to ICRPs. To improve the performance of simulation throughput and the responsiveness of the user interface, ADE Explorer now sends a group of points to each ICRP.

Group run reduces the overhead of multiple interactions of the user interface with the ICRPs. In addition, when combined with the redistribution feature that automatically reallocates simulations waiting on slow resources to other resources, it helps improve the overall runtime. To enable redistribution, set the minGroupSizeSplitAcrossIdleJobs .cdsenv variable to the count after which redistribution should take place. By default, this variable is set to 0.

For example, when you set this variable to 20, if an ICRP has 20 or more simulations and meanwhile there are some idle ICRPs, they are redistributed to other available ICRPs.

Consider another example where all ICRPs have completed their simulations, but 5 simulations are still pending on one ICRP, which is a slow resource. In this case:

However, the amount of improvement depends on the following factors:

Interrupting or Stopping a Simulation

To stop a running simulation,

The simulation is stopped and system saves any simulation results that are calculated. The stopped simulation cannot be continued.

Clicking Simulation – Stop option does not only stop a running simulation, it also releases the Spectre license.

You can then modify the settings in the Setup and restart the simulation.

Important Point to Note

Canceling Simulations for Selected Corners

To cancel a simulation for one or more corners, do the following:

  1. In the Detail view of the Results tab, select one or more result points in the corner columns for which you do not want to run the simulation.
    You can cancel the simulation in pending as well as running state.
  2. Right-click one of the selected points and choose Cancel Selected Simulation(s).
    ADE Explorer cancels the simulation for the points corresponding to the selected cells and completes the remaining simulations. The status of the simulations that you stopped appears as canceled, as shown below.

Important Points to Note

Viewing Run Preview

The Run Preview tab provides a summary of all the settings applied in the current ADE Explorer view. You can view various details, such as the total number of sweep points and corners that are run, the name of the test, or the job policy being used. It also displays the combinations of sweeps and corners that will be run. You can view a particular data point in the debug environment and run a simulation for that point. In addition, you can create netlist for a particular point. On this tab, you can also select specific points for which you want to run simulations. By default, this tab is not displayed.

For more details, you can also view the Run Point Selection video demonstration.

To open the Run Preview tab,

The default display setting of this tab is controlled by the outputTabsShowDefault environment variable.

The Run Preview tab has two sections—Setup Summary and points table, as shown in the figure below. The design point and corner combinations, and the values of variables are displayed in the points table. You can also enable or disable run points in the points table. For more information, see Enabling or Disabling Run Points in Points Table.

You can click Disable Point Selection on the upper-right corner to show or hide the Setup Summary section. To find a specific point or set of points in the points table, you can sort the data displayed in each column by clicking the arrow button available on the column headers. If required, you can also view specific data points by using the filters available in each column header.

Refreshing the Setup Summary and Points Table

As you modify the setup in the current view, the setup summary is refreshed automatically and the count of corners, points, and total simulations to be run keeps varying. By default, only the summary data is displayed and updated. This is because the Auto Refresh Setup Summary check box in the drop-down menu is selected by default. You can click the Refresh button to display the details of the run points in points table.

When you open a new setup or move from ADE Explorer to ADE Assembler and vice-versa, the points table is not displayed by default. You need to click the Refresh button to view the points table. In addition, the points table is not automatically refreshed and becomes unavailable when the setup changes. In this case, an alert icon is displayed on the Refresh button to indicate that the table data is not current. You can click the Refresh button to update the table contents.

To refresh the points table automatically after every change in the sweep values, corner, or any other setup changes:

If the number of the simulation points is large, it may take several minutes to display the details.

If the Auto Refresh Points Table check box is selected, the simulation run triggers refreshing the points table. If the number of the simulation points is large, it may take more time for the simulation run to complete. Therefore, it is recommended to clear the Auto Refresh Points Table check box before running simulations.

To refresh only the points table and not the Setup Summary, you can clear the Auto Refresh Setup Summary check box and select the Auto Refresh Points Table check box.

Related Environment Variables

Enabling or Disabling Run Points in Points Table

The points table shows a Run column that includes a check box against each row. By default, the check box is selected for all the points. The Run column is used to select or deselect run points for the simulation run.

If you do not want to run a specific point, you can do one of the following to disable the point:

To enable or disable a set of points:

Enabling or Disabling Run Column

To completely disable the Run column and run point selection,

When you disable corners or sweeps, the results in Detail and Detail-Transpose views display disabled in the disabled sweep-corner cell, as shown in the figure below.

The completely disabled rows and columns are not displayed in the results.

Some Important Points to Note:

Using the Information Displayed on the Run Preview Tab

You can use the information displayed on the Run Preview tab, as explained below.

Viewing the Corner and Sweep Combinations

If you have selected the check boxes that enable automatic refresh of information, the details on the Run Preview tab show the updated corner and point details while you modify the ADE Explorer setup.

Modifying the Setup

You can click a hyperlink provided in the Setup Summary section to open the relevant section in the ADE Explorer setup and modify the settings. For example, when you click the Corner hyperlink, the Corner Setup form is displayed where you can modify the corners for the current setup. After you close the Corners Setup form, the number of corners is updated according to the changes.

Similarly, you can click the Job Policy hyperlink to open the Job Policy form to view or modify the job policy. If the test has an overridden job policy, the Job Policy information in the Setup Summary indicates that by using a keyword (various).

Creating Netlist

You can create a netlist for a specific design point and corner combination and verify the details. To do this, right-click anywhere in the row corresponding to that combination and choose Create Netlist. ADE Explorer creates and displays a netlist for that point in a separate window.

Running a Simulation for a Specific Point

Before running a simulation for all the points, you might be interested in viewing the results of a specific design point and corner combination. In that case, you can run a simulation for only that combination and verify results. If required, make further modifications in the setup. To run a simulation for a specific design point and corner combination, right-click anywhere in the row corresponding to that combination and choose Open Debug Environment. ADE Explorer opens that simulation point in the ADE Debug Simulation Environment where you can run a simulation and view the results.

The Create Netlist and Open Debug Environment commands are not enabled for the OCEAN-based tests.

Modifying the Format of the Run Preview Tab

The format of information displayed on the Run Preview tab is defined by the previewSetup.xsl stylesheet saved at the following default location:

<Virtuoso-installation-directory>/share/cdssetup/adexl/previewSetup.xsl 

To modify this format or to define the content to be displayed on this tab, you can provide the path to a customized .xsl stylesheet by setting the RUNPREVIEW shell environment variable before running Virtuoso, as shown below.

setenv RUNPREVIEW_XSL <path-to-cutomized-stylesheet-file.xsl>

ADE Explorer uses the stylesheet specified by this variable to display the information on the Run Preview tab.

Setting the Debugging Options

Read a blog related to this at Virtuosity: Let's Have Fun with ADE Debugging – Part 1.

You can set debugging options that help you troubleshoot several problems that you face while working with ADE Explorer, such as non-responsive user-interface, ICRPs not starting, simulations showing error or warning messages, and so on. When set, these debug options are instantly applied on all the active ICRPs, however, the current simulation run remains unaffected.

Perform the following steps to set the debugging options:

  1. Choose Tools – Debug.
    The Debug Utility form appears.
  2. In this form, specify the following fields to set the debugging options:
    1. Enable verbose logging in job logs and CDS log—Select this check box to enable the debugging options listed below:
      • Write the debug information and prepend a time-stamp in each debug message
      • Write the callback evaluation information
      • Capture the full stack trace if an error is thrown
      • Write the Monte Carlo debug information
      • Write the calcVal debug information
      • Write the debug information for wave spec evaluation or re-evaluation
      • Print the DE integration debug information and log all SKILL_CALLS issued by the UI
      • Report information during runObjFile and interactive plotting operations
      • Write the OCEAN debug information

      When you click this check box, the following environment variables are enabled to write the std out and std error messages to the CDS.log file:
      "adexl.icrpStartup" "showJobStdout" 'boolean t
      "adexl.icrpStartup" "showJobStderr" 'boolean t
    2. Job Log Directory—Specify a location where you want to redirect the job logs. This field is useful when you select the Enable verbose logging in job logs and CDS log field and want to write the job log files to a different location so that they can be shared for further debugging.
      Alternatively, you can set the location using the following environment variable:
      “adexl.distribute” “jobFileDir” ‘string “<myDir>”\
    3. GUI Process ID—Show the GUI process ID.
    4. Host Name—Show the host name of the machine on which you are running Virtuoso.
    5. Options specifying how to proceed in case of failures—Set the following fields to specify how you want to proceed when failures are found:
      • Confirm to proceed when job launch failure counts exceeds—Specify a count after which if a job launch is failed, an error message is displayed.
        For example, if you specify this field value as 3, then if the job fails three times, no error message is displayed. However, if the job continues to fail for the fourth time, an error message is displayed in CIW. This indicates that the number of attempts permitted to retry a job launch in the given case is three.
        Alternatively, you can set the following environment variable to specify how many number of times to retry a job launch before reporting the error:
        "adexl.distribute" "maxJobFailPerPolicy" 'int 1000
      • Halt batch processing when job log failure count exceeds—Specify a count after which if a job has failed to launch, the batch processing is stopped. The value you specify is applied to all the scripts generated from the current session.
        Alternatively, you can set the following environment variable to specify how many number of times a job launch can be retried before stopping the batch processing of jobs:
        "adexl.distribute" "maxJobFailPerPolicyInBatch" 'int 1000
      • Maximum number of attempts to resubmit a failed simulation—Specify how many times ADE Explorer can try resubmitting a failed simulation. By default, ADE Explorer resubmits a failed simulation only once, and if the simulation fails again, an error message is displayed.
        Alternatively, you can set the following environment variable to specify the maximum number of attempts to resubmit a failed simulation:
        envSetVal(“adexl.distribute” “numRetriesOnError” ‘int 2)
      • Click OK to apply the specified settings.
    6. Click OK to apply the specified settings.

Important Points to Note

Debugging Points

After you run simulations in ADE Explorer, if any particular data point fails or shows undesired results, you can selectively change the setup of that data point and debug it. For this, you can use the ADE Explorer Debug Environment.

You can use the ADE Explorer Debug environment to load the setup of a data point you want to debug. The entire setup for the data point selected in ADE Explorer including the test, variables, and analyses details, corners, outputs, simulation settings, and job policy gets loaded. You can modify the settings for debugging purpose and perform all the tasks that you can perform in ADE Explorer such as running simulations and plotting results, except the following tasks:

Simulations that run from the debug environment do not use ICRP.

After debugging the data point, you can bring back the corrected simulation setup to the ADE Explorer view. You can then run the simulation by using the updated setup in the ADE Explorer view.

To debug a data point by using the debug environment, do the following:

  1. On the Results tab, right-click the data point and choose Open Debug Environment.
    The ADE Explorer Debug Environment window appears displaying the setup for the data point. For example, the following figure displays the setup for corner C0_1 of test Test1 at data point 1 in history item ExplorerRun.0.
    Note the following:
    • The ADE Explorer Debug Environment window title bar displays the test name, history item name, corner name and design point ID for the selected point. For example, the title bar in the above figure displays the point information as:
      Test1, ExplorerRun.0, Corner-C0_0, Design Point-1
      Where, Test1 is the test name, ExplorerRun.0 is the history item name, C0_1 is the corner name and 3 is the design point number for the selected point.
    • The Design Variables pane displays the value of the design variables at the selected data point. The Type column indicates the type of the variables, as described below:
      Type Description

      Test

      Design variable from test

      Sweep

      Global variable or device parameter with sweep (multiple) values

      Scalar

      Global variable or device parameter with single value

      Constraint

      Matched or ratioed device parameter

      You can modify only the value of the master parameter. Values of the matched and ratioed device parameters will change accordingly.

      Corner

      Design variables and parameters specified for the corner

      The value of the Temperature variable specified for the corner is displayed on the toolbar, as shown below:
    • The default project directory for the data point is the /results/data/historyName/pointID/testName/debug directory of the ADE Explorer view.
      You can choose Setup – Simulator/Directory/Host to modify the project directory path.
    • You can see the path of the results directory for the data point in the ADE Result Directory toolbar. By default, this toolbar is hidden. You can right-click any toolbar and choose ADE Result Directory to make it visible.
      Click XTerm to open the terminal window from where you can access the netlist or psf directories for the data point.
    • The relevant job policy settings set up in the ADE Explorer environment are copied to the debug environment.
    • You cannot use the debug environment to debug results from OCEAN-based tests.
    • Any existing .cdsinit variables set by the user (for example, the variables to set the simulation directory or the host run mode) are applicable to the debug environment.
  2. Modify the setup for the data point as required and run simulations to debug the data point.
  3. Choose Session – Setup Back To ADEXL and click Yes in the message box that appears to bring the corrected setup back to the ADE XL view.
    If you click Yes, ADE Explorer overwrites the active setup with the setup information in the history item for which you debugged the data point. For example, if you debug a data point in a history item named ExplorerRun.0, ADE Explorer overwrites the active setup with the setup information in ExplorerRun.0. Then, the changes in the debug environment setup are merged with the active setup as described below:
    • Changes in design variables, analyses and outputs for a test in the debug environment are merged with the setup in the ADE Explorer view.
    • Changes in scalar variables (global variables or device parameters with single value) in the debug environment overwrite the value of the corresponding global variables and device parameters in the ADE Explorer view.
    • Changes in sweep variables (global variables or device parameters with sweep values) in the debug environment are appended to the sweep range for the corresponding global variables and design parameters in the ADE Explorer view.
    • Changes in corner values in the debug environment result in a new corner being created in the ADE Explorer view.

    For example, if you choose Session – Setup Back To ADE Explorer after making the following changes in the debug environment, as shown in the figure:
    • Modified the value of the scalar variable wp from 104u to 110u
    • Modified the value of the corner variable vplus from 2.2 to 3
    • Modified the value of the Temperature variable for the corner from 27 to 100.
    The changes are merged into the active setup.

Important Point to Note

It is important to note the following point while working in the debug environment:

Click Yes to stop the simulation that is already running. The simulation running from the debug environment is stopped and the partial simulation results are plotted. In addition, the setup details of the new debug point overwrite the setup of the previous data point.


Return to top
 ⠀
X