APP下载

基于FPGA的整数开方运算

2012-07-25严淑芹郑先成

微处理机 2012年3期
关键词:发电机标准

严淑芹,郑先成

(西北工业大学自动化学院,西安710129)

1 需求分析

使用QuartusII这个开发工具进行FPGA设计时,若要在FPGA上实现某个数的开方运算,QuartusII提供了开方模块altfp_sqrt,但是这个模块有严格的使用要求,要求用户输入的被开方数是IEEE754标准浮点数,altfp_sqrt模块的输出结果也是IEEE754标准浮点数。

例如对整数9进行开方运算,用户必须先将整数9转化为IEEE754标准浮点数(41100000)H,将该十六进制数41100000作为模块altfp_sqrt的输入数据,得到模块altfp_sqrt的输出数据(40400000)H,用户必须自己将此IEEE754标准浮点数(40400000)H转化为3,才能最终得知对9进行开方的结果是3。这对于用户来说就有诸多不便。

本文就是在解决用户不便的目标指引下,用VHDL语言将被开方数转化成IEEE754标准浮点数,作为模块altfp_sqrt的输入,再将altfp_sqrt模块的输出IEEE754标准浮点数转化成整数[2]。

对于用户来说,新的开方模块能进行整数的开方运算,如给新的开方模块输入数据9,直接就能得出所需要的结果数据3。这大大方便了用户。

2 IEEE754浮点数标准

浮点数的表示遵循IEEE754标准[1],它由3部分组成:符号位、尾数以及指数。IEEE754标准规定了单/双精度、扩展单/双精度4种浮点数格式。本设计支持单精度格式。

IEEE754单精度浮点数格式占用32位,包含3个部分:1位符号位、8位带偏移量的指数和23位尾数,如图1所示。

图1 单精度浮点数的表示

其中偏移值(bias)为127,尾数有1位隐藏位。即IEEE754标准定义的单精度浮点数A=(-1)s×1.f×2e-127,s表示有效数的符号,f表示有效数的小数部分,e是加偏移值的指数,1是一个隐藏位。

3 各模块设计

3.1 运算前标准化模块

整数转换为IEEE754标准浮点数的直接方法包括以下步骤:

登录APP查看全文

猜你喜欢

发电机标准
2022 年3 月实施的工程建设标准
忠诚的标准
美还是丑?
你可能还在被不靠谱的对比度标准忽悠
大型发电机励磁用旋转变换器的开发和应用
随身携带的小发电机
一家之言:新标准将解决快递业“成长中的烦恼”
2015年9月新到标准清单
柴油发电机负荷计算
基于PCS-985B的发电机定子接地保护应用及整定