Amplifier Simulation and Test-Benches

In this discussion, we aim to explore two fundamental aspects that are often overlooked in textbooks. Firstly, we’ll delve into how to determine reasonable specifications for your amplifier. Secondly, we’ll examine how to thoroughly verify the performance of such an amplifier.

If an amplifier is required somewhere in your system, such as in a filter stage, the specifications might not be known at the beginning. Instead of designing a new amplifier for each trial, it is common to introduce an amplifier model with parameterized key specification values and adjust them until the desired performance is achieved. This approach is not limited to amplifiers; it can also be beneficial for other circuit blocks. In other words, using the model, you can predict a block’s performance by setting key specifications and verify how the block would behave in a given environment.

To set up the model, you could use components typically found in the analog library of your simulator. This includes independent and dependent sources, resistors, capacitors, inductors, and ideal switches to mimic the behavior of an amplifier. However, a more elegant approach would be to utilize Verilog-A, which is available in most simulators. The listing below provides a Verilog-A example for a two-stage amplifier. Though simple, it effectively models an amplifier with a given DC open-loop gain \(A_0\), a dominant first pole \(f_{BW}\), and a second pole determined by the output resistance \(R_{out}\) and a load capacitor provided by the circuit where the amplifier is applied.

`include "constants.vams"
`include "disciplines.vams"
//-------------------------------------------------
`define dB2dec(x) pow(10,x/20)
`define M_TWOPI. 6.28318530717958647652
//-------------------------------------------------
module m_AmpModel(VINp, VINn, VDD, VSS, VOUT);
inout VINp, VINn, VOUT, VDD, VSS;
electrical VINp, VINn, VOUT, VDD, VSS, _vout, _vin;
//-------------------------------------------------
// open loop A_0 in dB
parameter real A_0   = 100 from  [0:inf);  
// f3dB  for internal pole
parameter real f_BW  = 1G from   (0:inf);  
// output resistance
parameter real R_out = 100M from (0:inf);  
real _vout_;
//-------------------------------------------------
analog 
begin
//-------------------------------------------------
//input differential voltage + offset + noises 
//(can be extended if required)
V(_vin) <+ (V(VINn, VSS) - V(VINp, VSS)    
//-------------------------------------------------
//internal pole and output common mode  
_vout_ = -laplace_nd(V(_vin)*`dB2dec(A_0),{1},{1,1/(`M_TWOPI*f_BW)})/2+V(VDD, VSS)/2;
//-------------------------------------------------
V(_vout, VSS) 
    <+ max(V(VSS), min(V(VDD, VSS), _vout_));
//-------------------------------------------------
//2nd pole is at 1/(2*pi*ROUT*CEXTERNAL) 
I(VOUT) <+ (V(VOUT, _vout) / R_out)); 
//-------------------------------------------------
 end
//-------------------------------------------------
endmodule
//-------------------------------------------------

The reader can use the listing as a starting point for their amplifier model and extend it with additional details, such as non-idealities like offset, noise, slew-rate limitations, or input and output range limitations. They can also modify the order of the amplifier transfer function by adjusting the Laplace transfer function operator laplace_nd().

Fig. 1: Symbol amplifier model.

Typically, once you have derived the amplifier’s specifications and designed your circuit accordingly — ideally with the help of the current density method and SizingTool — you can replace the model with the corresponding transistor-level schematic. The overall circuit block is then expected to perform in the same manner.

Before turning to the test bench to verify amplifier performance, let’s review the theory of single-input control systems, which our amplifier represents. The figure below provides common expressions and relationships. Most readers might be familiar with a control system that has a forward transfer function \(G\) and a feedback transfer function \(H_2\), but not with the transfer function \(H_1\), which is usually for their case set to unity.

However, extending the feedback transfer function into two parts, \(H_1\) and \(H_2\), has advantages that we will explore later. This notation was introduced by Roland Ryter from Sensirion AG, although there may be earlier references that we have not investigated.

Fig. 2: Overview transfer characteristics of single input control System.

In the figure below, the schematic of a non-inverting amplifier is provided. From this schematic, one can derive the transfer function. By comparing the result with the general expression of the transfer function given above, we can determine the partial expressions for the feedback transfer functions \(H_1\) and \(H_2\). In this case, the feedback transfer function \(H_1\) is unity, making the introduction seem somewhat redundant.

Fig. 3: Transfer function of non-inverting amplifier and corresponding transfer functions \(H_1\) and \(H_2\).
Fig. 4: Transfer function of inverting amplifier and corresponding transfer functions \(H_1\) and \(H_2\).

However, by applying the same procedure to an inverting amplifier stage, one can derive a non-unity valued function for the feedback transfer term \(H_1\). Consequently, by dividing the feedback transfer function into two parts, we can describe both inverting and non-inverting systems using the same generic transfer functions for single-input control systems. This represents a significant improvement.

Below is the test-bench used to verify the amplifier’s performance. It utilizes the concept of dividing the feedback transfer function into two parts, making it suitable for both inverting and non-inverting configurations. Additionally, the test-bench allows simulations for \(DC\) operating points, \(AC\) transfer functions, and transient behavior of the amplifier, all within the same setup.

The feedback loop does not load the amplifier, ensuring that the load is purely determined by the load capacitor (CL) and the load resistors (RLH and RLL, connected to VDD and VSS). Furthermore, the input common mode and the output DC operating point can be chosen, enabling tests such as \(AC\) transfer behavior over the full \(DC\) operating range. If desired, you can also utilize the Neumann feedback element provided by some simulators, although it is not necessarily required.

Fig. 5: Simulation test-bench amplifier.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *