280 likes | 368 Views
Minimization of P- Circuits using Boolean Relations. Anna Bernasconi University of Pisa Valentina Ciriani and Gabriella Trucco University of Milano Tiziano Villa University of Verona. Outline. Scenario: logic synthesis with critical signals Problem definition P-circuits
E N D
Minimization of P-CircuitsusingBoolean Relations Anna BernasconiUniversityof Pisa Valentina Ciriani and Gabriella TruccoUniversityof Milano Tiziano VillaUniversityof Verona
Outline • Scenario: logic synthesis with critical signals • Problem definition • P-circuits • Boolean relations • Synthesis of P-circuits with Boolean relations • Experimental results
Scenario • Logic synthesis • In presence of critical signals that should be moved toward the output • Application objectives: • To decrease power consumption: • signals with high switching activity • To decrease circuit delay: • signals with high delay
Problem Restructuring (or synthesis) of a circuit in order to move critical signals near to the output:while • minimizing the circuit area • keeping the number of levels bounded • performing an efficient minimization (using Boolean relations)
Simple solution: Shannon fx=1 x fx=0 • Shannon decomposition • x is the critical signal • fx=0 and fx=1do not depend on x • x is near to the output
Problem of Shannon approach x1 = 0 x3 x4 00 01 11 10 x2 0 1 1 0 0 1 1 0 0 0 two cubes x1= 1 x3 x4 00 01 11 10 x2 0 1 1 1 0 1 1 0 0 0 x3 x4 00 01 11 10 x1 x2 00 01 11 10 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 It is not synthesis oriented
(x,p)-Decomposition fx=p x p fx=p • let p be a function non depending on x • and do not depend on x
Problem of the approach Let x = x1 and p = x2 x1 = x2 x3 x4 00 01 11 10 x2 0 1 x3 x4 0 1 1 1 00 01 11 10 x1 x2 00 01 11 10 0 1 1 1 1 1 0 1 * 1 0 0 1 1 0 1 x1= x2 x3 x4 0 0 1 0 00 01 11 10 x2 0 1 0 0 1 0 It is not area oriented * 0 1 0
The idea • try not to split the cubes • idea: the crossing cubes that do not depend on x are not projected • problem: how to identify the points that may form crossing cubes that do not depend on x? They are in the intersection:
Example x1 = 0 x3 x4 00 01 11 10 x2 We can remove the points of the intersection 0 1 1 0 0 0 1 0 1 1 x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 0 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 x = x1 and p = 0 Intersection 0 0 1 1
Example x1 = 0 x3 x4 00 01 11 10 x2 We can remove the points of the intersection 0 1 1 0 0 0 1 0 0 0 x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 * 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 But some cubes could be split! Intersection 0 0 1 1
Example x1 = 0 x3 x4 00 01 11 10 x2 We insert don’t cares instead at the points of the intersection 0 1 1 0 0 0 1 0 * * x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 * 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 * 0 * 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 Intersection 0 0 1 1
Example x1 = 0 x3 x4 00 01 11 10 x2 0 1 1 0 0 0 1 0 * * x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 * 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 * 0 * 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 The cubes are not split Intersection 0 0 1 1
Example x1 = 0 x3 x4 00 01 11 10 x2 0 1 1 0 0 0 1 0 0 1 x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 * 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 The cubes are not split Intersection 0 0 1 1
Example x1 = 0 x3 x4 00 01 11 10 x2 Before minimizing the intersection, we set as don’t cares the points that are covered in both spaces 0 1 1 0 0 0 1 0 0 1 x3 x4 00 01 11 10 x1 x2 x1= 1 x3 x4 00 01 11 10 0 1 0 * 00 01 11 10 x2 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 x3 x4 00 01 11 10 x2 0 1 0 0 0 0 The cubes are not split Intersection 0 0 1 *
P-circuit of a completely specified Boolean function f • Let • A P-circuit P(f) is: where
P-circuits • The intersection does not depend on x • An optimal P-circuit P*(f) for the function f is a P-circuit with minimum cost that can be synthesized for f
P-circuit of an incompletely specified Boolean function f • Let f = {f on, f dc }, with f on ∩ f dc= ∅; • Define • A P-circuit P(f) is: where
Boolean Relations • A Boolean relation is a one-to-many multi-output Boolean mapping R : {0,1}n ➝ {0,1}m • A point in the input set {0,1}n can be associated with several points in the output set {0,1}m, which cannot always be represented using don’t cares
Boolean Relations • The set of multi-output functions compatible with a Boolean relation R is defined as F(R) = { f | f ⊆ R and f is a function}. • The solutionof a Boolean relation R is a multi-output Boolean function f ∈ F(R) • The function f is an optimal solution of R according to a given cost function c, if for all f′ ∈ F(R), c(f) ≤ c(f′)
Minimization of P-circuitsusingBoolean Relation • P-circuit minimization: • find the sets f =, f ≠ , f I leading to a P-circuit of minimal cost • This problem can be formalized and efficiently solved using Boolean relations • We define a relation R s.t. • F(R) corresponds exactly to the set of all possible P-circuits for f • an optimal solution of R is an optimal P-circuit P∗(f) for f
Minimization of P-circuitsusingBoolean Relation • f: {0,1}n → {0,1} Rf : {0,1}n−1 → {0,1}3 • Input set: space spanned by all the variables but the critical signal xi • Output set: all possible tuples of functions f =, f ≠ , f I defining a P-circuit for f
Minimization of P-circuitsusingBoolean Relation P-circuit minimization ⟺ selecting among all possible functions compatible with Rf ,each corresponding to a tuple f =, f ≠ , f I, the one whose overall SOP representation is minimal
Experimental results • ESPRESSO benchmark suite • Linux Intel Core i7, 3.40 GHz CPU, 8GB RAM • CUDD library for OBDDs to represent functions • BREL (Bañeres, Cortadella, and Kishinevsky, 2009) for the synthesis of Boolean relations • Multioutput benchmarks have been synthesized minimizing each single output independently from the others
Experimental results • μL and μBDD: • refer to P-circuits synthesized with cost function μL that minimizes the number of literals • and μBDD that minimizes the size of the BDDs used for representing the relations • modeling the P-circuit minimization problem using Boolean relations pays significantly: • P-circuit μL and P-circuit μBDD turned out to be more compact than the corresponding P-circuits proposed BCVT2009 in about 92% and 78% of our experiments, respectively
Conclusions • We showed that to explore all possible P-circuit solutions one must cast the problem as the minimization of a Boolean relation • In the experiments we report major improvements with respect to the previously published results • Future work: • investigate the impact of using more general cofactoring functions • address simultaneously multi-ouput functions trading-off quality of results vs. scalability