A gnt analysis decomposes a transfer function. Setting up a gnt analysis is a two-step process:

  1. Identify the correct injection configuration in the circuit for the desired interpretation of the decomposition result. Insert instances of gntprobe, gntvprobe or gntiprobe in the schematic at the injection points.
  2. Setup the simulation.

Injection configuration

The test signal injection configuration (location and direction of a gntprobe, gntvprobe or gntiprobe) determines the interpretation of the decomposition result (the lower-level transfer functions). You can either perform a general gnt analysis or a specific General Feedback Theorem, Extra Element Theorem or Chain Theorem.

For reasons of notation, a given analysis only supports certain probe types. Refer to the following table to check probe compatibility:

gntprobe     Y Y
gntvprobe Y Y    
gntiprobe Y Y    

General Feedback Theorem

A 2GFT analysis decomposes the closed-loop transfer function of a feedback system in a desired 'ideal' transfer function \( \Hinf \), principal loop gain \( T \) and null loop gain \( \Tn \) (and direct forward transmission through the feedback path \( \Ho \)). A gntprobe is inserted at the error signal location. Conceptually, a voltage and current are simultaneously injected at the same location. The test signal injection must be chosen as follows:

  • Inside the major loop of the system, outside of any local loops. The major loop is the loop that is purposely constructed by the designer to achieve a certain result. Multiple loop feedback circuits and nested 2GFT analyses will be covered later.
  • Such that the desired \( \Hinf \) results when the total error signal of the loop (both \( \vy \) and \( \iy \)) is nulled.

The hints on the gntprobe symbol help indicate the correct insertion direction: $ \vy $ and $\iy$ must represent the total error signal of the loop under consideration.


Some remarks:

  • After running the simulation, first check if \( \Hinf \) is the desired ideal transfer function.
  • The 2GFT theory does not impose that a voltage and a current must be injected, nor that it has to happen at the same location. However, we impose this restriction for reasons of notation. If desired, a NGNT analysis can be performed to lift these restrictions.
  • In general, an incorrect probe location will result in a valid decomposition, but not in the desired \( \Hinf  \). Furthermore, inserting the probe in the major loop, with the same direction, but in an incorrect position will results in the correct \( T \), but not in the desired \( \Hinf \). If additionally the direction is inverted, a generally undesired decomposition will be calculated.
  • It is possible that multiple injection configurations result in the same desired \( \Hinf \), but different \(T\) and \(\Tn\). Loop gain is not unique.
  • If \( \Trev \) is non-zero when the desired \( \Hinf \) is produced, an ideal injection point does not exist in the system. Reverse loop gain is zero in a system with ideal injection point.
  • It is possible that both ideal as well as non-ideal injection points exist in a circuit that result in the desired \( \Hinf \). The injection point that results in the desired \( \Hinf \) is not necessarily unique.

Examples can be found in the gnt library. More information is found in Middlebrook's original GFTManual of the Intusoft simulator and in the references

Extra Element Theorem

An NEET analysis decomposes a transfer function in terms of its value when $N$ extra element (EEs) $Z_i$ are absent ($\Href$), and a correction factor expressing the modification due to the EEs ($D \Dn$, that is $ D \times \Dn$). An element is absent if it is assigned either a zero or infinite value, which is selected by appropriate injection. The user inserts gntiprobe or gntvprobe instances at the correct locations. The analysis result is the following decomposition of $H$:

$$ H = \Href D \Dn $$

and also includes the parts of the discrepancy factors. For immitances, both gntiprobe or gntvprobe can be used, although in a different configuration. Use the symbol hints on the probe symbol to identify the correct probe direction. For dependent source, only one probe type can be used.

EET for immitances

Both types of injection can be used. The following practical guideline can be used: in order to obtain $\Href$ (by nulling $v_y$ or $i_y$) equal the $H$ under infinite reference immitance when $v_y$ or $i_y$ faces the EE, or to obtain $\Href$ equal to $H$ under zero reference immitance when $v_x$ or $i_x$ faces the EE, choose the type of the injected signal (probe) equal to the type of the numerator of the EE.

The symbol hints of the various probes implement this guideline and should be used in practice.

EET for dependent generator

Practical guideline: for a dependent current source, use current injection (gntiprobe) and insert the probe in the output wire. For a dependent voltage source, use voltage injection (gntvprobe) and insert the probe in the output wire. See example 1EET6 in the example library.

Chain Theorem

