位单精度浮点乘法器的FPGA实现.doc

位单精度浮点乘法器的FPGA实现.doc

ID:24325151

大小:118.50 KB

页数:4页

时间:2018-11-13

位单精度浮点乘法器的FPGA实现.doc_第1页
位单精度浮点乘法器的FPGA实现.doc_第2页
位单精度浮点乘法器的FPGA实现.doc_第3页
位单精度浮点乘法器的FPGA实现.doc_第4页
资源描述:

《位单精度浮点乘法器的FPGA实现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、32位单精度浮点乘法器的FPGA实现作者:胡侨娟仲顺安陈越洋党华

2、来源:现代电子技术

3、日期:2007-11-28

4、被阅读:7次【小中大】摘 要:采用VerilogHDL语言,在FPGA上实现了32位单精度浮点乘法器的设计,通过采用改进型Booth编码,和Wallace树结构,提高了乘法器的速度。本文使用AlteraQuartusII4.1仿真软件,采用的器件是EPF10K100EQ240-1,对乘法器进行了波形仿真,并采用0.5CMOS工艺进行逻辑综...摘 要:采用VerilogHDL语言,在FPGA上实现了32位单精度浮点乘法器的设计,通过采用改进型Boo

5、th编码,和Wallace树结构,提高了乘法器的速度。本文使用AlteraQuartusII4.1仿真软件,采用的器件是EPF10K100EQ240-1,对乘法器进行了波形仿真,并采用0.5CMOS工艺进行逻辑综合。关键词:浮点乘法器;Booth算法;Wallace树;波形仿真随着计算机和信息技术的快速发展,人们对微处理器的性能要求越来越高。乘法器完成一次乘法操作的周期基本上决定了微处理器的主频,因此高性能的乘法器是现代微处理器中的重要部件。本文介绍了32位浮点阵列乘法器的设计,采用了改进的Booth编码,和Wallace树结构,在减少部分积的同时,使系统具有

6、高速度,低功耗的特点,并且结构规则,易于VLSI的实现。1 乘法计算公式32位乘法器的逻辑设计可分为:Booth编码与部分积的产生,保留进位加法器的逻辑,乘法阵列的结构。1.1 Booth编码与部分积的逻辑设计尾数的乘法部分,本文采用的是基4Booth编码方式,如表1。首先规定Am和Bm表示数据A和B的实际尾数,P表示尾数的乘积,PPn表示尾数的部分积。浮点32位数,尾数是带隐含位1的规格化数,即:Am=1×a22a21….a0和Bm=1×b22b21.…b0,由于尾数全由原码表示,相当于无符号数相乘,24×24位尾数乘积P的公式为:1.2 乘法器的阵列结构本

7、文采用的是3-2加法器,输入3个1位数据:a,b,ci;输出2个1位数据:s,Co。运算式如下:其逻辑表达式如下:当每个部分积PPn产生之后,将他们相加便得到每个乘法操作的结果。相加的步骤有很多,可采用的结构和加法器的种类也很多。比如串行累加:而Wallace树的乘法阵列如下:加法器之间的连接关系如图1,图2所示,或者从公式(7)与(8)中可以看出,图1中串行累加的方法延迟为11个3-2加法器的延迟,而图2中,Wallace树延迟为5个3-2加法器的延迟。图1的延迟比图2的延迟大。         图1 串行累加                        

8、                                  图2 Wallace树2 32位浮点乘法器的设计本文是针对IEEE754单精度浮点数据格式进行的浮点乘法器设计。IEEE754单精度浮点格为32位,如图3所示。设A,B均为单精度IEEE754格式,他们的符号位,有效数的偏移码和尾数部分分别用S,E和M来表示。双精度和单精度采用的运算规则是一致的,只是双精度的位长增加了一倍,双精度是64位,其中尾数52位,指数11位,1位符号位。所以提高了精度范围。图3 32位浮点数据格式32位浮点数据格式:A=(-1)S×M×2E-127。其中乘法器运算操作

9、分4步进行。(1)确定结果的符号,对A和B的符号位做异或操作。(2)计算阶码,两数相乘,结果的阶码是两数的阶码相加,由于A和B都是偏移码,因此需要从中减去偏移码值127,得到A和B的实际阶码,然后相加,得到的是结果的阶码,再把他加上127,变成偏移码。(3)尾数相乘,A和B的实际尾数分别为24位数,即1×Ma和1×Mb,最高位1是隐藏位,浮点数据格式只显示后23位,所以尾数相乘结果应为一个48位的数据。(4)尾数规格化,需要把尾数相乘的48位结果数据变成24位的数据,分3步进行:①如果乘积的整数位为01,则尾数已经是规格化了;如果乘积的整数位为10,11,则需

10、要把尾数右移1位,同时把结果阶码加1。②对尾数进行舍入操作,使尾数为24位,包括整数的隐藏位。③把结果数据处理为32位符合IEEE浮点数标准的结果。包括1位符号位,8位结果阶码位,结果23尾数位。3 32位浮点乘法器的实现与仿真图4列出本设计的FPGA仿真结果。图中data1是被乘数,data2是乘数,reset是清零信号,高有效。start是开始信号,也是高有效。dataout10是两个浮点32位数相乘,进行规格化以后的结果,是一个32位数。Product是24位尾数相乘的结果,是一个48位数。图4 32位浮点乘法器的仿真结果整个设计采用了VHDL和Veri

11、logHDL语言进行结构描述,如果采用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。