• Aucun résultat trouvé

Bound Set Selection and Circuit Re-Synthesis for Area/Delay Driven Decomposition

N/A
N/A
Protected

Academic year: 2021

Partager "Bound Set Selection and Circuit Re-Synthesis for Area/Delay Driven Decomposition"

Copied!
3
0
0

Texte intégral

(1)

HAL Id: hal-00181550

https://hal.archives-ouvertes.fr/hal-00181550

Submitted on 24 Oct 2007

HAL

is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire

HAL, est

destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Bound Set Selection and Circuit Re-Synthesis for Area/Delay Driven Decomposition

Andres Martinelli, Elena Dubrova

To cite this version:

Andres Martinelli, Elena Dubrova. Bound Set Selection and Circuit Re-Synthesis for Area/Delay

Driven Decomposition. DATE’05, Mar 2005, Munich, Germany. pp.430-431. �hal-00181550�

(2)

Bound Set Selection and Circuit Re-Synthesis for Area/Delay Driven Decomposition

Andr´es Martinelli Elena Dubrova

Royal Institute of Technology, IMIT/KTH, 164 46 Kista, Sweden [ andres,elena ] @imit.kth.se

Abstract

This paper addresses two problems related to disjoint- support decomposition of Boolean functions. First, we present a heuristic for finding a subset of variables, X, which results in the disjoint-support decomposi- tion f(X, Y) = h(g(X), Y) with a good area/delay trade-off. Second, we present a technique for re-synthesis of the original circuit implementingf(X, Y)into a circuit im- plementing the decomposed representation h(g(X), Y).

Preliminary experimental results indicate that the pro- posed approach has a significant potential.

1. Introduction

Disjoint-support decomposition of a Boolean function f : {0,1}n → {0,1} is a representa- tion of the form f(X, Y) = h(g(X), Y) where X ∩ Y = Ø, g : {0,1}|X| → {0,1, ..., k − 1} and h : {0,1, ..., k − 1} × {0,1}|Y| → {0,1}.

The k-valued function g can be encoded as f(X, Y) = h(g1(X), g2(X), . . . , glog

2k(X), Y) giv- ing a decomposition with all functions being Boolean.

Every set of variables X for which such a decompo- sition exists is called a bound set for f. This paper addresses two problems related to disjoint-support de- composition. First, we present a heuristic for finding a bound set which results in a disjoint-support achiev- ing a good area/delay trade-off. Choosing a suitable bound set is important because disjoint-support decomposi- tion does not necessarily simplify the function.

Second, we present a technique for transforming the original circuit implementingf(X, Y)into a circuit imple- menting the decomposed representationh(g(X), Y). Previ- ous algorithms computed circuits for the decomposed repre- sentation from Binary Decision Diagrams (BDDs) ofgand h, by applying various BDD-to-circuit transformation tech- niques. The algorithm presented in this paper uses BDDs

only foranalysisof the decomposition. The actualsynthe- sisof the circuits forgandhis done by restricting the orig- inal circuit with respect to a given assignment of input vari- ables. This guarantees that the sizes of the circuits ofgand hare strictly smaller than the size of the original circuit.

2. Bound Set Selection

To find a suitable bound setX forf, we examine all linear intervals of variables of the BDD representingf. To check whether a given linear interval is a bound set, we use INTERVALCUTalgorithm [1]. INTERVALCUTis very fast, because it does not require expensive BDD re-ordering.

If a bound setX with the column multiplicityk < |X| is found, it is stored together with the following three pa- rameters characterizing the associated decomposition f(X, Y) =h(g(X), Y):

1. the number of outputs havingXas a bound set:s(X);

2. the number of outputs ofg:c(X) =log2k;

3. the difference in sizes of the bound setX and the free setY:d(X) =||X| − |Y||,d(X)∈ {0,1, . . . , n−1}.

Let X be the set of bound sets computed by INTERVALCUT. The best candidate is selected from X as follows. First, a subset Xs of X containing all bound sets with the maximum s(X) is chosen. Maxi- mizing of s(X) increases the sharing of common logic among different outputs of the circuit. Next, a sub- set Xc of Xs containing all bound sets with the mini- mumc(X)is selected. Minimizing ofc(X)promotes the selection of bound sets with the smallest column multi- plicity (more precisely, smallestlog2k). Finally, a subset Xd of Xc containing largest bound sets with the min- imum d(X) is obtained. Minimizing of d(X) allows balancing the partitioning of logic between the func- tionsgandh.

Any element ofXdis considered to be a ”best” bound set forf, i.e. the one which produces a decomposition with the best area/delay trade-off. The original circuit implementing

Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE’05) 1530-1591/05 $ 20.00 IEEE

(3)

f is transformed into the circuit implementingh(g(X), Y) by applying the algorithm described in the next section.

3. Transformation Algorithm

Let X be a bound set for f and let Gg and Gh be BDDs representing the functionsgandhin the decompo- sitionf(X, Y) =h(g(X), Y). These BDDs are computed by INTERVALCUT.

3.1. Constructing the circuit forh

