Title: Bez nadpisu
1Boolean Minimizer FC-Min Coverage Finding Process
Petr Fier, Hana Kubátová Czech Technical
University Department of Computer Science and
Engineering
2Outline
- Main Features of FC-Min
- Basic Principles
- An Example
- Details on the Find Cover Phase
- Experimental Results
- Conclusions
3Main Features
- Extremely fast two-level Boolean minimizer
- Capable to handle functions with a large number
of input output variables - Advantageous for highly unspecified functions
- Low memory demands
4Principles
- Implicant generation is different from standard
methods (Q-M based) - No prime implicants are being generated
- Only necessary group implicants are produced
- The cover of the on-set is found first
- Then the implicants with the properties of the
cover are computed
5Preliminaries
Given Input matrix In, p Output matrix Om,
p ? A Boolean function of n input variables m
output variables p defined terms, the rest are
dont cares
6Three Main Phases
- Find Cover (thus FC-Min)
- Find Implicants
- Expand Input
7Three Main Phases
- Find Cover (thus FC-Min)
- Find Implicants
- Expand Input
8Find Cover Phase
- We try to find a rectangle cover of the on-set
- The elements of the cover will determine the
implicants of the final solution - The tentative implicants are being derived from
the Output matrix only!
9Example
10The Algorithm
- Find Cover is NP-hard
- ?
- Some heuristic has to be used
- We use a greedy heuristic based on a gradual
search for coverage elements consisting of the
maximum number of 1s
11The Algorithm
- Select a row containing the most of 1s
- Continue the search for a next row to add in
order to increase the number of the covered 1s - Repeat 2. until the number of 1s increases (or
stop see next slide) - Repeat all until the whole on-set is covered
12The Depth Factor
- Finding a cover consisting of many 1s in the
output matrix is advantageous but the
implicants are hard to find and the IG phase
fails - Solution the Depth Factor DF
- With a given probability we decide whether to
prolong C(ti) or not
13The Depth Factor
14The Depth Factor
15The Depth Factor
16Find 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 satisfying the particular
cover can be constructed as a minimum supercube
of all the input vectors corresponding to C(ti)
17Find Implicants Phase
Both Matrices 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
18Find Implicants Phase
All the implicants
SOP Forms y0 t3 t5 x0 x2 x3' x0 x2'
x4 y1 t2 t4 x2'x3' x0' x1 x2 x3 x4 y2
t2 t3 t6 x2'x3' x0 x2 x3' x0' x1' y3
t1 t4 x1'x2 x0' x1 x2 x3 x4 y4 t1 t6
x1'x2 x0' x1'
t1 -01-- 00011 t2 --00- 01100 t3 1-10-
10100 t4 01111 01010 t5 1-0-0 10000 t6 00---
00101
19Experimental Results
- Significantly faster than ESPRESSO
- Result quality comparable to ESPRESSO BOOM
- Produces results having a low number of terms
- Details in the Proceedings
20MCNC Benchmarks
- 120 Benchmarks were solved
- 72 were solved in a shorter time than ESPRESSO
- In 86 FC-Min reached the same or better result
- In 67 both
21Time Complexity
22Time Complexity
23Time Complexity
24Conclusions
- A new two-level Boolean minimizer has been
proposed - Novel method of implicant generation
- Usable for extremely large problems
- Extremely good for problems with a large number
of output variables