28
Flexible Two-Level Flexible Two-Level Boolean Minimizer Boolean Minimizer BOOM‑II and Its BOOM‑II and Its Applications Applications Petr Fi Petr Fi š š er, Hana Kub er, Hana Kub átová átová Department of Computer Science and Department of Computer Science and Engineering Engineering Czech Technical University in Prague Czech Technical University in Prague Karlovo n Karlovo n á á m. 13, 121 35 Prague 2 m. 13, 121 35 Prague 2 e-mail: [email protected], e-mail: [email protected], [email protected] [email protected]

Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Embed Size (px)

Citation preview

Page 1: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Flexible Two-Level Boolean Flexible Two-Level Boolean Minimizer BOOM‑II and Its Minimizer BOOM‑II and Its

ApplicationsApplications

Petr FiPetr Fiššer, Hana Kuber, Hana Kubátováátová

Department of Computer Science and EngineeringDepartment of Computer Science and EngineeringCzech Technical University in PragueCzech Technical University in Prague

Karlovo nKarlovo náám. 13, 121 35 Prague 2m. 13, 121 35 Prague 2e-mail: [email protected], [email protected]: [email protected], [email protected]

Page 2: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 22

OutlineOutline

IntroductionIntroductionBrief Description of BOOM-IIBrief Description of BOOM-IIMain Phases of BOOM-IIMain Phases of BOOM-IIExperimental ResultsExperimental ResultsApplicationsApplicationsConclusionsConclusions

Page 3: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 33

IntroductionIntroduction

BOOM-II is a heuristic multi-outputBOOM-II is a heuristic multi-outputtwo-level Boolean minimizertwo-level Boolean minimizer

Combination of two minimizersCombination of two minimizers general purpose minimizer general purpose minimizer

The performance is improvedThe performance is improved

Minimization process can be influenced by Minimization process can be influenced by many constraints (decomposition, many constraints (decomposition, low-power design, DFT, …)low-power design, DFT, …)

Page 4: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 44

BOOM-IIBOOM-II

Combination of BOOM and FC-MinCombination of BOOM and FC-Min

Advantages & Drawbacks

Advantages Drawbacks

BOOM Good for functions with many inputs

Slow for functions with many outputs

FC-Min Good for functions with many outputs

Bad for functions with few outputs

Page 5: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 55

BOOM – CD SearchBOOM – CD Search

This is the main phase of BOOMThis is the main phase of BOOMProduces a set of implicants satisfying the Produces a set of implicants satisfying the cover, not necessarily PIscover, not necessarily PIsThese implicants are then expanded into These implicants are then expanded into PIsPIsCan be very efficiently influenced to Can be very efficiently influenced to produce “good” implicantsproduce “good” implicantsDrawback: only single-output functions are only single-output functions are consideredconsidered

Page 6: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 66

BOOM - Implicant ReductionBOOM - Implicant Reduction

Reduces PIs into group implicantsReduces PIs into group implicants

Very time-consuming for functions with Very time-consuming for functions with many outputs many outputs here is the problem

Page 7: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 77

Covering problem solutionCovering problem solution

Creates an irredundant set of implicants Creates an irredundant set of implicants covering the on-setcovering the on-set

Greedy heuristic is usedGreedy heuristic is used

Page 8: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 88

FC-MinFC-Min

Completely different approach to Completely different approach to minimizationminimization

First, the cover of the on-set is found, then First, the cover of the on-set is found, then the implicants are generated for this coverthe implicants are generated for this cover

No PIs are produced, just the group No PIs are produced, just the group implicants are foundimplicants are found

Generates Generates onlyonly the necessary set of group the necessary set of group implicants – fast, low memory demandsimplicants – fast, low memory demands

Page 9: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 99

FC-Min – Find CoverFC-Min – Find Cover

Computes rectangle cover of theComputes rectangle cover of theon-seton-set

Determines the number of product terms Determines the number of product terms in the solution, not their structurein the solution, not their structure

Independent on literalsIndependent on literals

Page 10: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1010

FC-Min – Find Cover ExampleFC-Min – Find Cover Example

