4.4 SOP: Sum of Products

Define Sum-of-Products (SOP) form, identify its internal AND/external OR structure, and write a Boolean function in SOP form from a given expression or description.

Sum of Products (SOP) is one of the two standard structural forms — alongside Product of Sums, covered next in Module 4.5 — that a Boolean expression can always be organized into. In SOP form, a function is expressed as several product (AND) terms combined with OR: each individual term ANDs some subset of the variables (or their complements) together, and the overall function is the OR ('sum', in Boolean terminology) of all those terms. SOP matters because it is not just one possible way to write a Boolean expression among many equally good ones — it is the specific structural form that maps directly onto AND-OR two-level circuit hardware, and it is the form every truth table naturally converts into via the minterm expansion covered in Modules 4.6 and 4.8.

Core Concept: Products Summed Together

The spec defines SOP directly: 'Sum of Products' — F = A'B + BC + AC'. Each individual term in this expression (A'B, BC, AC') is a product term, meaning its variables are combined internally using AND; the overall expression then combines those product terms using OR, which in Boolean terminology is called a 'sum'. This is exactly where the name comes from: a sum (OR) of products (AND terms).

The spec states the structural rule precisely: 'Each product term is ANDed internally and the terms are ORed.' This two-level structure — AND within a term, OR across terms — is the defining characteristic of SOP form, and it holds regardless of how many variables or how many terms a specific SOP expression has; a term like A'B involves only two variables, while a term in a larger function might involve many more, but the internal-AND/external-OR pattern never changes.

• SOP = Sum of Products: several AND (product) terms combined by OR (sum). • Spec example: F = A'B + BC + AC' — three product terms, OR'd together. • Rule: 'Each product term is ANDed internally and the terms are ORed' (as stated in the spec). • A product term can include any subset of the function's variables, in true or complemented form.

Step-by-Step: Recognizing and Constructing SOP Expressions

To check whether a given Boolean expression is already in SOP form, scan its top-level structure: if the outermost operator combining the expression's major pieces is OR, and each of those pieces is itself a pure AND term (with no OR inside any individual term), the expression is in SOP form. The spec's second example, F = AB + A'C, passes this check directly: the top-level operator is OR, and each of the two pieces (AB and A'C) is a pure AND term with no OR nested inside it.

To construct an SOP expression from a plain-language description, identify each distinct condition under which the function should be true, express each condition as a single AND term (using true or complemented variables as needed for that specific condition), and OR all those terms together. This 'one term per true condition, then OR everything' construction method is exactly the same logic used later, more formally, when building a canonical SOP expression directly from a truth table's 1-rows in Module 4.8.

• Step 1: Identify each distinct scenario/condition that should make the function true. • Step 2: Write each condition as a single AND term (variables true or complemented as needed). • Step 3: OR all the condition-terms together to form the full SOP expression. • Spec's second example, F = AB + A'C, is already SOP: two pure AND terms, OR'd together.

Practical and Real-World Application: AND-OR Circuits and PLA/PAL Arrays

SOP form maps directly onto the most common two-level combinational circuit structure in digital design: a layer of AND gates (one per product term), each feeding into a single OR gate that combines all the product terms into the final output. This is precisely the structure of a Programmable Logic Array (PLA) and Programmable Array Logic (PAL) device, both covered later in this course's memory and programmable-logic module — those devices are literally built as a programmable AND-plane feeding a programmable (or fixed) OR-plane, which is SOP form implemented directly in silicon.

SOP is also the natural output form of Karnaugh map minimization (Module 5): when you group 1-cells on a K-map to derive a simplified expression, the result you read off is, by construction, a sum of (simplified) product terms — meaning everything you learn about SOP structure here directly sets up how K-map results are read and interpreted a module later.

Common Mistake and the Tricky Concept

A common structural mistake is writing an expression that mixes forms without realizing it — for instance, something like F = A(B+C) is not in SOP form, because the term A(B+C) has an OR nested inside what looks like it should be a single product term; SOP requires every individual term to be a pure AND with no internal OR. (Distributing A(B+C) out to AB+AC, using the distributive law, would correctly convert it into SOP form — but that distribution step must actually be done, not assumed.)

