Computer Architecture I: Digital Design Dr. Robert D. Kent Logic Design Medium Scale Integration and Programmable Logic Devices Part I.

Slides:



Advertisements
Similar presentations
Basics Combinational Circuits Sequential Circuits
Advertisements

ADDER, HALF ADDER & FULL ADDER
ECE 331 – Digital System Design
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
SUPLEMENTARY CHAPTER 1: An Introduction to Digital Logic The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Combinational Logic1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
ECE 301 – Digital Electronics
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #12) The slides included herein were taken from the materials.
ECE 301 – Digital Electronics
CS 105 Digital Logic Design
XOR, XNOR, and Binary Adders
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Morgan Kaufmann Publishers
Logic Design CS221 1 st Term combinational circuits Cairo University Faculty of Computers and Information.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
1 Introduction to Abstract Mathematics Applications : Digital Logic Circuits 2.4 and Number Systems 2.5 Instructor: Hayk Melikya
Computer Architecture I: Digital Design Dr. Robert D. Kent Logic Design Medium Scale Integration and Programmable Logic Devices Part II.
Combinational and Sequential Logic Circuits.
Binary Addition CSC 103 September 17, 2007.
XOR and XNOR Logic Gates. XOR Function Output Y is TRUE if input A OR input B are TRUE Exclusively, else it is FALSE. Logic Symbol  Description  Truth.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Chapter 3.5 Logic Circuits. How does Boolean algebra relate to computer circuits? Data is stored and manipulated in a computer as a binary number. Individual.
+ CS 325: CS Hardware and Software Organization and Architecture Combinational Circuits 1.
SUPLEMENTARY CHAPTER 1: An Introduction to Digital Logic The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Digital Logic Basics Chapter 2 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
ADDERS Half Adders Recall that the basic rules of binary addition are as indicated below in Table 2-9. A circuit known as the half-adder carries out these.
F = ∑m(1,4,5,6,7) F = A’B’C+ (AB’C’+AB’C) + (ABC’+ABC) Use X’ + X = 1.
1 CMSC 250 Chapter 1, con't., Combinatorial circuits.
1 The Chinese University of Hong Kong Faculty of Education Diploma in Education (Part-Time) Winter 1997 Educational Communications and Technology Assignment.
WEEK #10 FUNCTIONS OF COMBINATIONAL LOGIC (ADDERS)
1 Adders & Subtractors Adders –An adder is a combinational logic circuit that performs the addition of 2 binary numbers (A & B) to generate the sum (S)
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
1 DIGITAL ELECTRONICS. 2 OVERVIEW –electronic circuits capable of carrying out logical (boolean) and arithmetic operations on information stored as binary.
Module 9.  Digital logic circuits can be categorized based on the nature of their inputs either: Combinational logic circuit It consists of logic gates.
1 Lecture #7 EGR 277 – Digital Logic Reading Assignment: Chapter 4 in Digital Design, 3 rd Edition by Mano Chapter 4 – Combinational Logic Circuits A)
Lecture 9 Topics: –Combinational circuits Basic concepts Examples of typical combinational circuits –Half-adder –Full-adder –Ripple-Carry adder –Decoder.
Logic Gates Logic gates are electronic digital circuit perform logic functions. Commonly expected logic functions are already having the corresponding.
Digital Logic. 2 Abstractions in CS (gates) Basic Gate: Inverter IO IO GNDI O Vcc Resister (limits conductivity) Truth Table.
Logic Design CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #11) The slides included herein were taken from the materials.
Half-Adder: A combinational circuit which adds two one-bit binary numbers is called a half-adder. The sum column resembles like an output of the XOR gate.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Universal college of engineering & technology. .By Harsh Patel)
Logic and computers 2/6/12. Binary Arithmetic /6/ Only two digits: the bits 0 and 1 (Think: 0 = F, 1.
Computer Architecture I: Digital Design Dr. Robert D. Kent Logic Design Decoders and Multiplexers.
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
1 ECE 545—Digital System Design with VHDL Lecture 1 Digital Logic Refresher Part A – Combinational Logic Building Blocks.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
1 Lecture 14 Binary Adders and Subtractors. 2 Overview °Addition and subtraction of binary data is fundamental Need to determine hardware implementation.
How does a Computer Add ? Logic Gates within chips: AND Gate A B Output OR Gate A B Output A B A B
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Logic Gates and Boolean Algebra Introduction to Logic II.
Electrical Engineering Engineering the Future Digital Circuits Fundamentals Hands-on Full-Adder Simulation (afternoon)
Explain Half Adder and Full Adder with Truth Table.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Programming for GCSE Topic 9.2: Circuits for Adding T eaching L ondon C omputing William Marsh School of Electronic Engineering and Computer Science Queen.
ETE 204 – Digital Electronics Combinational Logic Design Single-bit and Multiple-bit Adder Circuits [Lecture: 9] Instructor: Sajib Roy Lecturer, ETE,ULAB.
Lecture No. 14 Combinational Functional Devices. Digital Logic &Design Dr. Waseem Ikram Lecture 14.
1 CMSC 250 Circuits. 2 CMSC 250 Find Boolean formula for: p, q & r are the variables. pqroutput
Fundamentals & Ethics of Information Systems IS 201
XOR, XNOR, and Binary Adders
Basics Combinational Circuits Sequential Circuits
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
XOR, XNOR, & Binary Adders
Week 7: Gates and Circuits: PART II
Logic Gates.
XOR, XNOR, and Binary Adders
XOR Function Logic Symbol  Description  Truth Table 
XOR, XNOR, and Binary Adders
Presentation transcript:

Computer Architecture I: Digital Design Dr. Robert D. Kent Logic Design Medium Scale Integration and Programmable Logic Devices Part I

Review We have studied and developed several techniques for simplifying Boolean expressions. These are based on the axioms, definitions and theorems of the Boolean Algebra, applied through the Boolean Calculus. Powerful tabular techniques have been developed for rapid reduction to some minimal cost forms (ie. Karnaugh maps) Now it is time to apply our knowledge and understanding to practical problems, eventually leading us to an understanding of the design issues and approaches in modern computer and network engineering.

Goals At the outset of designing a complex system, such as a modern computer or network, it is clear that design is extraordinarily difficult and computationally challenging when performed at the level of fundamental Boolean logic gates. For these reasons modern design approaches are based on hierarchical, component based methods. –Leading to simplified, localized component design, –lowering of design costs, –shifting some aspects of design to the component interface (the compatibility problem). We will now begin to study logic design in the contexts of Medium Scale Integration (MSI) of gate devices and programmable logic devices (PLD).

Goals We begin our study with simple, but functional circuits –we will construct a small library of useful components –we will seek to identify these components for their re-use potential

Goals We begin our study with simple, but functional circuits –we will construct a small library of useful components –we will seek to identify these components for their re-use potential At this stage we will have shifted our understanding from a model based on small-scale integrated circuits (SSI) to a different model based on medium-scale integrated circuits (MSI)

Goals We begin our study with simple, but functional circuits –we will construct a small library of useful components –we will seek to identify these components for their re-use potential At this stage we will have shifted our understanding from a model based on small-scale integrated circuits (SSI) to a different model based on medium-scale integrated circuits (MSI) We must consider two distinct types of MSI circuits –Combinational circuits –Sequential circuits We continue now with a study of Combinational circuits.

Circuit # 1 : Half-Adder

We begin by designing a circuit that will perform numeric (integer) addition of two input values.

Circuit # 1 : Half-Adder We begin by designing a circuit that will perform numeric (integer) addition of two input values. Assume that A and B each represent a single data bit, with possible numeric values 0 and 1.

Circuit # 1 : Half-Adder We begin by designing a circuit that will perform numeric (integer) addition of two input values. Assume that A and B each represent a single data bit, with possible numeric values 0 and 1. The problem is to design a circuit that is able to model the addition operation: –Assume two inputs, A and B, C A + B S

Circuit # 1 : Half-Adder We begin by designing a circuit that will perform numeric (integer) addition of two input values. Assume that A and B each represent a single data bit, with possible numeric values 0 and 1. The problem is to design a circuit that is able to model the addition operation: –Assume two inputs, A and B, –Output: a sum bit, S, C A + B S

Circuit # 1 : Half-Adder We begin by designing a circuit that will perform numeric (integer) addition of two input values. Assume that A and B each represent a single data bit, with possible numeric values 0 and 1. The problem is to design a circuit that is able to model the addition operation: –Assume two inputs, A and B, –Output: a sum bit, S, and, a carry bit, C. C A + B S

Circuit # 1 : Half-Adder We begin by designing a circuit that will perform numeric (integer) addition of two input values. Assume that A and B each represent a single data bit, with possible numeric values 0 and 1. The problem is to design a circuit that is able to model the addition operation: –Assume two inputs, A and B, –Output: a sum bit, S, and, a carry bit, C. C A + B S HA ABAB S C

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C = 0 (no carry)

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C = 1 (no carry)

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C = 1 (no carry)

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C = 0 (with a carry = 1)

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C We derive the following expressions for the S and C circuits: Use algebra for simple cases with only a few variables.

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C We derive the following expressions for the S and C circuits: S = A’B + AB’

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C We derive the following expressions for the S and C circuits: S = A’B + AB’ = A xor B

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C We derive the following expressions for the S and C circuits: S = A’B + AB’ = A xor B C = AB

Circuit # 1 : Half-Adder We begin the design by constructing a 2-input/2-output truth table A B S C We derive the following expressions for the S and C circuits: S = A’B + AB’ = A xor B C = AB This circuit is called a Half-Adder.

Circuit # 1 : Half-Adder Using the S and C circuit expressions for the Half-Adder circuit: S = A’B + AB’ = A xor B C = AB we can represent the circuit schematically in terms of gate logics. HA ABAB S C

Circuit # 1 : Half-Adder Using the S and C circuit expressions for the Half-Adder circuit: S = A’B + AB’ = A xor B C = AB we can represent the circuit schematically in terms of gate logics. HA ABAB S C Half-Adder AND/OR logic HA ABAB S C

Circuit # 1 : Half-Adder Using the S and C circuit expressions for the Half-Adder circuit: S = A’B + AB’ = A r B C = AB we can represent the circuit schematically in terms of gate logics. HA ABAB S C Half-Adder AND/OR logic HA ABAB S C HA ABAB S C Half-Adder AND/XOR logic

Circuit # 2 : Full-Adder

The problem is to design a circuit, called a Full-Adder, that is able to model the addition operation, assuming: –three inputs:A, B and C in, –and two outputs: a sum bit, S, and a carry bit, C out.

Circuit # 2 : Full-Adder The problem is to design a circuit, called a Full-Adder, that is able to model the addition operation, assuming: –three inputs:A, B and C in, –and two outputs: a sum bit, S, and a carry bit, C out. Assume that A, B and C in each represent a single data bit, with possible numeric values 0 and 1. The input C in corresponds to a carry bit generated from prior bit additions.

Circuit # 2 : Full-Adder The problem is to design a circuit, called a Full-Adder, that is able to model the addition operation, assuming: –three inputs:A, B and C in, –and two outputs: a sum bit, S, and a carry bit, C out. Assume that A, B and C in each represent a single data bit, with possible numeric values 0 and 1. The input C in corresponds to a carry bit generated from prior bit additions. We will eventually generalize the variables –Inputs:A K, B K and C K Outputs:S K and C K+1

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out This leads to the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out This leads to the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = C in AB + C in ’AB + C in A’B + C in AB’

Circuit # 2 : Full-Adder We begin the design by constructing a 3-input/2-output truth table: C in A B S C out This leads to the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = C in AB + C in ’AB + C in A’B + C in AB’ C in A B S C in FA

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = C out = C in AB + C in ’AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x xor y, we derive the alternative expressions:

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x xor y, we derive the alternative expressions: S = C in ’ (A xor B) + C in (A xor B)’

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x r y, we derive the alternative expressions: S = C in ’ (A xor B) + C in (A xor B)’ = C in xor A xor B

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x r y, we derive the alternative expressions: S = C in ’ (A xor B) + C in (A xor B)’ = C in xor A xor B C out = C in AB + C in ’AB + C in A’B + C in AB’

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x r y, we derive the alternative expressions: S = C in ’ (A xor B) + C in (A xor B)’ = C in xor A xor B C out = C in AB + C in ’AB + C in A’B + C in AB’ = (C in + C in ’)AB + C in (A+A’)B + C in A(B+B’)

Circuit # 2 : Full-Adder Proceeding from the expressions: S = C in ’A’B + C in ’AB’ + C in AB + C in A’B’ C out = AB + C in A’B + C in AB’ and recalling that x’y+xy’ = x r y, we derive the alternative expressions: S = C in ’ (A xor B) + C in (A xor B)’ = C in xor A xor B C out = C in AB + C in ’AB + C in A’B + C in AB’ = (C in + C in ’)AB + C in (A+A’)B + C in A(B+B’) = AB + C in B + C in A

Circuit # 2 : Full-Adder The representation of the Full-Adder circuit using gate logics is: S = C in xor A xor B C out = AB + C in B + C in A C in A B S C out FA

Circuit # 2 : Full-Adder The representation of the Full-Adder circuit using gate logics is: S = C in xor A xor B C out = AB + C in B + C in A C in A B S C out FA Binary Full Adder C in A B S C out FA

Circuit # 2 : Full-Adder Adapting the notation to a general set of input and output bits: S K = C K xor A K xor B K C K = A K B K + C K B K + C K A K CKAKBKCKAKBK S K C K+1 FA CKAKBKCKAKBK S K C K+1 FA Binary Full Adder

Circuit # 3 : Multi-bit Adder

We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B.

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } Restrict attention to the 4-bit case (easy to generalize to N-bits).

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. HA ABAB S C C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0 There is no initial Carry bit.

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. CKAKBKCKAKBK S K C K+1 FA C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder We may now use the previous results to construct a circuit to perform addition of two multi-bit inputs, A and B. –Inputs: A = {A 3, A 2, A 1, A 0 } and B = { B 3, B 2, B 1, B 0 } –Outputs: S = { S 3, S 2, S 1, S 0 } and C out. CKAKBKCKAKBK S K C K+1 FA HA ABAB S C C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0

