PRINCIPLES OF DIGITAL CIRCUITS Jehan-François Pâris

Slides:



Advertisements
Similar presentations
컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Advertisements

التصميم المنطقي Second Course
Computer Architecture CS 215
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Synchronous Sequential Logic
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
Circuits require memory to store intermediate data
1 © 2014 B. Wilkinson Modification date: Dec Sequential Logic Circuits – I Flip-Flops A sequential circuit is a logic components whose outputs.
Chapter 11_1 (chap 10 ed 8) Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, NOT AND OR XOR NAND NOR Truth Tables Boolean.
Cosc 2150: Computer Organization Chapter 3: Boolean Algebra and Digital Logic.
The Map Method Boolean expressions may be simplified by algebraic means as discussed in Previous lecture However, this procedure of minimization is awkward.
Asynchronous Sequential Logic
1 Digital Logic
Chapter 4 Gates and Circuits.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
Lecture 3. Boolean Algebra, Logic Gates
Digital Logic Design CHAPTER 5 Sequential Logic. 2 Sequential Circuits Combinational circuits – The outputs are entirely dependent on the current inputs.
Chapter 12 Digital Logic Circuit Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Chapter 3: Boolean Algebra
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Digital Computer Design Fundamental
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Chapter 10_1 Digital Logic. Irvine, Kip R. Assembly Language for Intel-Based Computers, NOT AND OR XOR NAND NOR Truth Tables Boolean Operators.
COE 202: Digital Logic Design Sequential Circuits Part 1
Boolean Algebra and Digital Logic
1 Fundamentals of Computer Science Propositional Logic (Boolean Algebra)
Digital Logic Chapter 4 Presented by Prof Tim Johnson
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 DIGITAL LOGIC CIRCUITS Dept. of Computer Science Engineering Islamic Azad University.
1 Boolean Algebra & Logic Gates. 2 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple.
Chapter 2Basic Digital Logic1 Chapter 2. Basic Digital Logic2 Outlines  Basic Digital Logic Gates  Two types of digital logic circuits Combinational.
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 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
CHAPTER-2 Fundamentals of Digital Logic. Digital Logic Digital electronic circuits are used to build computer hardware as well as other products (digital.
In1200/04-PDS 1 TU-Delft Digital Logic. in1200/04-PDS 2 TU-Delft Unit of Information l Computers consist of digital (binary) circuits l Unit of information:
Computer Architecture and Organization Unit -1. Digital Logic Circuits – Logic Gates – Boolean Algebra – Map Simplification – Combinational Circuits –
Hamming Code,Decoders and D,T-flip flops Prof. Sin-Min Lee Department of Computer Science.
CS/COE0447 Computer Organization & Assembly Language
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
5 Chapter Synchronous Sequential Circuits 1. Logic Circuits- Review 2 Logic Circuits Sequential Circuits Combinational Circuits Consists of logic gates.
Introduction to Computing Systems and Programming Digital Logic Structures.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
4–1. BSCS 5 th Semester Introduction Logic diagram: a graphical representation of a circuit –Each type of gate is represented by a specific graphical.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
1 CS/COE0447 Computer Organization & Assembly Language Logic Design Appendix C.
Logic Gates and Boolean Algebra
DIGITAL LOGIC CIRCUITS
Synchronous Sequential Circuits
DIGITAL LOGIC CIRCUITS
ECE 434 Advanced Digital System L03
Reading: Hambley Chapters
ECE Digital logic Lecture 16: Synchronous Sequential Logic
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
CPE/EE 422/522 Advanced Logic Design L02
Chapter 4 Gates and Circuits.
Synchronous Sequential Circuits
Instructor: Alexander Stoytchev
ECE 120 Midterm 2 HKN Review Session
Logic Gates.
Chapter 10.3 and 10.4: Combinatorial Circuits
Digital Logic Circuits
Synchronous sequential
Synchronous Sequential
ECE 120 Midterm 2 HKN Review Session.
Presentation transcript:

PRINCIPLES OF DIGITAL CIRCUITS Jehan-François Pâris

Chapter Organization Combinatorial circuits –Boolean algebra –Logical gates used to implement them Sequential circuits –Finite-state machines –Flip-flops and other memory technologies –Implementation

Importance Up to the 80’s, computers were built of discrete components –Computer architects were building their computers using gates, flip-flops, … Logical circuitry is now hidden inside increasingly complex chips –Principles remain the same

COMBINATORIAL CIRCUITS

Outline Boolean Operators: –AND, OR, NOT, XOR, NAND, NOR Boolean Expressions –Identities –Simplification Algebraic methods Karnaugh maps

Boolean quantities Can only have two values –TRUE or FALSE (logical expressions) –0 or 1 (digital circuit design)

Boolean operations (I) AND: –True if both operands are true –Represented by a. sign (often omitted) ABAB This is called a truth table

Boolean operations (II) OR: –True unless both operands are false –Represented by a + sign ABA+B

Boolean operations (III) NOT: –True if operand is false –Represented by a macron as in Ā or a prime AA’ 01 10

Boolean operations (IV) Equality/Mutual Implication: –True when both operands are equal –Represented by a  sign AB ABAB

Boolean operations (V) Exclusive OR (XOR): –True when operands are not equal –Represented by a  sign AB ABAB

Boolean operations (VI) Not AND (NAND): –True unless both operands are true ABA NAND B

Boolean operations (VII) Not OR (NOR): –True if both operands are false ABA NOR B

Notes XOR is used for –Generating parity bits –Hardware hashing NOR and NAND are used because they have very efficient hardware implementation

Useful identities (I) 1 + A = 1 0. A = 0 A + A’ = 1 A.A’ = 0 A(B + C) =AB + AC (AB)’ = A’ + B’ (A+B)’ = (A’)(B’)

Useful identities (II) – Let us show that (A+B)’ = A’B’ ABA’B’A’B’A+B(A+B)’

Useful identities (II) – Let us show that (A+B)’ = A’B’ ABA’B’A’B’A+B(A+B)’

Universal set of operations (I) A set of operations is said to be universal iff any function can be described by using that set of operations alone Claim: AND, OR and NOT constitute a universal set

Universal set of operations (II) Proof: We will show that – A  B = AB + A’B’ – A  B = A’B + AB’ – A NAND B = (AB)’ – A NOR B= (A + B)’ – …

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (III) – Let us show that A  B = A’B + AB’ ABA’BAB’ A’B + AB’ ABAB

Universal set of operations (IV) Can simulate NOT with either NAND or NOR : A NAND A = A NOR A = A’

Universal set of operations (V) Can simulate AND with either NAND or NOR : (A NAND B) NAND (A NAND B) = ((AB)’)’ = AB (A NOR A) NOR (B NOR B) = ( A’ + B’)’ = ((AB)’)’ = AB

Universal set of operations (VI) Can simulate OR with either NAND or NOR (A NAND A) NAND (B NAND B) = (A’B’)’ = ((A +B)’)’ = A + B (A NOR B) NOR (A NOR B) = ((A +B)’)’ = A + B Both NOR alone and NAND alone form universal sets of operations

Exercise Construct an exclusive or using a)only NAND operations b)only NOR operations

