# Difference between SOP and POS in Digital Logic

In digital logic, the inputs and output of a function are in the form of binary numbers (boolean values) i.e., the values are either zero (0) or one (1). Therefore, digital logic is also known as ‘Boolean logic’. These inputs and output can be termed as ‘Boolean Variables’. The output boolean variable of a digital signal can be expressed in terms of input boolean variables which forms the ‘Boolean Expression’.

Representation of Boolean expression can be primarily done in two ways. They are as follows:

- Sum of Products (SOP) form
- Product of Sums (POS) form

**Note:**

If the number of input variables are n, then the total number of combinations in Boolean algebra is 2^{n}.

If the input variable (let A) value is :

- Zero (0) – a is LOW -It should be represented as A’ (Complement of A)
- One (1) – a is HIGH -It should be represented as A

In boolean logic,

AND is represented as '.' A AND B is written as 'A.B' OR is represented as '+' A OR B is written as 'A+B'

For example, Considering number of input variables =3, Say A, B and C.

Total number of combinations are: 2^{3}=8.

A | B | C |
---|---|---|

0 | 0 | 0 |

0 | 0 | 1 |

0 | 1 | 0 |

0 | 1 | 1 |

1 | 0 | 0 |

1 | 0 | 1 |

1 | 1 | 0 |

1 | 1 | 1 |

**Sum of Products (SOP):**

It is one of the ways of writing a boolean expression. As the name suggests, it is formed by adding (OR operation) the product terms. These product terms are also called as ‘min-terms’. Min-terms are represented with ‘m’, they are the product(AND operation) of boolean variables either in normal form or complemented form.

Therefore, SOP is sum of minterms and is represented as:

F in SOP = _{m}(0, 3)

Here, F is sum of minterm0 and minterm3.

For Example:

A=0, B=0, C=0 Minterm is A'.B'.C' A=1, B=0, C=1 Minterm is A.B'.C

Consider a function X, whose truth table is as follows:

A | B | C | X |
---|---|---|---|

0 | 0 | 0 | 0 |

0 | 0 | 1 | 1 |

0 | 1 | 0 | 0 |

0 | 1 | 1 | 1 |

1 | 0 | 0 | 0 |

1 | 0 | 1 | 0 |

1 | 1 | 0 | 1 |

1 | 1 | 1 | 0 |

The function X can be written in SOP form by adding all the min-terms when X is HIGH(1).

While writing SOP, the following convention is to be followed:

If variable A is Low(0) - A' A is High(1) - A

X (SOP) = _{m}(1, 3, 6)

= A’.B’.C + A’.B.C + A.B.C’

**Product of Sums (POS):**

As the name suggests, it is formed by multiplying(AND operation) the sum terms. These sum terms are also called as ‘max-terms’. Max-terms are represented with ‘M’, they are the sum (OR operation) of Boolean variables either in normal form or complemented form.

Therefore, POS is product of maxterms and is represented as:

F in POS = _{M}(1, 2) Here, F is product of maxterm1 and maxterm2.

For Example:

A=0, B=1, C=0 Maxterm is A+B'+C A=1, B=1, C=1 Maxterm is A'+B'+C'

Consider a function X, whose truth table is as follows:

A | B | C | X |
---|---|---|---|

0 | 0 | 0 | 0 |

0 | 0 | 1 | 1 |

0 | 1 | 0 | 0 |

0 | 1 | 1 | 1 |

1 | 0 | 0 | 0 |

1 | 0 | 1 | 0 |

1 | 1 | 0 | 1 |

1 | 1 | 1 | 0 |

The function X can be written in POS form by multiplying all the max-terms when X is LOW(0).

While writing POS, the following convention is to be followed:

If variable A is Low(0) - A A is High(1) - A' X (POS) =_{M}(0, 2, 4, 5, 7) = (A+B+C).(A+B'+C).(A'+B+C).(A'+B+C').(A'+B'+C')

**Difference between SOP and POS :**

S.No. | SOP | POS |
---|---|---|

1. | A way of representing boolean expressions as sum of product terms. | A way of representing boolean expressions as product of sum terms. |

2. | SOP uses minterms. Minterm is product of boolean variables either in normal form or complemented form. | POS uses maxterms. Maxterm is sum of boolean variables either in normal form or complemented form. |

3. | It is sum of minterms. Minterms are represented as ‘m’ | It is product of maxterms. Maxterms are represented as ‘M’ |

4. | SOP is formed by considering all the minterms, whose output is HIGH(1) | POS is formed by considering all the maxterms, whose output is LOW(0) |

5. | While writing minterms for SOP, input with value 1 is considered as the variable itself and input with value 0 is considered as complement of the input. | While writing maxterms for POS, input with value 1 is considered as the complement and input with value 0 is considered as the variable itself. |

Attention reader! Don’t stop learning now. Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in **GATE Test Series Course**.

Learn all **GATE CS concepts with Free Live Classes** on our youtube channel.