Product Documentation
OCEAN Reference
Product Version IC23.1, September 2023

11


Parametric Analysis Commands

These commands set up a parametric analysis. When you run a parametric analysis, you can plot the resulting data as a family of curves.

This chapter contains information on the following commands:

paramAnalysis

paramAnalysis(
t_desVar 
[ ?start n_start ] 
[ ?stop n_stop ] 
[ ?center n_center ] 
[ ?span n_span ] 
[ ?step f_step ] 
[ ?lin n_lin ] 
[ ?log n_log ]  
[ ?dec n_dec ] 
[ ?oct n_oct ] 
[ ?times n_times ] 
[ ?spanPercent n_spanPercent ] 
[ ?sweepType t_sweepType ]
[ ?values l_values ] 
[ o_paramAnalysis ]
) 
=> undefined / nil

Description

Sets up a parametric analysis.

Groups the PSF data so that it can be plotted as a family of curves when the analysis is finished. The commands can be nested as shown in the syntax of the command.

If you specify more than one range, the OCEAN environment uses the following precedence to select a single range to use.

n_start, n_stop

highest precedence

n_center, n_span

n_center, n_spanPercent

lowest precedence

Similarly, if you specify more than one step control, the OCEAN environment uses the following precedence.

f_step

highest precedence

n_lin

n_dec

n_log

n_oct

n_times

lowest precedence

To run the analysis, use the paramRun command.

Arguments

t_desVar

Name of the design variable to be swept.

?start n_start

Beginning value for the design variable.

?stop n_stop

Final value for the design variable.

?center n_center

Center point for a range of values that you want to sweep.

?span n_span

Range of values that you want to sweep around the center point. For example, if n_center is 100 and n_span is 20 then the sweep range extends from 90 to 110.

?step f_step

Increment by which the value of the design variable changes. For example, if n_start is 1.0, n_stop is 2.1, and f_step is 0.2, the parametric analyzer simulates at values 1.0, 1.2, 1.4, 1.6, 1.8, and 2.0.

?lin n_lin

The number of steps in the analysis. The parametric analyzer automatically assigns equal intervals between the steps. With this option, there is always a simulation at both n_start and n_stop. The value for the n_lin argument must be an integer greater than 0.

For example, if n_start is 0.5, n_stop is 2.0, and n_lin is 4, the parametric analyzer simulates at values 0.5, 1.0, 1.5, and 2.0.

?log n_log

The number of steps between the starting and stopping points at equal-ratio intervals using the following formula:

log multiplier = (n_stop/n_start)(n_log -1)The number of steps can be any positive number, such as 0.5, 2, or 6.25.

Default value: 5

For example, if n_start is 3, n_stop is 15, and n_log is 5, the parametric analyzer simulates at values 3, 4.48605, 6.7082, 10.0311, and 15.

The ratios of consecutive values are equal, as shown below.

3/4.48605 = 4.48605/6.7082 = 6.7082/10.0311 = 10.0311/15 = .67

?dec n_dec

The number of steps between the starting and stopping points calculated using the following formula:

decade multiplier = 10 1/n_dec

The number of steps can be any positive number, such as 0.5, 2, or 6.25.

Default value: 5

For example, if n_start is 1, n_stop is 10, and n_dec is 5, the parametric analyzer simulates at values 1, 1.58489, 2.51189, 3.98107, 6.30957, and 10.

The values are 100, 10.2, 10.4, 10.6, 10.8, and 101.

?oct n_oct

The number of steps between the starting and stopping points using the following formula:

The number of steps can be any positive number, such as 0.5, 2, or 6.25.

Default value: 5

For example, if n_start is 2, n_stop is 4, and n_oct is 5, the parametric analyzer simulates at values 2, 2.2974, 2.63902, 3.03143, 3.4822, and 4.

These values are 21, 21.2, 21.4, 21.6, 21.8, and 22.

?times n_times

A multiplier. The parametric analyzer simulates at the points between n_start and n_stop that are consecutive multiples of n_times.

For example, if n_start is 1, n_stop is 1000, and n_times is 2, the parametric analyzer simulates at values 1, 2, 4, 8, 16, 32, 64, 128, 256, and 512.

?spanPercent n_spanPercent

Range specified as a percentage of the center value. For example, if n_center is 100 and n_spanPercent is 40, the sweep range extends from 80 to 120.

?sweepType t_sweepType

Type of parametric analysis. Valid values are:

  • paramset - Runs Parametric Set analysis, specific to Spectre.
  • nil - Runs Sweeps & Ranges type parametric analysis.

