SOP and POS Forms

In this tutorial, you will explore the fundamentals of SOP and POS forms in Boolean algebra, including their definitions, representations, and significance. You will learn about minterms and maxterms, how to construct SOP and POS expressions, and the concept of canonical forms. Additionally, you will understand the duality principle in Boolean algebra and its practical applications in digital logic circuit design and simplification techniques.

Contents:

  1. Minterms and Maxterms
  2. Properties of Minterms and Maxterms
  3. Sum of Product Form
  4. Functions in SOP Form
  5. Finding Minterms from a Minimal SOP Expression
  6. Obtaining Maxterms from an SOP Expression
  7. Product of Sum Form
  8. Functions in POS Form
  9. Finding Maxterms from a Minimal SOP Expression
  10. Finding Minterms from a Minimal SOP Expression
  11. Canonical Form
  12. Conversion of Any Function into Canonical Form
  13. Converting an SOP Expression to POS Form
  14. Converting an POS Expression to SOP Form

Minterms and Maxterms

In any Boolean function, if there are n number of variables, then the number of possible input combinations for the function is 2n. For example, if a function has A, B, C as input-variables then we have 23 = 8 input combinations. A function can give either 0 or 1 as output for any of these 8 inputs.

These 8 input combinations are shown below in the table and this will be the input table for any function containing three variables.

  • When we write those input combinations which result into logic 1 for the function as products using AND operation, they are known as minterms.
  • When we write those input combinations which result into logic 0 for the function as sums using OR operation, they are known as maxterms.

Here is the table representing all minterms and maxterms for three variables.

A B C MAXTERM MINTERM
0 0 0 A + B + C A’ B’ C’
0 0 1 A + B + C’ A’ B’ C
0 1 0 A + B’ + C A’ B C’
0 1 1 A + B’ + C’ A’ B C
1 0 0 A’ + B + C A B’ C’
1 0 1 A’ + B + C’ A B’ C
0 1 1 A + B’ + C’ A’ B C
1 1 1 A’ + B’ + C’ A B C

As shown in the table,

advertisement
  • In minterms, we write the input-variable in its normal form if it is 1 else in the complemented form if it is 0. For example, A’B’C’ is the 0th minterm as A=0, B=0, C=0.
  • In maxterms, we write the input-variable in its normal form if it is 0 else in the complemented form if it is 1. For example, (A+ B + C) is the 0th maxterm as A=0, B=0, C=0.

Properties of Minterms and Maxterms

Here are the properties of minterms and maxterms listed.

  • The number of both maxterms and minterms for n variables is 2n.
  • Nth minterm and the nth maxterm are complementary to each other. For example, 0th minterm is A’B’C’, its complement (A’B’C’)’ = (A’)’ + (B’)’ + (C’)’ = A + B + C , which is the 0th maxterm.
  • Maxterms and minterms are just different ways to represent an input combination.
  • The sum of all minterms results in 0 and the product of all maxterms result in 1.

Sum of Product Form

Sum of product or SOP form is expressing any function with the help of logic 1. As minterms represent logic 1, we will write the function as the sum of minterms for all those inputs which result in logic 1 for the given function.

The symbol for summation is Σm and if a function is represented as Σm (0,1,4,5), it means we will consider the sum of minterms 0,1,4 and 5. Therefore, function is equal to A’B’C’ + A’B’C + AB’C’ + AB’C. Here are the steps to follow to write any function in SOP form: –

  • Make the table of inputs and mark the combination of variables that result into 1 as the output for the function.
  • If the variable is 0 for the input take its complement for forming the term else take its normal form if it is one.
  • Write each of the minterms as the product of its variables
  • Write the function as the sum of the above minterms.

Functions in SOP Form

Here are the examples of SOP forms of functions shown in the figure.

Functions of SOP Form

As shown in the figure,

  • f (A, B, C) = Σm (2,4,5,6)
    m2 = 010 —-> A’BC’ m4 = 100 —> AB’C’ m5 = 101 —-> AB’C m6 = 110 —–> ABC’
    Therefore, function f = A’BC’ + AB’C’ + AB’C + ABC’
  • f (A, B, C) = Σm (1,2,3,7)
    m1 = 001 —-> A’B’C m2 = 010 —-> A’BC’ m3 = 011 —-> A’BC m7 = 111 —–> ABC
    Therefore, function f = A’B’C + A’BC’ + A’BC + ABC

Finding Minterms from a Minimal SOP Expression

