mark@mips.COM (Mark G. Johnson) (02/08/89)
There is a really cute circuit, actually used in a commercial memory chip, that's amusing and instructive. It's a cool example of less-is-more: Given a rather idealized CMOS process (pretend there are no short channel effects, no body effect, no breakdown voltage, ruler-flat saturation curves, the VT's are a constant 1.00 volts independent of device size and bias point, P's are exactly half as conductive as N's, no leakages, etc.) Given two analog input voltages Va and Vb. These are dc voltage sources so transient response is not critical. Given that Va >= (2 * Vb) and given that Va and Vb are both bigger than VT {1.0 volt} and are both less than or equal to 5.0 volts. Design a circuit that provides an output voltage equal to (Va - Vb). Your circuit must operate from a single +5.0 volt power supply. {The seemingly weird guarantees on the input voltages actually simplify the problem; note that the output voltage is always positive, and the output voltage is bigger than VT, and in fact (Va - Vb) >= Vb (if that matters) } Your "score" on the problem is exp(5 - (# of transistors in your circuit)). Hint: the best score seen thus far is greater than 1. ============================================================================ Problem 2: Solve the same problem above, except the technology is idealized NMOS, with an enhancement VT of 1.00 volts and a depletion VT of -3.00 volts. -- -- Mark Johnson MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086 ...!decwrl!mips!mark (408) 991-0208
paulc@hpgrla.HP.COM (@Paul Charlton) (02/09/89)
this circuit answers both CMOS and nMOS specific implementations, as it uses only 2 nMOS transistors. Score = exp( 5 - (2) ) = 20.09 here goes: 5v power rail ----------------- | --- | Input Va ------------------| T1 | --- | |-------------- Output Vout | --- | Input Vb ------------------| T2 | --- | | GND Since Ids1 = Ids2 (no output current...), and both T1 and T2 are saturated, Vgs1 = Vgs2 = Vb, from which Vout = Va - Vgs1 = Va - Vb In implementations, you'd have to make sure that the power consumption was tolerable (ie: small W/L ratio...), since you have power = Isat * 5v. Paul Charlton { paulc@hpgrai.hp.com } | { hplabs!hpgrai!paulc }