# Computer Science. 19. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section 6.1.

Size: px
Start display at page:

Download "Computer Science. 19. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section 6.1."

## Transcription

1 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science Computer Science An Interdisciplinary Approach Section 6.1 ROBERT SEDGEWICK K E V I N WAY N E Combinational Circuits

2 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PART II: ALGORITHMS, MACHINES, and THEORY 19. Combinational Circuits Building blocks Boolean algebra Digital circuits Adder circuit Arithmetic/logic unit CS.19.A.Circuits.Basics

3 Context Q. What is a combinational circuit? A. A digital circuit (all signals are 0 or 1) with no feedback (no loops). analog circuit: signals vary continuously sequential circuit: loops allowed (stay tuned) Q. Why combinational circuits? A. Accurate, reliable, general purpose, fast, cheap. Basic abstractions On and off. Wire: propagates on/off value. Switch: controls propagation of on/off values through wires. Applications. Smartphone, tablet, game controller, antilock brakes, microprocessor, 3

4 Wires Wires propagate on/off values ON (1): connected to power. OFF (0): not connected to power. Any wire connected to a wire that is ON is also ON. Drawing convention: "flow" from top, left to bottom, right. thick wires are ON 1 power connection thin wires are OFF 4

5 Controlled Switch Switches control propagation of on/off values through wires. Simplest case involves two connections: control (input) and output. control OFF: output ON control ON: output OFF control input OFF control input ON output ON output OFF 5

6 Controlled Switch Switches control propagation of on/off values through wires. General case involves three connections: control input, data input and output. control OFF: output is connected to input control ON: output is disconnected from input control input OFF control input ON data input OFF output OFF data input OFF output OFF control input OFF control input ON data input ON output ON data input ON output OFF Idealized model of pass transistors found in real integrated circuits. 6

7 Controlled switch: example implementation A relay is a physical device that controls a switch with a magnet 3 connections: input, output, control. Magnetic force pulls on a contact that cuts electrical flow. schematic control off control on contact magnet (off ) connection broken magnet on pulls contact up spring 7

8 First level of abstraction Switches and wires model provides separation between physical world and logical world. We assume that switches operate as specified. That is the only assumption. Physical realization of switch is irrelevant to design. Physical realization dictates performance Size. Speed. Power. New technology immediately gives new computer. Better switch? Better computer. Basis of Moore's law. all built with "switches and wires" 8

9 Switches and wires: a first level of abstraction technology switch technology information switch relay (1940s) pneumatic air pressure vacuum tube fluid water pressure transistor relay (now) electric potential Amusing attempts that do not scale but prove the point pass transistor in integrated circuit atom-thick transistor Real-world examples that prove the point 9

10 Switches and wires: a first level of abstraction VLSI = Very Large Scale Integration Technology Deposit materials on substrate. Key properties Lines are wires. Certain crossing lines are controlled switches. Key challenge in physical world Fabricating physical circuits with billions of wires and controlled switches Key challenge in abstract world Understanding behavior of circuits with billions of wires and controlled switches Bottom line. Circuit = Drawing (!) 10

11 Circuit anatomy Need more levels of abstraction to understand circuit behavior 11

12 COMPUTER SCIENCE S E D G E W I C K / W A Y N E Image sources CS.19.A.Circuits.Basics

13 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PART II: ALGORITHMS, MACHINES, and THEORY 19. Combinational Circuits Building blocks Boolean algebra Digital circuits Adder circuit Arithmetic/logic unit CS.19.B.Circuits.Algebra

14 Boolean algebra Developed by George Boole in 1840s to study logic problems Variables represent true or false (1 or 0 for short). Basic operations are AND, OR, and NOT (see table below). Widely used in mathematics, logic and computer science. operation Java notation logic notation circuit design (this lecture) AND x && y x y xy OR x y x y x + y NOT! x x x' various notations in common use George Boole Example: (stay tuned for proof) DeMorgan's Laws (xy)' = (x' + y' ) (x + y)' = x'y' Relevance to circuits. Basis for next level of abstraction. Copyright 2004, Sidney Harris 14

15 Truth tables A truth table is a systematic way to define a Boolean function One row for each possible set of arguments. Each row gives the function value for the specified arguments. N inputs: 2 N rows needed. x x' x y xy x y x + y x y NOR x y XOR NOT AND OR NOR XOR 15

16 Truth table proofs Truth tables are convenient for establishing identities in Boolean logic One row for each possibility. Identity established if columns match. Proofs of DeMorgan's laws x y xy (xy) ' x y x' y' x' + y' x y x + y NOR (x + y)' NOR x y x' y' x'y' (xy)' = (x' + y' ) (x + y)' = x'y' 16

17 All Boolean functions of two variables Q. How many Boolean functions of two variables? A. 16 (all possibilities for the 4 bits in the truth table column). Truth tables for all Boolean functions of 2 variables x y ZERO AND x y XOR OR NOR EQ y x NAND ONE

