MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Three Special Functions
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
Gate-Level Minimization
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
ECE 667 Synthesis and Verification of Digital Systems
Logic Functions and their Representation. Slide 2 Combinational Networks x1x1 x2x2 xnxn f.
SYEN 3330 Digital Systems Jung H. Kim Chapter SYEN 3330 Digital Systems Chapter 2 – Part 5.
Simplifying Boolean Expressions Using K-Map Method
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Tautology. Tautology Decision May be able to use unateness to simplify process Unate Function – one that has either the uncomplemented or complemented.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
BOOLEAN FUNCTION PROPERTIES
Logic Function Optimization. Combinational Logic Circuit Regular SOP and POS designs Do not care expressions Digital logic circuit applications Karnaugh.
Switching functions The postulates and sets of Boolean logic are presented in generic terms without the elements of K being specified In EE we need to.
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.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
ECE 3110: Introduction to Digital Systems Symplifying Products of sums using Karnaugh Maps.
Chapter 6 Quine-McCluskey Method Mei Yang ECG Logic Design 1.
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
Multiple Valued Logic Currently Studied for Logic Circuits with More Than 2 Logic States –Intel Flash Memory – Multiple Floating Gate Charge Levels – 2,3.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 9 Boolean Algebras and Combinatorial Circuits.
ECE/CS 352 Digital System Fundamentals1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapter 2 – Part 5 Tom Kaminski & Charles R. Kime.
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ECE DIGITAL LOGIC LECTURE 8: BOOLEAN FUNCTIONS Assistant Prof. Fareena Saqib Florida Institute of Technology Spring 2016, 02/11/2016.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
CHAPTER 6 Quine-McCluskey Method
Lecture 6 Quine-McCluskey Method
EECS 465: Digital Systems Design Lecture Notes
CHAPTER 3 Simplification of Boolean Functions
Computer Organisation
Chapter 4 Simplification of Boolean Functions Karnaugh Maps
QUINE-McCLUSKEY METHOD
EECS 465: Digital Systems Design Lecture Notes #3
CSCE 211: Digital Logic Design
Lecture 3 Boolean algebra
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
SYEN 3330 Digital Systems Chapter 2 – Part 4 SYEN 3330 Digital Systems.
MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values.
Karnaugh Maps Introduction Venn Diagrams 2-variable K-maps
SYEN 3330 Digital Systems Chapter 2 – Part 5 SYEN 3330 Digital Systems.
Dr. Clincy Professor of CS
MINTERMS and MAXTERMS Week 3
Sungho Kang Yonsei University
CSCE 211: Digital Logic Design
COE 202: Digital Logic Design Combinational Logic Part 3
ECB2212-Digital Electronics
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
A logic function f in n inputs x1, x2, ...xn and
Overview Part 2 – Circuit Optimization
Heuristic Minimization of Two Level Circuits
CHAPTER 6 QUINE-McCLUSKEY METHOD
Analysis of Logic Circuits Example 1
Analysis of Logic Circuits Example 1
Tautology Decision May be able to use unateness to simplify process
A logic function f in n inputs x1, x2, ...xn and
CSCE 211: Digital Logic Design
Presentation transcript:

MVI Function Review Input X is p-valued variable. Each Input can have Value in Set {0, 1, 2, ..., pi-1} literal over X corresponds to subset of values of S  {0, 1, ... , p-1} denoted by XS or X{j} where j is the logic value Empty Literal: X{} Full Literal has Values S={0, 1, 2, …, p-1} X{0,1,…,p-1} Equivalent to Don’t Care

SOP Bit Representation X1 X2 X3 01 – 012 – 0123 11 – 100 – 1000 11 – 010 – 0101 11 – 001 – 0010 01 – 110 – 0001 c = X1S1 X2S2 . . . XnSn , Si  Pi Cube in an n-dimensional hyper-cube

Restriction (Cofactor) Operation Restriction of Two-Valued Output Function F obtained by restricting Domain to D, denoted by F(|D) For SOP, the restriction is defined as follows: Let F be a SOP, and c = X1S1 X2S2 . . . XnSn be a product. Then, the restriction F(|c) of F to c is obtained as follows: For each product term in F, make a logical product with c. Delete the zero terms. Let d = X1T1 X2T2 . . . XnTn be a product obtained in (1). Replace d with X1(T1 S1) X2(T2 S2) . . . Xn(Tn Sn)

Procedure for Finding F(|c) 11 – 100 – 1000 11 – 010 – 0101 11 – 001 – 0010 01 – 110 – 0001 F = c = (01-101-1111) Step 1: Bit-wise AND each product term in F with c 01 – 100 – 1000 01 – 001 – 0010 01 – 100 – 0001 F c = Step 2: Bit-wise OR each product term in F  c with c 11 – 110 – 1000 11 – 011 – 0010 11 – 110 – 0001 F(|c) =

Cofactor Concept By Shannon’s Expansion f (x1, x2 , . . , xn ) = x1 f (0, x2 , . . , xn ) + x1 f (1, x2 , . . , xn ) F(|c0) F(|c1) Where c0 and c1 are cubes with x1 =0 and x1 =1, respectively. Example: f = xy + yz + zx x y z 01 – 01 – 11 11 – 01 – 01 01 – 11 – 01 F = f (0,y,z) f (1,y,z) c0= (10-11-11) c1= (01-11-11) 01 – 01 – 11 01 – 01 – 01 01 – 11 – 01 11 – 01 – 11 11 – 01 – 01 11 – 11 – 01 F c0 = [10- 01- 01] F(|c0) = [11- 01- 01] F(|c1) = F c1=

