跳到正文
半导体开放世界

数字乘法器

Digital Multiplier

从带权部分积到编码、压缩及最终合并,区分数值正确与电路快慢。

报告问题

速览

约 1 分钟

乘法器不是反复调用完整加法器的唯一实现;并行电路可把部分积用局部压缩整理成两行,再集中传播进位。

系统理解

约 2 分钟

先明确输入位宽、有无符号和输出精度,再选择部分积编码与压缩方式。阵列规整、树层次较少、Booth行数较少,各有译码和互连代价。最终CPA必须匹配各列到达时间,流水和乘加也要保留完整的数值和接口语义。

在加法器和数字逻辑基础之后理解专用算术数据通路,再连接处理器与信号处理应用。

关键参数

关键参数
参数单位含义
输入/输出位宽bit确定符号、权重与结果范围
部分积行数—连同编码及符号扩展一起统计
压缩和最终CPA—分别检查局部归约与全字进位
吞吐、延迟和互连—完整实现的比较维度

常见误区

  • Booth行数减半等于延时减半。
  • 保留进位压缩已生成普通二进制结果。
  • 补码符号位与其他位的权重完全一样。

工程深入

12 条结论 · 1 道例题

部分积与数值表示

定义

二进制乘法由部分积、压缩和最终加法共同组成

无符号乘法先按乘数各位生成带权部分积,再相加。并行乘法器通常把多行压缩到两行冗余表示,最后用进位传播加法器生成常规二进制结果。12

成立条件 不把压缩后的两行误当成已完成的普通乘积。

公式

无符号全精度乘积按位权相加

M位X和N位Y的每一位相与得到一个单比特部分积,其权重由两个输入位的位置之和决定。保留M+N位足以表示全精度结果;主动截位则是另一个需要说明的数值操作。12

P=∑i=0M−1∑j=0N−1(xiyj)2i+jP=\sum_{i=0}^{M-1}\sum_{j=0}^{N-1}(x_i y_j)2^{i+j}
P = Σi=0…M−1 Σj=0…N−1 (xi yj)2ⁱ⁺ʲ
P
全精度无符号整数乘积,单位 1
M、N
两个输入的位宽,单位 bit
xi、yj
输入对应位置的二值位,单位 1

成立条件 X和Y为无符号整数,位编号从0开始;不包含定点小数点缩放。

例题:动手算一次教学假设,可复算

逐行核验四位无符号乘法,求全精度8位结果。

已知

  1. 教学输入X=1101₂=13、Y=1011₂=11。

步骤

  1. 13×1 + (13×1)×2 + (13×0)×4 + (13×1)×8,按Y从低到高各位生成带权行。
  2. 13 + 26 + 0 + 104 = 143,每行使用对应二进制位权。
  3. 143 = 10001111₂,保留8位,不作截位。
结果 P=143,即10001111₂。

部分积的对齐是位权,不是额外的可变移位器。

不能外推到 输入为教学整数,不带符号和小数点。

机制

固定的部分积对齐可由连线实现

每个部分积相对于前一行具有固定二进制权重,因此其对齐可以直接体现在连接位置。它不同于由运行时控制值决定距离的可变移位器,不必为每一行增加通用桶形移位硬件。12

成立条件 固定整数位权,对齐后的边界填充值与符号扩展必须另行正确处理。

边界

补码乘法不能把符号位当作普通正权位

二进制补码最高位带负权,直接把所有部分积都作为无符号正权项相加会算错。Baugh-Wooley等结构通过对负权项取反并补入相应常数,将计算组织成可加的阵列。2

成立条件 具体补偿位依赖输入与输出位宽,不能只做逐位取反而漏掉加一。

编码与压缩

机制

基4改进Booth用重叠三位选择有符号倍数

每组考察两位及相邻低位组的最高位,从0、±Y、±2Y中选择部分积,使相邻组的权重相差4倍。引入负倍数可避免直接生成3Y,但必须保留补码和符号扩展。12

成立条件 最低端补位、最高端扩展和输入有无符号必须明确,不能无条件承诺恰好N/2行。

边界

部分积变少不保证整条乘法路径同比加速

Booth减少需要压缩的行数,同时增加译码、选择线驱动、倍数选择和负数处理。最终延时取决于完整路径,不能只凭行数减半宣称延时减半。12

成立条件 比较相同位宽、表示和工艺下完整实现,不沿用旧工艺固定速度百分比。

公式

三入二出压缩保存数值而暂不横贯整字传播进位

对同一位权的三个二值输入,全加器输出一个同权和位及一个高一位权的进位。把输出保持成两行就能继续压缩,而不必每次都完成横跨整字的进位传播。12

a+b+c=s+2cnext,s=a⊕b⊕ca+b+c=s+2c_{\mathrm{next}},\qquad s=a\oplus b\oplus c
a + b + c = s + 2cnext;s = a ⊕ b ⊕ c
a、b、c
同一位权三个二值输入,单位 1
s
同权和位,单位 1
cnext
送到高一位权列的进位,单位 1

成立条件 C在此是未移位的一位进位,故恒等式中乘2;连接到下一列时不能再重复移位。

机制

阵列以规则连接换取易布置的逐级压缩

阵列乘法器沿相邻行传递保留进位的中间结果,具有重复单元和规则连接。其压缩链随行数增长,最终仍需合并两行,不能把局部全加器延时当成整乘法器延时。12

成立条件 不套用某个4×4示例的固定门数到任意位宽和编码阵列。

边界

树形压缩减少逻辑层次但可能增加不规则长线

把可独立压缩的部分积并行归约能够减少串行层数,较宽乘法器常采用树或混合结构;但树的长线、电容和布局不规则性可能抵消一部分逻辑收益。12

成立条件 层数复杂度不是实现后的时间保证;必须纳入负载与互连。

最终合并与实现

机制

最终加法器须匹配各列输入的到达时间

压缩后中间列与边缘列可能在不同时间就绪。最终CPA的拓扑和尺寸应利用实际到达时间,而不是假定所有位同时到达后机械选择一类前缀树。12

成立条件 若前一级有流水寄存器,仍需按寄存器与布线后的到达情况检查。

边界

流水线分割延时并不减少乘法所需的算术内容

在阵列或树的适当边界插入寄存器可以缩短单周期组合路径,但增加状态、时钟负载及结果等待阶段。评价应同时报告吞吐、端到端延迟和寄存器开销。12

成立条件 流水深度与接口周期数由具体划分决定,不把一次运算一周期推出一周期得到结果。

关联

整数乘加可把加数并入压缩阵列再统一合并

计算P=XY+Z时,可把按位权对齐的Z作为附加一行送入部分积压缩,避免先完整生成普通乘积再做一次独立全字相加。2

成立条件 本条限定整数或已明确缩放的定点结构,不宣称浮点融合舍入语义;累加位宽与溢出处理必须另外规定。

出处

2 本教材 · 22 处引用
  1. 1

    数字集成电路:电路、系统与设计(第2版)

    查看这个来源 →
  2. 2

    CMOS超大规模集成电路设计(第4版)

    查看这个来源 →