CD4007 CMOS – Subthreshold MOS Amplifier Design

amplifiercmosltspicesimulation

I'm considering buying a pair of CD4007 ICs so that I might build a subthreshold NMOS amplifier.

I've seen it discussed here.

I'd like to build this circuit depicting a simple subthreshold amplifier.

Simulating the circuit with random NMOS models with VTO (threshold voltage) around 1V seems to yield a modest yet visible amplification, whilst maintaining a gate-source voltage lower than VTO.

Doing the simulations in LTspice with the models of the CD4007's transistors (models found here) showed amplification of the input, but a much higher gate-source voltage than expected, equal to or higher than the VTO.

Can such a circuit be built?

Best Answer

Here are the MOSFET models from the link you posted:

.model MbreakND NMOS
+ Level=1 Gamma=0 Xj=0
+ Tox=1200n Phi=.6 Rs=0 Kp=111u Vto=2.0 Lambda=0.01
+ Rd=0 Cbd=2.0p Cbs=2.0p Pb=.8 Cgso=0.1p
+ Cgdo=0.1p Is=16.64p N=1
*The default W and L is 30 and 10 um respectively and AD and AS should not be included.

.model MbreakPD PMOS
+ Level=1 Gamma=0 Xj=0
+ Tox=1200n Phi=.6 Rs=0 Kp=55u Vto=-1.5 Lambda=0.04
+ Rd=0 Cbd=4.0p Cbs=4.0p Pb=.8 Cgso=0.2p
+ Cgdo=0.2p Is=16.64p N=1
*The default W and L is 60 and 10 um respectively and AD and AS should not be included.

The Level=1 MOSFET model structure does not model subthreshold conduction in the weak inversion state of the MOS junction. The parameter which defines the subthreshold conduction in Level=2 and Level=3 models is the "number of fast superficial states", denoted NFS. You can upgrade your Level=1 models to Level=2 by first changing the Level number (obviously) and then defining a value for NFS. You can set up a test circuit and play around with the NFS value until it satisfies your needs.


You can also attempt to convert the Level=1 model into a VDMOS model, since it's a minor extension to Level=1 and also includes its own way of handling subthreshold conduction. This method is possible because Gamma=0 which means the body effect is non-existent and you can therefore permanently tie Body and Source together (which is required for VDMOS).

The best way to start is to naively swap the model types out. You can do that by changing NMOS to VDMOS (let's only focus on N-channel for now) and removing the Level parameter, like so:

.model MbreakND VDMOS
+ Gamma=0 Xj=0
+ Tox=1200n Phi=.6 Rs=0 Kp=111u Vto=2.0 Lambda=0.01
+ Rd=0 Cbd=2.0p Cbs=2.0p Pb=.8 Cgso=0.1p
+ Cgdo=0.1p Is=16.64p N=1

If you run a simple simulation using this model, it will show some warnings in the SPICE Error Log (CTRL+L):

* Unrecognized parameter "gamma" -- ignored
* Unrecognized parameter "xj" -- ignored
* Unrecognized parameter "tox" -- ignored
* Unrecognized parameter "cbd" -- ignored
* Unrecognized parameter "cbs" -- ignored
* Unrecognized parameter "pb" -- ignored
* Unrecognized parameter "cgdo" -- ignored

Let's start with the easy ones. Gamma we already talked about and should be removed. Xj is a Level 2/3 model parameter only and shouldn't have been there in the first place...bye! Pb is simply called Vj in the VDMOS model so you just need to change the name.

Tox is a little more complicated to explain off. The transconductance parameter Kp is related to the Tox by the following equation:

$$ \text{KP} = \mu_0 \cdot \frac{\varepsilon_{ox}}{t_{ox}} $$

\$\varepsilon_{ox}\$ is a fixed number for silicon dioxide, but \$\mu_0\$ and \$t_{ox}\$ are the SPICE MOSFET parameters Uo and Tox, respectfully. The trick here is that you can define Kp directly, or indirectly via Uo and Tox. However, the trick here is that when Kp is defined it overrides the other parameters. This is a long way of saying that Tox is not used and should not be there in the first place.

The three capacitance parameters are the most tricky since this is where the VDMOS structure has the greatest impact. Cbd is the easiest as it maps directly to Cjo. Cbs is non-existent in VDMOS (remember: body & source nodes shorted) so it can be removed. Cgso needs to be mapped to Cgs somehow. Cgso is a per/meter-channel-width parameter and Cgs is not. This is where I want to pause and say we've already encountered many problems/errors with this original .model definition, and now we expect a per/meter-channel-width capacitance of 0.1p to be believable? I'll keep going for kicks, but if you're reading this you should skip to the next section. I'm simply going to multiply Cgso by the defw which defaults to 100u. The final VDMOS capacitance parameters are Cgdmin and Cgdmax, but since Cgdo is so small we'll simply do the same thing we did with Cgso and apply the result to both CgdXXX parameters.

Now that the model is converted, you can add the Ksubthres parameter which defines the subthreshold conduction. I would start at Ksubthres=0.1 and then adjust to fit your needs. Here is what the resultant .model looks like at the end which results in no errors/warnings:

.model MbreakND VDMOS
+ Phi=.6 Rs=0 Kp=111u Vto=2.0 Lambda=0.01
+ Rd=0 Cjo=2.0p Vj=.8 Cgso=0.01f
+ Cgdmin=0.01f Cgdmax=0.01f Is=16.64p N=1
+ Ksubthres=0.1

Note that for P-channel, you still write VDMOS but then define a parameter flag called pchan in one of the parameters. See the built-in LTspice help page for "M. MOSFET" for more info on this.


As pointed out throughout the answer, the original .model statements you acquired are quite suspect. After perusing around the internet, I found a few alternative CD4007 SPICE models which you should consider.

If you want to start with a better Level=1 to work through any conversion explained above, I believe this one to look slightly more believable:
https://cmosedu.com/jbaker/courses/ee420L/s15/students/lej6/Project/CD4007.txt

Subthreshold conduction didn't really get modeled well until the BSIMx series of SPICE model structures were developed and expanded on. Dr. Lynn Fuller from the Rochester Institute of Technology seems to have put a lot of work into generating higher-level models for the CD4007 and other monolithic MOSFET ICs from Advanced Linear Devices. There is a paper here and presentation here which includes Level=7 models that LTspice supports. A text file with the models can be found here:
https://people.rit.edu/lffeee/RIT_Models_For_LTSPICE.txt

Dr. Fuller also created a Level=8 model for the CD4007, but I can only find the NMOS version within this slide deck:
http://diyhpl.us/~nmz787/mems/unorganized/SPICE_MOSFET_Model_Intro.pdf