Exact and heuristic minimization of Boolean functions

Similar documents
CS/EE 181a 2008/09 Lecture 4

Chapter 4 Optimized Implementation of Logic Functions

Configurational Analysis beyond the Quine-McCluskeyMilan, algorithm 8 February / 29

Quine-McCluskey (Tabular) Minimization

Minimization of Boolean Expressions Using Matrix Algebra

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 2

Logic Minimization. Two-Level. University of California. Prof. Srinivas Devadas. Prof. Richard Newton Prof. Sanjit Seshia. Prof.

ECE 3060 VLSI and Advanced Digital Design

L6: Two-level minimization. Reading material

Sum-of-Generalized Products Expressions Applications and Minimization

CS/EE 181a 2010/11 Lecture 4

14:332:231 DIGITAL LOGIC DESIGN

Digital Circuit And Logic Design I. Lecture 4

Chapter Adequacy of Solutions

Linear Equations in Linear Algebra

211: Computer Architecture Summer 2016

for Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid

Math 4242 Fall 2016 (Darij Grinberg): homework set 6 due: Mon, 21 Nov 2016 Let me first recall a definition.

Unit 6. Quine-McClusky Method. Unit 6 1

Minimierung. Wintersemester 2018/19. Folien basierend auf Material von F. Vahid und S. Werner Vorlesender: Dr. Ing.

Logic Synthesis and Verification

Digital Design. Digital Design

Handout for Adequacy of Solutions Chapter SET ONE The solution to Make a small change in the right hand side vector of the equations

CHAPTER 12 Boolean Algebra

Fundamental Algorithms for System Modeling, Analysis, and Optimization

(a)

UNIT 5 KARNAUGH MAPS Spring 2011

Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

DIGITAL ELECTRONICS & it0203 Semester 3

Introduction to Digital Logic Missouri S&T University CPE 2210 Karnaugh Maps

ENG2410 Digital Design Combinational Logic Circuits

Exact and Approximate Numbers:

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev. Section 2: Boolean Algebra & Logic Gates

Unit 2 Session - 6 Combinational Logic Circuits

Advanced Digital Design with the Verilog HDL, Second Edition Michael D. Ciletti Prentice Hall, Pearson Education, 2011

CS221: Digital Design. Dr. A. Sahu. Indian Institute of Technology Guwahati

Simplification of Boolean Functions. Dept. of CSE, IEM, Kolkata

ESE535: Electronic Design Automation. Today. Problem. EDA Use PLA. Programmable Array Logic (PLAs) Two-Level Logic Optimization

L4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES

CMSC 313 Preview Slides

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

0.1. Linear transformations

Karnaugh Maps Objectives

PLA Minimization for Low Power VLSI Designs

Combinatorial Logic Design Principles

Two-level logic minimization: an overview

3.3.1 Linear functions yet again and dot product In 2D, a homogenous linear scalar function takes the general form:

1 Kernel methods & optimization

Boolean cubes EECS150. Mapping truth tables onto cubes. Simplification. The Uniting Theorem. Three variable example

CS137: Electronic Design Automation. Today. Input Encoding. Output Encoding. State Encoding. Finite-State Machine. Encoding

University of Technology

WEEK 3.1 MORE ON KARNAUGH MAPS

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 1 Gate Circuits and Boolean Equations

Honours Advanced Algebra Unit 2: Polynomial Functions What s Your Identity? Learning Task (Task 8) Date: Period:

C/CS/Phys C191 Grover s Quantum Search Algorithm 11/06/07 Fall 2007 Lecture 21

Fundamentals of Computer Systems

Matrix inversion and linear equations

Chapter 2 Combinational

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

Possible logic functions of two variables

Honors Advanced Algebra Unit 2 Polynomial Operations September 14, 2016 Task 7: What s Your Identity?

This form sometimes used in logic circuit, example:

REPRESENTATION AND MINIMIZATION OF BOOLEAN FUNCTIONS. Part II Minimization of Boolean Functions.

