Two- -Level Boolean Minimizer Level Boolean Minimizer Two BOOM- -II II BOOM Petr Fi Fiš šer, Hana er, Hana Kub Kubátová átová Petr Department of Computer Science and Department of Computer Science and Engineering Engineering Czech Technical University Czech Technical University Karlovo nam nam. 13, 121 35 Prague 2 . 13, 121 35 Prague 2 Karlovo e- -mail: fiserp@fel.cvut.cz, kubatova@fel.cvut.cz mail: fiserp@fel.cvut.cz, kubatova@fel.cvut.cz e
Outline Outline � Introduction Introduction � � Problem Statement Problem Statement � � Description of BOOM Description of BOOM- -II II � � The Individual Phases The Individual Phases � � Experimental Results Experimental Results � � Conclusions Conclusions �
Introduction Introduction � BOOM BOOM- -II is a heuristic multiple II is a heuristic multiple- -output output � two- -level Boolean minimizer level Boolean minimizer two � Composition of two minimizers Composition of two minimizers – – a general a general � purpose minimizer purpose minimizer
Problem Statement Problem Statement Given: : Given n- - input, input, m m - -output function given by a truth output function given by a truth n table (PLA) table (PLA) F 1 (x 1 , x 2 , … x x n ) , , F F 2 (x 1 , x 2 , … x x n ) , … , … F F m (x 1 , x 2 , … x x n ) F 1 (x 1 , x 2 , … n ) 2 (x 1 , x 2 , … n ) m (x 1 , x 2 , … n ) The function is specified by on- -set and set and The function is specified by on off- -set set off Our Aim: Our Aim: to minimize it, the result is a set of SOP forms to minimize it, the result is a set of SOP forms
BOOM- -II II BOOM Composition of BOOM and FC- -Min Min Composition of BOOM and FC � BOOM is good for functions with many BOOM is good for functions with many � inputs inputs � FC FC- -Min is good for functions with many Min is good for functions with many � outputs outputs � Iterative minimization Iterative minimization – – both the both the � minimizers are being alternated minimizers are being alternated
BOOM- -II II BOOM START BOOM FC-Min FC:BOOM BOOM FC-Min (CD-S, IE, IR) (FC, FI, IE) NO STOP? YES CP Solution END
BOOM BOOM � CD CD- -Search Search � � Implicant Expansion (IE) Implicant Expansion (IE) � � Implicant Reduction (IR) Implicant Reduction (IR) � � CP Solution (CP) CP Solution (CP) �
BOOM – – CD CD- -Search Search BOOM � Just for single Just for single- -output functions output functions – – the the � multiple- -output function has to be divided output function has to be divided multiple � Implicants are generated top Implicants are generated top- -down down – – by by � reducing the universal hypercube reducing the universal hypercube � We add literals to a term, until it becomes We add literals to a term, until it becomes � an implicant an implicant � Based on a frequency of occurrence in Based on a frequency of occurrence in � on- -set set on
BOOM - - IE IE BOOM Implicant Expansion Implicant Expansion The implicants from CD- -search are search are The implicants from CD expanded into PIs expanded into PIs
BOOM - - IR IR BOOM Implicant Reduction Implicant Reduction Reduces PIs into group implicants Reduces PIs into group implicants Very time- -consuming for functions with consuming for functions with Very time many outputs many outputs
BOOM - - CP CP BOOM Covering problem solution Covering problem solution Selects an irredundant set of implicants Selects an irredundant set of implicants covering the on- -set set covering the on greedy heuristic is used greedy heuristic is used
FC- -Min Min FC � Completely different approach to minimization Completely different approach to minimization � � First, the cover of the on First, the cover of the on- -set is found, then the set is found, then the � implicants are generated for this cover implicants are generated for this cover � No PIs are produced, just the group implicants No PIs are produced, just the group implicants � � Generates Generates only only the necessary set of group the necessary set of group � implicants – – fast, low memory demands fast, low memory demands implicants � Find Find- -Coverage Coverage � � Generate Implicants Generate Implicants � � Expand Implicants Expand Implicants �
FC- -Min Min – – Find Coverage Find Coverage FC y -y 0 4 � Generates rectangle Generates rectangle � { cover of the on- -set set cover of the on � Determines the number Determines the number � of product terms in the of product terms in the solution, not their solution, not their structure structure � Independent on literals Independent on literals �
FC- -Min Min – – Find Implicants Phase Find Implicants Phase FC 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
FC- -Min Min – – Find Implicants Phase Find Implicants Phase FC PLA: 0 11010 10000 1 10000 11100 2 01001 01100 00110 t 1 covers 4, 6 and 8 3 01111 01010 10110 4 00110 00111 10101 5 01110 00000 6 10110 00011 -01-- 7 00001 01101 8 10101 10111 9 11100 10100
FC- -Min Min – – Find Implicants Phase Find Implicants Phase FC All the implicants: SOP Forms: t 1 : -01-- 00011 y 0 = t 3 + t 5 = x 0 x 2 x 3 ' + x 0 x 2 ' x 4 ’ t 2 : --00- 01100 y 1 = t 2 + t 4 = x 2 'x 3 ' + x 0 ' x 1 x 2 x 3 x 4 t 3 : 1-10- 10100 y 2 = t 2 + t 3 + t 6 = x 2 'x 3 ' + x 0 x 2 x 3 ' + x 0 ' x 1 ' t 4 : 01111 01010 y 3 = t 1 + t 4 = x 1 'x 2 + x 0 ' x 1 x 2 x 3 x 4 t 5 : 1-0-0 10000 y 4 = t 1 + t 6 = x 1 'x 2 + x 0 ' x 1 ' t 6 : 00--- 00101
FC- -Min Min – – Expand Implicants Expand Implicants FC � The The minimum implicants minimum implicants can be further can be further � expanded expanded � Literals are removed from the obtained Literals are removed from the obtained � PLA matrix, until some term intersects PLA matrix, until some term intersects off- -set set off
BOOM- -II II BOOM � Most of the phases are randomized heuristics Most of the phases are randomized heuristics � � Thus, repeated runs of the minimization process Thus, repeated runs of the minimization process � could yield different solutions could 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 pool common pool � Then we solve CP Then we solve CP � � The ratio of FC The ratio of FC- -Min & BOOM runs can be Min & BOOM runs can be � adjusted – – according to the nature of the problem according to the nature of the problem adjusted
Experimental Results Experimental Results Random problem: Random problem: 100 inputs 100 inputs 15 outputs 15 outputs 125 care terms 125 care terms Literals Oc Terms Speedup Literals Oc Terms Speedup ESPRESSO 657 700 110 1 ESPRESSO 657 700 110 1 BOOM 765 359 122 52 BOOM 765 359 122 52 BOOM- -II (1:1) II (1:1) 674 377 102 69 BOOM 674 377 102 69 FC- -Min Min 650 374 99 137 FC 650 374 99 137
Experimental Results Experimental Results Random problem: Random problem: 25 inputs 25 inputs 1 output 1 output 500 care terms 500 care terms Literals Oc Terms Speedup Literals Oc Terms Speedup ESPRESSO 881 111 111 1 ESPRESSO 881 111 111 1 BOOM 793 98 98 33 BOOM 793 98 98 33 BOOM- -II (1:1) II (1:1) 852 106 106 19 BOOM 852 106 106 19 FC- -Min Min 981 124 124 15 FC 981 124 124 15
Structure of the Solution Structure of the Solution
Structure of the Solution Structure of the Solution 1 - BOOM PIs 1 - BOOM PIs All implicants Solution implicants 2 - Common PIs 2 - Common PIs 3 - FC-Min PIs 3 - FC-Min PIs 4 - BOOM non-PIs 4 - BOOM non-PIs 5 - Common non-PIs 5 - Common non-PIs 19% 6 - FC-Min non-PIs 6 - FC-Min non-PIs 6.4% 93% 9.1% 3% 1.6% 1.6% 0.21% 3.3% 0.41% 4.5% 58% • BOOM is better for PIs • FC-Min is better for group implicants • BOOM IR phase can be omitted
Conclusions Conclusions � BOOM BOOM- -II has been presented II has been presented � � Combination of two different approaches to Combination of two different approaches to � implicant generation implicant generation � Universal Boolean minimizer Universal Boolean minimizer � � Very scalable (tradeoff between solution quality Very scalable (tradeoff between solution quality � & runtime) & runtime) � Useful for extremely large problems, very fast Useful for extremely large problems, very fast � � Can be downloaded from Can be downloaded from � http://service.felk.cvut.cz/vlsi/prj/BOOM
Recommend
More recommend