6.371
 1 
TwoLevel Boolean Minimization
TwoLevel Boolean Minimization
Twolevel Boolean minimization is used to find a sumofproducts representation for a multiple
output Boolean function that is optimum according to a given cost function.
The typical cost
functions used are the number of product terms in a twolevel realization, the number of literals,
or a combination of both. The two steps in twolevel Boolean minimization are:
1.
Generation of the set of
prime productterms
for a given function.
2.
Selection
of a minimum set of prime terms to implement the function.
We will briefly describe the QuineMcCluskey method which was the first algorithmic method
proposed for twolevel minimization and which follows the two steps outlined above.
Stateof
theart logic minimization algorithms are all based on the Quine McCluskey method and also
follow the two steps above.
Prime Term Generation
The QuineMcCluskey method is best illustrated with an example.
Consider the completely
specified Boolean function shown in (1A).
It has been represented as a list of
0terms
,
which are
fully specified product terms with no don'tcare entries.
Next, each 0term has an associated
decimal value obtained by converting the binary number represented by the 0term into a decimal
number—for instance the value of
0000
is
0
and that of
1110
is
14
.
Each pair of 0terms is
checked to see if they can be merged into a single 1term.
Two 0terms can be merged if they
differ in exactly one position.
The terms generated in our example by merging the pairs of 0
terms are shown in (1B).
These terms are called 1terms because they have exactly one “
—
“
entry.
Next, these lterms are examined in pairs to see if they can be merged into 2terms.
This
can only be done if the 1terms differ in exactly one position and they have their “
—
“ literal in the
same position.
Two 2terms can be formed as shown in (1C).
If a kterm is formed by merging
two (kl)terms, then the two (k1) lterms are not primes and are marked so that they can be
discarded later.
The process ends when no merging is possible in the final set of Lterms.
The
unmarked kterms, where O <
k <
L, are the complete set of prime terms of the function.
The five
prime terms for the function in this example are in
bold
type and labelled [A] through [E].
In the
case of incompletely specified functions the initial list of 0terms includes those 0terms in the
ONset
and the DCset (don'tcare set).
0
0000
0, 8
000
[E]
8,9,10,11
10 [B]
5
0101
5, 7
011 [D]
10,11,14,15
11 [A]
7
0111
7,15
111 [C]
8
1000
8, 9
100
9
1001
8,10
100
10
1010
9,11
101
11
1011
10,11
101
14
1110
10,14
110
15
1111
11,15
111
14,15
111
(1A) 0terms
(1B) 1terms
(1C) 2terms
Prime Term Table
We now construct the prime term table as shown below.
The rows of the prime term table are the
0terms of the ONset
of the function (we do not need to choose 0terms in the DCset) and the
columns are the prime terms.
An "X" in the prime term table in row i and column j signifies that
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
6.371
 2 
TwoLevel Boolean Minimization
the 0term corresponding to row i is contained by the prime corresponding to column j.
For
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '02
 KRSTEASANOVIC
 Prime number, prime term table

Click to edit the document details