{y -y0 4PLA:

11010 1000010000 1110001001 0110001111 0101000110 0011101110 0000010110 0001100001 0110110101 1011111100 10100

Page 11: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1111

FC-Min – Find Implicants PhaseFC-Min – Find Implicants Phase

Main Idea:

When a term (cube) should cover a particular output vector, the corresponding input vector must be contained in this cube

Thus the minimum term for ti must be constructed as a minimum supercube of all the input vectors corresponding to rows of ti

Page 12: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1212

FC-Min – Find Implicants PhaseFC-Min – Find Implicants Phase

PLA:

0 11010 100001 10000 111002 01001 011003 01111 010104 00110 001115 01110 000006 10110 000117 00001 011018 10101 101119 11100 10100

t1 covers 4, 6 and 8 001101011010101-01--

Page 13: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1313

BOOM-IIBOOM-II

Most of the phases are randomized heuristicsMost of the phases are randomized heuristics

Thus, repeated runs of the minimization process Thus, repeated runs of the minimization process could yield different solutionscould yield different solutions

We repetitively run the minimizers, while We repetitively run the minimizers, while alternating them and put all the implicants into a alternating them and put all the implicants into a common poolcommon pool

Then we solve CPThen we solve CP

The ratio of FC-Min & BOOM runs can be The ratio of FC-Min & BOOM runs can be adjusted – according to the nature of the problemadjusted – according to the nature of the problem

Page 14: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1414

Iterative MinimizationIterative Minimization

Page 15: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1515

BOOM-IIBOOM-IIS TA RT

F C :B O O M

B O O M(C D -S , IE , IR )

F C -M in(F C , F I, IE )

S T O P ?

C P S o lu tio n

E N D

Y E S

N O

B O O M F C -M in

Page 16: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1616

Structure of the SolutionStructure of the Solution

Page 17: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1717

Structure of the SolutionStructure of the Solution

1 - BOOM PIs 2 - Common PIs 3 - FC-Min PIs 4 - BOOM non-PIs 5 - Common non-PIs 6 - FC-Min non-PIs

0.41%0.21%1.6%1.6%3%

93%

1 - BOOM PIs 2 - Common PIs 3 - FC-Min PIs 4 - BOOM non-PIs 5 - Common non-PIs 6 - FC-Min non-PIs

4.5%3.3%

9.1%

6.4%

19%

58%

BOOM is better to generate PIs

FC-Min is better to generate group implicants

BOOM IR phase can be omitted

All implicants Solution implicants

Page 18: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1818

Experimental ResultsExperimental Results

Random problem:Random problem:

300 inputs300 inputs

5 outputs5 outputs

200 care terms200 care terms

Area (GEs)Area (GEs) Runtime [s]Runtime [s]

ESPRESSOESPRESSO 205205 1717.61717.6

BOOMBOOM 206206 323.8323.8

FC-MinFC-Min 205205 109.5109.5

BOOM-II (1:1)BOOM-II (1:1) 205205 193.5193.5

BOOM-II (1:1), no IRBOOM-II (1:1), no IR 205205 151.0151.0

Page 19: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1919

Experimental ResultsExperimental Results

Random problem:Random problem:

20 inputs20 inputs

10 outputs10 outputs

500 care terms500 care terms

GEsGEs Runtime [s]Runtime [s]

ESPRESSOESPRESSO 24442444 19.3419.34

BOOMBOOM 21062106 94109410

FC-MinFC-Min 23812381 473473

BOOM-II (1:1)BOOM-II (1:1) 21222122 69106910

BOOM-II (1:1), no IRBOOM-II (1:1), no IR 21172117 65736573

Page 20: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2020

ApplicationsApplications

Output grouping (decomposition)

Design for testability

Load balancing

Page 21: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2121

ApplicationsApplications

Output grouping (single-level partitioning)

Page 22: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2222

ApplicationsApplications

Output grouping (single-level partitioning)

Determine which outputs should stay together, to minimize the overall logics

Based on FC-Min

Grouping matrix is proposed

Page 23: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2323

Output GroupingOutput Grouping

Based on Grouping Matrix G

Symmetric matrix of dimensions [m, m], where m is the number of output variables

The value G[i, j] defines the strength binding two output variables i and j together

It is constructed from the cover obtained in It is constructed from the cover obtained in the the Find Cover Find Cover phasephase

Page 24: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2424

G-MatrixG-Matrix

Derived from valid coverage of the on-setDerived from valid coverage of the on-set

{y -y0 40000000000000000000000000

t1

0000000000000000000100010

t2

0000000100010000000100010

t3

0010000100110000000100010

t4

0010000110110000100100010

t6

0010000110110010100100110

Page 25: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2525

G-MatrixG-Matrix

This was a very simple exampleThis was a very simple exampleValues greater than 1 are there in practiceValues greater than 1 are there in practiceTwo outputs having the highest value in Two outputs having the highest value in

the matrix are grouped togetherthe matrix are grouped togetherThe precision can be refined by repeating The precision can be refined by repeating

the process (Find Cover)the process (Find Cover)

Page 26: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2626

Influencing BOOM-II RunInfluencing BOOM-II Run

CD-SearchCD-SearchSelection of literals is based on their Selection of literals is based on their frequency of occurrence in the on-setfrequency of occurrence in the on-set

This “weight” can be somehow modifiedThis “weight” can be somehow modified

FC-Min Implicant ExpansionFC-Min Implicant ExpansionPrefer removing “unwanted” literalsPrefer removing “unwanted” literals

Covering problem solutionCovering problem solutionThe selection function is modifiedThe selection function is modified

Page 27: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2727

Output Grouping - ExampleOutput Grouping - Example

Comparison with random groupingComparison with random grouping

Final logic synthesized by SIS and decomposed into Final logic synthesized by SIS and decomposed into 2-input NAND gates2-input NAND gates

bench outputs blocks random FC-Min impr.

duke2 29 3 676 517 24%

jbp 57 6 755 600 21%

mainpla 54 6 5742 4506 22%

mish 43 5 156 136 13%

misj 14 3 78 75 4%

soar 94 10 1424 970 32%

spla 46 5 1033 811 22 %

ti 72 7 1496 1173 22%

x2dn 56 6 331 206 38%

Page 28: Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical

Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2828

ConclusionsConclusions

BOOM-II has been presentedBOOM-II has been presented

Combination of two different approaches Combination of two different approaches to implicant generationto implicant generation

Universal Boolean minimizerUniversal Boolean minimizer

The minimization process can be The minimization process can be influenced to meet given constraintsinfluenced to meet given constraints

Can be downloaded from Can be downloaded from http://service.felk.cvut.cz/vlsi/prj/BOOM