BOOM (BOOlean Minimization) is a tool for minimizing
two-valued Boolean functions. The output is a near-minimal or minimal two-level
disjunctive form. The input and output of BOOM are compatible with Berkeley
standard PLA format.
BOOM 2.7 runs as a Win32 console application.
| -FRn |
Define FC-Min:BOOM ratio n (0-100), 0 is default |
help |
| -DFn |
Define the FC-Min Depth Factor, 10 is default |
help |
| -DDx |
Define the FC-Min Depth Factor Direction x:
| 0 |
DF = 1:n (from -DFn) |
| 1 |
DF = n:1 (from -DFn), default |
|
help |
| -CMn |
Define CD-Search mutations ratio n (0-100) |
help |
| -RMn |
Define implicant reduction mutations ratio n (0-100) |
help |
| -Ex |
Select implicant expansion type:
| 0 |
Sequential search |
| 1 |
Distributed multiple IE |
| 2 |
Distributed exhaustive IE |
| 3 |
Multiple IE (default) |
| 4 |
Exhaustive IE |
|
help |
| -CPx |
Select the covering problem solution algorithm:
| 0 |
LCMC |
| 1 |
Contributive addition (default) |
| 2 |
Contributive removal |
| 3 |
Exact cover |
|
help |
| -Sxn |
Define stopping criterion x of value n:
| t |
stop after n seconds |
| i |
stop after n iterations (default is Si1) |
| n |
stopping interval equal to n |
| q |
stop when quality of solution meets n |
|
help |
| -Qx |
Define optimization criterion x:
| t |
terms |
| l |
literals |
| o |
output cost |
| b |
literals+output cost (default) |
| g |
number of gates |
| G |
number of gate equivalents |
|
help |
| -single |
Single-output minimization |
help |
| -endcov |
Cover at the end only |
help |
| -SD |
Substitute output don't cares |
help |
| -Ox[n] |
Define output format:
| P |
PLA (default) |
| V |
VHDL (ports as individual variables). If n is specified, the function is split into max. n-input gates |
| W |
VHDL (ports as vectors). If n is specified, the function is split into max. n-input gates |
| v |
Verilog |
| B |
BLIF |
| E |
Equations |
| H |
HTML (table) |
|
help |
| -nocheck |
Don't check the input function for consistence |
help |
| -noIR |
Implicant reduction is not performed. |
help |
| -namevars |
Implicitly name the variables |
help |
We have a Boolean function of 4 input variables and
3 output variables described by the following Karnaugh maps:
This will be an input for the BOOM minimizer. This function
can be minimized by the following command:
BOOM src.pla out.pla |
Minimizes function src.pla and the output is written to the out.pla file.
Standard setting is used (1 iteration, CD-Search only, no mutations, Multiple IE, Contributive Addition CP). |
BOOM -Si10 -FR50 src.pla out.pla |
Minimizes function src.pla and the output is written to the out.pla file.
10 iterations, 50% CD-Search and 50% FC-Min, depth factor set to 10:1, no mutations, Multiple IE, Contributive Addition CP, optimization criterion are literals+output cost. |
BOOM -St10 -CM10 -FR10 -DF5 -QG src.pla out.pla |
Minimizes function src.pla and the output is written to the out.pla file.
Stops after 10 seconds, 10% CD-Search mutations, 90% CD-Search and 10% FC-Min, depth factor set to 5:1, Multiple IE, Contributive Addition CP, optimization criterion are gate equivalents. |
BOOM -Sq100 -Qt -single src.pla out.pla |
Minimizes function src.pla and the output is written to the out.pla file.
Single-output minimization is performed, until the solution reaches 100 terms or less. |