一种高速浮点加法器的设计实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
!""#年第 ! 期
微电子学与计算机
+2C
012345-$./)*67
I( I>>%<’F? <U V$T7R( U<% W7R?=S>$$: 69<’;7(R=><7(; I::$% 合肥工业大学微电子设计研究所 89: ;<= >? 1合肥 @C000X5
摘 要 ! 浮点加法器是协处理器的核心运算部件 ! 是实现浮点指令各种运算的基础 ! 其设计优化是提高浮点运 算速度和精度的关键途径 " 文章从浮点加法器算法和电路实现的角度给出设计方法 ! 并且提出动态与静态结合 设计进位链的方案以及前导 0 预测面积与速度的折衷方法 " 动态与静态结合设计进位链的方法有效地降低了 功耗 ! 提高了速度 ! 改善了性能 " 目前已经嵌入协处理器的设计中 ! 并且流片测试成功 " 关键词 ! 浮点加法器 ! 进位链 ! 优化
1;<1= 5==<62 !
超前进位加法器的实现形式有门阵列形式 # 动 态多米诺 >?8@AB82 进位的方式等 ! 在 . 位的超前进 位加法器中 " 门阵列的形式结构紧凑 " 由 *! 个 CDE 管构成超前进位 ! 若用动态多米诺的形式 " 晶体管 可以节省 " 但最坏的延时增加到 ’ 个 FCDE 的串结 延时 ! 根据具体应用和相关工艺的需要选择合适的 电路实现形式 ! 本文从低功耗 # 高速度和面积允许 的角度 " 选择传输管逻辑与动态多米诺构成超前进 位加法器形式 ! 由于 ’"$&":*!(" 使得超前进位所需的门尺寸会 随位数的增加大到难以实现 " 因而超前进位的级数 通常不超过 . 级 ! 扇入 >G1B:AB0 和扇出 >G1B:8HI0 会显 著增加延时 ! 3CDE 门延时同扇入 # 扇出的关系为 $
!"!
)* $ +,-.
为了减少运算的时延 " 我们引入了前导 % 预测
逻辑 ! 其可以在尾数做加减法的同时 " 并行计算加 减结果前导零的个数 " 确定结果需要左移的位数 " 同时调整相应的指数 ! 预测逻辑理论上可以从二进制的求和方程获 得 ! 设 - #. 分别表示两个源操作数的尾数 " 其运算 为无符号数运算 ! 在减法操作时 " 对于负数要求补 码 ! 为便于加减运算预测逻辑的统一 "引入 -&O.& 在
’! 位尾数加法器分成八大组 > 其中一组用于附
加位的处理 " 与另外 N 组有些不同 2 " 每一大组产生
. 个超前进位信号形成组内的进位信号 " 组之间是 行波进位的方式 ! 进位链的结构如图 - 所示 ! 这样
在高位加法中解决了使用超前进位的问题 " 同时避 开了超前进位位数超过 . 位时 " 较大的扇入和扇出 引起延时和面积急剧增加的缺点 !
1@5 由于对阶移位和规格化移位互斥 ! 在关键路 径上只存在其一 " 在符合 ABBB 规格化有效的操作
数加法中 ! 可省去规格化移位 "
1C5 前导 + 位置预测判定 !从操作数中预测结果 前导 0 的个数 " 不要等到运算结果出来后再计算结 果需规格化移位的次数 " 加法与前导 0 预测并行处
!
!"
根据 "#$%&’( 的技术报告 ! 浮点指令中浮点加
*+,
DE’F? 对于 ;8<=>’;? 算法进一步优化 ! 使得其
减少系列操作 *C," 优化基于舍入运算的实现要等到 运算结果产生后才可执行 ! 并且对于结果进行小数 量的修改 " 通过提前计算所有可能的结果 ! 用选择 正确的结果来减少舍入和转换 " DE’F? 证明了对于
!;%IJNOL29%:6%.P"2QRMP%6<.+12!7-88 !; 对于 . 求导 " 获得最大值 $!!=!. %IH .3;!%1JS ! . 典型的值取 T 或 $! 在本文指数加法器的设计中 取 .0$ ! %T2 在版图实现上 " 考虑同进位有关晶体管的尺
寸 " 合理安排从低位进位输入到组内进位输出端晶 体管的尺寸 ! 原则上是从大到小 " 因为在整个进位链放电的 过程中" 靠近进位输入端的晶体管流经最大的电 流 " 即 >.IU>.1U>.RU>.T! 同理 "对于连接到 ? 和求 值端的晶体管也是渐小地安排晶体管的尺寸 ! 进位 链上每个节点的扩散电容为 R 个传输管 # 一个下拉 管 # 一个预充电所组成的等效电容 ! 根据 V)@>&* 延时所定义的 @2 延迟模型LRM$
!""#$#! $%$%&’(&!)*%+#,-#+%.#-,/#.0$#.! 见图 +)12"随 着 # 因子增加 " 延 迟 时 间 在 减 少 " 其 下 限 受 工 艺 最
小尺寸的制约 !
!"# !"#$%&’( ’! 位尾数加法器进位链和加法器结构的设计 "
是解决长路径延迟的首要问题 ! 为提高尾数加法器 的运算速度 "采用超前进位加法器 345)31667 4889:
ABBB 最近舍入 1GH5! 无论是舍入和转换 ! 计算 IJK 和 IJKJ+ 都是必要的 " "#$%&’( 根据两条运算路径的具体特点 ! 提出
两种可变延时的 ;8<=>’;? 算法1LMI5*+," 在可变延时 中 ! 完成 一 个 操 作 周 期 数 是 可 以 变 的 ! 结 果 一 经 算 出就输出 ! 以减少平均延时 " 本文在借鉴改进的 ;8<=>’;? 算法同时 ! 侧重从 电路结构上采用动静态进位链的设计方法 ! 减少关 键路径延时 !提高浮点加法器的运算速度 "
%32 连接进位 0 的晶体管尽可能靠近门的输出端 " 以 减少进位延迟 ! %42求和阶段 1-. 晶体管的尺寸尽可 !3-! 的等 能小 ! %$2在版图设计时 "关键是最小化节点2
效电容 "主要是减少有关扩散电容 ! 组内采用曼彻斯特加法器 # 输入端预充电 # 多 路选择器 % 易于进行原码或反码加法运算 2 及加法结 果暂存于指数总线的接口等 " 都是运算速度快 " 硬 件代价低 #面积又可取的加法器方案 ! 曼彻斯特加法器 %5-6,7*89*& :-&&.$,7-’6 ;<<*&2 是用传输晶体管 =(-88 9&-68’89>&2 作 为 进 位 传 送 的 方 式 " 类似多米诺 =?>@’6>2 电路实现进位的产生 " 电路 简单 " 布图规则 "速度较快 ! 见图 "=-2 " 是典型的动态 逻辑电路 ! 其进位链是在动态逻辑求值阶段进行进 位传递的 " 即当时钟 ,A 为高电平 " 进位传输 B 为高 电平 " 有进位的传输 " 传输节点放电 ! 进位链节点电 容充放电决定进位的延迟特性 ! 传输链上每个节点 的电容较小 " 仅为 $ 个扩散电容 ! 但是 "传输链分布 阻容参数 C: 使得传输延时同位数成二次关系 ! 为此改进的方法 $ 减少进位延时 ! 设有 6 位传输管需要 . 个缓冲驱动 " 缓冲驱动 的延时为 !7-88"6 位传输管的等效阻容为 29%:" 那么 传输链的= 加入缓冲 /延时为L3M$
=3/ 在组之间 " 每 $ 位插入一个缓冲驱动 " 可以
!""#年第 ! 期
微Fra Baidu bibliotek子学与计算机
*’/
超前进位基础上进行行波进位 ! 对于 ’! 位的尾数 加法器" 我们采用了基于分组超前进位加法器
>J1K<= 8B L68HM 3450 的设计方法 " 可以有效地 解 决
上述问题 ! 可以减少进位延时 " 特别是大的扇入和 扇出对于传播延时的影响 ! 电路结构规则 " 便于版 图的设计和面积的优化 !
法器的使用频度为 ))$ " 浮点加法器在协处理器 中占有绝对重要的地位! 其性能优劣必然影响到
-./ 浮点处理性能 " 浮点加法器要满足单精度 # 双 精 度 和 !0 位 扩 展 精 度 实 数 或 者 临 时 实 数 1+ 位 符 号 #+) 位增阶指数 #23 位尾数4 的要求 "
协处理器内部将临时实数格式用于所有的计 算 " 从存储器中读取所有的数据类型将自动转换为 临时实数格式 " 由于临时实数格式的精度和范围超 出其它格式很多 ! 因此计算最终结果引入的误差也 将可能发生在短实数 1单精度数 5 或者长实数 1 双精度 数5 的范围之外 " 本文的浮点加法器设计成 +2 位指 数加法器和 2! 位尾数加法器两大部分 " 23 位的尾 数加法器考虑到 3 位用于舍入和精度控制的附加 位 ! 可以扩展到 2! 位组成尾数加法器及其总线 "
"
#$%&
在基本算法的基础上 ! 研究者提出许多改进方
案 ! 其中最著名的是 67%&8’9: 提 出 的 ;8<=>’;? 算 法 " 其基本思想是并行化操作 ! 减少算法总延时 !
*@,
要点为 $
1+5 采用交换电路避免了设计两套移位电路分
别对于操作数的尾数进行移位 ! 保证第一个操作数 的指数总是大于第二操作数的指数 ! 交换电路将省 去尾数求补转换 #对阶移位和舍入的算法延时 "
!;%IJ#O"25 %"@B2
501 B01
A 是 @2 网络的节点数 "25 是节点 5 对地电容 ! !;%IJ#O%21@1P2R%@1P@R2P2T%@1P@RP@T2P2W %@1 P@R P@T P @W2P2K%@1P@RP@TP@WP@K22! 设最小尺寸晶体管的线性
等效电阻为 RIX!" 线性扩散电容为 KC8 " 晶 体 管 尺 寸宽长比%D=E2 的缩小因子为 F%FU12 " 则 250F25P1H 95G
此 外"在 尾 数 加 法 器 的 输 入 端"采 用 两 输 入 端 多路选择器和三输入端多路选择器组合方法来实 现短移位相加运算! 短移位相加是指两个源操作 数 " 其指数差 的 绝 对 值 小 于 等 于 + 的 情 况 下 " 不 需 使用桶式移位寄存器就可相加 ! 这样可以减少滚桶 的移位操作步骤 " 加快了尾数的运算速度 !
A 5
=12 在组内 "从电路结构上改善曼彻斯特进位链
的速度 ! 如图 1=D2在 $ 位曼彻斯特进位链的两端并接传 输管 " 需要增加进位的选通控制 :EF ! 其导通控制 由进位传输信号 45 来控制 $ 个串联的 F5EG 管 H 再 经反相驱动产生 :EF ! 通过这种方法 " 使得 $ 位进 位输出的节点等效电容为原来电路的 IJK 左右 " 因 此可以大大改善进位链的时延特性 ! 改善速度的同 时却增加 43 个晶体管 " 在面积增加不是太多的情 况下是可取的 !
理 ! 减少延时 !提高效率 "
收稿日期 & !""C%"C%+!
#$! +,-$./)*
指数加法器进位链设计是指数加法器设计的
1NW
微电子学与计算机
!""# 年第 ! 期
关键所在 ! "# 位的指数加法器 " 采用 $ 位一组 " 组内 采用改进的曼彻斯特进位链设计方法 " 组间采用静 态行波进位 %&’(()*+,-&&./ 加缓冲驱动的方式 ! 下面 从控制逻辑 # 电路结构和版图实现上分析设计在提 高速度 "减少延迟所能采取的方法 ! 行波进位加法器的延时与输入位数有一定的 比例关系 $!"#$%&0%’+12!()&&*+!,-.! 其中 !/)&&* 和 !,-. 分别表 示加法 器 的 进 位 时 间 和 求 和 时 间 ! 从 公 式 可 以 看 出 " 当设计全加器组成快速的行波进位加法器时 " 优化 !/)&&* 比 !,-. 重要 "因为后者对于加法器的延时居 于次要影响 ! 组间静态行波进位链采取的措施 $%12 取消进位 的反相器以减少进位延时 " 变成低电平有效 ! 利用 全加器的反相特性 " 即输入端反相 " 输出值也反相 !
# ’()*
加法器多数情况下用来实现算术运算的操作 ! 经常面对的是速度限制问题 " 因而仔细地优化设计 加法器是非常重要的 " 优化包括逻辑优化和电路优 化 " 超前进位加法器1F’%%N 9<<O%’?$’: ’::$%5 就是逻 辑优化的一个典型例子 " 至于电路优化 ! 简单说就 是通过合理布置晶体管的尺寸和电路的拓扑关系 来优化速度 " 不同于一般的加法器 ! 浮点加法器有其相对独 立的双运算路径 " 指数运算和尾数运算双总线路径 实现 ! 使得两个逻辑分离器件在一定的条件下可以 并行工作 ! 执行加减两个最为频繁的操作运算速度 比单路径提高 )0$" 指数总线数据宽度 +2 位 !包含 一位符号位和 +) 位指数偏移 " 2! 位的尾数宽度包 括 23 位的数据精度位和 3 位附加位 " 其中附加位 用于误差控制 !如警戒位 PQRE’%:5#舍入位 G1%<E(:5 # 粘贴位 S1T;7FO5 等设置的标志位用于精度的保证 "
相关文档
最新文档