MORE EXAMPLE Remember the steps … • Build the truth table • Construct the minterm expression • Convert the minterm expression into circuits "English" 1 f(x,y) should output 1 when either x or y is 1, but not both, otherwise, output 0 input x 0 0 1 1 y 0 1 0 1 output XOR(x,y) 0 1 1 0 XOR 2 Formula xy + xy Minterm Expansion Principle – algorithm for building expressions from truth tables 3 NOT AND OR NOT x y AND Odd parity circuit 1 Here's the truth table defining a function input x 0 0 0 0 1 1 1 1 2 y 0 0 1 1 0 0 1 1 Build separate circuits for each output-1 row using ANDs and NOTs Combine them with an OR. 3 x y output z 0 1 0 1 0 1 0 1 Create NOT "rails" ... if you want to... Write down minterm expansion formula that represents this circuit? z Let's build an odd parity circuit Odd parity circuit 1 Here's the truth table defining a function input x 0 0 0 0 1 1 1 1 2 y 0 0 1 1 0 0 1 1 Build separate circuits for each output-1 row using ANDs and NOTs Combine them with an OR. 3 x y output z 0 1 0 1 0 1 0 1 odd(x,y,z) 0 1 1 0 1 0 0 1 Create NOT "rails" ... if you want to... Write down minterm expansion formula that represents this circuit? z Let's build an odd parity circuit Odd parity circuit 7 Addition as a circuit • You (hopefully!) will build a simple adder circuit in lab… input Output: Addition as a circuit • You (hopefully!) will build a simple adder circuit in lab… input x y cin 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 output: SUM cout sum 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 A full adder sums three bits. (A 2-bit adder is a half adder) Recognize either of these outputs? OddParity circuit! Which one? Share the inputs, but design separate circuits for each output bit... Building a Full Adder Implementing addition in silicon…? input x y cin 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 output: SUM cout sum 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 Create a circuit for each output bit ! all input bits sum output bit Odd Parity Circuit Building a Full Adder Implementing addition in silicon…? input x y cin 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Create a circuit for each output bit ! output: SUM cout sum 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 all input bits x y c sum output bit Odd Parity Circuit You'll build this in Lab! Majority-1 Circuit cout output bit Building a Full Adder Implementing addition in silicon…? input x y cin 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Full Adder output: SUM cout sum 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 Create a circuit for each output bit ! all input bits x y c sum output bit Odd Parity Circuit You'll build this in Lab! Majority-1 Circuit cout output bit Composing circuits 4-bit Ripple-carry Adder two 4-bit inputs + 0 1 1 1 1 0 1 1 Could we use pieces we already have? x y cin FA cout How many output bits? sum Getting rid of ANDs ? input x 0 0 1 1 y 0 1 0 1 input x 0 0 1 1 y 0 1 0 1 Can you get rid of the ANDs by using only NOTs and ORs? output AND(x,y) 0 0 0 1 output OR(x,y) 0 1 1 1 output output NOT(OR(x,y)) NOT(OR(NOT(x),NOT(y))) 1 0 0 0 0 0 0 1 14 AND… without ANDs 15 NOR NOT AND NOT x y NOR gates • NOR gates – a.k.a. we don't need no AND, OR, NOT! • FACT: ALL gates can be built out of NOR gates… 17 NOR equivalencies NOT OR What about AND? 18 AND… with NORs 19
© Copyright 2026 Paperzz