Upload
annis-ramsey
View
221
Download
3
Tags:
Embed Size (px)
Citation preview
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]
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
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, …)
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
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
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
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
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
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
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
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
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--
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
Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1414
Iterative MinimizationIterative Minimization
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
Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 1616
Structure of the SolutionStructure of the Solution
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
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
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
Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2020
ApplicationsApplications
Output grouping (decomposition)
Design for testability
Load balancing
…
Euromicro DSD'06, CavtatEuromicro DSD'06, Cavtat 2121
ApplicationsApplications
Output grouping (single-level partitioning)
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
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
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
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)
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
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%
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