minimization of p-circuits using boolean relations anna bernasconi university of pisa valentina...
TRANSCRIPT
Minimization of P-Circuits using Boolean Relations
Minimization of P-Circuits using Boolean Relations
Anna BernasconiUniversity of Pisa
Valentina Ciriani and Gabriella TruccoUniversity of Milano
Tiziano VillaUniversity of Verona
OutlineOutlineOutlineOutline
Scenario: logic synthesis with critical signals
Problem definition
P-circuits
Boolean relations
Synthesis of P-circuits with Boolean relations
Experimental results
ScenarioScenarioScenarioScenario
Logic synthesis
In presence of critical signals that should be moved toward the output
Application objectives:To decrease power consumption:
signals with high switching activityTo decrease circuit delay:
signals with high delay
ProblemProblem
Restructuring (or synthesis) of a circuit in order to move critical signals near to the output:whileminimizing the circuit areakeeping the number of levels bounded performing an efficient minimization (using
Boolean relations)
Simple solution: ShannonSimple solution: Shannon
Shannon decomposition
x is the critical signal
fx=0 and fx=1 do not depend on x
x is near to the output
f x f x 1 x f x 0
x
fx=1
fx=0
Problem of Shannon approachProblem of Shannon approachProblem of Shannon approachProblem of Shannon approach
x3 x4
x1 x2
00
01
11
10
00 01 11 10
1
1
1
10
00
1
0
1 0
0 1 0
1
0
x3 x4x1 = 0
0
1
00 01 11 10
1 10
00
0
1 0
x3 x4x1 = 1
0
1
00 01 11 10
1 11
00
0
1 0
x2
x2
two cubes
It is not synthesis oriented
(x,p)-Decomposition (x,p)-Decomposition (x,p)-Decomposition (x,p)-Decomposition
let p be a function non depending on x
and do not depend on x
f ( x p ) f x p ( x p ) f x p
pxf pxf
xfx=p
fx=p
p
Problem of the approachProblem of the approachProblem of the approachProblem of the approach
x3 x4
x1 x2
00
01
11
10
00 01 11 10
1
1
0
01
00
0
1
* 1
1 0 1
0
1
x3 x4x1 = x2
0
1
00 01 11 10
1 01
11
1
0 1
x3 x4
x1 = x2
0
1
00 01 11 10
0 00
00
1
* 1
x2
x2
It is not area oriented
Let x = x1 and p = x2
The idea The idea The idea 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:
I f x p f x p
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
11 1 0
x3 x4
0
1
00 01 11 10
1 01
11
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
11 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
0
1
00
11
1
1
1 0
1 0 0
0
1
We can remove the
points of the intersection
x = x1 and p = 0
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
00 1 0
x3 x4
0
1
00 01 11 10
1 01
00
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
11 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
*
1
00
11
1
1
1 0
1 0 0
0
1
We can remove the
points of the intersection
But some cubes
could be split!
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
** 1 0
x3 x4
0
1
00 01 11 10
1 01
**
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
11 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
*
1
00
11
1
1
1 0
1 0 0
0
1
We insert don’t cares instead
at the points of the intersection
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
** 1 0
x3 x4
0
1
00 01 11 10
1 01
**
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
11 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
*
1
00
11
1
1
1 0
1 0 0
0
1
The cubes are
not split
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
10 1 0
x3 x4
0
1
00 01 11 10
1 01
11
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
11 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
*
1
00
11
1
1
1 0
1 0 0
0
1
The cubes are
not split
ExampleExampleExampleExamplex3 x4
0
1
00 01 11 10
0 00
10 1 0
x3 x4
0
1
00 01 11 10
1 01
11
0
0 0
x2
x2
1
x3 x4
0
1
00 01 11 10
0 00
*1 0 0
x2
0Intersection
x1 = 0
x1 = 1
x3 x4
x1 x2
00
01
11
10
00 01 11 10
0
*
1
00
11
1
1
1 0
1 0 0
0
1
Before minimizing the intersection, we set as don’t cares the points that are covered in both spaces
The cubes are
not split
P-circuit of a completely specified P-circuit of a completely specified Boolean function fBoolean function fP-circuit of a completely specified P-circuit of a completely specified Boolean function fBoolean function f
Let
A P-circuit P(f) P-circuit P(f) is:is:
wherewhere
P ( f ) (x SOP ( p)) SOP ( f )
( x SOP ( p)) SOP ( f = ) SOP ( f I )
I f x p f x p
fxp \ I f f xp
fxp \ I f f xp
f I I
P( f ) f
P-circuitsP-circuitsP-circuitsP-circuits
The intersection The intersection does not does not dependdepend on x on x
An optimal P-circuit optimal P-circuit P*(f) 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 P-circuit of an incompletely specified Boolean function fBoolean function fP-circuit of an incompletely specified P-circuit of an incompletely specified Boolean function fBoolean function f
Let f = {f on, f dc }, with f on ∩ f dc = ∅;
Define
A P-circuit P(f) P-circuit P(f) is:is:
wherewhere
P ( f ) (x SOP ( p)) SOP ( f )
( x SOP ( p)) SOP ( f = ) SOP ( f I )
I ( f x = po n f x = p
d c ) ( f x po n f x p
d c )
fxpon \ I f f xp
on f xpdc
fxpon \ I f f xp
on f xpdc
f I I
f on P( f ) f on f dc
Boolean RelationsBoolean 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 RelationsBoolean 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 solution of 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-circuits using Boolean Relation Minimization of P-circuits using Boolean 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 fan optimal solution of R is an optimal P-circuit
P∗(f) for f
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-circuits using Boolean Relation Minimization of P-circuits using Boolean 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
Minimization of P-circuits using Boolean Relation Minimization of P-circuits using Boolean Relation
Incompletely Specified Functions Incompletely Specified Functions
Experimental results Experimental results Experimental results 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 Experimental results Experimental results 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
Experimental results Experimental results Experimental results Experimental results
ConclusionsConclusionsConclusionsConclusions
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