SYMBOLIC AND EXACT STRUCTURE PREDICTION FOR SPARSE GAUSSIAN ELIMINATION WITH PARTIAL PIVOTING

EC5555 Economics Masters Refresher Course in Mathematics September 2014

Section Summary. Sequences. Recurrence Relations. Summations Special Integer Sequences (optional)

ELC224C. Karnaugh Maps

Chapter 2 Combinational Logic Circuits

Binary logic consists of binary variables and logical operations. The variables are

Heuristic Minimization of Two Level Circuits

Optimizations and Tradeoffs. Combinational Logic Optimization

Boolean Algebra CHAPTER 15

Mark Redekopp, All rights reserved. Lecture 4 Slides. Boolean Algebra Logic Functions Canonical Sums/Products

The Karnaugh Map COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals

= V I = Bus Admittance Matrix. Chapter 6: Power Flow. Constructing Ybus. Example. Network Solution. Triangular factorization. Let

Chapter 2 Combinational Logic Circuits

Simlification of Switching Functions

CMSC 313 Lecture 19 Combinational Logic Components Programmable Logic Arrays Karnaugh Maps

Logical Design of Digital Systems

Karnaugh Maps (K-Maps)

LOGIC GATES. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: LOGIC SYNTHESIS

A BRIEF REVIEW OF ALGEBRA AND TRIGONOMETRY

Working with Combinational Logic. Design example: 2x2-bit multiplier

Logic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 2 Circuit Optimization

Logic Design I (17.341) Fall Lecture Outline

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

Logic Synthesis and Verification. Two-Level Logic Minimization (1/2) Quine-McCluskey Procedure. Complexity

Textbook: Digital Design, 3 rd. Edition M. Morris Mano

22. RADICALS. x add 5. multiply by 7

VCE Mathematical Methods (CAS)

3.1: 1, 3, 5, 9, 10, 12, 14, 18

Contents. Chapter 3 Combinational Circuits Page 1 of 36

Digital Logic Design. Combinational Logic

ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2

: Error Correcting Codes. December 2017 Lecture 10

Lecture 4: More Boolean Algebra

Transcription:

Eact and heuristic minimization of Boolean functions Quine a McCluskey Method a) Generation of all prime implicants b) Selection of a minimum subset of prime implicants, which will represent the original function (cover) Espresso Method Combines many of the best heuristic algorithms Uses iterative improvement strategy Z

Algorithms used in ESRESSO F,D Complement Epand he algorithms are fully detailed in: Essential primes rredundant-cover Reduce Last-gasp F M Z ESRESSO is available as a public domain software 2

Modified Epansion Method Joins ideas of Quine McCluskey as well as Espresso method: a) Generation of prime implicants (from Espresso) b) Selection of prime implicants (from Quine McCluskey) he method has been implemented in program ANDOR which is available on www.zpt.tele.pw.edu.pl Navigate to SOFARE and then to ANDOR Z 3

Basic notions A cube is a row vector, which entries take values,,. he entry in the cube is referred to as input don t care. K ( ), means the set of binary vectors (minterms): A cube represents product of literals: K 3 Z 4

Notations For boolean function f, we define: the on-set f ON, the set of input values such that f(), the off-set f OFF, the set of input values such that f(), and the don t care-set f DC, the set of input values such that f(). he on-set f ON,off-setf OFF, and don t care-set f DC are also denoted as F, R, and D, respectively. hen f (F, R) Z 5

6 Z Eample (EXL) k 5 k 4 k 3 k 2 k f 7 6 5 4 3 2 F R

Epand Epand Ekspansja is the procedure which epands a cube k F, into a prime implicant, in such a way that the prime cube d be as large as possible i.e. with the largest number of entries equal to. he EXAND strategy is guided by a blocking matri, B. Z 7

Blocking matri he blocking matri B(k,R) is a binary matri determined by the cube k to be epanded and by R, the cover of the off-set. he elements of B(k,R) [b ij ], are defined as follows: b ij, if k j and r ij or k j and r ij ; b ij, otherwise. he blocking matri for a given k F arises from matri R by complementation the columns of R, which entries are indicated by entries equal to in the cube k. Z 8