18 Functions of three and more variables Q. How many Boolean functions of three variables? A. 256 (all possibilities for the 8 bits in the truth table column). x y z AND OR NOR MAJ ODD all extend to N variables Examples AND logical AND 0 iff any inputs is 0 (1 iff all inputs 1) OR logical OR 1 iff any input is 1 (0 iff all inputs 0) NOR logical NOR 0 iff any input is 1 (1 iff all inputs 0) MAJ majority 1 iff more inputs are 1 than 0 ODD odd parity 1 iff an odd number of inputs are 1 Q. How many Boolean functions of N variables? Some Boolean functions of 3 variables A. 2 (2N ) N number of Boolean functions with N variables = = = 65, = 4,294,967, = 18,446,744,073,709,551,616 18

19 Universality of AND, OR and NOT Every Boolean function can be represented as a sum of products Form an AND term for each 1 in Boolean function. OR all the terms together. x y z MAJ x'yz xy'z xyz' xyz x'yz + xy'z + xyz' + xyz = MAJ Def. A set of operations is universal if every Boolean function can be expressed using just those operations. Fact. { AND, OR, NOT } is universal. Expressing MAJ as a sum of products 19

20 COMPUTER SCIENCE S E D G E W I C K / W A Y N E Image sources CS.19.B.Circuits.Algebra

21 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PART II: ALGORITHMS, MACHINES, and THEORY 19. Combinational Circuits Building blocks Boolean algebra Digital circuits Adder circuit Arithmetic/logic unit CS.19.C.Circuits.Digital

22 A basis for digital devices Claude Shannon connected circuit design with Boolean algebra in Possibly the most important, and also the most famous, master's thesis of the [20th] Claude Shannon Howard Gardner Key idea. Can use Boolean algebra to systematically analyze circuit behavior. 22

