3.3.12 · D5Combinational Circuits

Question bank — Combinational multipliers

2,204 words10 min readBack to topic

Recap you must have loaded first (self-contained)

Before the traps, here is every symbol this page uses, defined from zero so you never need to leave the note.

Figure — Combinational multipliers

True or false — justify

Forming a partial-product bit uses an XOR gate.
False. Forming a partial product is multiplication of two single bits, whose truth table is exactly AND; XOR only appears later, inside the adders that sum the products.
An -bit -bit multiplier's product fits in bits.
False. Multiplication grows magnitude: the largest product is , so you need up to bits, not (that bound is for addition).
A combinational multiplier needs a clock to step through each partial-product row.
False. It is pure combinational logic with no memory or clock; all rows form and add simultaneously, and the answer settles after a fixed gate delay.
Every column in the summing grid needs a full adder.
False. A column with only two bits and no incoming carry (like column in a ) needs only a Half Adder; full adders are for columns that also receive a carry.
If a multiplier bit , its whole partial product is zero.
True. Every bit of is , and ANDing anything with gives , so the entire shifted row is zeros and contributes nothing.
Shifting a partial product left by is optional as long as you add carefully.
False. The shift is the arithmetic: carries weight (the in the master formula). Adding rows unshifted computes a different, wrong number.
An array multiplier and a Wallace Tree multiplier compute different products.
False. Both compute the identical product ; they differ only in how fast they sum — array is depth, Wallace is .
Doubling the operand width roughly doubles the gate count of an array multiplier.
False. Gate count is (one AND per bit pair plus a per-cell adder), so doubling roughly quadruples the gate count.
The AND Gate grid alone is enough to output the product.
False. The ANDs only form the partial-product bits; you still need adders to collapse each column (with carries) into a single product bit .
An unsigned array multiplier gives the correct result if you feed it two's-complement negatives unchanged.
False. A two's-complement number's MSB has weight , but the unsigned grid treats it as , so the products of sign bits land in the wrong (positive) columns; you need sign correction or Booth's Algorithm.

Spot the error

"Column of a multiplier needs a half adder."
Wrong — column holds only the single bit , so directly. With one bit and nothing to add, no adder is needed at all.
"To multiply by we AND with the constant ."
Wrong — multiplying by is a left shift by one column, not an AND. AND forms a single-bit product; the power-of-two factor is handled by wiring/shifting.
"An array multiplier has delay because adders are fast."
Wrong — the array's worst-case path is the carry rippling along the diagonal and bottom carry chain, both length , giving delay. requires a carry-save/tree structure.
" in the multiplier."
Wrong — is the output bit of column , which has two bits being added, so it is the XOR sum: . The AND of those two bits is the carry into column , not the sum.
" (4-bit) can overflow 8 bits, so we need 9 output bits."
Wrong — , so it fits in exactly bits. The product is always strictly below , so 8 bits never overflow.
"Since can occur in a column, we must add three bits with an XOR."
Wrong — a single Full Adder adds exactly three bits (two operands + one carry-in ) and outputs a sum bit and a carry-out. A bare XOR only handles two bits and produces no carry.
"Booth's algorithm is needed for any array multiplier."
Wrong — plain array multipliers work directly for unsigned magnitudes. Booth's Algorithm is a technique to handle signed numbers and reduce the count of partial products; it is not mandatory for the basic unsigned circuit.
"For signed multiplication just multiply magnitudes and copy the wider operand's width."
Wrong — a signed product still needs bits, and you must handle the sign separately (magnitude+sign, sign extension of partial products, or Booth); copying a single operand width loses both magnitude and sign information.

Why questions

Why is a single-bit multiply exactly an AND gate?
Because and every other combination is — that truth table matches AND identically, so .
Why does the exponent appear in the master formula?
sits in column of and in column of ; multiplying their weights gives , which tells you exactly which output column the bit lands in.
Why do carries exist at all in a multiplier?
Each output column can hold only one bit , so when a column's bits sum to or more, the excess must "overflow" into the next-higher-weight column — identical to carrying in decimal long multiplication.
Why is the AND-gate count ?
Every pair needs its own AND, and there are such pairs; for that is , so the count grows with the square of the width.
Why is the array multiplier's delay and not ?
Delay is set by the longest single path, not total gate count: a signal crosses the diagonal ( cells) and then the carry chain ( cells), summing to — linear, even though there are gates working in parallel.
Why does the array multiplier trade area for speed?
It uses many gates () to compute the whole product in one combinational pass, avoiding the many clock cycles a repeated-addition loop would take — more hardware, but a single fixed delay.
Why do deeper columns use full adders while the first shared column can use a half adder?
A half adder sums only two bits with no carry-in; inner columns receive a carry propagated from the previous column, so they need a full adder that accepts that third (carry-in) bit.
Why does a Wallace tree beat an array multiplier on delay but not on the number of AND gates?
Both need the same AND gates to form partial products; the tree only reorganizes the summation into depth, so it wins on adder-chain delay, not on the AND count.
Why can't you just widen an unsigned multiplier to handle negatives?
Widening keeps the MSB weight positive (), but a two's-complement negative needs that weight to be ; the sign has to be interpreted, not just given more bits — hence sign correction or Booth.

Edge cases

Multiplying any number by : what does the circuit output and why?
All partial products vanish ( for every bit), so every column is zero and the product is — the correct result with no special-case logic needed.
Multiplying by : what happens to the partial products?
Only is nonzero and equals unshifted (each bit ); all other rows are zero, so the product is just .
Multiplying by a power of two, e.g. : what does the multiplier effectively do?
Only , so a single partial product appears, shifted left by 2 columns — the circuit reduces to a pure left shift by 2, matching "multiply by ".
The (single-bit single-bit) multiplier: what is its entire circuit?
One AND gate producing ; there is nothing to shift and no column to add, so no adders are required at all.
What is the maximum product of two -bit numbers, and does it ever reach exactly ?
The maximum is , which is strictly less than — so output bits always suffice and the top bit is never forced to overflow.
Both operands equal to all-ones (): why is this the worst case for both value and carries?
Every , so every partial-product bit is set; the columns are maximally full, forcing the longest carry propagation and producing the largest product .
Signed edge case: what is the two's-complement product of the most-negative operand times itself, e.g. in 4 bits?
, which needs bits (); the result is positive and fits, but the two negatives' sign bits (weight each) must be interpreted correctly, or the unsigned grid would compute only by luck of both being treated positive — for mixed signs it fails without correction.
Signed edge case: multiplying a positive by a negative — where does the naive unsigned grid go wrong?
The negative operand's MSB is read as instead of , so one partial product is added instead of subtracted; the fix is sign extension of the partial products or Booth encoding to make the subtraction happen.

Connections

  • AND Gate — the trap "XOR forms partial products" lives here
  • Half Adder / Full Adder — the "which adder in which column" traps
  • Ripple Carry Adder — why array delay is
  • Carry Save Adder / Wallace Tree — the alternative
  • Binary Number System — positional weights behind
  • Booth's Algorithm — signed / two's-complement multiplication trap
  • Combinational Circuits — parent topic (no memory/clock)