Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Transconductance gm measurement of CMOS inverter

Status
Not open for further replies.

promach

Advanced Member level 4
Joined
Feb 22, 2016
Messages
1,199
Helped
2
Reputation
4
Reaction score
5
Trophy points
1,318
Activity points
11,636
For transconductance measurement of a CMOS inverter, I am getting real and imaginary results for Gm (third and fourth column of Transconductance_of_CMOS_inverter.log). Why ?

transconductance_CMOS_inverter_X1.png

CMOS_inverter.net

Code:
* gnetlist -L ../.. -g spice-noqsi -o CMOS_Inverter.net CMOS_Inverter.sch
* SPICE file generated by spice-noqsi version 20170819
* Send requests or bug reports to [email]jpd@noqsi.com[/email]
.subckt INV1 2 1
*
M4 1 2 Vdd Vdd P1  l=0.4u w=3u         m=25
M1 1 2 Vss Vss N1  l=1.2u w=3u         m=25
*
.ENDS


test_CMOS_inverter.net

Code:
* gnetlist -L ../.. -g spice-noqsi -o test_CMOS_Inverter.net test_CMOS_Inverter.sch
* SPICE file generated by spice-noqsi version 20170819
* Send requests or bug reports to [email]jpd@noqsi.com[/email]
X1 Vin 2 INV1
Vs Vss GND 0V
Vin Vin GND AC 1
Vd Vdd GND 'SUPPLY'
V_IP_out 2 1 DC 0V  
Cout GND 1 1n      
.PARAM SUPPLY=3.3v
.options TEMP=25
.MODEL n1 NMOS
.MODEL p1 PMOS
.GLOBAL Vdd Vss
.INCLUDE CMOS_Inverter.net
.control
ac lin 100 1 10G
let Gm=(i(v_ip_out))/Vin
plot Gm
print Gm > Transconductance_of_CMOS_inverter.log
.endc


Transconductance_of_CMOS_inverter.log

