VHDL 中的浮点计算与算术运算详解
1. 浮点数值转换
1.1 自定义浮点数值解析
假设一个自定义的浮点数字 “00100010”,其格式为 (1,3,4)。下面逐步解析这个数值:
1. 符号位判断 :符号位为 0,根据 $(-1)^0 = 1$,可知该数为正数。
2. 隐藏 1 与尾数部分 :隐藏 1 和尾数部分组成 “1.0010”。
3. 指数值确定 :指数 “010” 转换为十进制是 2。
4. 偏移值计算 :由于指数部分分配了 3 位,偏移值 $B = 2^{3 - 1} - 1 = 3$,则 $N_p = 2 - 3 = -1$。
5. 最终形式 :$(-1)^S \times 1.M \times 2^{N_p} = 1 \times (1.0010) \times 2^{-1}$。
6. 十进制转换 :$1 \times (1.0010) \times 0.5 = 0.5625$,即最终值为 $(0.5625)_{10}$。
1.2 十进制数转换为自定义精度浮点表示
- (9.25)₁₀ 转换为 (1,6,5) 格式 :
- 符号位为 0。
- 二进制等价形式为 $(9.25)_{10} = (1001.01)_2$。
- 归一化