Boolean Minimizer FCMin Coverage Finding Process Petr Fier
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering
Outline Main Features of FC-Min n Basic Principles n An Example n Details on the Find Cover Phase n Experimental Results n Conclusions n
Main Features Extremely fast two-level Boolean minimizer n Capable to handle functions with a large number of input & output variables n Advantageous for highly unspecified functions n Low memory demands n
Principles Implicant generation is different from standard methods (Q-M based) n No prime implicants are being generated n Only necessary group implicants are produced n The cover of the on-set is found first n Then the implicants with the properties of the cover are computed n
Preliminaries Given: Input matrix I[n, p] Output matrix O[m, p] A Boolean function of: n input variables m output variables p defined terms, the rest are don’t cares
Three Main Phases • Find Cover (thus FC-Min) • Find Implicants • Expand Input
Three Main Phases • Find Cover (thus FC-Min) • Find Implicants • Expand Input
Find 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!
Example
The Algorithm Find Cover is NP-hard Some heuristic has to be used n We use a greedy heuristic based on a gradual search for coverage elements consisting of the maximum number of “ 1”s
The Algorithm 1. 2. 3. 4. Select a row containing the most of “ 1”s Continue the search for a next row to add in order to increase the number of the covered “ 1”s Repeat 2. until the number of “ 1”s increases (or stop – see next slide) Repeat all until the whole on-set is covered
The Depth Factor n n Finding a cover consisting of many “ 1”s 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
The Depth Factor
The Depth Factor
The Depth Factor
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 satisfying the particular cover can be constructed as a minimum supercube of all the input vectors corresponding to C(ti)
Find Implicants Phase Both Matrices: 0 1 2 3 4 5 6 7 8 9 11010 10000 01001 01111 00110 01110 10110 00001 10101 11100 10000 11100 01010 00111 00000 00011 01101 10111 10100 t 1 covers 4, 6 and 8 00110 10101 -01 --
Find Implicants Phase All the implicants: t 1: t 2: t 3: t 4: t 5: t 6: -01 ---001 -1001111 1 -0 -0 00 --- 00011 01100 10100 01010 10000 00101 SOP Forms: y 0 = t 3 + t 5 = x 0 x 2 x 3' + x 0 x 2' x 4’ y 1 = t 2 + t 4 = x 2'x 3' + x 0' x 1 x 2 x 3 x 4 y 2 = t 2 + t 3 + t 6 = x 2'x 3' + x 0 x 2 x 3' + x 0' x 1' y 3 = t 1 + t 4 = x 1'x 2 + x 0' x 1 x 2 x 3 x 4 y 4 = t 1 + t 6 = x 1'x 2 + x 0' x 1'
Experimental Results Ø Significantly faster than ESPRESSO Ø Result quality comparable to ESPRESSO & BOOM Ø Produces results having a low number of terms Ø Details in the Proceedings
MCNC Benchmarks 120 Benchmarks were solved n 72% were solved in a shorter time than ESPRESSO n In 86% FC-Min reached the same or better result n In 67% both n
Time Complexity
Time Complexity
Time Complexity
Conclusions Ø 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
- Slides: 24