Code:
* gnetlist -l ../.. -g spice-noqsi -o test_cmos_inverter.net test_cmos_inverter.sch
AC Analysis  Sun Mar  4 10:09:16  2018
--------------------------------------------------------------------------------
Index   frequency       gm                              
--------------------------------------------------------------------------------
0	1.000000e+00	3.578308e-24,	7.113253e-18	
1	1.010101e+08	1.413483e-11,	2.781739e-13	
2	2.020202e+08	1.413894e-11,	1.391274e-13	
3	3.030303e+08	1.413970e-11,	9.275656e-14	
4	4.040404e+08	1.413996e-11,	6.956873e-14	
5	5.050505e+08	1.414009e-11,	5.565547e-14	
6	6.060606e+08	1.414015e-11,	4.637978e-14	
7	7.070707e+08	1.414020e-11,	3.975421e-14	
8	8.080808e+08	1.414022e-11,	3.478500e-14	
9	9.090909e+08	1.414024e-11,	3.092004e-14	
10	1.010101e+09	1.414025e-11,	2.782806e-14	
11	1.111111e+09	1.414026e-11,	2.529825e-14	
12	1.212121e+09	1.414027e-11,	2.319008e-14	
13	1.313131e+09	1.414027e-11,	2.140623e-14	
14	1.414141e+09	1.414028e-11,	1.987722e-14	
15	1.515152e+09	1.414028e-11,	1.855208e-14	
16	1.616162e+09	1.414029e-11,	1.739258e-14	
17	1.717172e+09	1.414029e-11,	1.636949e-14	
18	1.818182e+09	1.414029e-11,	1.546007e-14	
19	1.919192e+09	1.414029e-11,	1.464639e-14	
20	2.020202e+09	1.414029e-11,	1.391407e-14	
21	2.121212e+09	1.414029e-11,	1.325150e-14	
22	2.222222e+09	1.414030e-11,	1.264916e-14	
23	2.323232e+09	1.414030e-11,	1.209919e-14	
24	2.424242e+09	1.414030e-11,	1.159506e-14	
25	2.525253e+09	1.414030e-11,	1.113126e-14	
26	2.626263e+09	1.414030e-11,	1.070313e-14	
27	2.727273e+09	1.414030e-11,	1.030672e-14	
28	2.828283e+09	1.414030e-11,	9.938626e-15	
29	2.929293e+09	1.414030e-11,	9.595915e-15	
30	3.030303e+09	1.414030e-11,	9.276051e-15	
31	3.131313e+09	1.414030e-11,	8.976824e-15	
32	3.232323e+09	1.414030e-11,	8.696298e-15	
33	3.333333e+09	1.414030e-11,	8.432774e-15	
34	3.434343e+09	1.414030e-11,	8.184752e-15	
35	3.535354e+09	1.414030e-11,	7.950902e-15	
36	3.636364e+09	1.414030e-11,	7.730044e-15	
37	3.737374e+09	1.414030e-11,	7.521124e-15	
38	3.838384e+09	1.414030e-11,	7.323199e-15	
39	3.939394e+09	1.414030e-11,	7.135425e-15	
40	4.040404e+09	1.414030e-11,	6.957040e-15	
41	4.141414e+09	1.414030e-11,	6.787356e-15	
42	4.242424e+09	1.414030e-11,	6.625752e-15	
43	4.343434e+09	1.414030e-11,	6.471665e-15	
44	4.444444e+09	1.414030e-11,	6.324582e-15	
45	4.545455e+09	1.414030e-11,	6.184036e-15	
46	4.646465e+09	1.414030e-11,	6.049600e-15	
47	4.747475e+09	1.414030e-11,	5.920885e-15	
48	4.848485e+09	1.414030e-11,	5.797534e-15	
49	4.949495e+09	1.414030e-11,	5.679217e-15	
50	5.050505e+09	1.414030e-11,	5.565632e-15	
51	5.151515e+09	1.414030e-11,	5.456502e-15	
52	5.252525e+09	1.414030e-11,	5.351570e-15	
53	5.353535e+09	1.414030e-11,	5.250597e-15	
54	5.454545e+09	1.414030e-11,	5.153363e-15	

Index   frequency       gm                              
--------------------------------------------------------------------------------
55	5.555556e+09	1.414031e-11,	5.059666e-15	
56	5.656566e+09	1.414031e-11,	4.969315e-15	
57	5.757576e+09	1.414031e-11,	4.882134e-15	
58	5.858586e+09	1.414031e-11,	4.797959e-15	
59	5.959596e+09	1.414031e-11,	4.716638e-15	
60	6.060606e+09	1.414031e-11,	4.638027e-15	
61	6.161616e+09	1.414031e-11,	4.561994e-15	
62	6.262626e+09	1.414031e-11,	4.488413e-15	
63	6.363636e+09	1.414031e-11,	4.417169e-15	
64	6.464646e+09	1.414031e-11,	4.348150e-15	
65	6.565657e+09	1.414031e-11,	4.281256e-15	
66	6.666667e+09	1.414031e-11,	4.216388e-15	
67	6.767677e+09	1.414031e-11,	4.153457e-15	
68	6.868687e+09	1.414031e-11,	4.092377e-15	
69	6.969697e+09	1.414031e-11,	4.033067e-15	
70	7.070707e+09	1.414031e-11,	3.975452e-15	
71	7.171717e+09	1.414031e-11,	3.919460e-15	
72	7.272727e+09	1.414031e-11,	3.865023e-15	
73	7.373737e+09	1.414031e-11,	3.812077e-15	
74	7.474747e+09	1.414031e-11,	3.760563e-15	
75	7.575758e+09	1.414031e-11,	3.710422e-15	
76	7.676768e+09	1.414031e-11,	3.661600e-15	
77	7.777778e+09	1.414031e-11,	3.614047e-15	
78	7.878788e+09	1.414031e-11,	3.567713e-15	
79	7.979798e+09	1.414031e-11,	3.522552e-15	
80	8.080808e+09	1.414031e-11,	3.478520e-15	
81	8.181818e+09	1.414031e-11,	3.435576e-15	
82	8.282828e+09	1.414031e-11,	3.393679e-15	
83	8.383838e+09	1.414031e-11,	3.352791e-15	
84	8.484848e+09	1.414031e-11,	3.312877e-15	
85	8.585859e+09	1.414031e-11,	3.273902e-15	
86	8.686869e+09	1.414031e-11,	3.235833e-15	
87	8.787879e+09	1.414031e-11,	3.198640e-15	
88	8.888889e+09	1.414031e-11,	3.162291e-15	
89	8.989899e+09	1.414031e-11,	3.126760e-15	
90	9.090909e+09	1.414031e-11,	3.092018e-15	
91	9.191919e+09	1.414031e-11,	3.058040e-15	
92	9.292929e+09	1.414031e-11,	3.024800e-15	
93	9.393939e+09	1.414031e-11,	2.992276e-15	
94	9.494949e+09	1.414031e-11,	2.960443e-15	
95	9.595960e+09	1.414031e-11,	2.929280e-15	
96	9.696970e+09	1.414031e-11,	2.898767e-15	
97	9.797980e+09	1.414031e-11,	2.868883e-15	
98	9.898990e+09	1.414031e-11,	2.839609e-15	
99	1.000000e+10	1.414031e-11,	2.810926e-15
 