9 Z Creating a blocking matri F R B Having matrices F and R we create blocking matri determined by the cube k (the first row of F : As k (), to create B it is enough to invert the second, fifth and the seventh column of matri R. hus B(k,R):

Column cover he set L (L {,...,n}) columns of B is said a column cover if for each row i there eists column j L, such that b ij. Each row must have a in at least one of the columns which correspond to minimal column cover. he set L is a minimum column cover of B, if there does not eist the set L (forming the column cover) such, that L L. Column cover is a general notion with wide applications in many other problems. Z

Z Finding a minimal column cover L {2,3,6} the minimal column cover. 7 6 5 4 3 2 B L {4,7} the minimal column cover. L {2,3} no, L {2,6} no, L {3,6} no. Loking at the matri B we can guess some covers

Finding a minimal column cover B 2 3 4 5 6 7 {L 6, L 7 } {L 3, L 4 } {L 2, L 4 } {L 2, L 3, L 7 } (L 6 + L 7 ) (L 3 + L 4 ) (L 2 + L 4 ) (L 2 + L 3 + L 7 ) (L 4 + L 2 )(L 4 + L 3 )( L 7 + L 6 )(L 7 + L 2 + L 3 ) (L 4 + L 2 L 3 )(L 7 + L 6 (L 2 + L 3 )) (L 4 + L 2 L 3 )(L 7 + L 2 L 6 + L 3 L 6 ) L 4 L 7 + L 2 L 4 L 6 + L 3 L 4 L 6 + L 2 L 3 L 7 + L 2 L 3 L 6 + L 2 L 3 L 6 Z 2

Generation of prime implicants he blocking matri B(k,R) allows finding epanded cube denoted k + (L,k) as follows: all entries of k belonging to L are not subject of changing, whereas entries beyond the set L take the value. k + j ( L, k) k j, if he epanded cube k is an implicant of function f (F,R). j L, otherwise. f L is a minimum column-cover of B(k,R), then k + (L,k) is a largest prime implicant of f (F,R) containing k., Z 3

4 Z Given k 2 () and matri B 7 6 5 4 3 2 set L {4,7} is a minimum column cover of B, so 4 7 6 3 2 hereas for L {2,3,6} (another column cover), k + (L,k) ( ) k 2 () thus an implicant of F is k + (L, k 2 ) ( ), Generation of prime implicants - eample

Set of prime implicants Epanding the input minterms one after the other we obtain the following set of prime implicants: k k 2 2 3 4 2 4 2 7 3 6 6 5 6 5 6 7 7 3 6 k 3 k 4 the same as 3 k 5 Z Having a list of prime implicants F we can apply the net step i.e. selection of a minimal subset of them to cover all the s of the function. 5

but before an auiliary notion Cube c covers cube d (c d) if for each i such that c i or c i, the corresponding d i c i. ( ) ( ) ( ) ( ) Z 6

rime implicant table Recall the set of primary minterms 2 3 k 7 k 2 k 3 k 4 k 5 4 5 6 2 26 3 4 7 ( ) ( ) k ( ) k k, k 5,k, k 2 3 4 k 2 k k k 3 k 4 k 5 Z 7

rime implicant table 2 3 2 4 6 7 ( ) k ( ) k,k 5 ( ) k,k 2 3,k 4 Each entry is a bit that is if the prime implicant for that column covers the minterm for that row, otherwise the entry is. 2 3 k 7 k 2 k 3 k 4 k 5 4 5 6 Z 8

Selection of prime implicants Column cover 2 3 4 5 6 7 k k 2 k 3 k 4 k 5 Other description:, 2 3, 4 3, 5, 6, 7 3 2, 7 2 2 6 3 4 7, 2 2, 7 Minimal cover: 2, 3 Minimal epression: 47 + 26 Z 9

ANDOR he method has been implemented in program ANDOR which is available on www.zpt.tele.pw.edu.pl Navigate to SOFARE and then to ANDOR Z 2