The following steps should be followed to get the minterms from a minimal SOP expression.

  • Step-1: Identify the total number of binary variables involved in the minimal SOP expression.
  • Step-2: Find the binary equivalent numbers of all the terms by considering the missing variables at their correct positions with all possible binary combinations.
  • Step-3: Find the decimal equivalents of all binary numbers obtained from step-2. These decimal equivalents will be the minterms.
  • Considering an example of a minimal SOP expression, F = AB + BC + AC. Total number of binary variables present in this expression is 3.
  • Now, representing the expression in terms of missing variable places. F = AB_ + _BC + A_C.
  • Representing them in binary numbers.
    AB_ will be 110 and 111.
    _BC will be 011 and 111
    A_C will be 101 and 111
  • Now, removing the duplicates, decimal equivalents of 110, 111, 011 and 101 are 6, 7, 3 and 5 respectively. So, minterms are m3, m5, m<6 and m7.

Obtaining Maxterms from an SOP Expression

The following steps should be followed to obtain the maxterms from an SOP expression.

  • Step-1: Find the minterms of the SOP expression and represent them in decimal numbers.
  • Step-2: Remove these decimal numbers from all possible decimal maxterm representation i.e. from 0 to 2n, where n is the number of variables present in the expression.
  • Step-3: The decimal numbers left will represent the maxterms of the SOP expression.
  • For example, the SOP expression F = AB + BC + AC has four minterms, they are 3, 5, 6 and 7.
  • Total eight maxterms are possible for 3 variables i.e., 0 to 8. Now, we need to exclude the minterm decimal numbers from 0 to 8.
  • Excluding 3, 5, 6 and 7 from 0 to 8 the decimal numbers left are 0, 1, 2 and 4. These decimal numbers will be the maxterms of the SOP expression.
  • So, maxterms are M0, M1, M2 and M4 representing 0, 1, 2 and 4 respectively.

Product of Sum Form

Product of Sum Form or POS form is expressing any function with the help of logic 0. As maxterms represent logic 0, we will write the function as a product of maxterms for all those inputs which result in logic 0 for the given function.

advertisement

The symbol for product is π and if a function is represented as πM (0,1,4,5), it means we will consider the product of maxterms 0,1,4 and 5. Therefore, function is equal to (A’ + B’ + C’) (A’ + B’ + C) (A + B’ + C’) (A + B’ + C). Here are the steps to follow to write any function in POS form: –

  • Make the table of inputs and mark the combination of variables that result into 0 as the output for the function.
  • If the input variable is zero, then take its normal form in the term else take its complemented form if it is 1.
  • Write each of the maxterms as the sum of its variables
  • Write the function as the product of the above maxterms.

Functions in POS Form

Here are the examples of POS form of functions shown in the figure.

Functions of POS Form

As shown in the figure,

  • f (A, B, C) = πM (2,4,5,6)
    M2 = 010 —-> A +B’ +C M4 = 100 —> A’ + B + C M5 = 101 —-> A’ + B + C’ M6 = 110 —–> A’ + B’ + C
    Therefore, function f = (A + B’ + C). (A’ + B + C). (A’ + B + C’), (A’ + B’ + C)
  • f (A, B, C) = πM (1,2,3,7)
    M1 = 001 —-> A + B + C’ M2 = 010 —-> A + B’ + C M3 = 011 —-> A + B’ + C’ M7 = 111 —–> A’ + B’ + C’
    Therefore, function f = (A + B + C’). (A + B’ + C). (A + B’ + C’). (A’ + B’ + C’)

Finding Maxterms from a Minimal SOP Expression

The steps to find the maxterms from a minimal POS expression are same as finding minterms from a minimal SOP expression.

  • Considering an example of a minimal POS expression, F = (A + B) (A + C’). Three binary variables are present in this expression.
  • Now, finding the positions of missing variables, F = (A + B + _) (A + _ + C’).
  • Now, representing them in binary numbers,
    (A + B + _) will be 000 and 001
    (A + _ + C’) will be 001 and 011
  • Total three unique binary numbers are obtained. They are 000, 001 and 011. Decimal equivalents of 000, 001 and 011 are 0, 1 and 3 respectively.
  • The maxterms of the minimal POS expression are M0, M1 and M3.

Finding Minterms from a Minimal SOP Expression

The following steps should be followed to obtain the minterms from a POS expression.

  • Step-1: Find the maxterms of the POS expression and represent them in decimal numbers.
  • Step-2: Remove these decimal numbers from all possible decimal minterm representation. The decimal numbers left will be the minterms of the POS expression.
  • Considering an example of a minimal POS expression, F(A, B, C) = (A + B’) (A’ + B) Total number of binary variables present in this expression is 3.
  • Now, finding the positions of missing variables, F = (A + B’ + _) (A’ + B + _) and representing them in binary numbers,
    (A + B’ + _) will be 010 and 011
    (A’ + B + _) will be 100 and 101
  • So, it has four maxterms, they are 010, 011, 100 and 101 representing the decimal values 2, 3, 4 and 5 respectively.
  • Total eight minterms are possible for 3 variables. Excluding 2, 3, 4 and 5 from 0 to 8, the decimal numbers left are 0, 1, 6 and 7.
  • So, the minterms of the POS expression are m0, m1, m6 and m7 representing 0, 1, 6 and 7 respectively.

