240 likes | 359 Views
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 of S {0, 1, ... , p- 1} denoted by X S or X { j } where j is the logic value Empty Literal: X { }
E N D
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 XSorX{j}wherejis 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 X1X2X3 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 in MV cube calculus • Restriction of Two-Valued Output Function F obtained by restricting Domain toD, denoted by F(|D) • For SOP, the restriction is defined as follows: • LetFbe a SOP, andc = X1S1 X2S2 . . . XnSn be a product. Then, the restrictionF(|c) ofFtocis obtained as follows: • For each product term inF, make a logical product withc. Delete the zero terms. • Letd = X1T1 X2T2 . . . XnTnbe a product obtained in (1). Replacedwith X1(T1 S1)X2(T2 S2) . . . Xn(Tn Sn)
F= Procedure for Finding F(|c) c = (01-101-1111) 11 – 100 – 1000 11 – 010 – 0101 11 – 001 – 0010 01 – 110 – 0001 Step 1:Bit-wise AND each product term in F withc 01 – 100 – 1000 01 – 001 – 0010 01 – 100 – 0001 F c= Step 2:Bit-wise OR each product term in F cwithc 11 – 110 – 1000 11 – 011 – 0010 11 – 110 – 0001 F(|c)= Students: check this in maps and equations
Cofactor Concept By Shannon’s Expansion f (x1, x2 , . . , xn )= x1f (0, x2 , . . , xn )+ x1f (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) 11 – 01 – 11 11 – 01 – 01 11 – 11 – 01 01 – 01 – 11 01 – 01 – 01 01 – 11 – 01 F(|c1)= F c0= [10- 01- 01] F(|c0)= [11- 01- 01] F c1= Students: check this in maps and equations
Tautology for MV 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 0 1 2 0 1 2 Can confirm with K-Maps X = 0 X = 1
Inclusion Relation for MV LetFand G be logic functions. For all the minterms c such that F(c) = 1 , if G(c) = 1, then F G , and GcontainsF. If Fcontains 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 = fjandG = gj then F G F(|gj) 1 (j = 1, . . , q) andG(|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, andG(|y) 1, ThusF 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 This was already illustrated graphically to check SAT, TAUTOLOGY and other similar
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: • Chose all the variables with the maximum number of active columns 1 • Among the variables chosen in step 1, choose variables where the total sum of 0’s in the array is maximum • 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: X2and X3 have the largest number of active columns. Choose X3 and let SA = {0,1} and SB = {2,3} We split with respect to some values, like cutting a KMAP in our previous examples X1X2X3 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} andSB = {2,3} X1X2X3 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)=
11 – 111 – 0100 11 – 110 – 0111 01 – 111 – 1101 11 – 111 – 1111 11 – 111 – 1011 F3= F3= F5= F6= F4= Complementation of SOPS Example (Continued) 4. F3 through F6 are single products so we apply alg. Step 1. 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=
Problems to remember and solve Multi-output Multi-valued prime implicants Covering for MV functions. Cofactors of MV functions. Visualization of MV functions Complementation of MV functions. Decision trees and Decision Diagrams for MV functions Cube Calculus operations and Algorithms for MV functions.