1 / 89

Cube Calculus

Cube Calculus . Overview Of This Presentation. A Brief Review of Cube Calculus. Summary of Cube Calculus operations. Positional notation concept for Cube Calculus operations. Summary of Positional Notation concept for Cube Calculus operations.

esme
Download Presentation

Cube Calculus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cube Calculus

  2. Overview Of This Presentation • A Brief Review of Cube Calculus. • Summary of Cube Calculus operations. • Positional notation concept for Cube Calculus operations. • Summary of Positional Notation concept for Cube Calculus operations. • Why we need hardware realization of Cube Calculus?

  3. Brief Review Of Cube Calculus

  4. Representation of cubes in (Binary logic) • For the function f(a,b,c,d)= A + B = a’bc’+ac’d we have two cubes (a’bc’ and ac’d)  Cube is a Product of literals. • In binary logic, they can be represented as A = a{0} .b{1} .c{0} .d{0,1} and B = a{1} .b{0,1} .c{0} .d{1}

  5. General Representation of cubes in (n valued logic) • A = x1s1A. x2s2A………xnsnA • B = x1s1B. x2s2B……….xnsnB • where x1s1A …..xnsnA.,x1s1B, .…xnsnB are literals. • n is the number of variables. • siA, siBare true sets of literal xi. • An example of a ternary logic is: A = x1{0}. x2{0,2}. x3{1}. x4{1,2} B = x1{1}. x2{1}. x3{2} . x4{0,1}

  6. Comparison of Notations for ternary logic Set-theoretical: A = x1{0}. x2{0,2}. x3{1}. x4{1,2} Positional: 100-101-010-011

  7. Cube Calculus Operations

  8. Cube Calculus Operations The cube calculus operations are classified as : • Simple Combinational operations (e.g. Intersection, SuperCube ). • Complex Combinational operations (e.g. Prime, Consensus, Cofactor). • Sequential operations (e.g. Crosslink, Sharp(non-disjoint), Sharp (disjoint)). • Let us discuss these operations..

  9. Simple Combinational Cube Operations

  10. Simple Combinational Operations • Defined as a SINGLE set operation on all pairs of true sets and produces one resultant cube. • Intersection and Supercube are simple combinational cube operations. • These operations are fast in software and very fast when realized in hardware. • Have various applications in two-level synthesis, set covering, graph coloring and all kinds of basic algorithms

  11. Example Of Binary Function

  12. Kmap representation of Intersection • B= ab • A= bc’ • Set theory : B = ab = abx = a{1}b{1}c{0,1} • A= bc’ = xbc’ = a{0,1}b{1}c{0} • B  A=a{1}{0,1}b{1}{1} c{0,1} {0} = abc’

  13. Kmap representation of Intersection • Fig 1: Input Cubes A and B to be Intersected. Here A = x2*x3 B = x1*x2 • Fig 2:Resultant Cube C = A  B = x1*x2 *x3 A B

  14. Kmap representation of Supercube • A and B has 3 variables. • A = ab • B = bc’ • In set theory A= abx B=xbc’ • A  B = b

  15. K-map representation of Super cube • Input Cubes A and B to be supercubed. A=x1’x2’x4 B= x1x3x4 • Resultant Cube C=A  B = x4 Supercube has applications in SOP and ESOP minimization to find primes or product terms for best covers.

  16. Examples Of Cube Operations for Multi-Valued Functions

  17. K-map representation of Supercube • For 4 valued input logic. • Input Cubes A and B to be supercubed. A=a01b1. B=a12b2 • Resultant Cube C=A  B = a012b12 )

  18. K-map representation of Intersection • For 4 valued input logic. • Input Cubes A and B for Intersection. A=a12b12. B=a2b012 • Resultant Cube C=A  B = a2b12 You have to be familiar with different notations and representations when reading research papers

  19. Definitions of Simple Combinational Cube Operations

  20. Intersection of two cubes : Is the largest cube that is included in both A and B.Supercube of two cubes : Is the smallest cube that includes both cubes. You have to understand meaning of operators when you create new algorithms You have to understand mathematical formalism of operators to realize them efficiently in software or hardware.

  21. Simple Combinational Operation • Intersection operation mathematically is defined as AB= x1s1As1B……xnsnAsnB if siAsiB   =  otherwise. • Union (supercube) operation mathematically is defined as A  B = x1s1As1B……xnsnAsnB

  22. Complex Combinational Cube Operations

  23. Complex combinational cube operations • They have twoset operations andoneset relation. • All variables whose pair of true sets satisfy a relation are said to beSpecial Variables. • Two set operations are called before(bef) and active(act),theactive set operation is applied on true sets of special variables and before set operation to others • All Combinational cube operations (Complex and Simple) produce one resultant cube, all special variables taken at a time. • The examples are prime operation, cofactor operation, consensus operation.

  24. Examples of Complex Combinational Cube Operations

  25. Example Of Binary Function

  26. Example of prime operation Notation of “prime” operation on cubes A and B • A&B has 4binary variables • A=x1’x2x3x4 • B=x1x3’ • Step 1: Find intersection operation(set relation) on all true sets(siAsiB   ) • Step 2: If the set relation is satisfied apply active set operation(siA  siB ) else before set operation( siA ).

  27. Explanation of the Example • Using set theory B=x1{1}x2{0,1}x3{0}x4{0,1} A=x1{0}x2{1}x3{1}x4{1} Step 1. Find if set relation (siAsiB   ) is satisfied or not .  x2 and x4 are special variables. Step 2. As the given set relation is satisfied for the variables x2 and x4 to these variables active set operation (siA  siB ) is applied and to the others (x1 , x3 ) before set operation( siA ) is applied  A’B = x1{0}x3{1} = x1’x3 B = x1{1}x2{0,1} x3{0} x4{0,1} A = x1{0}x2{1 } x3{1}x4{1} ---------------------------------------------------- A’B = x1{0}x2{0,1} x3{1}x4{0,1} = x1’x3

  28. Example of another complex combinational operation: consensus • A & B have 4 binary variables • A = x1x2x3’ • B = x1x2’ • Steps: find the set relationsiAsiB=. • If satisfied then it is a special variable. • Active operation (siAsiB) applied to special variables. • And to remaining variables (before variables) the set operator siAsiBis applied

  29. Explanation of consensus operation • In set theory A = x1{1}x2{1}x3{0}x4{0,1} B = x1{1}x2{0}x3{0,1}x4{0,1} • Applying the set relation siAsiB= on all the true set of variables  x2 is a special variable and to x2 active operation (siAsiB) is applied • and to x1 ,x3 ,x4 before set operator (siAsiB ) is applied  A * B = x1{1} x3{0} = x1x3’ A = x1{1} x2{1} x3{0} x4{0,1} B = x1{1} x2{0} x3{0,1} x4{0,1} ---------------------------------------------------- A*B = x1{1}x2{0,1} x3{0} x4{0,1}

  30. Use of consensus to prove tautology 1 1 Table of all ones Cube of minterms

  31. Proving tautology • By using consensus I combine step-by-step larger and larger cubes of ones. • Ultimately, the cube of ones that covers the whole map is created. • Thus the function is a tautology. • The process of combining cubes can be represented as a tree The same Cube Calculus has dual meaning when applied to cubes of zeros (maxterms) It is called resolution and used in automatic theorem proving to derive empty clause = cube of all zeros

  32. Use of consensus to derive empty clause Cube of maxterms (zeros) Table of all zeros Cube representing empty clause

  33. Proving non-satisfiability is deriving empty clause • By using resolution operator (dual to consensus) I combine step-by-step larger and larger cubes of zeros. • Ultimately, the cube of zeros that covers the whole map is created. This is empty clause. • Thus the function is always zero. • The process of combining cubes can be represented as a tree. • This is used in automatic theorem proving to prove that a set of clauses is inconsistent • Please do a complete example with all formulas applied in formal way , step by step. • What would be a program?

  34. Example of cofactor operation • A and B have 4 binary variables. • A = x1x2x3 • B= x1 • Steps: Find siAsiB (If satisfied  special variable) • Apply U(Universal set(0,1)) for special variables and siAsiB for others

  35. Explanation • Set theory: A = x1{1}x2{1}x3{1}x4{0,1} B = x1{1}x2{0,1}x3{0,1}x4{0,1} • Testing the relation siAsiB for the variables.  x1 and x4 are special variables.  Universal set operator applied to these variables. • To the rest of the variables the intersection operation is applied.  The result is x2 x3. • In K-map apply the intersection operator and remove the special variables.

  36. Example Of Complex Combinational Operations for Multi-Valued Functions

  37. K-map representation of Consensus • A= X 01234 Y01 • B = X012 Y23 • A * B = X 01234Y01*X012Y23 = X012 Y0123

  38. Definitions of Complex Combinational Cube Operations

  39. General Description of Consensus Cube Operation

  40. Complex combinational cube operation • The consensus operation on cubes A and B is defined as A  B when distance (A,B) = 0 A * B =  when distance (A,B) > 1 A *basic B when distance (A,B) = 1 • where A *basic B = x1s1 A s1B ….xk-1sk-1 A sk-1B xkskA skB xk+1sk+1 A sk+1B…… xnsn A snB. • Set relation: siAsiB =  , if satisfied, a special variable • Active set operation : siAsiB • Before set operation : siAsiB

  41. Complex combinational cube operation • Application of consensus theorem: • For finding prime implicants (Used for two-level logic minimization), • three level, • multilevel minimization, • and machine learning. Most applications are in few-level circuit design, basic operations and automatic theorem proving in AND/OR logic

  42. General Description of Cofactor Cube Operation

  43. Complex combinational cube operation • Cofactor operation of two cubes A and B is A| B = A |basic B when A  B   =  otherwise Set relation for cofactor operation = siA  siBActive set operator = U (Universal set(0,1)) Before set operator = siA  siB • Application: • Used in recursive paradigms • Used to create trees and DDs • Used in functional decomposition.

  44. General Description of Prime Operation

  45. Complex combinational cube operations • Prime operation of two cubes A and B is defined as A’B=x1s1A…xk-1sk-1AxkskAskBxk+1sk+1A….xnsnA where set relation : siAsiB   is applied to true sets and if satisfied active set operation is applied else before set operation is applied. • Active set operation(act):siA  siB • Before set operation(bef): siA • Application: Used in ESOP minimization .

  46. Sequential Cube Operations

  47. Sequential cube operations • They have threeset operations andoneset relation. • All variables whose pair of true sets satisfy a relation are said to beSpecial Variables. • Three set operations are called before(bef),active(act) and after(aft) • Theactive set operation is applied on true sets of special variable • The before set operation to variables before the special variable • The after set operation to variables after the special variable. • Every special variable is taken once at a time.

  48. Sequential cube operations • All sequential cube operations produce ‘n’ resultant cubes, where n is the number of special variables. • The examples are: • sharp operation, • cross link operation.

  49. Examples of Sequential Cube Operations

  50. Example Of Binary Function

More Related