Digital Electronics

K Map Simplification

By CourseTron Team ·  7 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents

    ? Print / Save as PDF

    In short: A Karnaugh map minimises a Boolean function by circling the largest power-of-two rectangles of adjacent 1s on a Gray-code grid, so every group of 2k cells removes k variables and the variables that stay constant form one product term of the minimal SOP.

    What a Karnaugh map really does

    Maurice Karnaugh published his map at Bell Labs in 1953, refining Edward Veitch's chart from a year earlier. The idea is small but powerful: redraw the truth table so that minterms which differ in exactly one variable sit physically next to each other. The algebra behind it is a single identity, XY + XY' = X. Whenever two adjacent 1s share every literal except one, that literal cancels. The map simply lets your eye find such pairs, quads and octets without pushing symbols around.

    On paper this is the fastest method for two to four variables. Five variables work with two stacked maps, but beyond that humans lose track, and algorithmic methods such as Quine-McCluskey or Espresso take over. If you want the algebraic foundation first, read our guide to Boolean algebra simplification theorems.

    Why the axes use Gray code

    The row and column labels run 00, 01, 11, 10, not binary order. In Gray code consecutive labels differ by exactly one bit, so any two cells that touch on the grid are logically adjacent. The same property holds between the last label (10) and the first (00), which means the left edge touches the right edge and the top touches the bottom. Topologically a 4-variable map is a torus, and every cell has exactly four neighbours, one per variable.

    Key fact: Every cell of an n-variable K-map has exactly n neighbours. Wrap-around adjacency is not a trick; it is a direct consequence of Gray-code ordering.

    Gray code: each step flips exactly one bit CD = 00 01 11 10 The ring marks the bit that flipped. The step 10 to 00 wraps the edge and still flips one bit. CourseTron · coursetron.com
    Animation: a marker walks the column labels 00, 01, 11, 10. Only one bit changes per step, including the wrap from 10 back to 00.

    Grouping rules that never change

    • Only 1s for SOP. Groups contain 1s (and optionally don't-cares), never a 0.
    • Sizes are powers of two: 1, 2, 4, 8 or 16 cells. A group of 3, 5 or 6 does not exist, because it cannot correspond to a product term.
    • Rectangles only, wrap-around allowed. Diagonals and L-shapes are illegal.
    • Go as large as possible. A group of 2k cells deletes k variables; an octet in a 4-variable map leaves a single literal.
    • Overlap freely. Covering a 1 twice costs nothing, since A + A = A.
    • Cover every 1 at least once with the fewest groups once the largest are chosen.

    To read a group, keep the variables that are constant across all its cells: a constant 1 appears true, a constant 0 appears complemented, and any variable that changes inside the group disappears. Don't-cares may be pulled into a group only when that enlarges it; see K-map don't-care conditions for the details.

    Worked example and the five-step routine

    Take F(A,B,C,D) = Σm(0,1,2,5,8,9,10). Plot it, then circle groups. The four corners (m0, m2, m8, m10) form one quad through both wrap-arounds. The cells m0, m1, m8, m9 form a second quad spanning the top and bottom rows. Finally m1 and m5 form a pair.

    F = Σm(0,1,2,5,8,9,10) on a 4-variable map AB (rows) / CD (cols) 00011110 00011110 m0m1m3m2 m4m5m7m6 m12m13m15m14 m8m9m11m10 1101 0100 0000 1101 B'C' : m0, m1, m8, m9 wraps top to bottom B'D' : m0, m2, m8, m10 four wrapped corners A'C'D : m1, m5 only cover for m5 F = B'D' + B'C' + A'C'D CourseTron · coursetron.com
    Three groups cover all seven 1s. Green and orange groups use wrap-around adjacency; each group is essential.

    Result: F = B'D' + B'C' + A'C'D. The canonical form needs seven four-literal minterms, 28 literals in total; the minimised form needs three product terms and seven literals. Each group is a prime implicant because it cannot be enlarged, and each is essential because it alone covers some 1: B'D' for m2 and m10, B'C' for m9, A'C'D for m5.

    Key fact: Always pick essential prime implicants first. Only the 1s left uncovered afterwards need a judgement call about which extra groups to add.

    The five-step K-map routine 1 Fill the map2 Group largest3 Essentials4 Cover leftovers5 Read terms Gray-code axespower-of-2 rectssole-cover groupsfewest groupskeep fixed bits Sanity check: no group of 3, no diagonals, no group still enlargeable, no group that adds no new 1. CourseTron · coursetron.com
    Run the same five steps every time; most interview slips come from skipping the final sanity check.

    Common interview pitfalls

    Interviewers rarely ask for a 16-cell map from scratch. They watch for slips that reveal whether you understand adjacency or only memorised a recipe. These are the ones that cost candidates marks.

    PitfallWhy it is wrongFix
    Labelling rows 00, 01, 10, 11Binary order breaks adjacency between 01 and 10Always use 00, 01, 11, 10
    Circling three 1sNo product term has three cells; the group is not a power of twoSplit into a pair plus a single, or find an overlapping quad
    Missing wrap-around groupsEdge and corner cells are neighboursTest each edge 1 against the opposite edge
    Reading a 0-constant variable uncomplementedA constant 0 means the complemented literalSay it aloud: 0 gives prime, 1 gives plain
    Keeping a redundant groupEvery 1 in it is already covered, adding gatesDelete groups that contribute no unique cell
    Assuming the minimum is uniqueCyclic maps have several equal-cost coversState that any minimum cover is valid

    One deeper question separates strong candidates: is the minimal SOP always the best circuit? No. Take F = AB + A'C. It is already minimal, yet when B = C = 1 and A toggles, both terms briefly drop and the output glitches, a static-1 hazard. Adding the redundant consensus term BC removes the hazard at the cost of one more gate.

    Key fact: A K-map gives minimum area for two-level logic, not hazard-free logic. Hazard covers deliberately add overlapping groups that a pure minimiser would delete.

    Product-of-sums works symmetrically: group the 0s to obtain F', then apply De Morgan's theorem, or read each zero-group as a sum with inverted literals. Both forms are equivalent, but one is often cheaper for a given function.

    K-maps versus real synthesis tools

    No production flow draws a K-map. Two-level minimisers such as Espresso, originally built at UC Berkeley for PLA design, apply the same expand, irredundant and reduce ideas on cube lists with hundreds of variables. Industrial logic synthesis in Synopsys Design Compiler or Cadence Genus goes further, restructuring multi-level logic and mapping it to library cells under timing, area and power constraints. The result may share logic such as B'(C' + D') + A'C'D rather than keep three separate AND terms, so the final netlist rarely resembles your two-level answer.

    Understanding the map still pays off: it teaches what a prime implicant is, why don't-cares enlarge groups, and why hazards exist, all concepts you meet again in RTL coding and timing closure. Engineers who want to see this in practice can explore the hands-on programmes at ChipXpert VLSI training.

    Ready to practise with timed problems and solved interview sets? Join the Digital Electronics track in CourseTron courses and master K-maps, hazards and FSM design.

    Frequently asked questions

    Why can a K-map group not contain 3 cells?

    A product term fixes some variables and leaves the rest free, so it always covers 2k cells. Three cells cannot be described by one product term, so you must cover them with a pair and an overlapping pair or single.

    What is the difference between prime and essential prime implicants?

    A prime implicant is any group that cannot be enlarged. An essential one is the only prime implicant covering at least one particular 1, so it must appear in every minimal cover.

    Can a K-map handle more than four variables?

    Five or six variables are possible with stacked maps, but adjacency across layers is error-prone. Beyond that use Quine-McCluskey or Espresso, which scale to large functions.

    Is the SOP from a K-map always the cheapest circuit?

    It is the cheapest two-level AND-OR form by literal count. Multi-level factoring, shared logic or hazard-free requirements can yield a different, better implementation.

    Advertisement