Transfer Function Analysis (xf)
Description
The transfer function analysis linearizes the circuit about the DC operating point and performs a small-signal analysis that calculates the transfer function from every independent source in the circuit to a designated output. The variable of interest at the output can be voltage or current.
You can specify the output with a pair of nodes or a probe component. Any component with two or more terminals can be a voltage probe. When there are more than two terminals, they are grouped in pairs, and you use the portv parameter to select the appropriate pair of terminals. Alternatively, you can specify a voltage to be the output by giving a pair of nodes on the xf analysis statement.
Any component that naturally computes current as an internal variable can be a current probe. If the probe component computes more than one current (as transmission lines, microstrip lines, and N-ports do), you use the porti parameter to select the appropriate current. It is an error to specify both portv and porti. If neither is specified, the probe component provides a reasonable default.
The stimuli parameter specifies the inputs for the transfer functions. There are two choices. stimuli=sources indicates that the sources present in the circuit should be used. The xfmag parameters provided by the sources may be used to adjust the computed gain to compensate for gains or losses in a test fixture. You can limit the number of sources in hierarchical netlists by using the save and nestlvl parameters.
The transfer functions computed versus output and source types are as follows:
Type | voltage | current | Amplitude
--------+-----------------+-----------------+-----------------
vsource | V(out)/V(src) | I(out)/V(src) | V(src)=xfmag
isource | V(out)/I(src) | I(out)/I(src) | I(src)=xfmag
port | 2*V(out)/V(src) | 2*I(out)/V(src) | V(src)=2*xfmag
where, xfmag defaults to 1 for each source type. For the port, V(src) is the internal source voltage.
Specifying stimuli=nodes_and_terminals indicates that all possible transfer functions should be computed. This is useful when it is not known in advance which transfer functions are interesting. Transfer functions for nodes are computed assuming that a unit magnitude flow (current) source is connected from the node to ground. Transfer functions for terminals are computed assuming that a unit magnitude potential (voltage) source is connected in series with the terminal. By default, the transfer functions from a small set of terminals are computed. If transfer functions from specific terminals are required, specify the terminals in the save statement. You must use the :probe modifier (for example, Rout:1:probe) or specify useprobes=yes on the options statement. If transfer functions from all terminals are required, specify currents=all and useprobes=yes on the options statement.
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 [p] [n] xf parameter=value ...
The optional terminals (p and n) specify the output of the circuit. If you do not specify the terminals, you must specify the output with a probe component.
Parameters
|
Use the operating point computed in the previous analysis. Possible values are no and yes. |
|
Frequency when a parameter other than frequency is being swept. |
|
File that contains an estimate of the DC solution (nodeset). |
||
|
DC operating point output file at the first step of the sweep. |
||
|
DC operating point output file at the last step of the sweep. |
|
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. |
|
Degree of annotation. Possible values are no, title, sweep, status and steps. |
||
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.
Nodesets help find the DC or the initial transient solution. You can specify nodesets in the circuit description file with nodeset statements or in a separate file by using the readns parameter. When nodesets are specified, Spectre computes an initial guess of the solution by performing DC analysis, while forcing the specified values on to nodes by using a voltage source in series with a resistor whose resistance is rforce. Spectre then removes these voltage sources and resistors and computes the required solution from this initial guess.
Nodesets have two important uses. First, if a circuit has two or more solutions, nodesets can bias the simulator towards computing the required solution. Second, this is a convergence aid. By estimating the solution of the largest possible number of nodes, you might be able to eliminate a convergence problem or significantly speed up convergence.
When you simulate the same circuit multiple times, it is recommended that you use both write and readns parameters and assign the same file name to both parameters. DC analysis then converges quickly even if the circuit has changed since the last simulation, and the nodeset file is automatically updated.
During the initial operating point DC analysis, you may force certain circuit variables to use the values given in the ic file, ic statements, or ic parameter on the capacitors and inductors. The ic parameter controls the interaction of various methods of setting the force values. The effects of individual settings are as follows:
force=none:All initial conditions are ignored.
force=node:The ic statements are used, and the ic parameters on the capacitors and inductors are ignored.
force=dev:The ic parameters on the capacitors and inductors are used, and the ic statements are ignored.
force=all:Both ic statements and ic parameters are used, with the ic parameters overriding the ic statements.
If you specify an ic file with the readforce parameter, force values from the file are used and any ic statements are ignored.
After you specify the initial conditions, Spectre computes the DC operating point with the specified nodes forced to the given value by using a voltage source in series with a resistor whose resistance is rforce (see options).
Return to top