You are using ideal MOSFET models without capacitances or other frequency dependent parameters. Cout is the only reactive component in your circuit. You can verify that increasing the output capacitance to an effective infinite value (e.g. 1K) almost removes the imaginary gm component.

Consider that simulator numerical inaccuracy might still give a small imaginary output.

Your circuit doesn't actually measure gm because it doesn't bias the inverter correctly. Try with Vin DC offset of Vdd/2. The SPICE simulator should also give a warning that the transistor l and w values are outside the useful range for the default level 1 model.

- - - Updated - - -

Ltspice result

ltspice.PNG
 

Try with Vin DC offset of Vdd/2

Why Vdd/2 ?

increasing the output capacitance to an effective infinite value (e.g. 1K) almost removes the imaginary gm component.

Could anyone show some proof of theory ?
 

Why Vdd/2 ?
Consider it as first guess. Counter question, do you think an inverter can work as AC amplifier without suitable biasing?

Could anyone show some proof of theory ?
Just applying very basic AC network "theory". Have a series circuit of real inverter output impedance and Cout, does it involve a phase shift?
 

A properly designed inverter's trip point is the VDD/2. If you put a high resistance between the IN and OUT it can bias itself to the optimal bias point, where the Vgs of the devices should be around VDD/2. At this optimal operating point the transconductance is maximal, because the current is maximal. If you don't use biasing the inverter's current can be lower and the transconductance will be lower too.
In your testbench this happens, only some leakage current is produced and due to this the transconductance is very low, the real and imaginary part also.
If you use the proper biasing the 1nF could be enough.
Use FvM's testbench, or if you would like to use self-biasing for the inverter don't forget the coupling capacitors.
Inverter self-biasing by google: **broken link removed**
 
  • Like
Reactions: promach and FvM

    FvM

    Points: 2
    Helpful Answer Positive Rating

    promach

    Points: 2
    Helpful Answer Positive Rating
There's no imaginary transconductance part as long as you are using idealized MOS transistors as in your simulation. The imaginary transconductance is faked by the finite inverter output impedance in combination with the capacitive load.

Of course you may want to consider the inverter output impedance in your simulated inductor model. Unfortunately it's complicating the transfer function considerably.
 
you may want to consider the inverter output impedance

Does the above quote mean USING the imaginary component of transconductance as well ?

Would using NMOS and PMOS of infinite output impedance eliminate the imaginary component ? and why ?
 

Would using NMOS and PMOS of infinite output impedance eliminate the imaginary component?
Surely.
and why ?
Hope you can figure it out by applying quite a bit of network theory. But the question is somehow unworldly. Real MOSFET have finite output impedance, and also other parasitic parameters that appear in the circuit transfer function.