23 A second level of abstraction: logic gates boolean function notation truth table classic symbol our symbol under the cover circuit (gate) proof NOT x' x x' x x' x x' 1 iff x is 0 NOR (x + y)' x y NOR (x+y)' x y NOR (x+y)' x y (x+y)' 1 iff x and y are both 0 OR x + y x y OR x OR y x+y x y x+y NOR x+y = ((x + y)')' AND xy x y AND x y AND xy x y xy NOR xy = (x' + y')' 23

24 Multiway OR gates OR gates with multiple inputs. 1 if any input is 1. 0 if all inputs are 0. classic symbol u v w x y z our symbol u v w x y z OR u+v+w+x+y+z under the cover u v w x y z u+v+w+x+y+z u+v+w+x+y+z 0 if inputs are ; 1 if any input is 1 examples Multiway OR gates are oriented vertically in our circuits. Learn to recognize them!

25 Multiway generalized AND gates Multiway generalized AND gates. 1 for exactly 1 set of input values. 0 for all other sets of input values. u v gate w x y z function inputs that output another set of inputs AND uvwxyz 1 0 u v w x y z generalized u'vwx'y'z 1 0 NOR u v w x y z u'v'w'x'y'z' same as (u + v + w + x + y + z)' Might also call these "generalized NOR gates"; we consistently use AND. 25

26 Pop quiz on generalized AND gates Q. Give the Boolean function computed by these gates. Q. Also give the inputs for which the output is 1. x y z x y z u v w x y z x y z x y z u v w x y z x y z x y z x y z x y z 26

27 Pop quiz on generalized AND gates Q. Give the Boolean function computed by these gates. Q. Also give the inputs for which the output is 1. u v w x y z u v w x y z uv'wxy'z u'vwx'y'z Get the idea? If not, replay this slide, like flash cards. Note. From now on, we will not label these gates. x y z x y z x y z x y z x y z x y z x y z x y z x'y'z' 000 x'y'z 001 x'yz' 010 x'yz 011 xy'z' 100 xy'z 101 xyz' 110 xyz

28 A useful combinational circuit: decoder Decoder n input lines (address). 2 n outputs. Addressed output is 1. All other outputs are 0. Example: 3-to-8 decoder 110 = outputs 0-5 and 7 are output 6 is

29 A useful combinational circuit: decoder Decoder n input lines (address). 2 n outputs. Addressed output is 1. All other outputs are 0. Example: 3-to-8 decoder 110 = 6 Implementation Use all 2 n generalized AND gates with n inputs. Only one of them matches the input address. outputs 0-5 and 7 are 0 Application (next lecture) Select a memory word for read/write. [Use address bits of instruction from IR.] output 6 is 1 29

30 Another useful combinational circuit: demultiplexer (demux) Demultiplexer n address inputs. 1 data input with value x. 2 n outputs. Addressed output has value x. All other outputs are 0. Example: 3-to-8 demux 101 = 5 x outputs 0-4 and 6-7 are 0 5 output 5 has value x

31 Another useful combinational circuit: demultiplexer (demux) Demultiplexer n address inputs. 1 data input with value x. 2 n outputs. Addressed output has value x. All other outputs are 0. Example: 3-to-8 demux 101 = 5 x Implementation Start with decoder. Add AND x to each gate. Application (next lecture) Turn on control wires to implement instructions. [Use opcode bits of instruction in IR.] outputs 0-4 and 6-7 are 0 output 5 has value x 31

32 Decoder/demux Decoder/demux n address inputs. 1 data input with value x. 2 n output pairs. Addressed output pair has value (1, x ). All other outputs are 0. Example: 3-to-8 decoder/demux 101 = 5 x output pairs 0-4 and 6-7 are (0, 0) 5 output pair 5 has value (1, x)

33 Decoder/demux Decoder/demux n address inputs. 1 data input with value x. 2 n output pairs. Addressed output pair has value (1, x ). All other outputs are 0. Example: 3-to-8 decoder/demux 101 = 5 x Implementation Add decoder output to demux. output pairs 0-4 and 6-7 are (0, 0) output pair 5 has value (1, x) Application (next lecture) Access and control write of memory word [Use addr bits of instruction in IR.] 33

34 Creating a digital circuit that computes a boolean function: majority Use the truth table Identify rows where the function is 1. Use a generalized AND gate for each. OR the results together. Example 1: Majority function xyz multiway OR gate 110 x y z MAJ MAJ term gate x'yz xy'z xyz' MAJ = x'yz + xy'z + xyz' + xyz xyz MAJ majority circuit example MAJ is 1 34

35 Creating a digital circuit that computes a boolean function: odd parity Use the truth table Identify rows where the function is 1. Use a generalized AND gate for each. OR the results together. Example 2: Odd parity function xyz multiway OR gate 110 x y z ODD ODD term gate x'y'z x'yz' xy'z' ODD = x'y'z + x'yz' + xy'z' + xyz xyz ODD odd parity circuit example ODD is 0 35

36 Combinational circuit design: Summary Problem: Design a circuit that computes a given boolean function. Ingredients OR gates. NOT gates. NOR gates. Wire. use to make generalized AND gates x y z MAJ x y z ODD Method Step 1: Represent input and output with Boolean variables. Step 2: Construct truth table to define the function. Step 3: Identify rows where the function is 1. Step 4: Use a generalized AND for each and OR the results. xyz MAJ xyz ODD Bottom line (profound idea): Yields a circuit for ANY function. Caveat: Circuit might be huge (stay tuned). MAJ ODD 36

37 Pop quiz on combinational circuit design Q. Design a circuit to implement XOR(x, y). 37

38 Pop quiz on combinational circuit design Q. Design a circuit to implement XOR(x, y). A. Use the truth table Identify rows where the function is 1. Use a generalized AND gate for each. OR the results together. XOR function x y XOR term x'y xy' gate xy circuit interface XOR = x'y + xy' XOR XOR 38

39 Encapsulation Encapsulation in hardware design mirrors familiar principles in software design Building a circuit from wires and switches is the implementation. Define a circuit by its inputs, controls, and outputs is the API. We control complexity by encapsulating circuits as we do with ADTs. NOT AND DECODER DEMULTIPLEXER DECODER/DEMUX ODD OR MAJ XOR 39

40 COMPUTER SCIENCE S E D G E W I C K / W A Y N E Image sources CS.19.C.Circuits.Digital

41 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PART II: ALGORITHMS, MACHINES, and THEORY 19. Combinational Circuits Building blocks Boolean algebra Digital circuits Adder circuit Arithmetic/logic unit CS.19.D.Circuits.Adder

42 Let's make an adder circuit! Adder Compute z = x + y for n-bit binary integers. 2n inputs. n outputs. Ignore overflow ADD carry out Example: 8-bit adder = 72 42

43 Let's make an adder circuit! Adder Compute z = x + y for n-bit binary integers. 2n inputs. n outputs. Ignore overflow. x7 y7 x6 y6 x5 y5 x4 y4 x3 y3 x2 y2 x1 y1 x0 y0 ADD Example: 8-bit adder carry out c8 c7 c6 c5 c4 c3 c2 c1 0 x7 x6 x5 x4 x3 x2 x1 x0 + y7 y6 y5 y4 y3 y2 y1 y0 z7 z6 z5 z4 z3 z2 z1 z0 z7 z6 z5 z4 z3 z2 z1 z0 43

44 Let's make an adder circuit! Goal: z = x + y for 8-bit integers. Strawman solution: Build truth tables for each output bit. c8 c7 c6 c5 c4 c3 c2 c1 0 x7 x6 x5 x4 x3 x2 x1 x0 + y7 y6 y5 y4 y3 y2 y1 y0 z7 z6 z5 z4 z3 z2 z1 z0 x7 x6 x5 x4 x3 x2 x1 x0 y7 y6 y5 y4 y3 y2 y1 y0 c4 z7 z6 z5 z4 z3 z2 z1 z0 8-bit adder truth table = rows! Q. Not convinced this a bad idea? A. 128-bit adder: rows >> # electrons in universe! 44

45 Let's make an adder circuit! Goal: z = x + y for 8-bit integers. Do one bit at a time. Build truth table for carry bit. Build truth table for sum bit. A surprise! Carry bit is MAJ. Sum bit is ODD. c8 c7 c6 c5 c4 c3 c2 c1 0 x7 x6 x5 x4 x3 x2 x1 x0 + y7 y6 y5 y4 y3 y2 y1 y0 z7 z6 z5 z4 z3 z2 z1 z0 xi yi ci ci+1 MAJ xi yi ci zi ODD carry bit sum bit

46 Let's make an adder circuit! Goal: z = x + y for 4-bit integers. Do one bit at a time. Carry bit is MAJ. Sum bit is ODD. Chain 1-bit adders to "ripple" carries. x7 y7 x6 y6 x5 y5 x4 y4 x3 y3 x2 y2 x1 y1 x0 y0 c7 c6 c5 c4 c3 c2 c1 c0 c8 c7 c6 c5 c4 c3 c2 c1 0 x7 x6 x5 x4 x3 x2 x1 x0 + y7 y6 y5 y4 y3 y2 y1 y0 z7 z6 z5 z4 z3 z2 z1 z0 z7 z6 z5 z4 z3 z2 z1 z0 46

47 An 8-bit adder circuit 47

48 Layers of abstraction Lessons for software design apply to hardware Interface describes behavior of circuit. Implementation gives details of how to build it. Exploit understanding of behavior at each level. Layers of abstraction apply with a vengeance On/off. Controlled switch. [relay, pass transistor] Gates. [NOT, OR, AND] Boolean functions. [MAJ, ODD] Adder. Arithmetic/Logic unit (next). CPU (next lecture, stay tuned). ADD NOT OR AND MAJ ODD Vastly simplifies design of complex systems and enables use of new technology at any layer 48

49 CS.19.D.Circuits.Adder COMPUTER SCIENCE S E D G E W I C K / W A Y N E

50 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PART II: ALGORITHMS, MACHINES, and THEORY 19. Combinational Circuits Building blocks Boolean algebra Digital circuits Adder circuit Arithmetic/logic unit CS.19.E.Circuits.ALU

51 Next layer of abstraction: modules, busses, and control lines Basic design of our circuits Organized as modules (functional units of TOY: ALU, memory, register, PC, and IR). Connected by busses (groups of wires that propagate information between modules). Controlled by control lines (single wires that control circuit behavior). Conventions Bus inputs are at the top, input connections are at the left. Bus outputs are at the bottom, output connections are at the right. Control lines are blue. input busses control lines These conventions make circuits easy to understand. (Like style conventions in coding.) output bus 51

52 Arithmetic and logic unit (ALU) module Ex. Three functions on 8-bit words Two input busses (arguments). One output bus (result). Three control lines. input busses ALU (8-bit) ADD control lines XOR AND output bus 52

53 Arithmetic and logic unit (ALU) module Ex. Three functions on 8-bit words Two input busses (arguments). One output bus (result). Three control lines. Left-right shifter circuits omitted (see book for details). input busses Implementation One circuit for each function. Compute all values in parallel. ADD Q. How do we select desired output? A. "One-hot muxes" (see next slide). control lines XOR AND "Calculator" at the heart of your computer. output bus 53

54 A simple and useful combinational circuit: one-hot multiplexer One-hot multiplexer m selection lines m data inputs 1 output. At most one selection line is 1. Output has value of selected input. selection inputs this is a precondition unlike other circuits we consider select input 3 data input 3 is 0 all other data inputs ignored 2 3 output is data inputs 4 data input 3 is 1 output output is 1 54

55 A simple and useful combinational circuit: one-hot multiplexer One-hot multiplexer m selection lines m data inputs 1 output. At most one selection line is 1. Output has value of selected input. AND gate multiway OR gate select input 3 data input 3 is 0 2 Implementation AND corresponding selection and data inputs. OR all results (at most one is 1) output is 0 Applications Arithmetic-logic unit (previous slide). Main memory (next lecture). 4 data input 3 is 1 Important to note. No direct connection from input to output. a virtual selection switch output is 1 55

56 Summary: Useful combinational circuit modules ALU DEMUX DECODER/DEMUX Next: Registers, memory, connections, and control. 56

57 CS.19.D.Circuits.Adder COMPUTER SCIENCE S E D G E W I C K / W A Y N E

58 COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science Computer Science An Interdisciplinary Approach Section ROBERT SEDGEWICK K E V I N WAY N E Combinational Circuits

### Computer Science. 20. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section

COMPUTER SCIENCE S E D G E W I C K / W A Y N E Computer Science 20. Combinational Circuits Computer Science An Interdisciplinary Approach Section 6.1 ROBERT SEDGEWICK K E V I N WAY N E http://introcs.cs.princeton.edu

### Applications. Smartphone, tablet, game controller, antilock brakes, microprocessor, Wires

COMPUTER SCIENCE Combinational circuits Q. What is a combinational circuit? A. A digital circuit (all signals are or ) with no feedback (no loops). analog circuit: signals vary continuously sequential

### 20. Combinational Circuits

Combinational circuits Q. What is a combinational circuit? A. A digital circuit (all signals are or ) with no feedback (no loops). analog circuit: signals vary continuously sequential circuit: loops allowed

### Computer Organization: Boolean Logic

Computer Organization: Boolean Logic Representing and Manipulating Data Last Unit How to represent data as a sequence of bits How to interpret bit representations Use of levels of abstraction in representing

### COSC 243. Introduction to Logic And Combinatorial Logic. Lecture 4 - Introduction to Logic and Combinatorial Logic. COSC 243 (Computer Architecture)

COSC 243 Introduction to Logic And Combinatorial Logic 1 Overview This Lecture Introduction to Digital Logic Gates Boolean algebra Combinatorial Logic Source: Chapter 11 (10 th edition) Source: J.R. Gregg,

### CS61c: Representations of Combinational Logic Circuits

CS61c: Representations of Combinational Logic Circuits J. Wawrzynek March 5, 2003 1 Introduction Recall that synchronous systems are composed of two basic types of circuits, combination logic circuits,

### Boolean Algebra & Digital Logic

Boolean Algebra & Digital Logic Boolean algebra was developed by the Englishman George Boole, who published the basic principles in the 1854 treatise An Investigation of the Laws of Thought on Which to

### Computer Science. Questions for discussion Part II. Computer Science COMPUTER SCIENCE. Section 4.2.

COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, T H E O R Y, A N D M A C H I N E S Computer Science Computer Science An Interdisciplinary Approach Section 4.2 ROBERT SEDGEWICK

### Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of

### Chapter 2: Switching Algebra and Logic Circuits

Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used

### BOOLEAN ALGEBRA. Introduction. 1854: Logical algebra was published by George Boole known today as Boolean Algebra

BOOLEAN ALGEBRA Introduction 1854: Logical algebra was published by George Boole known today as Boolean Algebra It s a convenient way and systematic way of expressing and analyzing the operation of logic

### Circuits & Boolean algebra.

Circuits & Boolean algebra http://xkcd.com/730/ CSCI 255: Introduction to Embedded Systems Keith Vertanen Copyright 2011 Digital circuits Overview How a switch works Building basic gates from switches

### Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) January 30, 2003 John Wawrzynek Outline Review of three representations for combinational logic:

### UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits

2 Wawrzynek, Garcia 2004 c UCB UC Berkeley College of Engineering, EECS Department CS61C: Representations of Combinational Logic Circuits 1 Introduction Original document by J. Wawrzynek (2003-11-15) Revised

### Binary addition example worked out

Binary addition example worked out Some terms are given here Exercise: what are these numbers equivalent to in decimal? The initial carry in is implicitly 0 1 1 1 0 (Carries) 1 0 1 1 (Augend) + 1 1 1 0

### Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

CS211 Computer Architecture Digital Logic l Topics l Transistors (Design & Types) l Logic Gates l Combinational Circuits l K-Maps Figures & Tables borrowed from:! http://www.allaboutcircuits.com/vol_4/index.html!

### EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) September 5, 2002 John Wawrzynek Fall 2002 EECS150 Lec4-bool1 Page 1, 9/5 9am Outline Review of

### Unit 8A Computer Organization. Boolean Logic and Gates

Unit 8A Computer Organization Boolean Logic and Gates Announcements Bring ear buds or headphones to lab! 15110 Principles of Computing, Carnegie Mellon University - CORTINA 2 Representing and Manipulating

### XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

XOR - XNOR Gates Lesson Objectives: In addition to AND, OR, NOT, NAND and NOR gates, exclusive-or (XOR) and exclusive-nor (XNOR) gates are also used in the design of digital circuits. These have special

### CS 226: Digital Logic Design

CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

### Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

Number System Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary BOOLEAN ALGEBRA BOOLEAN LOGIC OPERATIONS Logical AND Logical OR Logical COMPLEMENTATION

### Digital System Design Combinational Logic. Assoc. Prof. Pradondet Nilagupta

Digital System Design Combinational Logic Assoc. Prof. Pradondet Nilagupta pom@ku.ac.th Acknowledgement This lecture note is modified from Engin112: Digital Design by Prof. Maciej Ciesielski, Prof. Tilman

### ECE/CS 250 Computer Architecture

ECE/CS 250 Computer Architecture Basics of Logic Design: Boolean Algebra, Logic Gates (Combinational Logic) Tyler Bletsch Duke University Slides are derived from work by Daniel J. Sorin (Duke), Alvy Lebeck

### ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture Digital Logic Refresher Part A Combinational Logic Building Blocks Lecture Roadmap Combinational Logic Basic Logic Review Basic Gates De Morgan s Law Combinational

### Fundamentals of Digital Design

Fundamentals of Digital Design Digital Radiation Measurement and Spectroscopy NE/RHP 537 1 Binary Number System The binary numeral system, or base-2 number system, is a numeral system that represents numeric

### ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates

ECE 250 / CPS 250 Computer Architecture Basics of Logic Design Boolean Algebra, Logic Gates Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir

### XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

2017-18 XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL HALF ADDER 1. The circuit that performs addition within the Arithmetic and Logic Unit of the CPU are called adders. 2. A unit that adds two

### Combinational Logic. By : Ali Mustafa

Combinational Logic By : Ali Mustafa Contents Adder Subtractor Multiplier Comparator Decoder Encoder Multiplexer How to Analyze any combinational circuit like this? Analysis Procedure To obtain the output

### EEE130 Digital Electronics I Lecture #4

EEE130 Digital Electronics I Lecture #4 - Boolean Algebra and Logic Simplification - By Dr. Shahrel A. Suandi Topics to be discussed 4-1 Boolean Operations and Expressions 4-2 Laws and Rules of Boolean

### Combinational Logic. Mantıksal Tasarım BBM231. section instructor: Ufuk Çelikcan

Combinational Logic Mantıksal Tasarım BBM23 section instructor: Ufuk Çelikcan Classification. Combinational no memory outputs depends on only the present inputs expressed by Boolean functions 2. Sequential

### CSE140: Components and Design Techniques for Digital Systems. Decoders, adders, comparators, multipliers and other ALU elements. Tajana Simunic Rosing

CSE4: Components and Design Techniques for Digital Systems Decoders, adders, comparators, multipliers and other ALU elements Tajana Simunic Rosing Mux, Demux Encoder, Decoder 2 Transmission Gate: Mux/Tristate

### 2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS What will we learn? 2 Logic functions and circuits Boolean Algebra Logic gates and Synthesis CAD tools and VHDL Read Section 2.9 and 2.0 Terminology 3 Digital

### CSC9R6 Computer Design. Practical Digital Logic

CSC9R6 Computer Design Practical Digital Logic 1 References (for this part of CSC9R6) Hamacher et al: Computer Organization App A. In library Floyd: Digital Fundamentals Ch 1, 3-6, 8-10 web page: www.prenhall.com/floyd/

### COMBINATIONAL LOGIC CIRCUITS. Dr. Mudathir A. Fagiri

COMBINATIONAL LOGIC CIRCUITS Dr. Mudathir A. Fagiri Standard Combinational Modules Decoder: Decode address Encoder: Encode address Multiplexer (Mux): Select data by address Demultiplexier (DeMux): Direct

### We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

CSC258 Week 3 1 Logistics If you cannot login to MarkUs, email me your UTORID and name. Check lab marks on MarkUs, if it s recorded wrong, contact Larry within a week after the lab. Quiz 1 average: 86%

### Adders, subtractors comparators, multipliers and other ALU elements

CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing

### ECE 545 Digital System Design with VHDL Lecture 1A. Digital Logic Refresher Part A Combinational Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture A Digital Logic Refresher Part A Combinational Logic Building Blocks Lecture Roadmap Combinational Logic Basic Logic Review Basic Gates De Morgan s Laws

### ECE/CS 250: Computer Architecture. Basics of Logic Design: Boolean Algebra, Logic Gates. Benjamin Lee

ECE/CS 250: Computer Architecture Basics of Logic Design: Boolean Algebra, Logic Gates Benjamin Lee Slides based on those from Alvin Lebeck, Daniel Sorin, Andrew Hilton, Amir Roth, Gershon Kedem Admin

### Combinational Logic Trainer Lab Manual

Combinational Logic Trainer Lab Manual Control Inputs Microprocessor Data Inputs ff Control Unit '0' Datapath MUX Nextstate Logic State Memory Register Output Logic Control Signals ALU ff Register Status

### Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Digital Logic: Boolean Algebra and Gates Textbook Chapter 3 Basic Logic Gates XOR CMPE12 Summer 2009 02-2 Truth Table The most basic representation of a logic function Lists the output for all possible

### Logic and Boolean algebra

Computer Mathematics Week 7 Logic and Boolean algebra College of Information Science and Engineering Ritsumeikan University last week coding theory channel coding information theory concept Hamming distance

### Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

Introduction to Computer Engineering CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 3 Digital Logic Structures Slides based on set prepared by

### Lecture 7: Logic design. Combinational logic circuits

/24/28 Lecture 7: Logic design Binary digital circuits: Two voltage levels: and (ground and supply voltage) Built from transistors used as on/off switches Analog circuits not very suitable for generic

### Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept

### CprE 281: Digital Logic

CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Decoders and Encoders CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

### CSE 140 Lecture 11 Standard Combinational Modules. CK Cheng and Diba Mirza CSE Dept. UC San Diego

CSE 4 Lecture Standard Combinational Modules CK Cheng and Diba Mirza CSE Dept. UC San Diego Part III - Standard Combinational Modules (Harris: 2.8, 5) Signal Transport Decoder: Decode address Encoder:

### ELCT201: DIGITAL LOGIC DESIGN

ELCT201: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 5 Following the slides of Dr. Ahmed H. Madian ذو الحجة 1438 ه Winter

### Chapter 4. Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. elements. Dr.

Chapter 4 Dr. Panos Nasiopoulos Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. Sequential: In addition, they include storage elements Combinational

### Logic. Combinational. inputs. outputs. the result. system can

Digital Electronics Combinational Logic Functions Digital logic circuits can be classified as either combinational or sequential circuits. A combinational circuit is one where the output at any time depends

### Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

- Principles of Computer rchitecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring -2 Chapter Contents. Introduction.2 Combinational Logic.3 Truth Tables.4 Logic Gates.5 Properties

### CHAPTER1: Digital Logic Circuits Combination Circuits

CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.

### Implementation of Boolean Logic by Digital Circuits

Implementation of Boolean Logic by Digital Circuits We now consider the use of electronic circuits to implement Boolean functions and arithmetic functions that can be derived from these Boolean functions.

### Every time has a value associated with it, not just some times. A variable can take on any value within a range

Digital Logic Circuits Binary Logic and Gates Logic Simulation Boolean Algebra NAND/NOR and XOR gates Decoder fundamentals Half Adder, Full Adder, Ripple Carry Adder Analog vs Digital Analog Continuous»

### Combinational Logic. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C.

Combinational Logic ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Combinational Circuits

### Floating Point Representation and Digital Logic. Lecture 11 CS301

Floating Point Representation and Digital Logic Lecture 11 CS301 Administrative Daily Review of today s lecture w Due tomorrow (10/4) at 8am Lab #3 due Friday (9/7) 1:29pm HW #5 assigned w Due Monday 10/8

### Computing via boolean logic. COS 116: 3/8/2011 Sanjeev Arora

Computing via boolean logic. COS 116: 3/8/2011 Sanjeev Arora Recap: Boolean Logic Example Ed goes to the party if Dan does not and Stella does. Choose Boolean variables for 3 events: { Each E: Ed goes

### Logic Design. Chapter 2: Introduction to Logic Circuits

Logic Design Chapter 2: Introduction to Logic Circuits Introduction Logic circuits perform operation on digital signal Digital signal: signal values are restricted to a few discrete values Binary logic

### COSC3330 Computer Architecture Lecture 2. Combinational Logic

COSC333 Computer rchitecture Lecture 2. Combinational Logic Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Today Combinational Logic oolean lgebra Mux, DeMux, Decoder

### Computer organization

Computer organization Levels of abstraction Assembler Simulator Applications C C++ Java High-level language SOFTWARE add lw ori Assembly language Goal 0000 0001 0000 1001 0101 Machine instructions/data

### Intro To Digital Logic

Intro To Digital Logic 1 Announcements... Project 2.2 out But delayed till after the midterm Midterm in a week Covers up to last lecture + next week's homework & lab Nick goes "H-Bomb of Justice" About

vidyarthiplus.com vidyarthiplus.com vidyarthiplus.com ANNA UNIVERSITY- COMBATORE B.E./ B.TECH. DEGREE EXAMINATION - JUNE 2009. ELECTRICAL & ELECTONICS ENGG. - FOURTH SEMESTER DIGITAL LOGIC CIRCUITS PART-A

### Hardware Design I Chap. 4 Representative combinational logic

Hardware Design I Chap. 4 Representative combinational logic E-mail: shimada@is.naist.jp Already optimized circuits There are many optimized circuits which are well used You can reduce your design workload

### Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Appendix B Review of Digital Logic Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Elect. & Comp. Eng. 2 DeMorgan Symbols NAND (A.B) = A +B NOR (A+B) = A.B AND A.B = A.B = (A +B ) OR

### Adders, subtractors comparators, multipliers and other ALU elements

CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Adders 2 Circuit Delay Transistors have instrinsic resistance and capacitance

### UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

UNIT 8 Computer Circuitry: Layers of bstraction 1 oolean Logic & Truth Tables Computer circuitry works based on oolean logic: operations on true (1) and false (0) values. ( ND ) (Ruby: && ) 0 0 0 0 0 1

### Combinational Logic Design Principles

Combinational Logic Design Principles Switching algebra Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Switching algebra Axioms of switching algebra Theorems

### CS311 Lecture: Introduction to Digital Logic

CS311 Lecture: Introduction to Digital Logic Objectives: last revised August 15, 2007 1. Ability to read simple logic diagrams 2. Ability to design simple combinatorial circuits 3. To introduce basic building

### CMPE12 - Notes chapter 1. Digital Logic. (Textbook Chapter 3)

CMPE12 - Notes chapter 1 Digital Logic (Textbook Chapter 3) Transistor: Building Block of Computers Microprocessors contain TONS of transistors Intel Montecito (2005): 1.72 billion Intel Pentium 4 (2000):

### Design of Sequential Circuits

Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable

Review: Additional Boolean operations Operation: NAND (NOT-AND) NOR (NOT-OR) XOR (exclusive OR) Expressions: (xy) = x + y (x + y) = x y x y = x y + xy Truth table: x y (xy) x y (x+y) x y x y 0 0 1 0 1

### Class Website:

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #5 Instructor: Andrew B. Kahng (lecture) Email: abk@ece.ucsd.edu Telephone: 858-822-4884 office, 858-353-0550 cell Office:

### ALU A functional unit

ALU A functional unit that performs arithmetic operations such as ADD, SUB, MPY logical operations such as AND, OR, XOR, NOT on given data types: 8-,16-,32-, or 64-bit values A n-1 A n-2... A 1 A 0 B n-1

### Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Section 3: Combinational Logic Design Major Topics Design Procedure Multilevel circuits Design with XOR gates Adders and Subtractors Binary parallel adder Decoders Encoders Multiplexers Programmed Logic

### Hakim Weatherspoon CS 3410 Computer Science Cornell University

Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. memory inst 32 register

### Boolean Algebra, Gates and Circuits

Boolean Algebra, Gates and Circuits Kasper Brink November 21, 2017 (Images taken from Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc.) Outline Last week: Von

### MC9211 Computer Organization

MC92 Computer Organization Unit : Digital Fundamentals Lesson2 : Boolean Algebra and Simplification (KSB) (MCA) (29-2/ODD) (29 - / A&B) Coverage Lesson2 Introduces the basic postulates of Boolean Algebra

### CS/COE0447: Computer Organization and Assembly Language

CS/COE0447: Computer Organization and Assembly Language Logic Design Introduction (Brief?) Appendix B: The Basics of Logic Design Dept. of Computer Science Logic design? Digital hardware is implemented

### CPS311 Lecture: Introduction to Digital Logic

Objectives: CPS311 Lecture: Introduction to Digital Logic 1. Ability to read simple logic diagrams 2. Ability to design simple combinatorial circuits 3. To introduce basic building blocks of more complex

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Minsub Shin, Lisa Ossian, Sujith Surendran Midterm Examination 2 In Class (50 minutes) Friday,

### Lecture 22 Chapters 3 Logic Circuits Part 1

Lecture 22 Chapters 3 Logic Circuits Part 1 LC-3 Data Path Revisited How are the components Seen here implemented? 5-2 Computing Layers Problems Algorithms Language Instruction Set Architecture Microarchitecture

### Why digital? Overview. Number Systems. Binary to Decimal conversion

Why digital? Overview It has the following advantages over analog. It can be processed and transmitted efficiently and reliably. It can be stored and retrieved with greater accuracy. Noise level does not

### EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational

### Digital Logic Appendix A

Digital Logic Appendix A Boolean Algebra Gates Combinatorial Circuits Sequential Circuits 1 Boolean Algebra George Boole ideas 1854 Claude Shannon, apply to circuit design, 1938 Describe digital circuitry

### Boolean Algebra. The Building Blocks of Digital Logic Design. Section. Section Overview. Binary Operations and Their Representation.

Section 3 Boolean Algebra The Building Blocks of Digital Logic Design Section Overview Binary Operations (AND, OR, NOT), Basic laws, Proof by Perfect Induction, De Morgan s Theorem, Canonical and Standard

### Digital Circuit And Logic Design I. Lecture 3

Digital Circuit And Logic Design I Lecture 3 Outline Combinational Logic Design Principles (). Introduction 2. Switching algebra 3. Combinational-circuit analysis 4. Combinational-circuit synthesis Panupong

### Numbers and Arithmetic

Numbers and Arithmetic See: P&H Chapter 2.4 2.6, 3.2, C.5 C.6 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu

### CprE 281: Digital Logic

CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Simple Processor CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Digital

### Boolean Logic Continued Prof. James L. Frankel Harvard University

Boolean Logic Continued Prof. James L. Frankel Harvard University Version of 10:18 PM 5-Sep-2017 Copyright 2017, 2016 James L. Frankel. All rights reserved. D Latch D R S Clk D Clk R S X 0 ~S 0 = R 0 ~R

### Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Digital Logic Our goal for the next few weeks is to paint a a reasonably complete picture of how we can go from transistor

### Numbers and Arithmetic

Numbers and Arithmetic See: P&H Chapter 2.4 2.6, 3.2, C.5 C.6 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu

### Latches. October 13, 2003 Latches 1

Latches The second part of CS231 focuses on sequential circuits, where we add memory to the hardware that we ve already seen. Our schedule will be very similar to before: We first show how primitive memory

### CSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego

CSE4: Components and Design Techniques for Digital Systems Logic minimization algorithm summary Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing & Dr.Pietro Mercati Definition

### Part 1: Digital Logic and Gates. Analog vs. Digital waveforms. The digital advantage. In real life...

Part 1: Digital Logic and Gates Analog vs Digital waveforms An analog signal assumes a continuous range of values: v(t) ANALOG A digital signal assumes discrete (isolated, separate) values Usually there

### Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU

Menu 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU Look into my... 1 7-Segment LED a b c h GND c g b d f a e h Show 7-segment LED in LogicWorks,

### II. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):

ENGI 386 Digital Logic II. COMBINATIONAL LOGIC DESIGN Combinational Logic output of digital system is only dependent on current inputs (i.e., no memory) (a) Boolean Algebra - developed by George Boole

### EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EE40 Lec 15 Logic Synthesis and Sequential Logic Circuits Prof. Nathan Cheung 10/20/2009 Reading: Hambley Chapters 7.4-7.6 Karnaugh Maps: Read following before reading textbook http://www.facstaff.bucknell.edu/mastascu/elessonshtml/logic/logic3.html

### SAU1A FUNDAMENTALS OF DIGITAL COMPUTERS

SAU1A FUNDAMENTALS OF DIGITAL COMPUTERS Unit : I - V Unit : I Overview Fundamentals of Computers Characteristics of Computers Computer Language Operating Systems Generation of Computers 2 Definition of

### Binary addition (1-bit) P Q Y = P + Q Comments Carry = Carry = Carry = Carry = 1 P Q

Digital Arithmetic In Chapter 2, we have discussed number systems such as binary, hexadecimal, decimal, and octal. We have also discussed sign representation techniques, for example, sign-bit representation