Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.