Introduction to DLD

Canonical Product of Sums

Canonical Product of Sums (POS) is a standard form of Boolean expression in which all sum terms are connected using the AND operation. Each sum term contains every input variable exactly once, either in its complemented or uncomplemented form.

A very simple example of POS is given below

Canonical Product of Sum (POS)

Canonical POS is also called the Product of Maxterms because each sum term represents a maxterm. It is commonly used in digital logic design to represent Boolean functions systematically.

Rules for Writing Canonical POS

Follow these rules to write a Boolean function in canonical POS form:

  1. Select all rows from the truth table where the output is 0.
  2. Write one maxterm for each selected row and include every input variable in it. Use an uncomplemented variable for an input value of 0 and a complemented variable for an input value of 1. For example, if A = 0, use A. If A = 1, use A′. Similarly, if A = 0, B = 1, and C = 0, the sum term will be (A + B′ + C).
  3. Connect all maxterms using the AND (·) operation.

Important: Step 2 applies only to the rows where the output is 0. For example, if the output is 0 for three rows, write one maxterm for each of those three rows. Ignore the rows where the output is 1.

Maxterms in Product of Sums

A maxterm is a sum term that contains every input variable exactly once, either complemented or uncomplemented. If an input value is 0, use the variable as it is (A). If the value is 1, use its complement (A′).

  • Maxterm: For variables A, B, and C, (A + B′ + C) is a maxterm because all variables appear exactly once.
  • Not a Maxterm: (A + B′) because C is missing, or (A + A′ + B) because A appears twice.

For two variables A and B, the maxterms and their notations can be represented using a truth table.

Canonical Product of Sum (POS)

Canonical Product of Sums – 2 Variables

Consider the Boolean function F(A, B) with two variables, A and B. A Boolean function can be converted into canonical POS form using its truth table. The process involves selecting the rows where the output is 0 and writing the corresponding maxterms.

The maxterms are connected by the AND operation (·) to obtain the canonical POS expression.

Canonical POS from a 2-Variable AND Gate – Truth Table

The truth table below shows all possible input combinations for a 2-variable AND gate and its output. The rows where the output is 0 are used to write the canonical POS expression.

Canonical POS from an AND - Gate Truth Table

The output is 0 for the input combinations (0, 0), (0, 1), and (1, 0).

  • For A = 0 and B = 0, the maxterm is (A + B).
  • For A = 0 and B = 1, the maxterm is (A + B′).
  • For A = 1 and B = 0, the maxterm is (A′ + B).

Therefore, the canonical POS expression is: F(A, B) = (A + B)(A + B′)(A′ + B)

Canonical POS from a 2-Variable AND Gate – Logic Circuit Diagram

The circuit uses three OR gates to generate the maxterms (A + B), (A + B′), and (A′ + B). An AND gate combines these maxterms to produce the final output.

Canonical POS from an AND Gate  - Logic Circuit Diagram

Canonical POS Notation – 2 Variables

For the expression F(A, B) = (A + B)(A + B′)(A′ + B), the standard maxterm notation is: F(A, B) = ΣM(0, 1, 2). This notation represents the product of maxterms M₀, M₁, and M₂. The following table explains the notations used in canonical POS.

Canonical POS Notation - AND Gate 2-Variables

Canonical Product of Sums – 3 Variables

Consider the Boolean function F(A, B, C) with three variables, A, B, and C. A Boolean function can be converted into canonical POS form using its truth table. Select the rows where the output is 0, write the corresponding maxterms, and connect them using the AND operation.

Canonical POS from 3 Variables – Truth Table

The following truth table shows all possible input combinations for three variables and their corresponding output values.

Canonical POS from 3 Variables - Truth Table

The output is 0 for the input combinations (0, 0, 1), (0, 1, 1), and (1, 0, 0).

  • For A = 0, B = 0, and C = 1, the maxterm is (A + B + C′).
  • For A = 0, B = 1, and C = 1, the maxterm is (A + B′ + C′).
  • For A = 1, B = 0, and C = 0, the maxterm is (A′ + B + C).

Therefore, the canonical POS expression is:

F(A, B, C) = (A + B + C′)(A + B′ + C′)(A′ + B + C)

Canonical POS from 3 Variables – Logic Circuit Diagram

The circuit uses three OR gates to generate the maxterms (A + B + C′), (A + B′ + C′), and (A′ + B + C). An AND gate combines these maxterms to produce the final output.

Canonical POS from 3 Variables - Logic Circuit Diagram

Canonical POS Notation – 3 Variables

For the Boolean function F(A, B, C) = (A + B + C′)(A + B′ + C′)(A′ + B + C) the standard maxterm notation is:

F(A, B, C) = ΣM(1, 3, 4)

This notation represents the product of maxterms M₁, M₃, and M₄.

Canonical POS Notation - 3 Variables

Difference Between Canonical POS and POS

Canonical POS is a special type of POS in which every sum term contains all input variables exactly once.

Feature Canonical Product of Sums Product of Sums (POS)
Definition A Boolean expression in which every sum term contains all input variables. A Boolean expression in which sum terms are connected using the AND operation.
Sum Terms Every term contains all variables exactly once. Terms may contain all or only some variables.
Type of Terms Each sum term is a maxterm. Sum terms are not necessarily maxterms.
Complemented Variables Each variable appears complemented or uncomplemented in every term. Variables may be complemented, uncomplemented, or absent from a term.
Derivation Obtained directly from truth-table rows where the output is 0. Can be obtained directly or by simplifying a Boolean expression.
Example (A + B)(A′ + B) (A + B)
Other Name Product of Maxterms. General Product of Sums form.

Difference Between Canonical SOP and Canonical POS

Canonical SOP Canonical POS
SOP stands for Sum of Products. POS stands for Product of Sums.
Also called the Sum of Minterms. Also called the Product of Maxterms.
Select truth-table rows where the output is 1. Select truth-table rows where the output is 0.
Variables in each product term are connected using AND. Variables in each sum term are connected using OR.
Product terms are connected using OR. Sum terms are connected using AND.
A variable is complemented when its input is 0. A variable is complemented when its input is 1.
Example: F = A′B + AB′ Example: F = (A + B)(A′ + B′)

Applications of Canonical POS

Canonical POS is useful in digital logic design for the following purposes:

  • Boolean Function Representation: It provides a systematic way to represent Boolean functions.
  • Logic Circuit Design: It helps implement Boolean functions using OR and AND gates, with NOT gates where required.
  • Truth Table Conversion: It converts truth-table outputs into Boolean expressions.
  • Logic Function Comparison: It provides a standard form for comparing Boolean functions.
  • Boolean Simplification: It provides a starting point for simplifying expressions using Boolean algebra or Karnaugh maps (K-maps).

Conclusion

Canonical Product of Sums (POS) is a standard Boolean expression in which every sum term contains all input variables exactly once. It is constructed by selecting the truth-table rows where the output is 0 and combining their maxterms using the AND operation. Canonical POS is an important concept in Boolean algebra and digital logic design.