Another question is if you really need to worry about 1/1000 apparent imaginary gm part, or in other words 0.06 degree phase error.
 

Small signal equivalent circuit + Current division of parallel components.
Imagine your inverter's small signal equivalent in the operating point as a voltage-controlled current source, which has got a transconductance (Gm).
The load of this Gm-cell is a finite output resistance (Ro) and a large load capacitance (CL).
The output current of the Gm-cell (Iout=Gm*Vin) is divided between Ro and CL.
To calculate Gm you are measuring the current of the capacitor, which is: I_CL=Iout*(Ro/(Ro+1/(j*w*CL)))=Iout*j*w*CL*Ro/(1+j*w*CL*Ro).
You can see that I_CL represents a complex number, so if you calculate the Gm from this it will have a real and imaginary part. And you can also see that if Ro is infinite, the I_CL=Iout, which hasn't got imaginary part.
If you use infinite CL you will also get I_CL=Iout, so you can calculate the exact Gm of your inverter.
 
The load of this Gm-cell is a finite output resistance (Ro) and a large load capacitance (CL).
The output current of the Gm-cell (Iout=Gm*Vin) is divided between Ro and CL.

I suppose output resistance (Ro) is connected in series with the load capacitance (CL) as described in https://en.wikipedia.org/wiki/Output_impedance ?

- - - Updated - - -

Besides, could I see intuitively how the Zin equation comes about without deriving it step-by step ?

Zin_exact_equation.png
 

Actually Ro is connected in series with CL in the Thevenin equivalent with a voltage source, like on wikipedia, but in my last description I meant Ro is paralel with CL, and the output current source's current is divided (Norton equivalent).
 

This Cmos linear amplifier was published a long time ago. I never tried it because it produces pretty bad distortion.
 

Attachments

  • Cmos amp.PNG
    Cmos amp.PNG
    29.7 KB · Views: 273
The first gm stage plus CL forms an integrator. What is it integrating? The voltage at node X. The second gm stage completes a feedback loop which tries to keep the voltage at node X held constant at the point where you get no output current from the first gm stage. If you inject a current into node X, the feedback loop will respond to adjust the voltage on CL until the 2nd gm stage absorbs all of that current. This gives you a low impedance at low frequencies. How low? Just 1/(gm1*rout1*gm2). I.e. 1/total_gm. What happens at high frequencies? CL becomes low impedance effectively removing the effect of the feedback loop. Now the impedance you see is high. How high? Ignoring capacitances associated with the gm stages, Rout2. So you have a low impedance at low frequencies that becomes high impedance at high frequencies. That is an inductor. For the two break frequencies think about it this way. At very low frequencies, Rout1 has a lower impedance than CL and it isn't until Rout1 = |1/(j*w*CL)| that you start to see appreciable effects from CL. That is just w = 1/(Rout1*CL). At the high frequency end, you can solve for when the inductive part equals Rout2, or you can disconnect node X from all but the gm stages and realize that CL sees a resistance of 1/(gm2*Rout2*gm1) and so the pole frequency is 1/(gm2*Rout2*gm1). Note that this analysis and the plot you show both ignore the effects of capacitances associated with the transistors in the gm stages. Those will be important at some point.

Could anyone advise how to derive the expression total_gm = gm1*rout1*gm2 ?

Zin_exact_equation.png

active_inductor_gyrator_zin_impedance_derivation.jpg
 

The small-signal behavior of a gyrator-C active inductor is fully characterized by its RLC equivalent circuit. The RLC equivalent circuit of gyrator-C active inductors, however, can not be used to quantify the large-signal behavior, such as the dependence of the inductance on the dc biasing condition of the transconductors and the maximum signal swing of the gyrator-C active inductors.

Quoted from http://tnt.etf.bg.ac.rs/~ms1aik/AIC-15-Active-Inductors.pdf#page=5 , what do you guys think about large-signal behaviour of gyrator-C active inductor ?
 

Attachments

  • CMOS ACTIVE INDUCTORS springer.pdf
    961.5 KB · Views: 136

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top