Boolean logic in CMOS
Representations of Boolean logic Truth table Boolean equation Circuit element (gate) University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 2
Truth table Brute force I/O specification Grows exponentially with number of inputs University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 3
Boolean algebra Identities x + 0 = x x + 1 = 1 x + x = x x + x’ = 1 University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 4
Boolean algebra Commutativity x + y = y + x x * y = y * x Associativity x + (y + z) = (x + y) + z x * (y * z) = (x * y) * z University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 5
Boolean algebra Distributive x * (y + z) = x*y + x*z = x + xy + xz + yz = x(1+y) + xz + yz = x + xz + yz = x(1+z) + yz = x + yz De Morgan (x + y)' = x' * y' (x * y)' = x' + y' University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 6
CMOS gates - NOT In Out 1 gnd 1 University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 7
CMOS gates - NAND A B Out 1 gnd Vdd a b 1 gnd a b Vdd University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 8
CMOS gates - NOR A B Out 1 Vdd a b 1 University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 9
CMOS gates - AND A B Out 1 NO! Logically correct, but Vdd A B Out Vdd A B Out A B Out 1 NO! Logically correct, but violates n to n and p to p rule, passes weak values University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 10
CMOS gates - OR A B Out 1 Vdd A Out B 1 University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell 11