There were several questions about measuring transistor fmax in comments posted to my previous Measuring Transistor ft
MOS Transistor ft blog posts. So in this posting we will look at simulating
transistor s-parameters and device characteristics including fmax, noise, and distortion. There are two parts to the
characterizing a device -- creating the testbench and performing the measurement.
First, we will look at creating a testbench to measure
transistor s-parameters. While we can't directly use the ft
testbench to measure s-parameters, it will serve as the basis for the
s-parameter testbench. The current feedback loop from the ft
testbench will be used to define the transistor's dc operating point. Then we
will add ports to the testbench in order to measure the transistor's s-parameters.
The ports define the reference impedance and the port number for s-parameter
analysis. The complexity is that we need to isolate the current feedback to
stabilize the dc operating point from the ports used for s-parameter analysis. To
isolate the dc and the ac signal paths, the dc paths include shorts and the ac
paths include capacitors. The corner frequency of LC network is set low enough
so that frequency sweeps can be performed from frequencies as low as 1Hz (see
Figure 1: fmax Testbench
Next, let's talk a little bit about how to perform the
fmax measurement using Virtuoso Analog Design Environment (ADE). We will use Spectre's s-parameter
analysis to simulate the transistor's s-parameters and then calculate fmax
from the s-parameter data. We will calculate the fmax from the
s-parameters using Mason's Unilateral Power Gain. Let's look at the process step-by-step.
1) First, we will perform s-parameter analysis.
We will start by selecting the input and output ports, in this case port1 and
Figure 2: Setting Up s-parameter
order to improve the accuracy of the measurement, we will use 100 points/decade
instead of the default value, 20 points/decade. Increasing the number of points
reduces the interpolation error when we make the fmax measurement
using the cross() function.
can calculate the Unilateral Power Gain from the device's s-parameters. The
Maximum Unilateral Power Gain measurement is available from either of the following options:
a. From ADE select Results -->
Direct Plot --> Main Form..., then in the sp analysis section choose
Figure 3: S-parameter Direct Plot
ADE select Tools --> Calculator...,
then select gumx from RF functions
our case, we will use the ViVA Calculator because we want to know the frequency
now that the Unilateral Power Gain is 0dB. This measurement can be done using
the cross() function. In this case, we have saved Maximum Unilateral Power Gain
and the fmax measurement, and the cross(dB10(Gumx() 0 1 "falling" nil
nil) as outputs in ADE.
Figure 4: ADE with fmax
you have ever done the measurement in the lab, you probably did not measure the
0dB crossing -- you extrapolated from a higher level to the 0dB crossing due to
measurement noise. Simulating fmax is different than measuring fmax
and as a result, when simulating, we can directly measure fmax. We do
not need to extrapolate to estimate the 0dB crossing as you would in the lab.
the other hand, the accuracy of the fmax simulation is affected by
how well you model the actual device. For example, using a BSIM4 model with
gate resistance, substrate resistance, ...
Once the simulation is complete we can begin to measure the fmax
from the Gumx gain plot (see Figure 5).
Calculating fmax from Gumx
Using ADE's Parametric Plotting function (see the Measure Twice, Cut Once post for
details) we can sweep the operating conditions and see the effect on fmax (see Figure 6). Designers can use this information to optimize the
speed/performance of their design.
Figure 6: fmax
vs. collector current
To review, in this post we have looked at how to simulate
the fmax of a transistor. This testbench and methodology is based on
s-parameter simulation. Any transistor parameter that you might wish to measure
using s-parameters can be simulated -- for example, noise figure or IIP3.
I hope you found this post useful. Please let me know if you
have any questions.