Combinational Circuits
Total Page:16
File Type:pdf, Size:1020Kb
Combinational Circuits Jason Filippou CMSC250 @ UMCP 06-02-2016 Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 1 / 1 Outline Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 2 / 1 Hardware design levels Hardware design levels Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 3 / 1 Hardware design levels Levels of abstraction for ICs Small Scale Integration: ≈ 10 boolean gates Medium Scale Integration: > 10; ≤ 100 Large Scale Integration: Anywhere between 100 and 30; 000. Very Large Scale Integration: Up to 150; 000. Very Very Large Scale Integration: > 150; 000. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 4 / 1 Hardware design levels Example schematic Figure 1: VLSI schematic for a professional USB interface for Macintosh PCs. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 5 / 1 Hardware design levels SSI Consists of circuits that contain about 10 gates. 16-bit adders. Encoders / Decoders. MUX/DEMUX. ::: All our examples will be at an SSI level. Logic Design is the branch of Computer Science that essentially analyzes the kinds of circuits and optimizations done at an SSI/MSI level. We do not have such a course in the curriculum, but you can expect to be exposed to it if you ever take 411. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 6 / 1 Combinational Circuit Design Combinational Circuit Design Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 7 / 1 A sequential circuit is one where this constraint can be violated. Example: Flip-flops (yes, seriously). In this course, we will only touch upon combinational circuits. Combinational Circuit Design Combinational vs Sequential circuits A combinational circuit is one where the output of a gate is never used as an input into it. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1 Example: Flip-flops (yes, seriously). In this course, we will only touch upon combinational circuits. Combinational Circuit Design Combinational vs Sequential circuits A combinational circuit is one where the output of a gate is never used as an input into it. A sequential circuit is one where this constraint can be violated. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1 Combinational Circuit Design Combinational vs Sequential circuits A combinational circuit is one where the output of a gate is never used as an input into it. A sequential circuit is one where this constraint can be violated. Example: Flip-flops (yes, seriously). In this course, we will only touch upon combinational circuits. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1 Combinational Circuit Design Boolean Gates Boolean Gates Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 9 / 1 Combinational Circuit Design Boolean Gates Analogy between logic and hardware Every binary or unary boolean operator (∧; ∨; ∼) is mapped to a gate. This includes the binary connectives (⇒; ⇔) (why?) So, every propositional logic construct (\compound" or otherwise) can be mapped to a logically equivalent boolean circuit! Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 10 / 1 Combinational Circuit Design Boolean Gates AND gate Figure 2: The ANSI symbol of an AND gate. Truth table corresponds to ∧ binary operator. (board) Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 11 / 1 Combinational Circuit Design Boolean Gates OR gate Figure 3: The ANSI symbol of an OR gate. Truth table corresponds to ∨ binary operator. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 12 / 1 Combinational Circuit Design Boolean Gates NOT gate (inverter) Figure 4: The ANSI symbol of a NOT gate. Truth table corresponds to ∼ unary operator. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 13 / 1 Combinational Circuit Design Boolean Gates XOR gate Figure 5: ANSI symbol for a XOR gate. Truth table? (whiteboard) Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 14 / 1 Homework , Combinational Circuit Design Boolean Gates XOR gate Can I implement a XOR gate using gates I know? Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 15 / 1 Combinational Circuit Design Boolean Gates XOR gate Can I implement a XOR gate using gates I know? Homework , Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 15 / 1 Sheffer stroke: ↑ (used for NAND operation) Quince arrow: ↓ (used for NOR operation) NAND gates are the cheapest gates to implement in modern hardware. Combinational Circuit Design Boolean Gates NAND/NOR gates Figure 6: ANSI symbol for a NAND Figure 7: ANSI symbol for a NOR gate gate What's the truth table for both of those? Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1 NAND gates are the cheapest gates to implement in modern hardware. Combinational Circuit Design Boolean Gates NAND/NOR gates Figure 6: ANSI symbol for a NAND Figure 7: ANSI symbol for a NOR gate gate What's the truth table for both of those? Sheffer stroke: ↑ (used for NAND operation) Quince arrow: ↓ (used for NOR operation) Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1 Combinational Circuit Design Boolean Gates NAND/NOR gates Figure 6: ANSI symbol for a NAND Figure 7: ANSI symbol for a NOR gate gate What's the truth table for both of those? Sheffer stroke: ↑ (used for NAND operation) Quince arrow: ↓ (used for NOR operation) NAND gates are the cheapest gates to implement in modern hardware. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1 Combinational Circuit Design Complex circuits Complex circuits Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 17 / 1 Combinational Circuit Design Complex circuits Examples Convert the following boolean expressions to their corresponding circuits: (p ∧ q ∧ z) ∨ (∼r) (p ∨ q) ∧ q Now, convert them into circuits that only use NAND gates! Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 18 / 1 Combinational Circuit Design Complex circuits Simplifying circuits We can often use the axioms of boolean logic to simplify a circuit into one that uses a smaller number of gates. Then, we can convert that circuit into one that only uses NAND gates! Pipeline (Important to remember!): 1 Identify boolean expression implemented by the circuit (tip: scan the circuit from output to inputs). 2 Use axioms of boolean algebra to simplify expression in terms of boolean connectives used. 3 Use axioms of boolean algebra to translate the expression into one that only uses (possibly negated) conjunctions (∼(p ∧ ∼q ∧ z ∧ ::: ). 4 Draw the corresponding circuit. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 19 / 1 Combinational Circuit Design Complex circuits Examples Whiteboard... Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 20 / 1 Combinational Circuit Design Complex circuits K-maps A much more efficient way to quickly simplify circuits is the Karnaugh map, or K-map for short.1 Automatically converts any boolean expression to either a sum-of-product form (ORs of ANDs) or product-of-sums form (ANDs of ORs). We will not analyze them in this course, but you're directed to the Wikipedia article for information. 1Named such after Maurice Karnaugh. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 21 / 1.