Module 3:Logic Optimization and Synthesis

Lecture 1,2 & 3 :Two level Boolean Logic Synthesis

3.1 Determining Prime Implicants

The key result for the minimization of two-level Boolean formula is due to Quine [3,4], as given in Theorem 1.

Theorem 1: If cost of a Boolean function depends on literals then a minimal SOP must always consist of a sum of prime implicants.

Proof : Let us assume that is an SOP which is minimal and one (product) term is non-prime. Another SOP formula exists, that can be obtained by replacing the non-prime implicant by a prime implicant that contains it. The cost does not increase and the formula is equivalent to the original one. So, we reach a contradiction i.e., is an SOP which is minimal and all terms are prime implicants.

For example, let SOP representation of be . A prime implicant of is . The SOP representation can be changed as where we have replaced with ; includes . So the new SOP is rewritten by saving one literal.

Therefore, we may state from the Prime Implicant Theorem that minimal Boolean SOP representation always contains prime implicants only. Therefore, as the next step we discuss how to derive all the prime implicants of a given function. Later, we shall see how to select a subset of minimum cost from all the prime implicants. Now we will study the tabular scheme to determine prime implicants.

3.1.1  Determining Prime Implicants by Tabular Method

Before discussing the tabular method, we introduce the concept of consensus between two terms.

Definition 8: Given a Boolean function in SOP form , where is a product term not having variable , then consensus can be applied on the two terms to generate is the consensus term containing both . This is also called distance-1 merging.

In other words, pairs of terms that differ in exactly one letter, which must appear complemented in one term and un-complemented in the other, are used for consensus.

Given a Boolean formula in SOP form we need to determine the prime implicants. The steps of tabular method are given below.

1. Express the function in minterm canonical form

2. Consider all pairs of adjacent terms, i.e., the pairs of terms to which consensus can be applied. The consensus terms are implicants of the function though not necessarily prime. All terms that form these new consensus terms are included in the new terms, and hence they are not prime. We mark the old terms as non-prime and are not used for further consensus.

3. The new terms are added to the SOP and steps 1,2 are repeated till no more consensus terms can be found

4. All terms that are absorbed (or contained) by the new terms are marked as non-primes. Finally, the terms that are not marked constitute all the prime implicants of the function.

Now we illustrate the scheme using an example.

Consider the SOP: .