Selected Topics of VLSI Design: Part 3: Multiplication
Selected Topics of VLSI Design: Part 3: Multiplication
Part 3: Multiplication
● 3.6 Evaluation
𝑃 𝐴·𝐵 𝑎2 · 𝑏2 𝑎 𝑏 ·2
(see 1.6.2.2 Recursive,
associative function)
𝑃 𝑎 ·𝐵 , 𝑃 𝑃2
● Multiply algorithm:
Note:
1) Generate n partial products 𝑃
𝑃 Product
2) Sum up all partial products 𝑃 𝑃 Partial product
Shift-and-Add 𝑝 Bit 𝑖 of product
6/11/2018 Selected Topics of VLSI Design 3
3.1.1 Unsigned Multiplication (cont’d)
a) Recursive (shift-and-add) using one accumulator
B
n
ai
1 Metric:
*
i = 0, ..., n ‐1 Shift left by i bits
𝐴 𝑂 𝑛 ⋅ log 𝑛
𝑇 𝑂 log 𝑛
CPA
CLK
Reg 𝐿 𝑛
2n
P
b) Serial (shift-and-add) using linear array of CSAs
o All pi are generated in parallel
B
a0
*
a1 CSA Metric:
A
a2
*
CSA
Carry and
sum
𝐴 𝑂 𝑛
* 𝑇 𝑂 𝑛 log 𝑛
a3 CSA
*
CSA
4n input
of CPA
CPA
CPA
2n
a0
a1 *
A
a2 * Metric:
a3 * 𝐴 𝑂 𝑛
* 𝑇 𝑂 log 𝑛
CSA ‐ Tree
2n 2n
CPA
2n
● Option 2
o Use dedicated two’s complement multipliers
e.g., Braun, Pezaris, Baugh-Wooley
bi bi Metric:
ai Braun ai 𝐴 8𝑛 11𝑛 𝑂 𝑛
pi (LSBs) 𝑇 6𝑛 9 𝑂 𝑛
pi pi (MSBs)
p0
a1
1 HA HA HA
p1
a2
FA FA FA
p2
a3
2
FA FA FA
CSA p3
CPA
FA FA FA
3
p7 p6 p5 p4
6/11/2018 Selected Topics of VLSI Design 8
3.3 Signed Pezaris-Array Multiplier
● Modified Braun-Array multiplier, here shown for 4-bit operands
● MSB = sign bit value = -1
p0
a1
1 HA HA HA
p1
a2
FA FA FA
p2
a3
2
FA FA FA
CSA p3
CPA
FA FA FA
3
p7 p6 p5 p4
6/11/2018 Selected Topics of VLSI Design 11
3.4 Booth Multiplier
● Observation: multiplication delay 𝑓 ⋕ partial products 𝑃 𝑓 𝑛
o For every 0 in ai one row can be omitted in array!
o Recoding of ai to maximize number of 0’s
(𝑎 ∈ 0,1 → 𝑎 ′ ∈ 1,0,1 )
● Two possibilities:
a) ai always constant: CSD-Recoding (1/3 of area on average)
b) ai variable: modified Booth-Encoding (1/2 of area)
Booth Multiplier bi
n
ai‘
Mod.Booth-
* Metric:
Recoding
ai n/2 partial
* products Pi 𝐴 𝑂 𝑛
* 𝑇 𝑂 𝑛 log 𝑛
*
Parallel CSA - array
calculation
CPA
Metric:
𝐴 5 … 6𝑛
𝑇 𝑂 𝑙𝑜𝑔 𝑛 ; → 𝑇 2 · 𝑙𝑜𝑔 𝑛
Trough-
Latency Area Regularity Pipelining
put
Recursive -- o ++ - (control needed) --
Braun + o o ++ ++
Booth + + o + +
Booth-
+ ++ -- - +
Wallace