RF CMOS Modeling Using UTMOST III AC (S-Parameter) Module

This article presents a high frequency SPICE model parameter extraction method for CMOS devices. Current compact MOS models are developed for low frequency applications and provide good fits for DC, conductances and intrinsic capacitances. However for the gigahertz frequency range external components have to be modeled and added to the compact model as macro model elements. The macro model presented in this article provides good results up to 10 GHz. UTMOST III MOS technology s-parameters (AC) module was used for data collection and modeling. The BSIM3v3.1 MOS SPICE model was used as the core model of the macro. The details of the RF macro and modeling method is described in two IEEE papers given as a reference at the end of this article. Our purpose here is to provide a practical application note for RF CMOS modeling.

The success of a RF macro model depends very much on the DC core model extracted for the MOS device. In particular the GM and GDS parameters should be modeled very well. The "s-meas" routine in the AC routines section of the UTMOST III MOS technology should be used for RF data collection. Proper probe and Network Analyzer calibration and "dummy" device measurements should take place before the actual device AC measurements. The DC bias conditions should be specified in the "Set Measurements" screen of the "s-meas" routine. (Figure 1.).

Figure 1. The Set Measurement Screen of the "s-meas" routine.


The s-parameters of the MOS device should be measured for the specified frequency range (Figure 3). The measured data should be stored in the UTMOST III log file. The log file should be loaded and the results should be viewed using the "y-plots" routine. In order to see all four y-parameters the "Multiple Select" button inside the "Routine Control Screen" should be pressed and "ALL" button should be toggled until it changes color to red. (Figure 2.)

Figure 2. Multiple Selection Screen of the "y-plots" routine.

Figure 3. Gain of the MOS transistor measured with s-meas routine.


Once the RF data collection is complete the macro model should be loaded for optimization. The three files (netlist, control and model) of the macro model used in this example are given in Figures 4, 5 and 6 respectively.

VGS 5 0 3.00

VDS 6 0 3.00

VBS 9 0 0.00

VSS 7 0 0.00

M1 1 2 3 4 MMOD W=1.0000E-04 L=3.500E-07
RG 5 2 75.74
RD 6 1 16.1
RS 7 3 1.1E-3
CGS 2 3 0
CGD 2 1 0
RDSB 8 4 132
RDB 8 9 132
RSB 4 9 132

Figure 4. The netlist file of the RF macro model.


.TEMP 27.00
.net VGS VDS lin 25 500000000.0 5000000000.0
.print net S11
.print net S12
.print net S21
.print net S22
.OPTIONS GMIN=1.00E-18 RELTOL=1.00E-10 VNTOL=1.00E-06 ABSTOL=1.00E-12

Figure 5. The control card file of the RF macro model.



