In short: To get a product-of-sums (POS) expression from a K-map, circle the zeros in power-of-two groups, read each group as a sum term using the variable's uncomplemented form where it is 0 and the complemented form where it is 1, then AND the sums together; choose POS over SOP when the zeros are fewer or cluster better than the ones.
Why POS exists at all
Most people learn K-maps by circling ones and writing a sum of products. That is only half of the story. Every Boolean function has two equally valid minimal descriptions: the set of input combinations that make it 1, and the set that make it 0. Circling the zeros describes the second set, and because F is 0 exactly where F' is 1, the groups of zeros give you a minimal SOP for the complement F'. Apply De Morgan's theorem and you get a minimal product of sums for F itself.
This is not an academic trick. In an interview, "implement this function with only NOR gates" or "which form needs fewer literals?" is a standard question, and the reader who only knows SOP will fumble it. If you need a refresher on the ones-based method first, read our guide to K-map simplification, then come back here.
The worked example: F = ΠM(0,1,4,5,10,11)
Take a four-variable function that is 0 on minterms 0, 1, 4, 5, 10 and 11 and 1 on the other ten. Lay the map out with AB down the side and CD across the top, both in Gray-code order (00, 01, 11, 10). That ordering is the whole point of the K-map: neighbouring cells differ in exactly one variable, so a rectangle of cells shares every variable except the ones that change inside it.
The reading rule that trips everyone up
When you read a group of ones for SOP, a variable that is 1 appears uncomplemented and a variable that is 0 appears complemented. For a group of zeros you flip that: you are writing a term that must be 0 on those cells, and an OR is 0 only when every input is 0. So a variable that is 0 across the group appears uncomplemented, and a variable that is 1 appears complemented.
Key fact: In POS, 0 means "plain" and 1 means "bar". The sum (A + C) is zero only when A = 0 and C = 0, which is exactly the quad of zeros in group 1.
Group 1 covers minterms 0, 1, 4, 5. Across it A stays 0 and C stays 0, while B and D change, so B and D disappear and we write (A + C). Group 2 covers 10 and 11, where A = 1, B = 0, C = 1 and D changes. A is 1 so it is complemented, B is 0 so it stays plain, C is 1 so it is complemented: (A' + B + C'). The answer is F = (A + C)(A' + B + C'), five literals in total.
The step-by-step procedure
The grouping rules are identical to SOP. Groups must be rectangles of 1, 2, 4, 8 or 16 cells, the map wraps around both left-right and top-bottom, and you want the fewest, largest groups that cover every zero. Overlap is allowed and encouraged if it enlarges a group. Don't-care cells may be treated as zeros whenever that enlarges a group, and left alone otherwise.
- Find prime implicates first. A group that cannot grow without swallowing a 1 is a prime implicate (the dual of a prime implicant).
- Take the essential ones. If a zero is covered by only one prime implicate, that group is mandatory.
- Cover the rest cheaply. Pick the fewest additional groups; ties are broken by literal count.
Why the result is correct: the De Morgan view
Look at the ones in our example: minterms 2, 3, 6, 7, 8, 9, 12, 13, 14, 15. Group the zeros as if they were ones and you get F' = A'C' + AB'C. Complement both sides and apply De Morgan: F = (A + C)(A' + B + C'). Every complemented product becomes a sum, and every literal flips polarity. That flip is the reason the reading rule inverts. You never need to memorise it, since you can always derive it in two lines under interview pressure.
SOP versus POS: which one wins?
Take the same function through the ones. The minimal SOP is F = A'C + AC' + AB: three product terms and six literals, against the POS with two sum terms and five literals. The POS is smaller here because the function has only six zeros against ten ones, and those zeros cluster tidily. Flip the situation and SOP wins.
| Criterion | SOP (group 1s) | POS (group 0s) |
|---|---|---|
| Best when | Fewer ones than zeros | Fewer zeros than ones |
| Two-level NAND-NAND | Direct mapping | Needs inverted inputs |
| Two-level NOR-NOR | Needs inverted inputs | Direct mapping |
| Typical use | Decoders, enables, ROM-like logic | Active-low controls, "none of these" conditions |
| Our example | 3 terms, 6 literals | 2 terms, 5 literals |
Key fact: SOP maps to NAND-NAND and POS maps to NOR-NOR. In CMOS a NAND stack is generally faster than an equally wide NOR stack, because PMOS transistors in series are slower than NMOS in series, so SOP is the default unless the zeros are clearly cheaper.
What the tools do instead
Nobody hand-draws a K-map beyond five variables, and no K-map can see sharing across several outputs. Logic synthesis tools such as Synopsys Design Compiler, Cadence Genus and Siemens Precision start from the same Boolean theory but use the Espresso heuristic, binary decision diagrams and technology mapping against a real cell library. They minimise area and delay, not literal count, so they will happily produce a form that is neither strict SOP nor POS. Still, the intuition you build here explains why synthesis reports show NOR-heavy or NAND-heavy cones, and why an active-low enable often ends up as a NOR. If you want to see how that mapping decision plays out in real flows, the engineers at Avecas design services work on exactly this kind of netlist-level analysis.
Watch the animation: POS as a gate network
The diagram below builds F = (A + C)(A' + B + C') as a two-level OR-AND circuit. The moving dots are signals travelling from the inputs, through the sum gates, into the final AND. Notice that a single sum term at 0 drags the output to 0: that is the zero-group you circled on the map.
Common interview traps
- Reading zeros like ones. This is the number one error. Remember: zero means plain, one means bar.
- Mixing minterm and maxterm indices. ΠM(0,1,4,5,10,11) lists the zeros; Σm lists the ones. A maxterm Mi is the complement of minterm mi.
- Forgetting to AND the sums. POS is sums joined by AND, not OR.
- Ignoring don't-cares. They help in both forms but each one may be used as a 0 or a 1 independently.
For the canonical forms these expressions come from, see our article on SOP and POS canonical forms. If you want structured practice with mentors, ChipXpert's VLSI training programmes run these drills on real design problems, and our CourseTron courses cover the full digital electronics path.
Ready to go deeper? Join the CourseTron Digital Electronics course for guided K-map drills, timing-aware logic design and interview-style problem sets. Explore the courses.
FAQ
Can I always use POS instead of SOP?
Yes. Both forms represent any Boolean function exactly. The difference is only cost: pick the one with fewer or larger groups, and the one that maps onto the gates you actually have.
Why do the variables flip when reading zeros?
A sum term evaluates to 0 only when all its literals are 0. To make a literal 0 when the variable is 0, you write the variable plain; when the variable is 1, you write its complement.
Do the SOP and POS results have the same number of gates?
Not necessarily. In our example SOP needs three AND gates and one OR, while POS needs two OR gates and one AND, but the right comparison is total literals and the cell library available.
Do synthesis tools use K-maps?
No. They use algorithms such as Espresso and BDD-based optimisation, but K-map reasoning explains the structure they produce.