As per a college assignment, I was supposed to implement, in CMOS logic, the function
Code:
(a NAND b) NAND (a OR b)
. According to what I learned, I should transform this, using De Morgan, into
Code:
(a NAND b) NAND (a' NAND b')
. However, in CMOS logic this becomes a 4 input NAND (4 input AND in the NMOS part), and the NAND of two NANDs is not equal to a 4 input NAND (and I tested it). So, how should I implement this in CMOS logic?
EDIT: Solved it. Actually, I was doing it wrong. Truth is, we weren't told how to do this in much detail. What I should have done is negate the function, then use De Morgan to remove the NANDs and NORs instead of inserting them. So the function to be implemented in CMOS is