网站大量收购闲置独家精品文档,联系QQ:2885784924

基于SRT算法的单精度浮点除法器.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SRT算法的单精度浮点除法器

基于SRT算法的单精度浮点除法器 作者:郑观东 单位:暨南大学固体电子技术与 集成电路设计实验室 摘 要 采用Verilog HDL语言,在FPGA上实现了单精度浮点除法器的设计,通过采用SRT算法、SD表示法、常数比较法以及飞速转换法,进一步提高电路的运算速度。本文使用NC-sim和Maxplus2仿真软件进行前仿真和后仿真,使用Synplify进行逻辑综合,采用的器件是EPF10K40RC208-3,对除法器进行了仿真。 关键词:除法器;SRT;数字循环法;仿真 引言 在语音通信、图象处理等领域中,系统往往涉及大量的数据处理,而且数据计算的精度和实时性要求很高,需要很高的浮点处理能力来提高系统的执行效率。Soerquist等人[1]指出,在四种基本浮点运算中,浮点除法的执行速度是最慢的,处理器执行浮点加法和浮点乘法一般需要2到3个机械周期,而浮点除法则需要8到60个机械周期。然而,浮点除法占的比例较小, Oberman和Flynn认为[2]在所有浮点指令中,浮点加法指令占55%,浮点乘法大约占37%,浮点除法大约占3%,和浮点加法和浮点乘法相比,浮点除法的比例很小。但是,这并不表示浮点除法对处理器性能的影响很小,在因为浮点指令阻塞等待而引起的处理器性能下降的因素中,浮点除法指令大约占40%,浮点加法大约占42%,浮点乘法大约占18%。由此可见,浮点除法虽然出现的频率较低,但对处理器整体性能有较大的影响,设计一种执行效率较高的浮点除法结构对处理器性能的提高起到很重要的意义。 SRT算法的优点 在处理单精度浮点数的时候,处理除法器的算法主要有两种:函数迭代法以及数字循环法。由于函数迭代法所提供的商的最低位不准确,导致四舍五入操作无效,不能满足IEEE 754标准对精度的要求,而且它不产生余数,循环部分的执行复杂性程度很高。Oberman和Flynn的研究[2]表明数字循环算法可以取得较好的延时和面积平衡。数字循环算法是以加法和减法运算为基础的算法,需要多个循环周期,但是,该算法的实现比较简单,所需的硬件面积比较小,功耗也比较小,非常有利于芯片的设计。 该算法的实现主要有三种方法:恢复余数算法,不恢复余数算法以及SRT[3](Sweeney,Robertson and Tocher) d表示除数;Pj+1表示第j次循环后的部分余数;r表示SRT算法的基;qj+1表示第j次循环得到的商,qj+1的值由除数和部分余数组成的商数字选择函数决定。最后的商为,最后的余数如下:。 单精度浮点除法器的设计 本文是针对IEEE 754单精度浮点数据格式进行的浮点除法器设计。IEEE 754单精度浮点格式:,s表示符号位,E表示偏移码,E-127表示阶码,M表示尾数。 除法器运算操作分3步进行。 确定结果的符号,对被除数和除数的符号位做异或操作。 计算阶码,两数相除,结果的阶码是被除数的阶码与除数的阶码的相减。 尾数相除,采用SRT算法进行尾数相除,被除数和除数的实际尾数都是24位数,即尾数实际为1.M,最高位1是隐藏位。 结果格式化,将结果整合为单精度浮点格式的标准。 在进行尾数部分处理的时候,虽然被除数和除数的实际尾数均为24位,但考虑到最后格式化以及商的数值的要求,实际上需要进行处理的位数为26位,因此,根据SRT算法的公式,要使得循环次数减少,并且面积适中,必须选择适合的基数。而且每次循环的时候都需要与除数进比较,26位数进行比较,延时较大,必须选择位数较少的数值代替26位的除数。为了适应自适应语音编码对速度的需求,本文针对上述两个需要进行时序改善的地方,设计了基4的SRT算法的除法器结构,如图1所示。 图1 基于SRT算法的除法器结构 基数的选择 考虑到部分余数以及基数实现的简单性,本除法器选择SRT算法的基数为2的幂次方。基数大小和所需的循环次数成反比,基数越大,实现除法所需要的循环次数越少,但是基数增加,会导致商数字选择函数的复杂性的提高,而且商数字选择函数往往处在关键路径上,其复杂度的增加无疑增加了每次循环的时间延迟。另外,大基数使得产生所有可能商的乘积的硬件电路变得复杂,增大每个循环周期。因此,在实际应用中,SRT算法的基数一般限制在2或4。相比较而言,基4的性能较优,每次循环产生的位数为基2的两倍,Oberman的研究[4]表明基4除法的速度几乎是基2除法速度的2倍,而且更有利于进一步优化,降低整体的时间延迟。因此,在平衡面积和速度方面,本除法器的SRT算法选取基4,这样可以以较小的面积消耗换取较快的速度。 商数字集 由于SRT算法的基数选择了4,因此,商的数字集不再是{0,1},而是。在传统的非冗余

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档