{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

L04 Quine McCluskey

L04 Quine McCluskey - Two-Level Boolean Minimization...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
6.371 - 1 - Two-Level Boolean Minimization Two-Level Boolean Minimization Two-level Boolean minimization is used to find a sum-of-products 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 two-level realization, the number of literals, or a combination of both. The two steps in two-level Boolean minimization are: 1. Generation of the set of prime product-terms for a given function. 2. Selection of a minimum set of prime terms to implement the function. We will briefly describe the Quine-McCluskey method which was the first algorithmic method proposed for two-level minimization and which follows the two steps outlined above. State-of- the-art logic minimization algorithms are all based on the Quine McCluskey method and also follow the two steps above. Prime Term Generation The Quine-McCluskey method is best illustrated with an example. Consider the completely specified Boolean function shown in (1A). It has been represented as a list of 0-terms , which are fully specified product terms with no don't-care entries. Next, each 0-term has an associated decimal value obtained by converting the binary number represented by the 0-term into a decimal number—for instance the value of 0000 is 0 and that of 1110 is 14 . Each pair of 0-terms is checked to see if they can be merged into a single 1-term. Two 0-terms 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 1-terms because they have exactly one “ entry. Next, these l-terms are examined in pairs to see if they can be merged into 2-terms. This can only be done if the 1-terms differ in exactly one position and they have their “ “ literal in the same position. Two 2-terms can be formed as shown in (1C). If a k-term is formed by merging two (k-l)-terms, then the two (k-1) l-terms 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 L-terms. The unmarked k-terms, 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 0-terms includes those 0-terms in the ON-set and the DC-set (don't-care set). 0 0000 0, 8 -000 [E] 8,9,10,11 10-- [B] 5 0101 5, 7 01-1 [D] 10,11,14,15 1-1- [A] 7 0111 7,15 -111 [C] 8 1000 8, 9 100- 9 1001 8,10 10-0 10 1010 9,11 10-1 11 1011 10,11 101- 14 1110 10,14 1-10 15 1111 11,15 1-11 14,15 111- (1A) 0-terms (1B) 1-terms (1C) 2-terms Prime Term Table We now construct the prime term table as shown below. The rows of the prime term table are the 0-terms of the ON-set of the function (we do not need to choose 0-terms in the DC-set) and the columns are the prime terms. An "X" in the prime term table in row i and column j signifies that
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6.371 - 2 - Two-Level Boolean Minimization the 0-term corresponding to row i is contained by the prime corresponding to column j. For
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}