I'm working on designing a cascode current mirror, depicted below:
Constraints: all Von needs to be above 200 mV, all Vds neds to be at least double Von, L is 0.35 um.
Derived from the SPICE file, k' = 181.47 uA/V^2, and the given bias current is 25 uA. Rearranging the equation for Von to solve for W gives:
$$ W=(2I_{D}L)/(k'(V_{ON})^2) $$
I input my given values and find a value for W of 2.41 um. To make them have a slightly happier ratio, I bump that down to 2.3625 um, which makes W/L 6.75.
I then make all of my Ws that value, run a bias simulation, and investigate; this is what I find. All voltages are in mV (I apologize, there seems to be no way to make a table):
MOS - Vgs - Vth - Von - Vds - Region
M1 --- 776 - 585 - 191 - 3000 - Saturation
M2 --- 776 - 558 - 218 - 776 - Saturation
M3 --- 905 - 585 - 320 - 152 - Triode
M4 --- 905 - 585 - 320 - 2850 - Saturation
M5 --- 776 - 582 - 194 - 102 - Triode
M6 --- 803 - 587 - 216 - 803 - Saturation
M7 --- 905 - 582 - 323 - 102 - Triode
M8 --- 803 - 587 - 216 - 803 - Saturation
Ignoring for a moment M1 and M4, why are M3, M5, and M7 in triode? I've tried changing the W up and down, and I can't get any of those Vds values to go above 200, let alone 400 mV. How do I set my Vds higher? What's wrong with the Von of M3, M4, and M7?