Boolean Algebra, Minimisation and Combinational Circuits
Prime Implicants, and Which of Them Are Essential
Take f(A,B,C,D) = Σm(0,1,2,3,5,7,8,10,14,15). A Karnaugh map of it groups in several ways, and the counts that a question asks for are these: it has six prime implicants and only two essential ones. The six are A′B′, A′D, B′D′, ABC, ACD′ and BCD. The two essential ones are A′D, the only cover of minterm 5, and B′D′, the only cover of minterm 8.
| Prime implicant | Minterms it covers | Essential? |
|---|---|---|
| A′D | 1, 3, 5, 7 | Yes — sole cover of 5 |
| B′D′ | 0, 2, 8, 10 | Yes — sole cover of 8 |
| A′B′ | 0, 1, 2, 3 | No — every minterm also covered elsewhere |
| ABC | 14, 15 | No — 14 in ACD′, 15 in BCD |
| ACD′ | 10, 14 | No |
| BCD | 7, 15 | No |
Adders, Multiplexers and Decoders
A half adder produces sum = A ⊕ B and carry = A·B. A full adder adds a carry-in and is two half adders plus an OR. Chaining n full adders gives a ripple-carry adder, whose delay is the problem: the carry must propagate through every stage, so the worst-case delay is proportional to n — which is what carry-lookahead exists to fix, at the cost of gates.
Key takeaways
- De Morgan is the bridge to NAND-only and NOR-only forms; both gates are functionally complete on their own.
- XOR takes four 2-input NAND gates; a full adder is two half adders and an OR.
- A prime implicant is a group that cannot be doubled — a local fact about one group.
- An essential prime implicant is the sole cover of some minterm — a global fact about the function.
- The two counts differ freely: Σm(0,1,2,3,5,7,8,10,14,15) has six prime implicants and two essential ones.
- A don't-care is a permission, not an obligation, and never makes a prime implicant essential.
- A 2^n-to-1 multiplexer realises any function of n + 1 variables — an 8-to-1 covers four.
- A ripple-carry adder’s delay grows with the word length, which is the reason carry-lookahead exists.
Practice questions (8)
Attempt each one before opening the answer. Every explanation names the tempting wrong option as well as the right one, because that is where marks are lost.
How many prime implicants does f(A,B,C,D) = Σm(0,1,2,3,5,7,8,10,14,15) have?
Numerical answer — type the value.
Show answer
Answer: 6
They are A′B′, A′D, B′D′, ABC, ACD′ and BCD — six. The count to be careful about is that this is not the number of terms in the minimal expression, which is three, nor the number of essential prime implicants, which is two. Each of the six is a group on the map that cannot be doubled; whether it is needed is a separate question that essentiality answers. Candidates who answer 3 have found the minimal cover and answered a question that was not asked, which is the single commonest way this mark is lost.For the same function f(A,B,C,D) = Σm(0,1,2,3,5,7,8,10,14,15), how many prime implicants are essential?
Numerical answer — type the value.
Show answer
Answer: 2
Two. A′D is the only prime implicant covering minterm 5, and B′D′ the only one covering minterm 8, so both must appear in every minimal expression. Every other minterm has at least two prime implicants available, so nothing else is forced — A′B′ is redundant because 0, 1, 2 and 3 are all covered by A′D or B′D′ anyway, and 14 and 15 can be taken by ABC or by the pair ACD′ and BCD. The method is mechanical and worth doing in this order: list the prime implicants, then for each minterm count how many cover it, and the ones covered exactly once name the essential implicants.The minimum number of 2-input NAND gates required to implement a 2-input XOR is:
Show answer
Answer: B — 4
Four. The standard construction takes N1 = (A·B)′, then N2 = (A·N1)′ and N3 = (B·N1)′, and finally N4 = (N2·N3)′, which evaluates to A ⊕ B. Three is the tempting answer because XOR "looks like" three operations written algebraically, and five is what you get from a naive translation of A′B + AB′ without sharing the first NAND — the sharing is the whole economy. XNOR needs five by this route, since it is XOR plus an inverting NAND, and that difference is itself examinable.An 8-to-1 multiplexer with no additional gates can implement any Boolean function of at most:
Show answer
Answer: B — 4 variables
Three select lines take three of the variables. Each data input then handles one combination of those three, and what remains is a function of the fourth variable alone — which can only be 0, 1, that variable, or its complement, and all four are available without a gate. So an 8-to-1 MUX covers four variables, and in general a 2^n-to-1 MUX covers n + 1. Option A is the answer for a MUX used as a pure selector, ignoring the residual-function trick, and it is the reason candidates reach for a 16-to-1 they do not need.Which of the following statements about don’t-care conditions in minimisation are correct? (More than one may be correct.)
Show answer
Answer: A — A don’t-care may be included in a group when doing so enlarges it; C — Including don’t-cares can change how many prime implicants a function has
A and C. A don’t-care is a permission — use it when it doubles a group, leave it when it does not (A) — and because it can enlarge a group, it can absorb a smaller group and so change the set of prime implicants entirely (C). B is false and is the commonest misreading: an uncovered don’t-care costs nothing, since the output there is by definition unspecified. D is false for a reason worth stating precisely: essentiality means being the sole cover of a 1, and a group covering only don’t-cares covers no 1 at all, so it is not merely inessential but unnecessary.By the consensus theorem, A·B + A′·C + B·C simplifies to:
Show answer
Answer: A — A·B + A′·C
The redundant term is the one whose literals are the consensus of the other two — B·C, made from the B of A·B and the C of A′·C, with the conflicting variable A dropped. It adds nothing: wherever B·C is 1, either A is 1 and A·B covers it, or A is 0 and A′·C covers it. So the answer is A·B + A′·C. Options B and C delete a term that is doing real work, and the map shows it immediately — this is exactly the redundancy a Karnaugh map reveals as a group entirely contained in the union of two others, which is why the algebraic and graphical methods agree.A 4-bit ripple-carry adder is built from full adders each having a propagation delay of 10 ns. Its worst-case delay is about:
Show answer
Answer: C — 40 ns
The carry out of stage 0 is an input to stage 1, and so on, so in the worst case a carry generated at the least significant bit must ripple through all four stages: 4 × 10 = 40 ns. This linear growth in the word length is the entire motivation for carry-lookahead, which computes the carries from the operands directly and turns the delay from O(n) into roughly O(log n) at the cost of considerably more gates. Option A is the answer for a single stage and is what a candidate gives when reading "propagation delay" as a property of the adder rather than of one stage.A 3-to-8 decoder generates all minterms of its three inputs. To implement an arbitrary Boolean function of those three variables, what must be added?
Show answer
Answer: A — A single OR gate over the minterms in the function
Any function in sum-of-products form is an OR of the minterms where it is 1, and the decoder has already produced every minterm on a separate line — so one OR gate over the right lines completes it. An AND would compute a product of minterms, which is 0 for any two distinct minterms and therefore useless. The economy worth noticing is that the same decoder serves several functions of the same three inputs at once, one OR gate each, which is why decoder-plus-OR is a standard way to build a small multi-output block. Option D is nearly right in spirit and wrong in fact: the decoder gives you the terms, not the sum.