EEC210 Cascode Current Mirror with Level Shift - Problem Set #4 Problem 2 * * Specify the width & length in one place, for easier changes. * .param width=18u length=0.5u *In the hand calculation, the required width was calculated to be 16.5 microns *However, trial and error in SPICE shows that the width has to be increased *to 18 microns to operate M1 barely in the active region. *This difference stems from the observation that all the transistors *do not operate at equal currents. To overcome this problem in practice, *the W/L of M4 would be reduced to increase the drain-source voltage on M1. *This change would also be used to make sure that M1 operates slightly *beyond the edge of the triode region even when body effect is taken *into account. * * Power Supply * vdd vdd 0 3 * * Input * ir vdd 4 51.9u *Note that ir > 50 uA because this current mirror has a nonzero *systematic offset. Ir = 51.9 uA is chosen by trial and error *to force the output current to be 50 uA, as given in the problem. * * Test Circuit * vo out 0 0.2 m1 1 3 0 0 cmosn l=length w=width m2 out 6 1 1 cmosn l=length w=width m3 3 3 0 0 cmosn l=length w=width m4a 4 4 a3 a3 cmosn l=length w=width m4b a3 4 b3 b3 cmosn l=length w=width m4c b3 4 c3 c3 cmosn l=length w=width m4d c3 4 3 3 cmosn l=length w=width *Note that 4 transistors are used in series to build m4 to desensitize *the circuit to variations in delta W and delta L. *In practice, 5 or more transistors would be used to push *M1 past the edge of saturation and to overcome body-effect mismatches. m5 vdd 4 6 6 cmosn l=length w=width m6 6 3 0 0 cmosn l=length w=width *Note that connecting the body to the source eliminates the body effect. *Remember that I asked you to ignore body effect for this problem. * * Models * .model cmosn nmos level=1 lambda=0.0625 vto=0.6 kp=194u ld=0.09u *Note that lambda = (dXd/dVds)/Leff = 0.02/0.32 * * Don't print the model parameters * .options nomod * * Analysis * .op .dc vo 0 3 0.1 .print dc i(m2) .tf v(out) vo .end