针对现有的采用Booth算法与华莱士(Wallace)树结构设计的浮点乘法器运算速度慢、布局布线复杂等问题,设计了基于FPGA的流水线精度浮点数乘法器。该乘法器采用规则的Vedic算法结构,解决了布局布线复杂的问题;使用超前进位加法器(Carry Lookahead Adder,CLA)将部分积并行相加,以减少路径延迟;并通过优化的4级流水线结构处理,在Xilinx ISE 14.7软件开发平台上通过了编译、综合及仿真验证。结果证明,在相同的硬件条件下,本文所设计的浮点乘法器与基4-Boot
1 浮点数的表示
通常,我们可以用下面的格式来表示浮点数
S
P
M
其中S是符号位,P是阶码,M是尾数
对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知
S
P
M
表示公式
偏移量
1
8
23
(-1)S*2(P-127)*1.M
127
1
11
52
(-1)S*2(P-1023)*1.M
1023
以单精度浮点数为例,可以得到其二进制的表示格式如下
S(