260 likes | 348 Views
Reducing Multi-Valued Algebraic Operations to Binary. J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley. Outline. Motivation Definitions Problem formulation Co-singleton transform EBD operations Experimental results Conclusions.
E N D
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Motivation: MV optimization • In high-level design, system descriptions are inherently multi-valued. • Common sub-expressions should be extracted and preserved at a higher level. • Given an MV design, there are two paths of synthesis: • Encoding binary optimization (SIS) – Optimizes design resting on the initial encoding – Explores optimization only on restricted design space • MV optimization encoding binary optimization (MVSIS) + Preserves common sub-expressions at a higher level + Explores larger design space –Was thought to be computationally much harder and time consuming DATE’03
Motivation: Speed up MV operations • Previous MV algebraic methods can be slow on large examples. • Satisfiability matrix method • Graph matching method (2-cube divisors only) • Observations: • Many networks had many binary nodes. • Good speed-up can be obtained by gathering all these together and applying SIS fast_extract ( fx ) method. • Question: • Can we extend this to MV nodes besides binary ones ? DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Preliminaries • Given a multi-valued function (a generalization of Boolean functions) f(a, b, …): A × B ×· · · F, we can express it in a sum-of-products (SOP) form. • E.g. f{0}(a,b) = a{2,3}b{0,1} + a{0,3}b{1,2} + a{1,2}b{0,3} + a{0,1}b{2,3} • Can think of this as a three level OR-AND-OR expression. DATE’03
Definitions • Purely algebraic operations (used in SIS) • Operations which manipulate expressions like polynomials • Semi-algebraic operations (used in MVSIS) • Operations which include up to absorption rules • Boolean operations • Operations which include up to cube creation/annihilation • A fact: • Algebraic optimization in Approach 2 (semi-algebraic mv opt. enc. purely algebraic bin. opt.) may correspond to Boolean optimization in Approach 1 (enc. Boolean opt.). DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Problem formulation • Given an arbitrary multi-valued SOP expression E and an oracle W which optimally factors a binary SOP input, how can we take advantage of W to factor E ? • To do so, we have two criteria: • Transform E into E’ which “looks like” binary, and • Transform the resultant output of W, say E’’, back to an expression that “directly” reflects an optimally factored form of E. DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Some unsuccessful naïve trials • Apply binary encoding to the MV SOP expression • For example, using 1-hot code, negative 1-hot code or any logarithmic code • Satisfies the first criteria • But NOT for the second (i.e. doesn’t directly reflect a factored form) DATE’03
The solution: co-singleton transform • Forward transformation: Input : an MV expression E Output: a disguised binary expression E’ Begin For each literalxS E Replace it withi S xi End (xi x{0,…,i–1, i+1,…,n} is a co-singleton literal) • Backward transformation: Input : a disguised binary expression E’ Output: an MV expression E Begin For eachi T xi E’ Replace it with x{ j | j T} End DATE’03
Co-singleton transform • An example: Assume a, b are 4-valued variables E =a{2,3}b{0,1} + a{0,3}b{1,2} + a{1,2}b{0,3} + a{0,1}b{2,3} (forward co-singleton transform) E’ =a0a1b2b3 + a1a2b0b3 + a0a3b1b2 + a2a3b0b1 (factoring in the binary domain) = (a1b3 + a1b3) (a0b2 + a2b0) (backward co-singleton transform) E =(a{0,2,3}b{0,1,2} + a{0,1,2}b{0,2,3}) (a{1,2,3}b{0,1,3} + a{0,1,3}b{1,2,3}) DATE’03
Co-singleton transform • Co-singleton transform produces a bijection between an MV expression and a “binary” expression. • Co-singleton transform is of time complexity linear in the size of the input expression. • Co-singleton transform is optimally compact. • Only n bits are used for an n-valued MV variable. • Co-singleton transform vs. negative 1-hot encoding • Co-singleton transform is NOT an encoding in the sense that its “binary codes” for the values of an MV variable are non-disjoint. • Co-singleton transform = negative 1-hot coding + some minimization w.r.t unused codes DATE’03
Closure properties Let F be a factored form of an MV SOP expression E, and F’ and E’ be the co-singleton transformed versions of F and E respectively. • Theorem 1 If F is a purely algebraic factorization of E, then F’ is a purely algebraic factorization of E’. • Theorem 2 If F is a semi-algebraic factorization of E, then F’ can be derived from E’ using only semi-algebraic operations • Theorem 3 If F’ is a semi-algebraic factorization of E’, then F is a semi-algebraic factorization of E. • Corollary Semi-algebraic operations are closed under the co-singleton transform, but not for purely algebraic operations. DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
EBD operations • EBD: Execution in Binary-in-Disguise • Procedure: • Apply co-singleton transform • Apply binary operations • Apply inverse co-singleton transform • Binary operations: • Factorization and decomposition • Algebraic division • Common divisor extraction • (Non-algebraic operations) • In the following discussion, binary operations are meant to be those used in SIS, and therefore are purely algebraic. DATE’03
EBD operations vs. MV operations • Different results • In MV cases, results are maximally lowered. In EBD cases, results are maximally raised. • Procedures exist to make them similar. • Due to the implementation, there are results that can be obtained by one method, but not by the other. DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Experimental results • Constructed a script (MV-script, similar to script.rugged in SIS). • Replaced all MV algebraic operations with their equivalent EBD operation to obtain EBD-script. • Measured total time and final number of literals in all factored forms of MV network. DATE’03
Experimental results DATE’03
Experimental results DATE’03
Experimental results • EBD method is significantly faster than MV method, especially for large examples. • EBD results sometimes have little loss in quality due to the fact that there is no semi-algebraic capabilities in the binary domain. DATE’03
Outline • Motivation • Definitions • Problem formulation • Co-singleton transform • EBD operations • Experimental results • Conclusions DATE’03
Conclusions • EBD algebraic operations do not give same results as MV algebraic operations • MV result is maximally “lowered”; EBD result is maximally “raised” • Due to the fact that binary operations are purely algebraic • Binary semi-algebraic operations need to be revisited • EBD operations are significantly faster, especially on large examples. • When used in a full script, the quality of EBD results is comparable with that of MV results. DATE’03