SupposeAis an assignment of variables ofX leading to the 0-terminal node in Gg. Then g(A) = 0, and thus f(A, Y) =h(g(A), Y) =h(0, Y). Therefore, a circuit im- plementing the co-factorh(0, Y)can be obtained from the circuit implementingfby applying the assignmentAto the inputsX and propagating the constants through the circuit using the usual reduction rules. Similarly, circuits imple- menting co-factorsh(i, Y),i∈ {1,2, . . . , k−1}, can be ob- tained by propagating an assignment of variables ofXlead- ing to thei-terminal node ofGg. Recall, thatgis a function of typeg :{0,1}|X|→ {0,1, ..., k−1}, soGgis a multi- terminal BDD withkterminal nodes.

To maximize the sharing of common logic of theicir- cuits implementing co-factorsh(i, Y),i∈ {0,1, . . . , k−1}, iassignmentsAare chosen so that they differ in the fewest number of bit positions.

The functionh(g(X), Y)is obtained by combining the co-factors in a Shannon expansion as follows:

h(g(X), Y) =

k1

i=0

gi11(X)g2i2(X). . . grir(X)h(i, Y) (1)

where (i1, i2, . . . , ir) is the binary expansion of i, r = log2k, and the termgijj is defined by

gijj =

gj ifij= 1 gj otherwise forj∈ {1,2, . . . , r}.

3.2. Constructing the circuit forg

Suppose thatBis an assignment of variables ofY such thath(i, B) = h(j, B)for somei, j ∈ {0,1, . . . , k−1}, i = j. Thenf(X, B) = h(g(X), B)where the co-factor h(g(X), B)is neither constant 0, nor constant 1, i.e. it de- pends ofg(X).

Since h is a function of type {0,1, ..., k − 1} × {0,1}|Y| → {0,1}, the co-factor h(g(X), B) is a func- tion of type {0,1, ..., k− 1} → {0,1}. Note that, for k = 2, h(g(X), B) is either an identity, or a comple- ment. Thus, at this step, the problem of constructing the

circuit for g(X) is solved for k = 2. For larger val- ues ofk, the following strategy is used.

Thek-valued functiong(X)can be expressed as

g(X) =

k1

i=0

i·gi(X)

wheregi : {0,1, . . . , k−1}|X| → {0,1} are multiple- valuedliteralsdefined as:

gi(X) =

1 ifg(X) =i 0 otherwise

For a given encoding ofk values ofg(K), each of the functionsg1(X), g2(X), . . . , gr(X),r =log2k, encod- ing g(X), can be represented as a sum of some literals gi(X)’s.

Consider a decomposition chart of h(g(X), Y) with columns representingk values ofg(X)and the rows rep- resent all combinations of the variables of Y. Any non- constant row ofh(g(X), Y)represents a sum of some lit- eralsgi(X),i∈ {0,1, . . . , k−1}.

In the best case, there exist rows in the decomposi- tion chart corresponding directly to the encoded func- tions g1(X), g2(X), . . . , gr(X). If h(g(X), A) = gj(X) for some assignmentAof the variables ofY, then the cir- cuit implementinggj(X)can be obtained from the circuit implementing f by applying the assignment A to the in- putsY and propagating the constants.

In the worst case, the literals gi(X), i ∈ {0,1, . . . , k − 1}, need to be computed by AND- ing selected rows ofh(g(X), Y). Afterward, the functions g1(X), g2(X), . . . , gr(X) are obtained as a combina- tion ofgi(X).

4. Conclusion and Future Work

This paper has two contributions: (1) a heuristic for find- ing a bound setX which results in the disjoint-support de- composition with a good area/delay trade-off; (2) an algo- rithm which transforms the original circuit into the decom- posed circuit.

Our preliminary experimental results on IWLS’02 benchmarks set show that the proposed technique usu- ally results in a smoother trade-off between area and de- lay compared to the one of SIS. More experiments are needed to make a thorough evaluation.

References

[1] A. Martinelli, T. Bengtsson, E. Dubrova, and A. J. Sullivan,

“Roth-Karp decomposition of large Boolean functions with application to logic design,” inProceedings of NORCHIP’02, (Copenhagen, Denmark), November 2002.

Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE’05) 1530-1591/05 $ 20.00 IEEE

Références

Documents relatifs

The abstract solver starts from the empty state and from a given formula (in this case a logic program Π) and applies transition rules until it reaches either a FailState state, or

~ 4 ~ ﺔﻣدﻘﻣ : بﻟﺎطﻟا دﯾوزﺗ وﻫ ﺔﻋوﺑطﻣﻟا ﻩذﻫ نﻣ فدﻬﻟا ةرادإ نادﯾﻣ ﻲﻓ ﺔﻘﺑﺎﺳﻟا ﻪﻓرﺎﻌﻣ تﺑﺛﯾ ﻲﻣﻠﻋ ىوﺗﺣﻣﺑ طﺎﺷﻧﻛ ةرادﻺﻟ بﺎﻌﯾﺗﺳﻻاو مﻬﻔﻟا

Included in the description is our research in the development of provably correct behavioral transformations with applica- tions to design and implementation

In Theorem 1 we prove that the class D 0 property is necessary and sufficient for the existence of a (finitely additive) Dol´ eans-Dade measure associated with a supermartingale.

Early internal rib stabilization of left flail chest might prevent the occurrence of secondary heart

This paper is an extended version of work pub- lished in [39], where we addressed the existence of positive invariant sets in the state space of the origi- nal dDDE. More precisely,

We show that any n-vertex complete graph with edges colored with three colors contains a set of at most four vertices such that the number of the neighbors of these vertices in one

In this exercise we define the structure sheaf on the projective line P 1 (the case of the projective space P n