280 likes | 305 Views
This study focuses on minimizing P-Circuits by utilizing Boolean Relations for logic synthesis in the presence of critical signals. The approach aims to reduce power consumption and circuit delay while maintaining efficient minimization. The use of Boolean relations allows for a formalized and effective solution to generating optimal P-Circuits for Boolean functions. The methodology involves identifying sets leading to P-Circuits of minimal cost through Boolean relations, ultimately optimizing circuit design.
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