Revision Mid 1 Prof. Sin-Min Lee Department of Computer Science.

Slides:



Advertisements
Similar presentations
State-machine structure (Mealy)
Advertisements

Prof. Sin-Min Lee Department of Computer Science
Sequential Logic ENEL 111. Sequential Logic Circuits So far we have only considered circuits where the output is purely a function of the inputs With.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Sequential Logic Flip Flops Lecture 4.
The Map Method Boolean expressions may be simplified by algebraic means as discussed in Previous lecture However, this procedure of minimization is awkward.
1 Homework Reading –Tokheim, Section 5-1, 5-2, 5-3, 5-7, 5-8 Machine Projects –Continue on MP4 Labs –Continue labs with your assigned section.
Revision Mid 2 Prof. Sin-Min Lee Department of Computer Science.
Sequential Circuits and Finite State Machines Prof. Sin-Min Lee
CHAPTER 3 Digital Logic Structures
Sequential Circuits Problems(I) Prof. Sin-Min Lee Department of Mathematics and Computer Science Algorithm = Logic + Control.
Revision Mid 2 Prof. Sin-Min Lee Department of Computer Science.
Lecture 3. Boolean Algebra, Logic Gates
Chapter 2: Combinatorial Logic Circuits Illustration Pg. 32 Logic Circuit Diagrams - Circuit Optimization -2,3,4 level maps 48 elements Optimized to 25.
Sequential circuit design
Computer Organization and Assembly Language: Chapter 7 The Karnaugh Maps September 30, 2013 By Engineer. Bilal Ahmad.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Digital Computer Design Fundamental
Digital Logic Chapter 4 Presented by Prof Tim Johnson
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
1 Chapter 5 Karnaugh Maps Mei Yang ECG Logic Design 1.
CHAPTER 1 INTRODUCTION TO DIGITAL LOGIC. K-Map (1)  Karnaugh Mapping is used to minimize the number of logic gates that are required in a digital circuit.
1 Boolean Algebra & Logic Gates. 2 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
JK Flip-Flop. JK Flip-flop The most versatile of the flip-flops Has two data inputs (J and K) Do not have an undefined state like SR flip-flops – When.
Introduction to State Machine
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
T,JK-flip-flop, Midterm 1 Revision Decoders and Multiplexers Prof. Sin-Min Lee Department of Computer Science San Jose State University.
CS1Q Computer Systems Lecture 7
February 2, 2004CS 2311 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are AND, OR and.
Computer Arithmetic, K-maps Prof. Sin-Min Lee Department of Computer Science.
מבנה מחשב תרגול 1 מבוא, אריתמטיקה בסיסית – ייצוג גרפי.
Hamming Code,Decoders and D,T-flip flops Prof. Sin-Min Lee Department of Computer Science.
CS231 Boolean Algebra1 Summary so far So far: – A bunch of Boolean algebra trickery for simplifying expressions and circuits – The algebra guarantees us.
1Sequential circuit design Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA by Erol Sahin and Ruken Cakici.
Sum-of-Products (SOP)
1 Homework Reading –Tokheim, Section 5-1, 5-2, 5-3, 5-7, 5-8 Machine Projects –Continue on MP4 Labs –Continue labs with your assigned section.
Chapter 3 Special Section Focus on Karnaugh Maps.
KARNAUGH MAP A Karnaugh map (K Map) is a pictorial method used to minimize boolean expressions without having to use boolean algebra theorems and equation.
Sahar Mosleh PageCalifornia State University San Marcos 1 More on Flip Flop State Table and State Diagram.
Logic Simplification-Using K-Maps
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Synchronous Counter Design
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
K-maps and Decoders Prof. Sin-Min Lee Department of Computer Science.
CHAPTER 3 Simplification of Boolean Functions
Homework Reading Machine Projects Labs
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Prof. Sin-Min Lee Department of Computer Science
Dr. Clincy Professor of CS
Sequential Logic and Flip Flops
Reading: Hambley Chapters
Digital Logic and Design
Sequential Logic and Flip Flops
Dr. Clincy Professor of CS
Dr. Clincy Professor of CS
BASIC & COMBINATIONAL LOGIC CIRCUIT
Dr. Clincy Professor of CS
Dr. Clincy Professor of CS
Unit 3 Simplification and K-map
CS Chapter 3 (3A and ) – Part 3 of 5
Dr. Clincy Professor of CS
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Chapter 3 Special Section
ECE 352 Digital System Fundamentals
EGR 2131 Unit 12 Synchronous Sequential Circuits
Laws & Rules of Boolean Algebra
Presentation transcript:

