1 / 28

Minimization of P- Circuits using Boolean Relations

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

sara-casey
Download Presentation

Minimization of P- Circuits using Boolean Relations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Minimization of P-CircuitsusingBoolean Relations Anna BernasconiUniversityof Pisa Valentina Ciriani and Gabriella TruccoUniversityof Milano Tiziano VillaUniversityof Verona

  2. Outline • Scenario: logic synthesis with critical signals • Problem definition • P-circuits • Boolean relations • Synthesis of P-circuits with Boolean relations • Experimental results

  3. 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

  4. 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)

  5. 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

  6. 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

  7. (x,p)-Decomposition fx=p x p fx=p • let p be a function non depending on x • and do not depend on x

  8. 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

  9. 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:

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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 *

  16. P-circuit of a completely specified Boolean function f • Let • A P-circuit P(f) is: where

  17. 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

  18. 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

  19. 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

  20. 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′)

  21. 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

  22. 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

  23. 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

  24. Incompletely Specified Functions

  25. 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

  26. 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

  27. Experimental results

  28. 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

More Related