首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
单精度浮点加法器的FPGA实现
来源:本站整理  作者:佚名  2009-06-16 11:49:26




2.2.1 总体设计
    浮点加法器包括两个浮点数拆分模块、绝对值比较模块、浮点数运算结果判定模块、对阶模块、尾数加减运算模块、尾数规格化模块、合并输出模块。其中对阶模块包括尾数交换,尾数移位两个子模块;尾数加减运算模块尾数运算符号判定,尾数加减两个子模块。两个浮点数拆分模块分别将两个浮点数拆分成符号、阶码、尾数3部分,绝对值比较模块通过对两个浮点数的绝对值大小的比较得到大阶,阶差和绝对值比较结果,大阶直接输出;对阶模块然后实现对小阶的尾数进行移位,将小阶与大阶对齐,并对尾数进行移位;尾数加减运算模块判定尾数运算符号后,进行尾数运算;尾数规格化模块对结果完成尾数规格化,同时调整阶码;最后结合浮点数运算结果判定模块的符号输出,经过合并输出模块,得到结果输出。总体设计框图如图3所示。

2.2.2 各模块设计实现说明
    (1)拆分模块。该模块将输入的浮点数拆分成符号位、价码、尾数3部分。符号位信号wSign,指数位信号bExp[7:0],尾数位信号bFraction[23:0]。
    (2)浮点数绝对值比较模块。该模块通过对输入浮点的阶码及尾数的比较,相应得出wCompareResult,bExpDiff,bExpMax三种信号输出。当bExpA≥bEx-pB时:wCompareResult=1,bExpDiff=bExpA-bEx-pB,bExpMax=bExp;当bExpA<bExpB时:wCom-pareResult=0,bExpDiff=bExpB-bExpA,bExpMax=bExpB。
    (3)浮点数运算结果符号判定模块。浮点数符号运算结果判别模块通过操作数bDataA,bDataB符号位及wCompareResult信号的输入判定运算结果数的输出。
    (4)浮点数对阶模块。对阶模块根据wCompare-Result的结果对输入的操作数尾数bFractionA和bFractionB进行操作。当wCompareResult=1时,对bFractionB进行右移位,移位量为bExpDiff,并且将移位后的结果作为bMinFraction输出,将bFractionA作为bMaxFraction直接输出;反之对bFractionA进行右移位,移位量为bExpDiff,并且将移位后的结果作为bMinFraction输出,将bFractionB作为bMaxFraction直接输出。
    (5)浮点数对阶模块。此模块实现对阶后的尾数的加减运算,然后输出结果尾数的值。当wSignA,wSignB同号时,尾数bMaxFraction与bMinFraction相加的结果作为bFraction输出;当wSignA,wSignB异号时,尾数bMaxFraction与bMinFraction相减的结果作为bFraction输出。
    (6)尾数规格化模块。尾数bFractionIn[24:0]通过判定从左边第一次不为0的位后,将此位数左移到第一位隐藏位,相应添加尾数补0,共计24位。同时,将阶码调整,再隐藏隐藏位,调整后的阶码和尾数以bExp,bFraction输出。
    (7)合并输出模块。将浮点数运算结果符号判定模块的输出信号wSign与尾数规格化模块的输出信号bExp,bFraction合并,得到输出结果。


3 结 语
    介绍一种在FPGA上实现的单精度浮点加法运算器,运算器算法的实现考虑了FPGA器件本身的特点,算法处理流程的拆分和模块的拆分,便于流水设计的实现。该加法器在作者参与设计的多款CPCI总线图形控制器图形加速子系统上得到实际的应用和检验,在处理速度方面表现出很强的适用性。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:57,886.72000 毫秒