这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 基于EPF10K100EQ240-132和Booth编码实现位浮点阵列乘法器的设

共2条 1/1 1 跳转至

基于EPF10K100EQ240-132和Booth编码实现位浮点阵列乘法器的设计

高工
2020-11-06 22:56:32     打赏

随着计算机和信息技术的快速发展,人们对微处理器的性能要求越来越高。乘法器完成一次乘法操作的周期基本上决定了微处理器的主频,因此高性能的乘法器是现代微处理器中的重要部件。本文介绍了32位浮点阵列乘法器的设计,采用了改进的Booth编码,和Wallace树结构,在减少部分积的同时,使系统具有高速度,低功耗的特点,并且结构规则,易于VLSI的实现。

1乘法计算公式

32位乘法器的逻辑设计可分为:Booth编码与部分积的产生,保留进位加法器的逻辑,乘法阵列的结构。

1.1Booth编码与部分积的逻辑设计

尾数的乘法部分,本文采用的是基4Booth编码方式,如表1。首先规定Am和Bm表示数据A和B的实际尾数,P表示尾数的乘积,PPn表示尾数的部分积。浮点32位数,尾数是带隐含位1的规格化数,即:Am=1×a22a21….a0和Bm=1×b22b21.…b0,由于尾数全由原码表示,相当于无符号数相乘,24×24位尾数乘积P的公式为:

1.2乘法器的阵列结构

本文采用的是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串行累加图2Wallace树

232位浮点乘法器的设计

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

图332位浮点数据格式

32位浮点数据格式:A=(-1)S×M×2E-127。其中乘法器运算操作分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,则需要把尾数右移1位,同时把结果阶码加1。

②对尾数进行舍入操作,使尾数为24位,包括整数的隐藏位。

③把结果数据处理为32位符合IEEE浮点数标准的结果。包括1位符号位,8位结果阶码位,结果23尾数位。

332位浮点乘法器的实现与仿真

图4列出本设计的FPGA仿真结果。图中data1是被乘数,data2是乘数,reset是清零信号,高有效。start是开始信号,也是高有效。dataout10是两个浮点32位数相乘,进行规格化以后的结果,是一个32位数。Product是24位尾数相乘的结果,是一个48位数

整个设计采用了VHDL和VerilogHDL语言进行结构描述,如果采用的是上华0.5的标准单元库,并用SynopsysDC进行逻辑综合,其结果是完成一次32位浮点乘法的时间为30ns,如果采用全定制进行后端版图布局布线,乘法器性能将更加优越。

4结语

本文给出了32位浮点乘法器的设计,浮点算法具有高精度性以及较宽的运算范围,使得乘法的设计更能够满足工程和科学计算的要求,电路的设计、模拟和实现均采用AlteraQuartusII4.1开发工具。采用的器件EPF10K100EQ240-1,逻辑单元是1914个,PIN的数量是147,本设计采用了一系列的算法和结构,如采用Booth编码的方法和Wallace树的结构,使得系统具有高速度特点,并且易于ASIC的后端版图实现。




高工
2020-11-09 10:03:00     打赏
2楼

感谢楼主分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]