Product Documentation
Spectre Circuit Simulator Reference
Product Version 23.1, September 2023

Sweep Analysis (sweep)

Description

The sweep analysis sweeps a parameter, running the list of analyses (or multiple analyses) for each value of the parameter. The swept parameter can be circuit temperature, a device instance parameter, a device model parameter, a netlist parameter, or a subcircuit parameter for a particular subcircuit instance.

A set of parameters can be swept simultaneously, using the paramset parameter. The other sweep interval or variable parameters cannot be specified with the paramset parameter. Do spectre -h paramset for information on defining a paramset.

Within a sweep statement, you can specify analyses statements. These statements should be bound within braces. The opening brace is required  at the end of the line defining the sweep. Sweep statements can be nested.

You can sweep the circuit temperature by giving the parameter name as param=temp,  without a dev, mod, or sub parameter. You can sweep a top-level netlist parameter by giving the parameter name without a dev, mod, or sub parameter. You can sweep a subcircuit parameter for a particular subcircuit instance by specifying the subcircuit instance name with the sub parameter and the subcircuit parameter name with the param parameter. The same can be done using dev for the device instance name or mod for the device model name.

After the analysis is complete, the modified parameter returns to its original value.

Syntax

Name sweep parameter=value ...

Parameters

Sweep interval parameters

start

0

Start sweep limit.

stop

Stop sweep limit.

center

Center of sweep.

span

0

Sweep limit span.

step

Step size, linear sweep.

lin

50

Number of steps, linear sweep.

dec

Points per decade.

log

50

Number of steps, log sweep.

values

[...]

Array of sweep values.

valuesfile

Name of the file containing the sweep values.

Sweep variable parameters

dev

Device instance whose parameter value is to be swept.

sub

Subcircuit instance whose parameter value is to be swept.

mod

Model whose parameter value is to be swept.

param

Name of parameter to sweep.

paramset

Name of parameter set to sweep.

paramtype

normal

Define the type of the sweep variable only for loadpull analysis. Possible values are normal, pwr and freq.

Fault analysis parameters

faults

[...]

Names of the fault blocks from the list to perform direct fault analysis. This is required parameter for DFA, 'faults=[*]' includes all faults.

nominal

yes

Nominal (fault free) simulation will be performed during fault analysis. Possible values are no and yes.

faultsid

[...]

Indexes of faults from the list to perform fault analysis. If specified, simulation performed for requested subset of fault list.

faultsname

[...]

Names of faults from the list to perform fault analysis. If specified, simulation performed for requested subset of fault list.

faultsinst

[...]

List of instances to perform fault analysis. If specified, simulation performed only for faults within given instances.

faultsamplenum

Number of samples in random sampling of fault list during simulation.

faultsampleratio

[R1 R2]

A set of two values R1 and R2 (in percentage) to simulate the samples between the given range. 'faultsampleratio=R' is equivalent to 'faultsampleratio=[0 R]'.

faultseed

1

Optional starting seed for random number generator during fault sampling.

faultsamplemethod

random

Method to be used for fault sampling. Possible values are random, randomweighted, randomuniform and weightsorted.

faultsamplereplace

yes

Perform fault sampling with sample replacement during fault analysis. Possible values are no and yes.

faultdetratio

Auto-stop fault simulation when the specified detection ratio achieved.

faultconfidlevel

Auto-stop fault simulation when the specified detection ratio achieved with given confidence level.

faultcollapse

no

Perform fault collapsing in the list before fault simulation. Possible values are no and yes.

faultduplicate

yes

Perform fault simulation for all faults from the list. If 'no', identical and equivalent faults will be excluded from simulation. Possible values are no and yes.

faultsort

yes

Perform fault simulation according to the order in the fault list. If 'no', random order applied. Possible values are no and yes.

Annotation parameters

annotate

sweep

Degree of annotation. Possible values are no, title and sweep.

title

Analysis title.

distribute

Distribute a sweep analysis to reduce simulation time by using more computer cores across multiple computers. Possible values are no, fork, rsh, ssh, lsf, sge, nc and auto.

numprocesses

Specifies the number of jobs in distributed mode.

savedatainseparatedir

no

Whether to save data for each plot in a separate directory. savedatainseparatedir=name is only used for direct fault analysis (DFA). Possible values are no, yes and name.

component

component instance.

You can specify sweep limits by specifying the end points or the center value and the span of the sweep. Steps can be linear or logarithmic, and you can specify the number of steps or the size of each step. You can specify a step size parameter (step, lin, log, or dec) to determine whether the sweep is linear or logarithmic. If you do not specify a step size parameter, the sweep is linear when the ratio of stop to start values is less than 10 ,and logarithmic when this ratio is 10 or greater.

Example:

swp sweep param=temp values=[-50 0 50 100 125] {

oppoint dc oppoint=logfile

}


Return to top
 ⠀
X