Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Flexible Two-Level Boolean Minimizer BOOM ‑ II and Its Applications Petr Fišer, Hana Kubátová Department of Computer Science and Engineering Czech Technical."— Presentation transcript:

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 University in Prague Karlovo nám. 13, 121 35 Prague 2 e-mail: fiserp@fel.cvut.cz, kubatova@fel.cvut.cz

2 Euromicro DSD'06, Cavtat2 Outline Introduction Brief Description of BOOM-II Main Phases of BOOM-II Experimental Results ApplicationsConclusions

3 Euromicro DSD'06, Cavtat3 Introduction BOOM-II is a heuristic multi-output two-level Boolean minimizer Combination of two minimizers  general purpose minimizer The performance is improved Minimization process can be influenced by many constraints (decomposition, low-power design, DFT, …)

4 Euromicro DSD'06, Cavtat4 BOOM-II Combination of BOOM and FC-Min Advantages & Drawbacks AdvantagesDrawbacks 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

5 Euromicro DSD'06, Cavtat5 BOOM – CD Search This is the main phase of BOOM Produces a set of implicants satisfying the cover, not necessarily PIs These implicants are then expanded into PIs Can be very efficiently influenced to produce “good” implicants only single-output functions are considered Drawback: only single-output functions are considered

6 Euromicro DSD'06, Cavtat6 BOOM - Implicant Reduction Reduces PIs into group implicants Very time-consuming for functions with many outputs  Very time-consuming for functions with many outputs  here is the problem

7 Euromicro DSD'06, Cavtat7 Covering problem solution Creates an irredundant set of implicants covering the on-set Greedy heuristic is used

8 Euromicro DSD'06, Cavtat8 FC-Min Completely different approach to minimization First, the cover of the on-set is found, then the implicants are generated for this cover No PIs are produced, just the group implicants are found Generates only the necessary set of group implicants – fast, low memory demands

9 Euromicro DSD'06, Cavtat9 FC-Min – Find Cover Computes rectangle cover of the on-set Determines the number of product terms in the solution, not their structure Independent on literals

10 Euromicro DSD'06, Cavtat10 FC-Min – Find Cover Example PLA: 11010 10000 10000 11100 01001 01100 01111 01010 00110 00111 01110 00000 10110 00011 00001 01101 10101 10111 11100 10100

11 Euromicro DSD'06, Cavtat11 FC-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 t i must be constructed as a minimum supercube of all the input vectors corresponding to rows of t i

12 Euromicro DSD'06, Cavtat12 FC-Min – Find Implicants Phase PLA: 0 11010 10000 1 10000 11100 2 01001 01100 3 01111 01010 4 00110 00111 5 01110 00000 6 10110 00011 7 00001 01101 8 10101 10111 9 11100 10100 t 1 covers 4, 6 and 8 00110 10110 10101 -01--

13 Euromicro DSD'06, Cavtat13 BOOM-II Most of the phases are randomized heuristics Thus, repeated runs of the minimization process could yield different solutions We repetitively run the minimizers, while alternating them and put all the implicants into a common pool Then we solve CP The ratio of FC-Min & BOOM runs can be adjusted – according to the nature of the problem

14 Euromicro DSD'06, Cavtat14 Iterative Minimization

15 Euromicro DSD'06, Cavtat15 BOOM-II

16 Euromicro DSD'06, Cavtat16 Structure of the Solution

17 Euromicro DSD'06, Cavtat17 Structure of the Solution BOOM is better to generate PIs FC-Min is better to generate group implicants BOOM IR phase can be omitted All implicantsSolution implicants

18 Euromicro DSD'06, Cavtat18 Experimental Results Random problem: 300 inputs 5 outputs 200 care terms Area (GEs) Runtime [s] ESPRESSO2051717.6 BOOM206323.8 FC-Min205109.5 BOOM-II (1:1) 205193.5 BOOM-II (1:1), no IR 205151.0

19 Euromicro DSD'06, Cavtat19 Experimental Results Random problem: 20 inputs 10 outputs 500 care terms GEs Runtime [s] ESPRESSO244419.34 BOOM21069410 FC-Min2381473 BOOM-II (1:1) 21226910 BOOM-II (1:1), no IR 21176573

20 Euromicro DSD'06, Cavtat20 Applications Output grouping (decomposition) Design for testability Load balancing …

21 Euromicro DSD'06, Cavtat21 Applications Output grouping (single-level partitioning)

22 Euromicro DSD'06, Cavtat22 Applications Output grouping (single-level partitioning) Determine which outputs should stay together, to minimize the overall logics Based on FC-Min Grouping matrix is proposed

23 Euromicro DSD'06, Cavtat23 Output 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 the Find Cover phase

24 Euromicro DSD'06, Cavtat24 G-Matrix Derived from valid coverage of the on-set 00000 t1t1 00001 00010 t2t2 00000 00100 01000 00001 00010 t3t3 00100 11000 00001 00010 t4t4 00100 00110 11000 01001 00010 t6t6 00100 00110 11001 01001 00110

25 Euromicro DSD'06, Cavtat25 G-Matrix This was a very simple example Values greater than 1 are there in practice Two outputs having the highest value in the matrix are grouped together The precision can be refined by repeating the process (Find Cover)

26 Euromicro DSD'06, Cavtat26 Influencing BOOM-II Run CD-Search Selection of literals is based on their frequency of occurrence in the on-set This “weight” can be somehow modified FC-Min Implicant Expansion Prefer removing “unwanted” literals Covering problem solution The selection function is modified

27 Euromicro DSD'06, Cavtat27 Output Grouping - Example Comparison with random grouping Final logic synthesized by SIS and decomposed into 2-input NAND gates benchoutputsblocksrandomFC-Minimpr. duke229367651724% jbp57675560021% mainpla5465742450622% mish43515613613% misj14378754% soar9410142497032% spla465103381122 % ti7271496117322% x2dn56633120638%

28 Euromicro DSD'06, Cavtat28 Conclusions BOOM-II has been presented Combination of two different approaches to implicant generation Universal Boolean minimizer The minimization process can be influenced to meet given constraints Can be downloaded from Can be downloaded from http://service.felk.cvut.cz/vlsi/prj/BOOM http://service.felk.cvut.cz/vlsi/prj/BOOM


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

Similar presentations


Ads by Google