+ LEVEL = 8.000000e+00 VERSION = 3.100000e+00 TNOM = 2.700000e+01
+ TOX = 7.000000e-09 XJ = 1.500000e-07 NCH = 1.700000e+17
+ VTH0 = 4.628370e-01 K1 = 4.478257e-01 K2 = -2.256200e-02
+ K3 = 2.219889e+01 K3B = -3.439966e+00 W0 = 1.366820e-06
+ NLX = 2.567817e-07 DVT0W = 0.000000e+00 DVT1W = 0.000000e+00
+ DVT2W = -3.200000e-02 DVT0 = 1.573282e+00 DVT1 = 4.624292e-01
+ DVT2 = -2.000000e-01 U0 = 5.339190e-02 UA = 1.303231e-09
+ UB = 3.000000e-19 UC = 2.931232e-11 VSAT = 9.923400e+04
+ A0 = 1.226818e+00 AGS = 3.235326e-01 B0 = 2.074168e-07
+ B1 = 1.000000e-07 KETA = -3.377960e-02 A1 = 0.000000e+00
+ A2 = 1.000000e+00 RDSW = 1.125955e+03 PRWG = 0.000000e+00
+ PRWB = 0.000000e+00 WR = 1.000000e+00 WINT = 1.504420e-07
+ LINT = 1.793858e-08 XL = 0.000000e+00 XW = 0.000000e+00
+ DWG = -6.235501e-09 DWB = 4.459600e-09 VOFF = -1.500000e-01
+ NFACTOR = 1.058016e+00 CIT = 0.000000e+00 CDSC = 1.760576e-04
+ CDSCD = 0.000000e+00 CDSCB = 0.000000e+00 ETA0 = 1.647241e-01
+ ETAB = 0.000000e+00 DSUB = 5.696590e-01 PCLM = 1.273635e+00
+ PDIBLC1 = 6.371016e-03 PDIBLC2 = 1.000000e-05 PDIBLCB = 0.000000e+00
+ DROUT = 5.913154e-03 PSCBE1 = 4.843489e+08 PSCBE2 = 1.596200e-05
+ PVAG = 1.905288e-01 DELTA = 9.395578e-03 HDIF = 3.000000e-07
+ MOBMOD = 1.000000e+00 PRT = 0.000000e+00 UTE = -1.500000e+00
+ KT1 = -3.143000e-01 KT1L = 0.000000e+00 KT2 = 0.000000e+00
+ UA1 = 4.010000e-09 UB1 = -5.610000e-18 UC1 = -5.600000e-11
+ AT = 3.300000e+04 NQSMOD = 0.000000e+00 WL = 0.000000e+00
+ WLN = 1.000000e+00 WW = 0.000000e+00 WWN = 1.000000e+00
+ WWL = 0.000000e+00 LL = 0.000000e+00 LLN = 1.000000e+00
+ LW = 0.000000e+00 LWN = 1.000000e+00 LWL = 0.000000e+00
+ CAPMOD = 2.000000e+00 CGDO = 1.935193e-10 CGSO = 6.569662e-10
+ FC = 5.000000e-01 CJ = 0.000000e+00 CJSW = 0.000000e+00
+ DLC = 1.600000e-07 DWC = 0.000000e+00 PRDSW = -3.900000e+01
+ PVTH0 = -1.200000e-02 PVSAT = 5.000000e+03 LKETA = 1.400000e-02
+ )
+ LEVEL = 3.000000e+00 W = 1.000000e-04 L = 6.000000e-07
+ JS = 5.530000e-07 RS = 3.510000e-07 CJ = 5.292377e-04
+ PB = 7.212762e-01 M = 3.392038e-01 CJP = 1.787730e-10
+ VJP = 1.000000e+00 MJP = 2.203447e-01 )
+ LEVEL = 3.000000e+00 W = 1.000000e-04 L = 6.000000e-07
+ JS = 5.530000e-07 RS = 3.510000e-07 CJ = 5.292377e-04
+ PB = 7.212762e-01 M = 3.392038e-01 CJP = 1.787730e-10
+ VJP = 1.000000e+00 MJP = 2.203447e-01 )

Figure 6. The SPICE model file of the RF macro model.


If you are not familiar with UTMOST III's macro modeling facility please refer to the UTMOST III Extraction Manual Volume 2, Appendix B: Macro Modeling with UTMOST.

As can be seen from the netlist file in Figure 4 there are additional junction diode (drain and source to substrate) models. Also the external Gate , Drain and Source resistances were used. Even though the gate to drain and gate to source capacitances were added as additional elements, their values were set to zero and internal overlap capacitances were used instead. The substrate resistance network was kept simple and consists of only three resistors.

Some of the external macro model elements can be extracted directly from the measured y-parameters. For example:

Cgg = Abs [ Imag(Y11) / w ]
Cgd = Abs [ Imag(Y12) / w ]
Cgs = Cgd
Cgb = Cgg - Cgd - Cgs
Rg = Abs [ Real(Y12) / Imag(Y12)x(Imag(Y11)]
Rd = Abs [ ((Real(Y21)-Real(Y12)) / Imag(Y12)^2]
Rs = Abs [ (Real(Y11) / (Imag (Y11)^2) - Rg -
(Cgd^2)/(Cgg^2) x Rd] x (Cgg^2) / (Cgs^2)

The measured or y parameters can be viewed in a table format. Press the "s-parameters" button in the system screen to view the s-parameters table.

The above equations are based on the assumption that the MOS transistor is operating in a linear region. As it is difficult to extract the substrate network resistance values, it is recommended to optimize those parameters directly on the measured data. For the details of the extractions and derivations of the equations please refer to the IEEE papers listed at the end of this article.

In this example the measured and simulated data provided a good match up to 5 GHz. (Figure 7.) The external elements of the macro were optimized on y-parameter plots using the global optimization technique. The region of interest can be defined by drawing an optimization box around the selected y-parameters. Certain external macro elements will be more dominant for modeling certain y-parameters. Therefore selecting the external elements for optimization and y-parameters where those elements will be optimized should be handled carefully.

Figure 7. Measured vs. Simulated y-plots data.



  1. Accurate Modeling and Parameter Extraction for MOS Transistors Valid up to 10 GHz. IEEE Transactions on Electron Devices, Vol. 46, No 11, November 1999.

  2. MOS Transistor Modeling for RF IC Design. IEEE Transactions on Solid-State Circuits, Vol. 35, No. 2, February 2000.