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

DC Device Matching Analysis (dcmatch)

Description

DCMATCH analysis performs device matching analysis on the operating point for a specified output. It computes the deviation in the operating point of a circuit due to processing or environmental variation in modeled devices. If method=standard is specified, a set of dcmatch parameters in model cards are required for each supported device contributing to the deviation. The analysis applies device matching models to construct equivalent mismatch current sources to all the devices that are modeled. These current sources are assumed to have zero mean and certain variance. The variance of the current sources is computed according to device matching models. Next, the 3-sigma variance of DC voltages or currents (due to the mismatch current sources) is computed at the specified outputs. The simulation result displays the devices rank ordered by their contribution to the outputs. In addition, for MOSFET devices, it displays threshold voltage mismatch, current factor mismatch, gate voltage mismatch, and drain current mismatch. For bipolar devices, it displays base-emitter junction voltage mismatch. For resistors, it displays resistor mismatches.

The analysis replaces multiple simulation runs that determine changes in accuracy with any changes in size. It automatically identifies the set of critical matched components during circuit design. For example, when there are matched pairs in the circuit, the contribution of two matched transistors is equal in magnitude but opposite in sign. Typical usage is to simulate the output offset voltage of operational amplifiers, estimate the variation in bandgap voltages, and predict the accuracy of current steering DACS.

For method=standard, DCMATCH analysis can be applied to following devices: BSIM3V3, BSIM4, BSIMSOI, EKV, PSP102, PSP103, BJT, VBIC, BHT, RESISTOR, PHY_RES, R3, and resistor-type bsource. If method=statistics is specified, a statistics block is required to list the parameters that are considered as randomly varying. By default, all statistics parameters found in statistics blocks are considered in computation, unless the option variations is explicitly specified. Device matching models are not used in this case and dcmatch model parameters are not required.

Syntax

Name ... dcmatch parameter=value ...

Parameters

mth

Relative mismatch contribution threshold value.

where

screen

Where DC-Mismatch analysis results should be printed. Possible values are screen, logfile, file and rawfile.

file

File name for results to be printed if where=file is used.

Probe parameters

oprobe

Compute mismatch at the output defined by this component.

Port parameters

portv

Voltage across this probe port is output of the analysis.

porti

Current through this probe port is output of the analysis.

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.

mod

Model whose parameter value is to be swept.

param

Name of parameter to sweep.

State-file parameters

readns

File that contains an estimate of DC solution (nodeset).

useprevic

no

If set to yes or ns, use the converged initial condition from previous analysis as ic or ns. Possible values are no, yes and ns.

Output parameters

save

Signals to output. Possible values are all, lvl, allpub, lvlpub, selected, none and nooutput.

nestlvl

Levels of subcircuits to output.

oppoint

no

Determines whether the operating point information should be computed. If yes, where should it be printed (screen or file). Operating point information is not printed in case of the following conditions: (1) operating point is computed in the previous analysis and is unchanged (2) sweep parameter param is set. Possible values are no, screen, logfile and rawfile.

Convergence parameters

prevoppoint

no

Use operating point computed on the previous analysis. Possible values are no and yes.

restart

yes

Restart the DC solution from scratch if any condition has changed. If not, use the previous solution as initial guess. Possible values are no and yes.

Annotation parameters

annotate

sweep

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

title

Analysis title.

Miscellaneous parameters

version

0

Use BSIM short-channel mismatch equation for BSIM3 and BSIM4 devices, if the value is set to 1 and 3. If set to 0 and 2, do not use BSIM short-channel mismatch equation. Values 2 and 3 are compatible with Monte Carlo analysis while 0 and 1 are not. This option works only when method=standard. Possible values are 0 to 3.

method

standard

Proceed with standard device mismatch models, or utilize the parameters defined in statistics blocks to compute output variation. Possible values are standard and statistics.

nsigma

3

Specifies the variation of each statistics parameter (in the number of sigma). This option works only if method=statistics.

variations

all

Selects the type of statistical parameters that are involved in dcmatch. The option is valid only if method=statistics. Possible values are process, mismatch and all.

deltascale

1

Scaling factor of offset applied to mismatch and process parameters.

nullmfactorcorrelation

no

Controls the mismatch variation correlation of parallel devices defined by m-factor. If set to yes, devices are assumed to get uncorrelated mismatch variations. If set to no, devices are assumed to get the same mismatch variation. Possible values are no and yes.

The dcmatch analysis will find a DC operating point first. If the DC analysis fails, the dcmatch analysis also fails. The parameter mth is a threshold value relative to maximum contribution. Any device contribution less than (mth * maximum) is not reported, where maximum is the maximum contribution among all the devices of a given type.

Examples:

dcmm1 dcmatch mth=1e-3 oprobe=vd porti=1

dcmm2 dcmatch mth=1e-3 oprobe=r3 portv=1

dcmm3 n1 n2 dcmatch mth=1e-3 where=rawfile stats=yes

dcmm4 n3 0 dcmatch mth=1e-3 where=file file="%C:r.info.what"

sweep1 sweep dev=mp6 param=w start=80e-6 stop=90e-6 step=2e-6 {

dcmm5 dcmatch oprobe=vd mth=1e-3 where=rawfile }

dcmm6 n3 0 dcmatch mth=0.01 dev=x1.mp2 param=w start=15e-6 stop=20e-6 step=1e-6

dcmm7 n3 0 dcmatch mth=0.01 param=temp start=25 stop=100 step=25

Note: porti allows you to select a current associated with a specific device given in oprobe as an output. All types of devices are supported for oprobe. For inductor, vsource, switch, controlled voltage source, iprobe, etc., porti can only be set to one, because these devices are two-terminal devices (one port); and for tline porti can be set to one or two, because it is a four-terminal device (two ports).

Return to top
 ⠀
X