Default value: nil

?values l_values

List of values to be swept. You can use l_values by itself or in conjunction with n_start, n_stop, and f_step to specify the set of values to sweep.

?paramAnalysis o_paramAnalysis

Value returned from another paramAnalysis call used to achieve multidimensional parametric analysis.

Value Returned

undefined

The return value for this command is undefined.

nil

Prints an error message.

Examples

Sets up a parametric analysis for the rs design variable. The swept values are 200, 400, 600, 800, 1000, 1030, 1050, and 1090.

paramAnalysis( "rs" ?start 200 ?stop 1000 ?step 200 
?values '(1030 1050 1090) )

Sets up a nested parametric analysis for the rl design variable.

paramAnalysis( "rl" ?start 200 ?stop 600 ?step 200
paramAnalysis( "rs" ?start 300 ?stop 700 ?step 200
)
)

Sets up a parametric analysis for temperature.

paramAnalysis("temp" ?start -50 ?stop 100 ?step 50)

Related Topics

paramRun

paramRun

paramRun(
[ s_paramAnalysis ] 
) 
=> t / nil
paramRun(
[ ?jobName t_jobName ]
[ ?drmsCmd t_drmsCmd ] 
) 
=> s_jobName / nil
paramRun(
[ ?jobName t_jobName ] 
[ ?host t_hostName ] 
[ ?queue t_queueName ]
[ ?startTime t_startTime ] 
[ ?termTime t_termTime ]
[ ?dependentOn t_dependentOn ] 
[ ?mail t_mailingList ]
[ ?block s_block ] 
[ ?notify s_notifyFlag ] 
[ ?lsfResourceStr s_lsfResourceStr ]
) 
=> s_jobName / nil

Description

Runs the specified parametric analysis.

If you do not specify a parametric analysis, all specified analyses are run. Distributed processing must be enabled using the hostmode command before parametric analyses can be run in distributed mode. When the paramRun command finishes, the PSF directory contains a file named runObjFile that points to a family of data. To plot the family, use a normal plot command. For example, you might use plot(v("/out")).

Arguments

s_paramAnalysis

Parametric analysis.

?jobName t_jobName

Used as the basis of the job name. The value entered for t_jobName is used as the job name and return value if the run command is successful. If the name given is not unique, a number is appended to create a unique job name.

?host t_hostName

Name of the host on which to run the analysis. If no host is specified, the system assigns the analysis to an available host.

?drmsCmd t_drmsCmd

A DRMS (Distributed Resource Management System) command, such as a bsub command for LSF or a qsub command for SGE (Sun Grid Engine) used to submit a job. When this argument is used, all other arguments, except ?jobName will be ignored. Moreover, it will not be possible to call the OCEAN function wait on the jobs submitted using this argument.

To know more about the command option, refer to the section Submitting a Job in the chapter Using the Distributed Processing Option in the Analog Design Environment of the Virtuoso Analog Distributed Processing OptionUser Guide.

?queue t_queueName

Name of the queue. If no queue is defined, the analysis is placed in the default queue (your home machine).

?startTime t_startTime

Desired start time for the job. If dependencies are specified, the job does not start until all dependencies are satisfied.

?termTime t_termTime

Termination time for job. If the job is not completed by t_termTime, the job is terminated.

?dependentOn t_dependentOn

List of jobs on which the specified analysis is dependent. The analysis is not started until after dependent jobs are complete.

?mail t_mailingList

List of users to be notified by e-mail when the analysis is complete.

?block s_block

When s_block is not nil, the OCEAN script halts until the job is complete.

Default value: nil

?notify s_notifyFlag

When notifyFlag is not nil, a job completion message is echoed to the OCEAN interactive window.

Default value: t

?lsfResouceStr s_lsfResourceStr

Specifies an LSF Resource Requirement string to submit a job. It is effective only in the LSF mode.

Value Returned

t

The specified parametric analysis is run.

nil

Prints an error message.

Examples

Runs all specified parametric analyses.

paramRun()
=> t

Runs the rs parametric analysis.

rsAnalysis = paramAnalysis("CAP" ?values '(10 20))
paramRun('rsAnalysis)
=> t

or

rsAnalysis = paramAnalysis("CAP" ?values '(10 20) paramAnalysis("RES" ?values '(10 20 )))
paramRun('rsAnalysis)
=> t

Runs the analysis in the queue named background on a machine, if it has at least 500 MB of RAM memory.

paramRun(?queue "background" ?lsfResourceStr "mem>500")
=> t

Related Topics

paramAnalysis


Return to top
 ⠀
X