Canonical Form

A function is said to be in its canonical form if each term of the expression contains all the input variables in either complemented or normal form. It is also known as the standard form. For example,

  • f (A, B, C) = A’BC + B’CA’ + ABC, all terms have A, B, C
  • f (X, Y) = XY + X’Y’, all terms have X, Y

Any function which does not have all the variables in each one of its terms is not in the standard form but each function can be converted into its canonical form by using techniques of Boolean algebra.

Conversion of Any Function into Canonical Form

Here are the steps to convert any function into its canonical form.

  • First, check the terms which do not have all the variables.
  • If the terms are in product form, then multiply the missing (variable + variable’s complement) with the term.
  • If the terms are in sum form, then add the missing (variable . variable’s complement form) to the term.
  • Expand the expression after doing this till all terms are separate.

For example,

  • f (A, B, C) = AB’C + AC + B The 1st term has all three variable, but 2nd has C missing and 3rd has A, C missing
    = AB’C + AC (B + B’) + B (C + C’) (A + A’) Terms are in product form; we multiply 1
    = AB’C + ACB + ACB’ + B (AC + CA’ + C’A + A’C’)
    = AB’C + ACB + ACB’ + BAC + CA’B + C’AB + A’C’B
  • f (A, B, C) = (A + B + C’) (A + C) The 1st term has all three variable, but 2nd has B missing
    = (A + B + C’) (A + C + BB’)
    = (A + B + C’) (A + C + B) (A + C + B’) Using Distributive Law

Converting an SOP Expression to POS Form

The following diagram explains the K-map of a POS expression F = ∏ M (0, 1, 7).

Converting an SOP Expression to POS Form

The steps below should be followed to convert an SOP expression into its POS form:

  • Step-1: Obtain the minterms from the SOP expression and then find the corresponding maxterms.
  • Step-2: Solve the maxterms with the help of K-map to obtain the simplified POS expression.
  • Considering an SOP expression F = A’B + AB’ + AC’. It contains three binary variables and the minterms are 2, 3, 4, 5 and 6.
  • So, maxterms are 0, 1 and 7 i.e., F =∏ M (0, 1, 7). The K-map is shown above.
  • Now, solving the K-map for the POS expression as shown in the diagram, F = (A + B) (A’ + B’ + C’).

Converting an POS Expression to SOP Form

The following diagram explains K-map of an SOP expression F =∑ m (1, 4, 5, 6, 7).

OS expression into its SOP form

The steps below should be followed to convert a POS expression into its SOP form:

  • Step-1: Obtain the maxterms from the SOP expression and then find the corresponding minterms.
  • Step-2: Solve the minterms with the help of K-map to obtain the simplified SOP expression.
  • For example, considering a POS expression F = (A + C) (A + B’). It contains three binary variables and the maxterms are 0, 2 and 3.
  • So, minterms will be 1, 4, 5, 6 and 7 i.e. F =∑ m (1, 4, 5, 6, 7). The K-map is shown above.
  • Now, the SOP expression obtained after solving the K-map is F = A + B’C.
  • Now, the SOP expression obtained after solving the K-map is F = A + B’C.

Key Points to Remember

Here are the key points to remember in “SOP and POS Forms”.

  • Any function can be represented in either minterms or maxterms. The minterms represent logic 1 for the function whereas the maxterms represent logic 0 for the function.
  • A minterm is written in the product form of its input variables whereas a maxterm is written in the sum form of its input variables.
  • In the minterms, we take a variable in its normal form if its value is one else we take its complemented form.
  • In the maxterms, we take a variable in its normal form if its value is zero else we take its complemented form.
  • The SOP form is writing a function as the summation of its minterms whereas the POS form is writing a function as the product of its maxterms.
  • Both minterms and maxterms are different ways of representing the same function.
  • A function is said to be in its canonical form if each term of the function has all the input variables either in complemented or normal form.
  • Minterms and maxterms demonstrate the duality principle in Boolean algebra. The conversion between SOP and POS forms emphasizes this principle, where operations of AND and OR can be interchanged by complementing the variables.
  • Understanding SOP and POS forms is essential for designing, analyzing, and simplifying digital logic circuits. These forms facilitate the application of minimization techniques such as Karnaugh maps or the Quine-McCluskey algorithm, improving circuit efficiency and reducing the number of required components.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.