1 / 7
文档名称:

毕业论文-基于SRT算法的单精度浮点除法器.doc

格式:doc   页数:7
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

毕业论文-基于SRT算法的单精度浮点除法器.doc

上传人:钻石文档库 2013/7/26 文件大小:0 KB

下载得到文件列表

毕业论文-基于SRT算法的单精度浮点除法器.doc

文档介绍

文档介绍:基于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)算法。传统的除法器都采用恢复余数算法或者不恢复余数算法,但是这两种算法的运算速度较低,每次循环仅能够产生一位的商数字,需要较多的循环次数才能达到需要的指标。在每次循环的时候,恢复余数算法都需要将被除数或部分余数与除数进行比较,如果除数较大的话,还需要将部分余数恢复到上一次循环的数值;不恢复余数算法虽然不需要将部分余数恢复到原来的数值,但是商的数字集会出现负值,最后需要额外的加法器,将商的正数部分与负数部分相减。SRT算法是不恢复余数算法的扩展,具备了不恢复算法的优点,而且每次循环可产生log2r位结果(r为基数),大大减少了循环的次数。基于SRT算法的优点,以及考虑到本除法器应用在自动语音编码,本文所设计的除法器采用SRT算法进行除法运算。
SRT算法由下面的表达式来确定商和余数:
d表示除数;Pj+1表示第j次循环后的部分余数;r表示SRT算法的基;qj+1表示第j次循环得到的商,qj+1的值由除数和部分余数组成的商数字选择函数决定