Get email delivery of the Cadence blog featured here
There were several questions about measuring transistor fmax in comments posted to my previous Measuring Transistor ft and Simulating 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).
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 port2.
Figure 2: Setting Up s-parameter analysis
2) In 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.
3) ADE 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 Gumx
Figure 3: S-parameter Direct Plot
b. From ADE select Tools --> Calculator..., then select gumx from RF functions
4) In 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 measurement
5) If 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.
6) On 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).
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.