Lecture 6 Logistics Last lecture Today’s lecture

Slides:



Advertisements
Similar presentations
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Advertisements

ECE 301 – Digital Electronics Karnaugh Maps (Lecture #7) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design,
ENGIN112 L8: Minimization with Karnaugh Maps September 19, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 6 Dr. Shi Dept. of Electrical and Computer Engineering.
بهينه سازي با نقشة کارنو
Give qualifications of instructors: DAP
Gate Logic: Two Level Canonical Forms
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 3-1 Chapter #2: Two-Level Combinational Logic Section 2.1, Logic Functions.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
ECE 331 – Digital System Design Karnaugh Maps and Determining a Minimal Cover (Lecture #7) The slides included herein were taken from the materials accompanying.
ECE 301 – Digital Electronics Karnaugh Maps and Determining a Minimal Cover (Lecture #8) The slides included herein were taken from the materials accompanying.
CS 151 Digital Systems Design Lecture 8 Minimization with Karnaugh Maps.
بهينه سازي با نقشة کارنو Karnaugh Map. 2  Method of graphically representing the truth table that helps visualize adjacencies 2-variable K-map 3-variable.
Week 3- slide 1 EE 231 Digital Electronics Fall 01 Gate Logic: Two-Level Simplification K-Map Method Examples F = A asserted, unchanged B varies G = B’,
Overview of Chapter 3 °K-maps: an alternate approach to representing Boolean functions °K-map representation can be used to minimize Boolean functions.
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
Department of Computer Engineering
9/16/04UCB EECS150 D. Culler Fa04 1 EECS Components and Design Techniques for Digital Systems Lec 06 – Minimizing Boolean Logic 9/16-04 David Culler.
F = ∑m(1,4,5,6,7) F = A’B’C+ (AB’C’+AB’C) + (ABC’+ABC) Use X’ + X = 1.
Optimization Algorithm
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Test Slide SAT MCAT GRE. CSE 370 Spring 2006 Introduction to Digital Design Lecture 5: Canonical Forms Last Lecture Logic Gates Different Implementations.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Conversion from one number base to another Binary arithmetic Equation simplification DeMorgan’s Laws Conversion to/from SOP/POS Reading equations from.
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
 Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
School of Computer and Communication Engineering, UniMAP DKT 122/3 - DIGITAL SYSTEM I Chapter 4A:Boolean Algebra and Logic Simplification) Mohd ridzuan.
1 CSE370, Lecture 8 Lecture 8 u Logistics n Midterm 1 week from today in class. Closed book/closed notes n Sample midterm linked in on calendar n Review.
1 CSE370, Lecture 7 Lecture 9 u Logistics n HW3 posted, due on Friday n Lab3 this week u Last lecture n Verilog u Last last lecture n K-maps examples n.
Lecture 3: Incompletely Specified Functions and K Maps
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
© Copyright 2004, Gaetano Borriello and Randy H. Katz
Computer Organisation
Optimized Implementation of Logic Function
ECE Digital logic Lecture 10: Karnaugh MAps
ECE 331 – Digital System Design
Digital Logic and Design
CSE 311 Foundations of Computing I
Lecture 3: Incompletely Specified Functions and K Maps
Optimized Implementation of Logic Function
ECE 331 – Digital System Design
Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday
CSE 370 – Winter 2002 – Logic minimization - 1
Lecture 8 Logistics Last lecture Last last lecture Today
ECE 331 – Digital System Design
ECE 331 – Digital System Design
Optimization Algorithm
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
January 19 W’05 Yutao He 4532B Boelter Hall CSM51A/EEM16-Sec.1 W’05
ECE 331 – Digital System Design
Chapter 3 Gate-level Minimization.
Lecture 6 Karnaugh maps (K-maps) K-maps with “don’t cares”
Optimized Implementation of Logic Function
Spring Combinational Logic - 1
COE 202: Digital Logic Design Combinational Logic Part 3
Lecture 9 Logistics Last lecture Last last lecture Today
Chapter #2: Two-Level Combinational Logic
Overview Part 2 – Circuit Optimization
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Lecture 4 Logistics Last lecture --- Boolean algebra Today’s lecture
Lecture 5 Converting to use NAND and NOR
Lecture 7 Logistics Last lecture Today HW2 due now Lab2 going on
Lecture 6 Logistics Last lecture Today’s lecture HW2 due on Wednesday
Lecture 3: Incompletely Specified Functions and K Maps
ECE 331 – Digital System Design
Computer Architecture
Presentation transcript:

Lecture 6 Logistics Last lecture Today’s lecture TA Office Hour today 3:30 in EEB 003 Monday holiday Last lecture NAND and NOR and pushing bubbles Logic simplification: Visualization techniques Boolean cubes Today’s lecture Karnaugh maps (K-maps) K-maps with “don’t cares” Class rule: Interrupt when you don’t understand why we are doing something

The “WHY” slide Karnaugh map (K-map) Don’t cares A visualization tool for logic simplification. It is a flattened version of Boolean cube that allows you to solve even difficult and complex Boolean expression into the minimized form. A convenient tool for you to know for up to 6 input variable expressions (e.g. X = f(A, B, C, D, E, F)) Don’t cares Sometimes the logic output doesn’t matter. When we don’t care if the output is 0 or 1, rather than assigning random outputs, it is best to denote it as “Don’t care.” If you learn how to use the “don’t care’s”, you will be able to build even more efficient circuits than without them. Class rule: Interrupt when you don’t understand why we are doing something

Recall example using Boolean cube On-set is covered by the OR of one 2-D subcube and one 3-D subcube A B C D 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 (A'+A)BC 111 A(B+B')(C+C ‘) B 101 Cin 000 A D = BC+A

Karnaugh maps (K-map) Flat representation of Boolean cubes Easy to use for 2– 4 dimensions Harder for 5 – 6 dimensions Virtually impossible for >6 dimensions Use CAD tools Help visualize adjacencies On-set elements that have one variable changing are adjacent A B F 0 0 1 0 1 0 1 0 1 1 1 0 1 2 3 A 1 B 1 1 0 2 1 3 1

K-map minimization example: 2 variables A B F 0 0 1 0 1 0 1 0 1 1 1 0 A 1 2 3 B 1 F = B' 1 1 0 0 2 1 1 3

2, 3, and 4 dimensional K-maps Uses Gray code: Only one bit changes between cells Example: 00  01  11  10 C 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 AB CD A D 00 01 11 10 B A 0 2 6 4 1 3 7 5 1 AB A 00 01 11 10 C B A 1 B 2 B 1 1 3

Adjacencies Wrap–around at edges First column to last column Top row to bottom row AB A 011 111 C 00 01 11 10 010 000 001 010 011 110 111 100 101 0 2 6 4 1 3 7 5 001 B C 101 C 1 000 A 100 B

K-map minimization example: 3 variables Find the least number of subcubes, each as large as possible, that cover the ON-set Make sure subcubes contain 1, 2, 4, or 8 items (remember the Boolean cube) A B Cin Cout 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 B Cin 1 AB A 00 01 11 10 0 2 6 4 1 3 7 5 0 0 1 0 0 1 1 1 Cout = AB + BCin + ACin 111 101 A B Cin 000

One more example: 3 variables Find the least number of subcubes, each as large as possible, that cover the ON-set Make sure subcubes contain 1, 2, 4, or 8 items (remember the Boolean cube) A B C D 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 A AB C 00 01 11 10 0 0 1 1 0 1 1 1 D = A + BC 0 2 6 4 1 3 7 5 1 B 111 A B Cin 000 101

K-map minimization example: minterms AB 00 01 11 10 C F(A,B,C) = m(0,4,5,7) = B'C'+AC 1 0 0 1 0 0 1 1 0 2 6 4 1 3 7 5 1 B

K-map minimization example: complement AB F(A,B,C) = m(0,4,5,7) = B'C'+AC F'(A,B,C) = m(1,2,3,6) = A’C + BC’ 00 01 11 10 C 1 0 0 1 0 0 1 1 0 2 6 4 1 3 7 5 1 B

K-map minimization example: 4 variables Minimize F(A,B,C,D) = m(0,2,3,5,6,7,8,10,11,14,15) Answer: F = C+A'BD+B'D' A AB 00 01 11 10 0111 1111 CD 00 1 0 0 1 0 1 0 0 1 1 1 1 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 01 D C D A 11 1000 0000 C B 10 B Find the least number of subcubes, each as large as possible, that cover the ON-set

K-map minimization examples: on whiteboard F(A,B,C,D) = m(0,3,7,8,11,15) F(A,B,C,D) = F’(A,B,C,D) = F(A,B,C) = m(0,3,6,7) F(A,B,C) = F'(A,B,C) = AB 00 01 11 10 CD 00 AB 01 00 01 11 10 C 11 1 10

How about Karnaugh Maps, 6 dimensions? CD EF 00 01 11 10 K-maps become 3D for 5 & 6 variables CD EF 00 01 11 10 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 AB = 00 AB = 01 CD EF 00 01 11 10 CD EF 00 01 11 10 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 OUTPUT = A’BC’D’F’ + AB = 11 AB = 10 CF + BC’D’E

Incompletely specified functions: Don’t cares Functions of n inputs have 2n possible configurations Some combinations may be unused Call unused combinations “don’t cares” Exploit don’t cares during logic minimization Don’t care  no output Example: A BCD increment-by-1 Function F computes the next number in a BCD sequence If the input is 00102, the output is 00112 BCD encodes decimal digits 0–9 as 00002–10012 Don’t care about binary numbers 10102–11112

Truth table for a BCD increment-by-1 INPUTS OUTPUTS A B C D W X Y Z 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X off-set for W: m0–m6, m9 on-set for W: m7 and m8 Don't care set for W: We don't care about the output values

Notation Don't cares in canonical forms Three distinct logical sets: {on}, {off}, {don’t care} Canonical representations of a BCD increment-by-1 Minterm expansion W = m7+m8+d10+d11+d12+d13+d14+d15 = m(7,8) + d(10,11,12,13,14,15) Maxterm expansion W = M0•M1•M2•M3•M4•M5•M6•M9•D10•D11•D12•D13•D14•D15 = PM(0,1,2,3,4,5,6,9) • D(10,11,12,13,14,15) In K-maps, can treat ‘don't cares’ as 0s or 1s Depending on which is more advantageous

Example: with don’t cares F(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13) F = A'D + B'C'D without using don't cares F = A'D + C'D using don't cares A AB 00 01 11 10 CD Assign X == "1"  allows a 2-cube rather than a 1-cube 00 0 0 X 0 1 1 X 1 1 1 0 0 0 X 0 0 01 D 11 C 10 B