CE2704 · Digital Logic Design
Theme 3 · Making logic smaller

Canonical forms — SOP & POS

How to write a Boolean function straight from its truth table, two standard ways. This is the starting expression every simplification begins from.

Built from first principles.

Before you start

What you need first

  • Truth tables — every row, in binary order.
  • Theorems & simplification — why a smaller expression is better.

What you'll be able to do

  • Write the SOP form from the rows where F = 1.
  • Write the POS form from the rows where F = 0.
  • Use minterm/maxterm and the Σm / ΠM notation.

First we need a starting expression

A truth table says what a function does, but you can't wire a truth table — you wire an expression. Two standard ("canonical") forms come straight out of the table, and either can then be simplified (next topic) into fewer gates.

A simpler expression = fewer gates = smaller, cheaper, cooler, faster. But you have to start somewhere — that's what SOP and POS give you.

Sum-of-Products (SOP): read the 1-rows

A minterm is an AND term using every variable exactly once (itself or complemented). There are \(2^n\) of them. Rule: for each row where F = 1, write the minterm true on that row, then OR them:

  • variable is 1 in that row → write it as itself (A),
  • variable is 0 in that row → write its complement (A′).
📐 Worked example

Build the SOP for this function

RowABCF
00000
10011
20100
30111
41000
51011
61100
71111

One minterm per F = 1 row:

$$ \begin{aligned} F &= A'B'C + A'BC \\ &+ AB'C + ABC \\ &= \Sigma m(1,3,5,7) \end{aligned} $$
Every minterm has C as itself — a hint the simplified form is just C.

Product-of-Sums (POS): read the 0-rows

A maxterm is an OR term using every variable once — the opposite of a minterm (false on exactly one row). Rule: for each row where F = 0, write the maxterm false on that row, then AND them:

  • variable is 1 in that row → write its complement (A′),
  • variable is 0 in that row → write it as itself (A).
📐 Worked example

Same function, POS from the F = 0 rows (0, 2, 4, 6)

$$ \begin{aligned} F &= (A+B+C)\,(A+B'+C) \\ &\quad (A'+B+C)\,(A'+B'+C) \\ &= \Pi M(0,2,4,6) \end{aligned} $$
Both forms describe the same function (both simplify to F = C). Choose SOP when 1s are rare, POS when 0s are rare — fewer terms to write and simplify.

✏️ Try it yourself

(a) How many minterms for a 4-variable function? (b) For row A=1,B=0,C=1 with F=1, write the minterm. (c) Same row with F=0, write the maxterm. (d) A function has only one F=0 row — SOP or POS?

(a) \(2^4 = 16\). (b) A=1→A, B=0→B′, C=1→C: A·B′·C. (c) flip each: A′ + B + C′. (d) POS — just one maxterm (POS is shorter when 0s are rare).

Recap — the whole topic on one screen

FormRead fromTerm ruleNotation
SOPF = 1 rowsAND (1→self, 0→comp), then ORΣm(…)
POSF = 0 rowsOR (1→comp, 0→self), then ANDΠM(…)
Pick the one with fewer terms; both are the same function, ready to simplify.

Next topic

Karnaugh maps

SOP straight from the table can be huge. The K-map is a visual way to find the smallest equivalent SOP — no algebra, just fill the grid and circle the groups.

→ Karnaugh maps