Tautology When the logical expression F is equal to logical 1 for all the input combinations, F is a tautology. Tautology Decision Problem - determining if logical expression is or is not a tautology Example: No Yes 11 – 110 – 1110 11 – 110 – 0001 11 – 001 – 1111 01 – 100 – 1100 11 – 111 – 0010 F1 = F2 = Z 0 1 2 3 Y 1 2 Can confirm with K-Maps X = 0 X = 1

Inclusion Relation Let F and G be logic functions. For all the minterms c such that F(c) = 1 , if G(c) = 1, then F  G , and G contains F. If F contains a product c then c is an implicant of F. Example: 11 – 100 – 1000 11 – 010 – 0101 11 – 001 – 0010 01 – 110 – 0001 F = c1= (01- 100 - 1001) c2= (11- 010 - 1101) 11 – 111 – 1110 11 – 111 – 0111 11 – 111 – 0111 01 – 111 – 0011 F(|c2) = F(|c1) = F(|c1)  1, c1  F F(|c2)  1, c2  F

Equivalence Relation Let F =  fj and G =  gj then F  G  F(|gj) 1 (j = 1, . . , q) and G(|fj) 1 (i = 1, . . , p) Example: F = xy + y and G = x + xy p q i = 1 j = 1 F(|x)  1, F(|xy)  1, G(|xy)  1, and G(|y)  1, Thus F  G

Divide and Conquer Method Let F be a SOP and ci (i = 1, 2,. . , k) be the cubes satisfying the following conditions: F =  ci  1 and ci  cj = 0 (i  j ). Then, can partition SOP into k SOPs F =  ci  F(|ci) Operations can be done on each F(|ci) independently and then combined to get result on F k i = 1 k i = 1

Divide and Conquer Method Let t(F) be the number of products in an SOP F. We can use Divide and Conquer Theorem to minimize  t(F(|ci) ) and thus the number of products. Partition Example: k = 2, c1 = XjSA , c2 = XjSB SA  SB = Pj and SA  SB =  k i = 1

Divide and Conquer Method Using Divide and Conquer we use the recursive application of the restriction operation to attempt to get columns of all 0’s or 1’s (they can be ignored). A column with both 0 and 1 is active. Selection Method: 1. Chose all the variables with the maximum number of active columns 1 2. Among the variables chosen in step 1, choose variables where the total sum of 0’s in the array is maximum 3. For all variables in step 2, find a column that has the maximum number of 0’s and from among them choose the one with the minimum number of 0’s

Divide and Conquer Method Example: X2 and X3 have the largest number of active columns. Choose X3 and let SA = {0,1} and SB = {2,3} X1 X2 X3 11 – 100 – 1000 11 – 010 – 0100 11 – 001 – 0010 01 – 110 – 0001 F = c1= (11- 111 - 1100) c2= (11- 111 - 0011) 11 – 100 – 1011 11 – 010 – 0111 11 – 001 – 1110 01 – 110 – 1101 F(|c2) = F(|c1) =

Complementation of SOPS Let F =  ci  1 and ci  cj = 0 (i  j ). Then, the complement of F is F =  ci  F(|ci) k i = 1 k i = 1

Algorithm for Complementation of SOPS F consist of one product c F = X1S1 X2S2 . . . XnSn Then F = X1S1 + X1S1  X2S2 + . . . + X1S1  X2S2 . . . Xn-1Sn-1  XnSn F consist of more than one product Expand F into F = c1  F(|c1) + c2  F(|c2) , where c1 = XjSA , c2 = XjS , SA  SB = Pj and SA  SB =  F = c1  F(|c1) + c2  F(|c2)

Complementation of SOPS Example 1. Expand F w.r.t. X3 and let SA = {0,1} and SB = {2,3} X1 X2 X3 11 – 100 – 1000 11 – 010 – 0100 11 – 001 – 0011 01 – 110 – 0001 F = c1= (11- 111 - 1100) c2= (11- 111 - 0011) 11 – 100 – 1011 11 – 010 – 0111 11 – 001 – 1111 01 – 110 – 1101 F2= F(|c2) = F1= F(|c1) =

Complementation of SOPS Example (Continued) 11 – 100 – 1011 11 – 010 – 0111 F1= F(|c1) = 2. Next, expand F1 variable X2 , F1 = c3  F1 (|c3) + c4  F1 (|c4) c3= (11- 100 - 1111) c4= (11- 011 - 1111) 11 – 110 – 0111 11 – 111 – 1011 F4= F(|c4) = F3= F(|c3) =

Complementation of SOPS Example (Continued) 11 – 001 – 1111 01 – 110 – 1101 F2= F(|c2) = 3. Next, expand F2 variable X2 , F2 = c5  F2 (|c5) + c6  F2 (|c6) c5= (11- 110 - 1111) c6= (11- 001 - 1111) 11 – 111 – 1111 01 – 111 – 1101 F6= F(|c6) = F5= F(|c5) =

Complementation of SOPS Example (Continued) 11 – 111 – 1011 F3= 11 – 110 – 0111 F4= 01 – 111 – 1101 F5= 11 – 111 – 1111 F6= 4. F3 through F6 are single products so we apply alg. Step 1. 11 – 111 – 0100 F3= 11 – 001 – 1111 11 – 110 – 1000 F4= 10 – 111 – 1111 01 – 111 - 0010 F5= F6= 0

Complementation of SOPS Example (Completed) 5. Combining all the products gives: F = c1F1 + c2F2 = c1(c3F3 + c4F4 ) + c2 (c5F5 + c6F6 ) = c1c3F3 + c1c4F4 + c2 c5F5 + c2 c6F6 11 – 100 – 0100 11 – 001 – 1100 11 – 010 – 1000 10 – 110 – 0011 01 – 110 - 0010 F=