Used in e.g. multistage amplifiers, the chain theorem separates the gain in a buffered gain and part due to loading effects. A gntprobe is inserted between the stages:

  • Such that no path exists, parallel to the gntprobe from the former to the latter stage.
  • With yy facing the former stages, xx the latter stages.

Use the 2CT hints on the probe symbol to identify the correct probe direction.

It can be shown that \( \Tn=\inf \). After running the simulation, first check that \( \Dn \) equals 1. This ensures the first condition is satisfied (no parallel paths).

Advanced Usage

Calculate only loopgain and related transfer functions

When no source instances or outputs are selected, only $D$, $T$ and their associated components are calculated. This is useful for oscillator circuits or cases where only stability assessment is of interest.

Nested analyses

A nested analysis decomposes the results of its parent analysis. Some examples:

  • NEET nested in 2GFT: find out the influence of extra elements on $ \Hinf $, $T$, $\Ho$, etc. is calculated.
  • 2CT nested in 2GFT: find out the loading effect of separate stages in the $\Hinf$, loopgain $T$, $\Ho$,...
  • 2CT nested in 2CT: find out buffered gain of more than two stages
  • 2GFT nested in 2GFT: multiple-loop feedback analysis

In principal, no limits exists on the nesting depth. However, each nesting level increases the computation time and data amount exponentially.

Multiple-loop feedback circuits

A multiple-loop feedback circuit can be analyzed using nested 2GFT analyses. If calculated, the total Mason's loop gain can be used for stability analyses.

Multiple-input multiple-output (MIMO) circuits

Multiple transfer functions can be decomposed in one pass by selecting multiple source instances and/or outputs.

Setup the simulation

A gnt small-signal analysis linearizes the circuit about the dc operating point and computes the decomposition of a transfer function, which is the response at a give node or branch to an incremental sinusoidal stimulus. The analysis can be performed while sweeping a parameter.

The parameter can be a frequency, a design variable, temperature, a component instance parameter, or a component model parameter. If changing a parameter affects the dc operating point, the operating point is recomputed on each step.

To set up a gnt analysis,

  1. Select Analyses - Choose from the Virtuoso© Analog Design Environment window. The Choosing Analyses form appears.
  2. Choose gnt from the Choosing Analyses form to display the appropriate options.
    gnt simulation main options
  3. Choose a parameter to sweep in the analysis. The parameters that you can select are Frequency, Design Variable, Temperature, Component Parameter and Model Parameter. For any parameter other than frequency, you need to specify the frequency at which the analysis is to be performed.
  4. Specify the Sweep Range and Sweep Type for the swept parameter. Enter the start and stop points of the range or the center and span of the range.
  5. Specify one or more gnt analyses to be performed in the Analyses field. For each analysis do as follows:
    1. Choose 2GFT, NEET, 2CT or NGNT.
    2. Identify the corresponding probe in the schematic. The selected analysis must match the test signal injection configuration realized by the selected probe for the results to be meaningful. You can use the Select button button to select the probe on the schematic.
    3. Click Add analysis to add the analysis to the analyses list.
    4. For the NEET or NGNT analyses, you can add multiple probes:
      1. Select the line containing the NEET or NGNT analysis.
      2. Add each additional probe by using the Select button or typing the instance name in the text field and click Add probe.
  6. Identify the transfer functions to decompose by specifying Source Instances and Outputs:
    1. Use the Select button to select the sources. The instance names are automatically added to the Source Instances list.
    2. Use the Select net or Select probe button to select net or probe instances as outputs. The instance names are automatically added to the outputs list.
  7. Click Options to select advanced options. The GNT Options Form appears.
    1. On the gnt parameters tab page you can select advanced options.gnt Options Form
    2. The ac parameters tab page contains options governing the internal ac analyses. For more information about the options in the forms, see the "AC Analysis" section in the Analysis Statements chapter of the Virtuoso Spectre Circuit Simulator Reference.
  8. Click Apply.

To access the results post simulation, use the Results Browser.

Advanced gnt options

The following options are available on the gnt parameters tab of the gnt options form:

  1. Calculate total Masons loop gain: when nested 2GFT analyses are simulated in multiple-loop feedback circuits, the total Masons loop gain will be calculated.
  2. Perform reference simulation: when enabled, this option allows that ac sources can have arbitrary magnitude or phase without disturbing the gnt results.
  3. Simplify result names for SISO systems: when only one source instance and output is selected, put H11 results in the root of the gnt results.
  4. Simplify results names for 1EET and 1GNT: replace $T_1$, $T_{n1}$, etc... with $T$, $\Tn$, etc...
  5. Save internal analyses results: retains the intermediate ac results, one for each injection.