Engineers are constantly being challenged to work at lower supply voltages that are now on par with the threshold voltage of the device itself. For design successes in microprocessors, transceivers and mobile devices, it becomes imperative to accurately model CMOS transconductance (Gm) and threshold voltage (Vth). In our December 2016 newsletter, we described different ways to define the Vth of a transistor. Today, we will explain how to extract Gm near Vth using Keysight’s Model Builder Program (MBP) in 3 simple steps.
- Access your previously calculated Vth, and define your target Vgs relative to Vth.
- Look up or interpolate the derivative of Id with respect to Vgs at your target Vgs
- Expand your analysis of Gm to observe how it scales with respect to device width and length.
Transistor transconductance, Gm, is defined as the derivative of output current with respect to input voltage:
Gm = d(Iout)/d(Vin) given a fixed Vds and Vbs (50 mV and 0 V, for example)
This has special significance in CMOS modeling, because almost all the amplifier gain is a function of transconductance of a MOSFET. Hence it is one of the most important measures of a device.
On a single device, we control Vgs, Vds and Vbs and measure current Ids or Id.
An IV graph (Ids vs. Vgs) of a transistor is shown below at Vds = 50 mV and at a range of Vbs.
Let’s go through each step described above.
Access your previously calculated Vth, and define your target Vgs relative to Vth
InterMediate Variables (IMV), as the name implies, are bridging variables between the raw data and the final device model parameters. We may look to see how Vth and Gm evolve over temperature or across device geometry, and then capture these behaviors in our model. As shown below, Vth and Gm are included in BSIM4 default IMV settings.
Since small signal characteristics like Gm depend on device operating point, it becomes helpful to choose an operating point. Circuit designers may look at Gm at a point just above the threshold voltage.
Vgs = Vth + deltaVg
Let’s define deltaVg as our parameter of interest, say 0.1V.
Because we are going to use a variable called "deltaVg", we need to define it in a table of intermediate variable constants called “imv_const.”
Next, we’ll create a new intermediate variable called “GmNearVth.”
Run the command New -> IMV.
Edit the IMV definition to reflect the following:
imv.imv.gm, input data, because we eventually want to get a Gm value.
acc/GetValueAtPoint means simply look up the Y value at a chosen X.
Vth, this is how we pass in another IMV Target.
gm,vgs,vth+deltaVg, the order must be Y, X, X_Value_Lookup, and expressions are supported here for best usability.
Look up or interpolate the derivative of Id with respect to Vgs at your target Vgs
After calculating the first derivative, we present Gm, as shown below.
This Gm data is interpolated at our chosen Vgs, slightly above Vth.
Expand analysis of Gm to observe scaling with respect to device width and length
Next, we can see how these IMV’s scale with respect to device geometry. In MBP, it’s easy to create plots such as GmNearVth_L and GmNearVth_W, etc.
After saving your work, you may return to the MBP main window to refresh the IMV graphs. We now have transconductance plots ready for model extraction and optimization!
Using a similar approach, we may define other figures of merit to complete the modeling near Vth, for example:
- Ids near Vth
- Gds near Vth
- Rout near Vth
Furthermore, Vth can even be any other IMV or lookup value.
We are excited by the power and flexibility of the Model Builder Program and hope you see the amazing potential that we see daily. To not only enable the next generation low-power circuit design, but also expand your group’s modeling capability, we look forward to helping you achieve your modeling goals.
For more information, please feel free to contact email@example.com
Interested in Model Builder Program (MBP) Software? http://www.keysight.com/find/mytrial.mbp.blg