Xilinx浮点处理IP使用说明和测试
本文主要介绍Xilinx浮点数处理IP Floating-point的使用和测试方法。
1 浮点数标准
浮点数的定义遵循IEEE-754标准,32位浮点数定义如下。
- 1位符号位(S):0表示正数,1表示负数
- 8位指数位(E):用于表示指数部分,采用偏移码表示,即真实指数值加上127,得到偏移码值。范围为-126~127,其中-127和+128为特殊值,用于表示0和无穷大。
- 23位尾数位(M):用于表示尾数部分,采用二进制小数表示,其中第一位默认为1,不存储。剩下的22位存储小数点后面的数字。
- 浮点数的值可以通过以下公式计算:(-1)S × (1+M) × 2(E-127)
举一个简单的例子,一个浮点数表示为二进制为 1100_0000_0000_0110_0110_0110_0110_0110,则有S=1,E=8‘b1000_0000=128,M=23’b000_0110_0110_0110_0110_0110 = 2-5+2-6+2-9+2-10+2-13+2-14+2-17+2-18+2-21+2-22 ≈ 0.05,所以其浮点数为(-1)1 × (1+0.05) × 2128-127 = -2.1