280 likes | 438 Views
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. Outline. Introduction
E N D
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
Outline • Introduction • Brief Description of BOOM-II • Main Phases of BOOM-II • Experimental Results • Applications • Conclusions Euromicro DSD'06, Cavtat
Introduction • BOOM-II is a heuristic multi-outputtwo-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, …) Euromicro DSD'06, Cavtat
BOOM-II Combination of BOOM and FC-Min Advantages & Drawbacks Euromicro DSD'06, Cavtat
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 • Drawback: only single-output functions are considered Euromicro DSD'06, Cavtat
BOOM - Implicant Reduction Reduces PIs into group implicants Very time-consuming for functions with many outputs here is the problem Euromicro DSD'06, Cavtat
Covering problem solution Creates an irredundant set of implicants covering the on-set Greedy heuristic is used Euromicro DSD'06, Cavtat
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 Euromicro DSD'06, Cavtat
FC-Min – Find Cover • Computes rectangle cover of theon-set • Determines the number of product terms in the solution, not their structure • Independent on literals Euromicro DSD'06, Cavtat
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 Euromicro DSD'06, Cavtat
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 minimumterm for ti must be constructed as a minimum supercube of all the input vectors corresponding to rows of ti Euromicro DSD'06, Cavtat
t1 covers 4, 6 and 8 00110 10110 10101 -01-- 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 Euromicro DSD'06, Cavtat
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 Euromicro DSD'06, Cavtat
Iterative Minimization Euromicro DSD'06, Cavtat
BOOM-II Euromicro DSD'06, Cavtat
Structure of the Solution Euromicro DSD'06, Cavtat
Structure of the Solution All implicants Solution implicants • BOOM is better to generate PIs • FC-Min is better to generate group implicants • BOOM IR phase can be omitted Euromicro DSD'06, Cavtat
Experimental Results Random problem: 300 inputs 5 outputs 200 care terms Euromicro DSD'06, Cavtat
Experimental Results Random problem: 20 inputs 10 outputs 500 care terms Euromicro DSD'06, Cavtat
Applications • Output grouping (decomposition) • Design for testability • Load balancing • … Euromicro DSD'06, Cavtat
Applications Output grouping (single-level partitioning) Euromicro DSD'06, Cavtat
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 Euromicro DSD'06, Cavtat
Output Grouping • Based onGrouping 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 Euromicro DSD'06, Cavtat
G-Matrix Derived from valid coverage of the on-set Euromicro DSD'06, Cavtat
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) Euromicro DSD'06, Cavtat
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 Euromicro DSD'06, Cavtat
Output Grouping - Example • Comparison with random grouping • Final logic synthesized by SIS and decomposed into 2-input NAND gates Euromicro DSD'06, Cavtat
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 http://service.felk.cvut.cz/vlsi/prj/BOOM Euromicro DSD'06, Cavtat