CPSC 171 Introduction to Computer Science Boolean Logic, Gates, & Circuits Announcements Read Chapter 4 Exam, Oct 2nd in class Boolean Logic A Boolean variable, A, is either true or false A Boolean expression, (A AND B), evaluates to either true or false Boolean operators include: AND (& • ) OR ( + ) NOT (a bar ' ¬ ~) Boolean Operators a AND b true only when A and B are both true a OR b true when A is true, B is true, or both are true NOT a true when A is false Truth Tables Truth tables can be used to capture when an expression is true, given its inputs a b a AND b 0 0 1 0 1 1 1 1 0 1 1 1 You make truth tables for AND and NOT Example Boolean Expressions (a AND b) OR (NOT a AND c) a·b + ~a·c ab+āc Truth tables can be made for complex expressions as well Boolean Logic (continued) Example: (a AND b) OR ((NOT b) and (NOT a)) a b Value 0 0 1 1 0 1 0 1 1 0 0 1 Gates Gates Hardware devices built from transistors to mimic Boolean logic An electronic device that operates on a collection of binary inputs to produce a single binary output AND gate (page 161 in text) Two input lines, one output line Outputs a 1 when both inputs are 1 Gates (continued) OR gate (page 163 in text) Two input lines, one output line Outputs a 1 when either input is 1 NOT gate (page 161 in text One input line, one output line Outputs a 1 when input is 0 and vice versa Figure 4.15 The Three Basic Gates and Their Symbols Circuits A collection of logic gates that transforms a set of binary inputs into a set of binary outputs Wire gates together keeping constraints for the number of inputs to any gate Example Circuit a 1 b 1 0 1 output 0 c 1 d 1 1 If a, b, c, and d are all true the output can be determined by tracing through the circuit Designing Circuits A circuit construction algorithm 1. Truth Table Construction Determine outputs for every possible input 2. Sub-expression Construction (using AND and NOT gates) For each output find the rows that are 1 and build a subexpression that is true for the exact input 3. Sub-expression combination (using OR gates) Take each subexpression and combine them, 2 at a time, using OR gates 4. Circuit Diagram Production Construct final circuit by converting Boolean operators into gates Example Circuit Design Design a 3-input circuit that is true if exactly two inputs are true, and false otherwise You Try it: Design a 2-input circuit that is true if the inputs are the same, and false otherwise Examples of Circuit Design and Construction Compare-for-equality circuit Addition circuit Both circuits can be built using the circuit design algorithm A Compare-for-Equality Circuit CE compares two unsigned binary integers for equality Built by combining together 1-bit comparison circuits (1-CE) Integers are equal if corresponding bits are equal (AND together 1-CD circuits for each pair of bits) A Compare-for-Equality Circuit (continued) 1-CE circuit truth table a b Output 0 0 1 0 1 0 1 0 0 1 1 1 A Compare-for-Equality Circuit (continued) 1-CE Boolean expression First case: (NOT a) AND (NOT b) Second case: a AND b Combined: ((NOT a) AND (NOT b)) OR (a AND b) Figure 4.22 One-Bit Compare-for-Equality Circuit N-Bit Compare for Equality Circuit AND together the 1-CE circuits, two at a time An Addition Circuit Adds two unsigned binary integers, setting output bits and an overflow Built from 1-bit adders (1-ADD) Starting with rightmost bits, each pair produces A value for that order A carry bit for next place to the left An Addition Circuit (continued) 1-ADD truth table Input One bit from each input integer One carry bit (always zero for rightmost bit) Output One bit for output place value One carry bit Figure 4.24 The 1-ADD Circuit and Truth Table An Addition Circuit (continued) Building the full adder Put rightmost bits into 1-ADD, with zero for the input carry Send 1-ADD’s output value to output, and put its carry value as input to 1-ADD for next bits to left Repeat process for all bits See pg 174, 175, 176