Revision Mid 1 Prof. Sin-Min Lee Department of Computer Science

Determining the minimum SOP Expression from the Map  Groups the cells that have 1s. Each group of cells containing 1s create one product term composed of all variables that occur in only one form (either uncomplemented or complemented) within the group. Variable that occurs both uncomplemented and complemented within the group are eliminated. These are called contradictory variables.

Example: Determine the product term for the K-Map below and write the resulting minimum SOP expression 1

Example: Use a K-Map to minimize the following standard SOP expression

Mapping Directly from a Truth Table

Don’t Care (X) Conditions  A situation arises in which input variable combinations are not allowed  Don’t care terms either a 1 or a 0 may be assigned to the output

Don’t Care (X) Conditions Example of the use of “don’t care” conditions to simplify an expression

Exercise: Use K-Map to find the minimum SOP from 1 2

JK Flip-flop  The most versatile of the flip-flops  Has two data inputs (J and K)  Do not have an undefined state like SR flip- flops When J & K both equal 1 the output toggles on the active clock edge  Most JK flip-flops based on the edge- triggered principle J K Q Q JKCQ n+1 00  Q n Hold 01  0Reset 10  1Set 11  Q n Toggle XXXQ n Hold +ve edge triggered JK flip-flop The C column indicates +ve edge triggering (usually omitted)

Example JK circuit J K Ck Q ~Q JKCQ n+1 00  Q n Hold 01  0Reset 10  1Set 11  Q n Toggle XXXQ n Hold F E A B C D Assume Q = 0, ~Q = 1, K = 1 Gate B is disabled (Q = 0, F = 1) Make J = 1 to change circuit, when Ck = 1, all inputs to A = 1, E goes to 0, makes Q = 1 Now Q and F are both 1 so ~Q = 0 and the circuit has toggled.

Timing diagram for JK Flip- flop cloc k J K Q toggle J=K=1 hold J=K=0 reset J= 0 K=1 set J= 1 K=0 Negative Edge Triggered

Clock Pulse  The JK flip flop seems to solve all the problems associated with both inputs at 1.  However the clock rise/fall is of finite duration.  If the clock pulse takes long enough, the circuit can toggle.  For the JK flip flop it is assumed the pulse is quick enough for the circuit to change only once. ideal / actual edge pulse

JK from D Flip-flop D C Q Q’ J K CLK

Implementing with a D AND a T flip-flop Using this FSM with three states, an operating only on inputs and transitions from one state to another, we will be using both D and T flip-flops.

Implementing with a D AND a T flip-flop Since we have no state “11”, our Q(t+1) is “don't care” = “XX” for both of these transitions. Consider the first column of the Q(t+1) values to be “D” and the second to be “T” and then we derive two corresponding charts. DT

Implementing with a D AND a T flip-flop Then we need to derive the corresponding equations.

Implementing with a D AND a T flip-flop We assume that Q(t) is actually a pair of Q D Q T. Now, with these equations, we can graph the results.

Implementing with a D AND a T flip-flop

3A.1 Introduction  In 1953, Maurice Karnaugh was a telecommunications engineer at Bell Labs.  While exploring the new field of digital logic and its application to the design of telephone circuits, he invented a graphical way of visualizing and then simplifying Boolean expressions.  This graphical representation, now known as a Karnaugh map, or Kmap, is named in his honor.

3A.2 Description of Kmaps and Terminology  A Kmap is a matrix consisting of rows and columns that represent the output values of a Boolean function.  The output values placed in each cell are derived from the minterms of a Boolean function.  A minterm is a product term that contains all of the function’s variables exactly once, either complemented or not complemented.

 For example, the minterms for a function having the inputs x and y are:  Consider the Boolean function,  Its minterms are: 3A.2 Description of Kmaps and Terminology

 Similarly, a function having three inputs, has the minterms that are shown in this diagram. 3A.2 Description of Kmaps and Terminology

 A Kmap has a cell for each minterm.  This means that it has a cell for each line for the truth table of a function.  The truth table for the function F(x,y) = xy is shown at the right along with its corresponding Kmap.

