计算机算术:浮点运算与分布式算术详解
1. 浮点运算概述
随着当前现场可编程门阵列(FPGA)门数容量的大幅提升,浮点运算设计成为了一种可行的选择。特别是Altera Stratix或Cyclone以及Xilinx Virtex II或Spartan III等FPGA设备系列引入了嵌入式18×18位阵列乘法器,使得定制浮点运算的高效设计成为可能。接下来我们将详细探讨浮点运算的基本构建模块,包括浮点加法器、减法器、乘法器、倒数和除法器,以及定点与浮点数据格式之间的必要转换模块。这些模块可从多个知识产权(IP)提供商处获取,也可通过电子邮件向Uwe.Meyer - Baese@ieee.org特别申请。
2. 浮点数据格式
我们采用的自定义浮点格式为(1,6,5)浮点格式,该格式使用1位符号位、6位指数位和5位尾数位。我们支持零和无穷大的特殊编码,但不支持非数(NaNs)或非规格化数。舍入操作通过截断实现。示例中使用的定点格式有6位整数位(包括1位符号位)和6位小数位。
3. 定点到浮点格式的转换
-
转换步骤
- 转换为符号幅度形式 :由于浮点数字使用符号幅度格式,首先要将补码数字转换为符号幅度形式。若定点数的符号为1,则需计算该定点数的补码,此补码将成为未归一化的尾数。
- 尾数归一化与指数计算 :通过VHDL中的顺序PROCESS内的LOOP语句确定尾数的前导零数量。利用该前导零数量,将尾数左移,直到第一个1“离开”尾数寄存器,即隐藏的1也
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



