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

S-Parameter Analysis (sp)

Description

The S-parameter analysis linearizes the circuit about the DC operating point and computes S-parameters of the circuit taken as an N-port. The port statements define the ports of the circuit. Each active port is turned on sequentially, and a linear small-signal analysis is performed. Spectre converts the response of the circuit at each active port into S-parameters and outputs these parameters. There must be at least one active port statement in the circuit.

Sp analysis can output an ASCII model file that can later be read-in by a nport component. The file name and the model type can be specified by file and paramtype parameters, respectively. Currently, only paramtype=s and paramtype=y are supported, for the other possible values of paramtype, the file still generates s-parameters. The text format can be either Spectre native or Touchstone.

Spectre supports sprobes in sp analysis. Sprobe is a special testbench to allow in-situ probing of bi-directional impedances. If the 'sprobes' parameter is given, the parameters S1, S2, Z1, Z2 , StabIndex of specified sprobe will be computed and outputted to rawfile. Here S1 is the scattering parameter looking left from the sprobe; S2 is the scattering parameter looking right from the sprobe; Z1 is the impedance looking left from the sprobe; Z2 is the impedance looking right from the sprobe; StabInex is the stability Index. If sprobes and ports are given, 'ports' are used to compute normal S-param, while 'sprobes' are used to compute sprobe params.

If 'sprobeports' set, a different sprobe mode is enabled. It can calculate the complete set of network parameters for the circuit looking at the left of sprobe and the circuit looking at the right of the sprobe. In this mode, sprobe is open.

Spectre can perform AC analysis while sweeping a parameter. The parameter can be frequency, temperature, component instance parameter, component model parameter, or netlist parameter. If changing a parameter affects the DC operating point, the operating point is recomputed at each step. You can sweep the circuit temperature by giving the parameter name as temp, without a dev or mod parameter. In addition, you can sweep a netlist parameter by giving the parameter name without a dev or mod parameter. After the analysis is complete, the modified parameter returns to its original value.

Syntax

Name sp parameter=value ...

Parameters

prevoppoint

no

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

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.

freq

(Hz)

Frequency when a parameter other than frequency is being swept.

Port parameters

ports

[...]

List of active ports. Ports are numbered in the order given.

State-file parameters

readns

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

write

DC operating point output file at the first step of the sweep.

writefinal

DC operating point output file at the last step of the sweep.

Initial condition parameters

force

none

The set of initial conditions to use. Possible values are none, node, dev and all.

readforce

File that contains initial conditions.

skipdc

no

Skip DC analysis. Possible values are no and yes.

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

file

Output file name.

mode

ss

S-parameters mode selector. Can be mm for mixed-mode.

datafmt

spectre

Data format of the S-parameter output file. Possible values are spectre, touchstone and touchstone2.

paramtype

s

Output parameter type. If set to s, the S-parameters will be output to raw data. If file is specified, the S-parameters will be output to the file. If set to y, both S-parameters and Y-parameters will be output to raw data. If file is specified, the normalized Y-parameters will be output to the file. If set to z, the behavior is similar to y. If set to yz, then S-parameters, Y-parameters, and Z-parameters will be output to raw data. However, if file is specified, only the S-parameters will be output to the file. Possible values are s, y, z and yz.

datatype

realimag

Data type of the S-parameter output file. Possible values are realimag, magphase and dbphase.

noisedata

no

Should noise data be saved to the S-parameter output file; if yes, in what format. Possible values are no, twoport and cy.

oppoint

no

Determines whether operating point information should be computed:if yes, where should it be printed (screen or file). Operating point information is not printed if the operating point computed in the previous analysis remains unchanged. Possible values are no, screen, logfile and rawfile.

Noise parameters

donoise

no

Perform noise analysis. If oprobe is specified as a valid port, this is set to yes, and a detailed noise output is generated. Possible values are no and yes.

oprobe

Compute total noise at the output defined by this component.

iprobe

Input probe. Refer the output noise to this component.

Convergence parameters

restart

yes

Restart the DC solution from scratch if any condition has changed. If not, use the previous solution as an 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.

Sprobe parameters

sprobes

[...]

List of s-probes.

sprobeports

[...]

List of sprobeport.

If the list of active ports is specified with the ports parameter, the ports are numbered sequentially from one in the order given. Otherwise, all ports present in the circuit are active, and the port numbers used are those that were assigned on the port statements. If donoise=yes is specified, the noise correlation matrix is computed. If in addition, the output is specified using oprobe, the amount that each noise source contributes to the output is computed. Finally, if an input is also specified (using iprobe), the two-port noise parameters are computed (F, Fmin, NF, NFmin, Gopt, Bopt, and Rn).

Spectre will output file in touchstone Version 2.0 format when datafmt=touchstone2. Network data for Y- and Z-parameters in touchstone Version 2.0 files is not normalized, but in spectre and touchstone version 1.0 file, it is normalized.

If the mode parameter is set to mm, differential and common-mode S-parameters (denoted as mixed-mode S-parameters) are calculated. When mode=mm, there must be 2N, with N > 1, active port statements in the circuit. The mixed-mode S-parameters are calculated referring to the pairing of the ports, with the port numbers ordered in pair as (1,2) (3,4), and so on in the ports list. With mm, Spectre calculates differential-to-differential, differential-to-common, common-to-differential, and common-to-common S-parameters. A combination of mixed-mode and standard S-parameters is calculated if the 'mode' parameter is set to, say, m12m34s5. Then, additional differential-to-standard, common-to-standard, standard-to-differential, and standard-to-common S-parameters are calculated. In the example of mode=m12m34s5, the standard single-end port is port number 5, the two mixed-mode port pairs are (1,2) and (3,4); with Spectre placing restriction of the number on active ports to 5 given in the port list.[Mixed-Mode Order] keyword is used in touchstone Version 2.0 files to describe mixed-mode network parameters order. If mode=m12m34s5, [Mixed-Mode Order] is set to D1,2 D3,4 C1,2 C3,4 S5.

sprobeports is used to specify the sprobeport instances corresponding to sprobes. sprobeport is used to set ports in the circuit looking to the left of sprobe with portL and set ports in the circuit looking to the right of sprobe with portR'. To ensure that sprobeports setting works well even when some sprobe has no sprobeport set, set sprobeport for this sprobe to a blank string. Example:

sp sp sprobes=[spb1 spb2 spb3] sprobeports=["" spb_port2 ""]

spb_port2 sprobeport portL=[...] portR=[...]

spb_port2 is for sprobe spb2. Sprobe spb1 and spb3 have no ports setting.

When portL is set for a sprobeport, S-Parameters for ports in portL and the left port of the corresponding sprobe will be calculated. And when portR is set for a sprobeport, S-Parameters for the right port of the corresponding sprobe and ports in portR will be calculated.

When donoise=yes, two-port noise parameters will be calculated. For circuit looking to the left of sprobe, the 1st port in portL is used as in-port, the left port of sprobe is used as out-port. For circuit looking to the right of sprobe, the 1st port in portR is used as out-port, the right port of sprobe is used as in-port.

You can define sweep limits by specifying the end points or the center value and 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. All frequencies are in Hertz.

The small-signal analysis begins by linearizing the circuit about an operating point. By default, this analysis computes the operating point, if it is not known, or recomputes it if any significant component or circuit parameter has changed. However, if an operating point was computed during a previous analysis, you can set prevoppoint=yes to avoid recomputing it. For example, if prevoppoint=yes and the previous analysis was a transient analysis, the operating point is the state of the circuit at the final time point.


Return to top
 ⠀
X