3A.3 Kmap Simplification for Two Variables  The best way of selecting two groups of 1s form our simple Kmap is shown below.  We see that both groups are powers of two and that the groups overlap.  The next slide gives guidance for selecting Kmap groups.

The rules of Kmap simplification are: Groupings can contain only 1s; no 0s. Groups can be formed only at right angles; diagonal groups are not allowed. The number of 1s in a group must be a power of 2 – even if it contains a single 1. The groups must be made as large as possible. Groups can overlap and wrap around the sides of the Kmap. 3A.3 Kmap Simplification for Two Variables

3A.4 Kmap Simplification for Three Variables  A Kmap for three variables is constructed as shown in the diagram below.  We have placed each minterm in the cell that will hold its value. Notice that the values for the yz combination at the top of the matrix form a pattern that is not a normal binary sequence.

3A.4 Kmap Simplification for Three Variables  Thus, the first row of the Kmap contains all minterms where x has a value of zero.  The first column contains all minterms where y and z both have a value of zero.

3A.4 Kmap Simplification for Three Variables  Consider the function:  Its Kmap is given below. What is the largest group of 1s that is a power of 2?

3A.4 Kmap Simplification for Three Variables  This grouping tells us that changes in the variables x and y have no influence upon the value of the function: They are irrelevant.  This means that the function, reduces to F(x) = z. You could verify this reduction with identities or a truth table.

3A.4 Kmap Simplification for Three Variables  Now for a more complicated Kmap. Consider the function:  Its Kmap is shown below. There are (only) two groupings of 1s. Can you find them?

3A.4 Kmap Simplification for Three Variables  In this Kmap, we see an example of a group that wraps around the sides of a Kmap.  This group tells us that the values of x and y are not relevant to the term of the function that is encompassed by the group. What does this tell us about this term of the function? What about the green group in the top row?

3A.4 Kmap Simplification for Three Variables  The green group in the top row tells us that only the value of x is significant in that group.  We see that it is complemented in that row, so the other term of the reduced function is.  Our reduced function is: Recall that we had six minterms in our original function!

3A.5 Kmap Simplification for Four Variables  Our model can be extended to accommodate the 16 minterms that are produced by a four-input function.  This is the format for a 16-minterm Kmap.

3A.5 Kmap Simplification for Four Variables  We have populated the Kmap shown below with the nonzero minterms from the function: Can you identify (only) three groups in this Kmap? Recall that groups can overlap.

3A.5 Kmap Simplification for Four Variables  Our three groups consist of: A purple group entirely within the Kmap at the right. A pink group that wraps the top and bottom. A green group that spans the corners.  Thus we have three terms in our final function:

3A.5 Kmap Simplification for Four Variables  It is possible to have a choice as to how to pick groups within a Kmap, while keeping the groups as large as possible.  The (different) functions that result from the groupings below are logically equivalent.

3A.6 Don’t Care Conditions  Real circuits don’t always need to have an output defined for every possible input. For example, some calculator displays consist of 7- segment LEDs. These LEDs can display patterns, but only ten of them are useful.  If a circuit is designed so that a particular set of inputs can never happen, we call this set of inputs a don’t care condition.  They are very helpful to us in Kmap circuit simplification.

3A.6 Don’t Care Conditions  In a Kmap, a don’t care condition is identified by an X in the cell of the minterm(s) for the don’t care inputs, as shown below.  In performing the simplification, we are free to include or ignore the X’s when creating our groups.

3A.6 Don’t Care Conditions  In one grouping in the Kmap below, we have the function:

3A.6 Don’t Care Conditions  A different grouping gives us the function:

3A.6 Don’t Care Conditions  The truth table of: is different from the truth table of:  However, the values for which they differ, are the inputs for which we have don’t care conditions.

 Kmaps provide an easy graphical method of simplifying Boolean expressions.  A Kmap is a matrix consisting of the outputs of the minterms of a Boolean function.  In this section, we have discussed and 4- input Kmaps. This method can be extended to any number of inputs through the use of multiple tables. 3A Conclusion