A second point worth being precise about: SOP is a structural pattern, not a claim about minimality — an SOP expression can be needlessly long (with redundant or non-minimal terms) and still be valid SOP form. Recognizing 'is this SOP-structured' and 'is this the simplest possible SOP expression for this function' are two separate questions; the second one is exactly what Boolean simplification (Module 4.9) and K-maps (Module 5) are for.

SOP Structural Pattern

'Sum' means OR, and 'product' means AND — Boolean-algebra terminology, not arithmetic. A term is only a valid SOP 'product' if it contains no internal OR.

Sum of Products (SOP):
  F = (term1) + (term2) + (term3) + ...
  where each termN is a pure AND (product) of variables/complements

Spec example:
  F = A'B + BC + AC'
      └┬┘  └┬┘  └┬┘
    product product product   — all three OR'd (summed) together

Code Examples

This is the spec's primary SOP example. Each of the three terms is a pure AND combination of (possibly complemented) variables, with no OR inside any individual term, and the overall function ORs all three terms together — the exact structural rule the spec states: 'Each product term is ANDed internally and the terms are ORed.'

F = A'B + BC + AC' — three product terms summed by OR A shorter, two-term SOP expression from the spec, following the identical internal-AND/external-OR pattern: AB is a pure product term, A'C is a pure product term, and the two are combined with OR.

F = AB + A'C — two product terms summed by OR

F = A'B + BC + AC'

Product term 1: A'B    (A complemented, AND B)
Product term 2: BC     (B AND C)
Product term 3: AC'    (A AND C complemented)

F = term1 + term2 + term3   (all three summed via OR)
F = AB + A'C

Product term 1: AB
Product term 2: A'C

F = term1 + term2

Important Rules

SOP = Sum of Products: OR of AND terms, never the reverse structure.

Each individual term must be a pure AND (product) with no OR nested inside it.

The overall expression combines all product terms using OR ('sum').

SOP form maps directly onto two-level AND-plane/OR-plane hardware, such as PLA and PAL devices.

Two-Level AND-OR Hardware and PLA/PAL Devices

SOP form is the direct blueprint for the most common two-level combinational circuit structure — a layer of AND gates (one per product term) feeding a single OR gate — and it is literally how Programmable Logic Arrays (PLA) and Programmable Array Logic (PAL) devices are physically organized: a programmable AND-plane generating product terms, feeding an OR-plane that sums them.

Treating F = A(B+C) as already being in SOP form because it 'has an AND and an OR somewhere in it'.

Check that every individual term is a pure AND with no OR nested inside; A(B+C) is not SOP until distributed into AB + AC.

SOP's defining rule (as the spec states) is that 'each product term is ANDed internally' — a term containing a nested OR, like (B+C) inside A(B+C), violates this and must first be expanded using the distributive law before the expression counts as true SOP form.

In the SOP expression F = A'B + BC + AC', what is the correct structural relationship between the terms and the overall expression? A. Each term is OR'd internally, and the terms are ANDed together. B. Each term is ANDed internally, and the terms are ORed together. C. All variables across every term are ANDed together into one single term. D. The terms are combined using XOR, not OR or AND.

B. Each term is ANDed internally, and the terms are ORed together. — The spec states this structural rule directly: 'Each product term is ANDed internally and the terms are ORed.' This is the defining characteristic of Sum-of-Products form — AND within each term, OR across the terms.

[interview] Why is SOP form directly relevant to PLA and PAL hardware devices? A. Because PLA/PAL devices can only store data, not logic. B. Because SOP's two-level AND-then-OR structure is physically implemented in PLA/PAL devices as a programmable AND-plane feeding an OR-plane. C. Because PLA/PAL devices only support NAND gates. D. Because SOP expressions cannot be converted into hardware at all.

B. Because SOP's two-level AND-then-OR structure is physically implemented in PLA/PAL devices as a programmable AND-plane feeding an OR-plane. — SOP's structure — several AND (product) terms combined by a single OR — maps directly onto PLA/PAL architecture: a programmable array of AND gates produces the product terms, and a following OR-plane sums them, which is SOP form realized literally in silicon.

A function should output 1 when: (A is true and B is false), OR (B is true and C is true). Write this as an SOP expression, and verify each term is a pure product.

F = AB' + BC. Both terms (AB', BC) are pure AND combinations with no nested OR, and the two are combined with OR — valid SOP form.

Translate each parenthesized condition directly into one AND term, then OR the two terms together.