Presentation is loading. Please wait.

Presentation is loading. Please wait.

MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley.

Similar presentations


Presentation on theme: "MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley."— Presentation transcript:

1 MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley

2 Outline  Motivation  Experiment results  Implementation  Theory  Problem definition

3 Motivation  MVSIS Front End – multi level minimization decomposition, substitution, collapsing, elimination, factorization – was not done –2 level minimization: espresso-mv, node don’t care minimization – was done –visualization of network-node information node factored form, value, kernels… - need first to finish multi-level minimization – was not done

4 Problem definition  How to factor a multi-valued logic function?  How to divide a multi-valued logic function given a divisor?  Example:

5 Theory  Satisfiability-matrix based kernel searching (factorization) –Can do both kernel searching (factorization) and division  Direct method for multi-valued division –Only applies to division –Similar to the weak-division in the binary setting

6 Satisfiability-matrix  Given a matrix M and its entries –Value condition Value val of a variable var satisfies the value condition if it appears in all combinations of the rows and columns that it appears in M –Satisfiability M is satisfiable if all values of all variables of the entries in M satisfy the value condition

7 An example 1 2 3 1 2 3 1 1 X 1 {0,1} X 2 {1,2} 2 2 X 1 {1} X 2 {1,4} X 1 {0,1} X 2 {4} –All values of X 1 satisfy the value condition. Value 4 of X 2 satisfies the value condition X 1 {0,1} X 2 {2,3} X 1 {1} X 2 {1,3} X 1 {0,1} X 2 {2,3}

8 Obtain factorization  Then if M is satisfiable,  Place as many cubes of F as possible in M so that M is satisfiable: –F= (e r )(e c ) + R –R is the remainder and contains the cubes that will make M not satisfiable if put in M  e r,i =supercube(all cubes in row i)  e c,j =supercube(all cubes in column j) –supercube({c i }): smallest cube containing all c i

9 Techniques  Pre-select number of rows  Fill M in column order, check satisfiability at position  Branch and bound search  Exponential but good heuristics have been used to speed up the search

10 An example 1 2 1 2 1 2 b {1,2,3} c {3} a {0} b {1,2,3} c {0} F = a {0,1,2} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} c {1} = a {0,1,2} b {0,1,2,3} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} b {0,1,2,3} c {1} a {0,1,2} b {0,1,2,3} c {3} a {0} b {0,1,2,3} c {1}

11 An example a {0,1,2} b {0,1,2,3} c {3} a {0} b {0,1,2,3} c {1} b {1,2,3} c {3} a {0} b {1,2,3} c {0} F = a {0,1,2} c {3} + b {1,2,3} c {3} + a {0} b {1,2,3} c {0} +a {0} c {1} = (c {3} +a {0} c {0,1} )(a {0,1,2} c {1,3} + b {1,2,3} c {0,3} ) c {3} a {0} c {0,1} a {0,1,2} c {1,3} b {1,2,3} c {0,3}

12 Direct method for exact division Similar to WEAK_DIV in SIS Given: –F =a {0,1,2} c {3} +b {1,2,3} c {3} + a {0} c {1} + a {0} b {1,2,3} c {0} –d =c {3} +a {0} c {0,1,2} Candidate cubes: contained in divisor cube –c {3} : –a {0} c {0,1,2} : a {0,1,2} c {3}, a {0} c {1},a {0} b {1,2,3} c {0} b {1,2,3} c {3}

13 Direct method for exact division  Candidate quotient cubes: –c {3} : a {0,1,2} c S1, b {1,2,3} c S2 –a {0} c {0,1,2} : a S3 c S4, a S5 b {1,2,3} c S6 –{3}  S1  {0,1,2,3}, {3}  S2  {0,1,2,3}, {0}  S3  {0,1,2,3}, {1}  S4  {1,3}, {0}  S5  {0,1,2,3}, {0}  S6  {0,3}  Take quotient cubes in common (compatible) –c {3} : –a {0} c {0,1,2} :  Result: –F =(c {3} +a {0} c {0,1,2} )(a {0,1,2} c {1,3} + b {1,2,3} c {0,3} ) a {0,1,2} c {1,3}, b {1,2,3} c {0,3}

14 Direct method for exact division  Run time for direct method: –2-cube divisor: Can be reduced to maximum matching problem: maximum number of edges in a graph none of which share a vertex n 3, have been implemented, result show it is fast –>2-cube divisor can be reduced to covering problem Have not been implemented yet.

15 Implementation  MV-SIS multi-level minimization packages related to algebraic factorization and division –kernel extraction –factorization –decomposition –collapsing –substitution –elimination

16 Implementation  Kernelling and factorization –Satisfiability-matrix based method  Substitution –Direct method  Collapsing  Elimination –Compute the value of a node: number of cubes before and after elimination –Collapse if value is less than thresh hold given by the user

17 Decomposition  Best-kernel based method –Divide these kernels into all other nodes to compute their value –Choose the best one, extract it into a new node –Find all 2-cube kernels in all nodes by making each pair of cubes cube-free –Divide the new node into all other nodes

18 Visualization commands  mv_print n1 –print SOP form of the function at node n1, print the whole network if n1 not specified  mv_print_io n1 –print fanins and fanouts of n1. Print PI and PO if n1 not specified  mv_print_factor n1 –print factored form of n1. print the whole network if n1 not specified  mv_print_value n1 –print the value of n1, print the whole network if n1 not specified

19 Experimental results  Multi-valued PLA examples: –All 2-cube kernel method decomposition PLARun time/secNum cubes saved C1908_40_20.club2613->523, 15% Apex6_40_25.club1.8505->429, 15% Frg2_60_25.club6699->507, 27% Pair_40_15.club101418->1279, 10% Toolarge_25_20.club0.35403->312, 23%

20 Experimental results Hand-made examples Test examples from last year’s project and an adder_mod4 example All 2-cube kernel method decomposition Examplemethod Num cubes saved test3Eliminate 0->dcomp->eliminate 0286->107, 63% test3Collapse->decomp488->71, 85% test2Eliminate 0->decomp73->42, 42% Adder_mod4Decomp32->24, 25% Adder_mod5Decomp40->34, 15%

21 Experimental results  Machine_learning examples: –All 2-cube kernel method decomposition NameNum cubes saved balance.mv153->121, 21% car.mv58->45, 22% employ2.mv60->33, 45% nursery.mv144->53, 63% pal3.mv36->18, 50%

22 Conclusion  Multi-level minimization in MVSIS is efficient and fast  We have built a SIS version with MV layer with a menu of optimization commands

23


Download ppt "MVSIS Front End 219b Project Presentation Spring 2000 Minxi Gao, EECS, UC Berkeley."

Similar presentations


Ads by Google