Solution using NANDs Will start top down – A  B = AB' + A'B = (AB' NAND AB') NAND (AB' NAND AB') where AB' = (A NAND A) NAND B A'B = A NAND (B NAND B)

Easier to draw it andornot nandnorxor

Easier to draw it (II) (F NAND F) NAND (G NAND G) = F' NAND G' = F + G G G' F' (FG')' =F + G F

Easier to draw it (III) (A NAND B) NAND (A NAND B) = (AB)' NAND (AB)' = AB A B (AB)' (AB)'' = AB

Easier to draw it (IV) (A NAND (BNAND B) NAND ( same) = (AB)' NAND (AB)' = AB (AB')' = A'+B(A'+B)' = AB' A B B' (A'+B)' = AB' A B

Easier to draw it (V) (A NAND (BNAND B) NAND ( same) = (AB)' NAND (AB)' = AB (A'B)' = A+B' (A+B')' = A'B A B A'

Putting it together AB' A B A'+B A B A+B' A'BAB' A'B Output is ((A'B) (B'A))' = AB'+A'B

Simplifying (I) A B A'+B A B A+B' Output is ((A'B) (B'A))' = AB'+A'B XX X X

Simplifying (II) A B A B (AB')' (A'B)' Output is ((A'B)' (B'A)')' = (AB')''+(A'B)'' = AB'+A'B A' B' AB'+A'B

Expression simplification (I) My other class is full I could make exceptions for –All PhD students because the course is one of their core courses –All MS students who graduate this semester because they might need the course

Expression simplification (II) I have two Boolean variables –D true if the student is a PhD student and false otherwise –T if student completes his/her last semester We can assume that all non-PhD students are MS students –Course restricted to graduate students

Expression simplification (III) Rules can be expressed by Boolean expression D +D’T Can I simplify this expression? – D + D’T = D (1 + T) + D’T = D + DT + D’T = D + (D + D’)T = D + T –One operation instead of three

Karnaugh maps (I) Graphical method to represent truth tables of Boolean expressions with up to four variables Our example becomes T 'T D’1 D11

Karnaugh maps (II) Can identify rectangles corresponding to variables or AND “products” Form OR “sum” of these products T ‘T D’1 D11

Karnaugh maps (III) Want to simplify AB’C + ABC’ + A(BC)’= AB’C + ABC’ +A(B’ + C’) B’C’B’CBCBC’ A’0000 A1101 Must use the sequence B’C’, B’C, BC, BC’

Karnaugh maps (III) Solution is AB’ + AC’ = A(B’ + C’) –Observe wrap-around for product AC’ B’C’B’CBCBC’ A’0000 A1101

Karnaugh maps (IV) Can have Karnaugh maps with four variables C'D'C'DCDCD' A’B’0011 A’B0000 AB0000 AB’1111

Karnaugh maps (V) C’D’C’DCDCD’ A’B’0011 A’B0000 AB0000 AB’1111

Karnaugh maps (VI) Solution is AB’ + B’C = B’(A +C) C’D’C’DCDCD’ A’B’0011 A’B0000 AB0000 AB’1111

Exercise (I) Simplify the expression AC + (A’ + B) (C + D) + BD

Exercise (II) Algebraic Solution: AC + (A’ + B) (C + D) + BD’ = AC + A’C + A’D + BC + BD + BD’ = C +A'D + BC + B = C + A’D + B

Exercise (III) Karnaugh Map: AC + (A’ + B) (C + D) + BD’ =C + A’D + B C’D’C’DCDCD’ A’B’0111 A’B1111 AB1111 AB’0011

Half adder (I) Implements Boolean addition without a carry from a lesser significant bit Binary addition table is very simple

Half adder (II) Karnaugh map for sum bit Karnaugh map for carry bit

Half adder (IIII) Two outputs: –The sum S = x  y –The carry C = xy

Half adder (IV) An implementation only using AND, OR and NOT gates – C = xy – S = x  y = x’y + xy’ + x’x + y’y = x’(x + y) + y’(x + y) = (x’ + y’)(x + y) = (xy)’(x + y)

Half adder Carry = XY Sum X X Y Y XY X'+Y' Sum = (X'+Y')(X+ Y) = X'X + X'Y + Y'X + Y'Y

Full adder (I) We add the carry z from a less significant bit position C'S'C'SCS' Outputs from half adder Carry z

Full adder (II) New sum: C'S'C'SCS' Outputs from half adder Carry z

Full adder (II) Checkerboard pattern indicates an XOR C'S'C'SCS' Outputs from half adder Carry z

Full adder (III) New carry: C'S'C'SCS' Outputs from half adder Carry z

Full adder (IV) Define – S H = x  y – C H = xy With the carry z –New sum S = S H  z –New carry C = C H + S H z for the half adder

Full adder (V) We can build a full adder using two half adders and an OR gate

Full adder (VI) A simpler diagram Half adder x y z S C We treat the half adder as a black box.

Multiplexers (I) A multiplexer has – 2 n input lines numbered 0 to 2 n - 1 – n select lines –one output Values of n select lines specify which input line is rolled to output

Four-input multiplexer (I)

Four-input multiplexer (II)

Decoders A decoder has – n input lines – 2 n output lines numbered 0 to 2 n – 1 Values of n input line specify which output line is on

Two-input decoder

A generic decoder

Programmable Logic Arrays A PLA has –one selectable NOT gate for each input line –a set of programmable AND gate planes – a set of programmable OR gate planes Can represent any Boolean expression in sum of product form: ABC’ + AD + A’ED

Programmable Logic Arrays The squiggly connections can be turned on or off when the array is programmed

X states (I) Sometimes we know that some input combinations will never happen –Represented on a Karnaugh map by a X state B’C’B’CBCBC’ A’XX00 A1101

X states (II) Can be assigned either 0 or 1 Expression simplifies in B’+ AC’ B’C’B’CBCBC’ A’X=1 X=00 A1101

SEQUENTIAL CIRCUITS

Definition A sequential circuit is a circuit whose response depends on its past inputs – After n attempts to enter a password, the systems stops asking the user for the correct password – “Three strikes and you are out” laws A sequential circuit has a state and requires some memory capability to store that state

Overall organization InputOutput Sequential Circuit Feedback Memory

Classes of sequential circuits Synchronous sequential circuits: –Can only modify their state when a clock pulse is applied Asynchronous sequential circuits: –Can modify their state at any time –Feedback from memory can cause instabilities –Much less used

S-R Latch Two inputs –S for set (to one) –R for reset (to zero) Two complementary outputs Q and Q’. –Input S sets Q and resets Q’ – Input R resets Q and sets Q’

S-R latch using NOR gates Q’ Q R S The lines that cross in the middle do not touch each other

How it works (I) When S = R = 0 –If Q =1 Q’ remains reset Q remains set –If Q =0 Q’ remains set Q remains reset

How it works (II) When S = 1 and R = 0 –If Q =1 Q’ remains reset Q remains set –If Q =0 S=1 resets Q’ Q’ sets Q

How it works (III) When S = 0 and R = 1 –If Q =1 R = 1 resets Q Q = 0 sets Q’ –If Q =0 Q remains reset Q’ remains set

How it works (IV) When S = R = 1 –Nothing works! –Cannot allow it to happen

S-R latch using NAND gates Q Q’ R’ S’ Nothing happens as long as R = S = 1 Q and Q’ have been switched

How it works When S’ = 0 – Q NAND gate outputs 1 –Both inputs of Q’ NAND gates are 1 –Q’ NAND gate outputs 0 When R’ = 0 – Q’ NAND gate outputs 1 –Both inputs of Q NAND gates are 1 –Q NAND gate outputs 0

Clock controlled S-R latch (I) Will add additional clock input –Nothing can happen without a clock pulse

Clock-controlled S-R latch (II) Q’ Q R S Clock

Clock-controlled S-R latch (III) Q Q’ R S Clock Q and Q’ have been switched

How it works When S = 1 and Clock = 1 –S input NAND gate outputs 0 –Q NAND gate outputs 1 –Both inputs of Q’ NAND gates are 1 –Q’ NAND gate outputs 0 When R = 1 and Clock = 1 –R input NAND gate outputs 0 –Q’ NAND gate outputs 1 –Both inputs of Q NAND gates are 1 –Q NAND gate outputs 0

Clock-controlled D latch (I) Has one single input –S-R latch such that S = R’ When clock pulse is on –D = 0 resets Q and sets Q’ –D = 1 sets Q and resets Q’ D stands for Delay

Clock-controlled D latch (II) Q Q’ D Clock

D latch (III) D Clock Q Q’

Clock-controlled J-K latch (I) Avoid the problems of S-R latches When clock pulse is on –J = K = 0 does nothing –J = 1 and K = 0 sets Q and resets Q’ –J = 0 and K = 1 resets Q and sets Q’ –J = K = 1 toggles the latch Values of Q and Q’ change from 0 to 1 and from 1 to 0

Clock-controlled J-K latch (II) Q’ Q K J Clock

Clock-controlled J-K latch (III) Q Q’ K J Clock

How it works (I) When J = 1, Q’ = 1 and Clock = 1 –J NAND gate outputs 0 –Q NAND gate outputs 1 –Q’ NAND gate outputs 0 When J = 1, Q’ = 0 and Clock = 1 –J input has no effect

How it works (II) When K = 1, Q = 1 and Clock = 1 –K NAND gate outputs 0 –Q’ NAND gate outputs 1 –Q NAND gate outputs 0 When K = 1, Q = 0 and Clock = 1 –J input has no effect When J = K = 1 and Clock = 1 – Either Q = 0 disables the effect of having K = 1 or Q’ = 0 disables the effect of having J = 1

Clock-controlled J-K latch (IV) J K Clock Q Q’

Clock-controlled T latch (I) Has a single input –J-K latch such that J=K When clock pulse is on –T = 0 keeps current values of Q and Q’ unchanged –T = 1 toggles the latch Values of Q and Q’ change from 0 to 1 and from 1 to 0

Clock-controlled T latch (II) T Clock Q Q’ J-K latch Requires very short clock pulses!

Edge-triggered flipflops (I) If the clock pulse is not very short, J-K and T flipflops may change state twice during a clock pulse

Edge-triggered flipflops (II) Solution is to restrict change to either raising edge (a) or failing edge (b) of clock pulse –Use a short pulse generator (a) (b)

Short-pulse generator (I) Generator takes advantage of switching delay of NOT gate –When input goes from 0 to 1, output of NOT gate remains at 1 for a short while

Short-pulse generator (II) Input Output

J-K flip flop J K ClockQ Q’

Conventional representation J K Q Q’ Clock

Failing edge-triggered JK flipflop J K Q Q’ Clock

Notes There are many many different flipflops and latches Not all authors agree that –Latches are always level-triggered –Flipflops are always edge-triggered

Sequential circuit synthesis Multistep process: –Construct a conceptual representation of circuit Finite-state machine –Assign flipflop values to states –Build Karnaugh maps –Select flipflop types

Example A very simple binary counter –Counts input pulses –Goes through cycle 00  01  10  11  00  … Memory has four states Good prototype of bigger counters

Step 1: The finite-state machine /110/11 1/01 1/101/11 0/10 0/010/00

Note Each transition is labeled with a pair i/o where – i are the input value(s) triggering the transition – o are the output value(s) associated with the transition Our counter has no outputs other than the values of its flipflops

Step 2: Karnaugh maps (I) Truth table for least significant bit Y Flips when A = 1 X’Y’X’YXYXY’ A’0110 A1001

Step 2: Karnaugh maps (I) Truth table for least significant bit Y Flips when A = 1 X’Y’X’YXYXY’ A’0110 A1001

Step 2: Karnaugh maps (II) Solution is Y = A’Y + AY’ Could use a D flipflop and an XOR Better to use a T flipflop alone

Step 2: Karnaugh maps (III) Truth table for most significant bit X Flips when A = Y = 1 X’Y’X’YXYXY’ A’0011 A0101

Step 2: Karnaugh maps (III) Truth table for most significant bit X Flips when A = Y = 1 X’Y’X’YXYXY’ A’0011 A0101

Step 2: Karnaugh maps (IV) Solution is X = A’Y + AX’Y + XY’ Will use a T flipflop and an AND

Step 3: The circuit T Q’ Q X Clock T Q’ Q Y Clock

Notes In general, the assignment of states to flipflops is not as trivial –Start the state-transition diagram of the finite state machine with symbolic names for the states –Can often reduce the number of states by merging equivalent states

Debouncing switches Opening or closing an electrical connection cause transient signals –Interpreted by gates as multiple pulses Must debounce each switch

REVIEW PROBLEMS

Combinatorial circuits Simplify the following expression AB + BC + CA + A’C’

Solution AB + BC + CA + A’C’ = AC +B +A’C’ B’C’B’CBCBC’ A’1011 A0111

Combinatorial circuits Represent the expression AB + AC’ only using NAND gates

Solution AB + AC’ = ((AB)’ (AC’)’)’ First NAND computesX = (AB)’ Second NAND computes Y = C’ Third NAND computes Z = (AY)’ Fourth NAND computes(XZ)’ = X’ + Z’

Combinatorial circuits Represent the expression (A + B’)(A’ + C) using a PLA

Solution Must convert (A + B’)(A’ + C) into a sum of products (A + B’)(A’ + C) = AA’ + AC + B’A’ + B’C = AC + B’A’ + B’C

Sequential circuits Draw the state transition diagram for a sequential circuit outputting 1 if it has received an odd number of 1 inputs and 0 otherwise

Solution (I) 1/1 01 0/0 0/1 1/0

Solution (II) Implementing the circuit will only require a T flipflop

Sequential circuits Build a T flipflop using –A D flipflops –Some gates

Solution P is previous state of flipflop A is current input Solution is A’P+ AP’ (one XOR) P’P A’01 A10