Contents

Digital Electronics
Number Systems
Logic Gates
Boolean Algebra
Combinational Circuits
Sequential Circuits
Memory & PLDs
Digital System Design
Other Topics
Other Subjects
Section Progress50%

8 of 16 articles

Canonical POS Form

Product of sums, maxterms, canonical representation.

Darshan N
Updated: 7 April 2026
8 min read

Programmable logic devices store logic functions as lists of maxterms in hardware registers. The canonical product of sums (POS) form is the standard representation used when specifying active-low outputs in PALs and GALs.

Canonical POS Form — Truth Table to MaxtermsRowABCFMaxterm M00000M0 = (A+B+C)10011— (not a maxterm)20100M2 = (A+B'+C)30111—41001—51010M5 = (A'+B+C')61101—71111—F = M(0,2,5) = (A+B+C)·(A+B'+C)·(A'+B+C')IC: GAL16V8 stores POS expressions directly in its AND-OR-INVERT array
Figure 1: Truth table to canonical POS form — maxterms collected from rows where F=0

Core Concept

A maxterm is a sum (OR) of all variables in either complemented or uncomplemented form such that the maxterm evaluates to 0 for exactly one input combination. For row i, a variable appears uncomplemented if its bit in i is 0, and complemented if its bit is 1. This is the opposite rule compared to minterms.

The canonical POS expression is the product (AND) of all maxterms for which F=0. It is written as F=ΠM(list of row numbers). A GAL16V8 programmable logic device stores functions in AND-OR-INVERT form, which is structurally identical to POS. Supply voltage is 5 V, with a maximum propagation delay of 10 ns.

Every canonical SOP and canonical POS for the same function are complements of each other in their index lists. If the SOP uses minterms {1,3,4,6,7}, the POS uses maxterms {0,2,5}. The two sets always partition all 2^n row numbers.

Boolean Expression

For n variables, maxterm Mi evaluates to 0 when inputs equal the binary value i. The canonical POS is F = ΠM(i₁, i₂, …) = M_i₁ · M_i₂ · … where each M is an OR of all n literals. Maxterms and minterms are related: Mi = (mi)', where mi is the corresponding minterm.

Example
Given:
  3-variable function F with F=0 at rows 0, 2, 5

Formula / Rule:
  For row i: variable X appears as X if bit=0, as X' if bit=1

Step by step:
  Row 0 → A=0,B=0,C=0 → M0 = (A+B+C)           [all uncomplemented, bit=0]
  Row 2 → A=0,B=1,C=0 → M2 = (A+B'+C)          [B bit=1 → B complemented]
  Row 5 → A=1,B=0,C=1 → M5 = (A'+B+C')        [A,C bits=1 → complemented]

  F = M0 · M2 · M5

Verify row 0: A=0,B=0,C=0
  M0 = 0+0+0 = 0 → F=0 ✓
Verify row 2: A=0,B=1,C=0
  M2 = 0+0+0 = 0 → F=0 ✓
Verify row 1: A=0,B=0,C=1
  M0 = 0+0+1 = 1, M2 = 0+1+1 = 1, M5 = 1+0+0 = 1 → F=1 ✓

Final Answer:
  F = (A+B+C)·(A+B'+C)·(A'+B+C')
Exam Tip: The maxterm variable rule is the inverse of the minterm rule. In a minterm, a variable is complemented when its bit is 0. In a maxterm, a variable is complemented when its bit is 1. This reversal catches almost every student at least once. Also remember: ΠM notation lists the rows where F=0, not where F=1. Mixing up these two is the most frequent POS error in GATE papers.

Key Properties

  • Maxterm Mi = 0 only when inputs equal binary i; it equals 1 for all other input combinations
  • Canonical POS: product of maxterms for all rows where F=0
  • Minterm index set and maxterm index set are complementary — they together cover 0 to 2^n-1
  • Relation: Mi = (mi)' where mi is the minterm at the same row number
  • GAL16V8: 5 V supply, 10 ns max t_pd, stores POS in AND-OR-INVERT programmable array
  • POS is preferred when the number of 0-rows is smaller than 1-rows — fewer maxterms to write
  • K-map POS simplification groups 0-cells instead of 1-cells to find minimal POS

Quick Revision

  • Maxterm = OR of all n literals; one maxterm per row where F=0
  • Variable rule: uncomplemented if row bit=0, complemented if row bit=1
  • ΠM(0,2,5) means F=0 at rows 0, 2, 5
  • SOP minterm list + POS maxterm list = complete set {0 … 2^n-1}
  • Mi and mi are complements of each other
  • Canonical POS has exactly n literals per maxterm — no simplification has occurred yet
  • Exam trap: students write maxterm variables complemented when bit=0, which is the minterm rule — for maxterms the complement goes with bit=1

Canonical POS Quiz

Challenge yourself on maxterm representation and canonical POS construction.

Question 1 of 3

Q1.What is the maxterm M5 for a 3-variable function F(A, B, C)?