Circuit # 3 : Multi-bit Adder Applying our previously determined HA and FA circuits: CKAKBKCKAKBK S K C K+1 FA HA ABAB S C C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0 B 3 B 2 B 1 B 0 A 3 A 2 A 1 A 0 S 3 S 2 S 1 S 0 C out 4-bit Binary Adder

Circuit # 3 : Multi-bit Adder Applying our previously determined HA and FA circuits: CKAKBKCKAKBK S K C K+1 FA HA ABAB S C C out C 3 C 2 C 1 A 3 A 2 A 1 A 0 +B 3 B 2 B 1 B 0 S 3 S 2 S 1 S 0 B 3 B 2 B 1 B 0 A 3 A 2 A 1 A 0 S 3 S 2 S 1 S 0 C out HAFA B 3 B 2 B 1 B 0 A 3 A 2 A 1 A 0 S 3 S 2 S 1 S 0 C out 4-bit Binary Adder

Summary - Part I We have begun to study logic design in the contexts of Medium Scale Integration (MSI) of gate devices and programmable logic devices (PLD). We have studied the design of a number of specific, practical functional circuits, expressed in terms of Boolean expressions and their equivalent logic gates (SSI: Small Scale Integration) with a view to re-using those circuits as components in MSI design. –1-bit Half-Adder –1-bit Full-Adder –Multi-bit Ripple Adder