没有合适的资源?快使用搜索试试~ 我知道了~
首页浮点反正切函数的FPGA实现
设计了一种基于CORDIC算法计算浮点反正切函数的的硬件结构,并在Altera公司的FPGA芯片上进行了验证,最后在Nios II处理器系统中以用户自定义指令的形式实现,通过C语言程序验证了浮点反正切模块的正确性。
资源详情
资源评论
资源推荐

浮点反正切函数的浮点反正切函数的FPGA实现实现
设计了一种基于CORDIC算法计算浮点反正切函数的的硬件结构,并在Altera公司的FPGA芯片上进行了验证,
最后在Nios II处理器系统中以用户自定义指令的形式实现,通过C语言程序验证了浮点反正切模块的正确性。
在数字信号处理、导航通讯等许多领域会大量使用
1 反正切函数实现原理反正切函数实现原理
CORDIC算法有旋转模式和向量模式两种计算模式。旋转模式可以用来计算一个输入角的正弦、余弦,向量模式可以计算
给定向量的角度和长度。
CORDIC算法的基本迭代公式为:
从上式可以看出,CORDIC算法在向量模式可以计算出给定向量(X,Y)的长度和角度,即从平面坐标到极坐标的变换。
2 数据格式转换接口模块数据格式转换接口模块
本文设计的反正切函数硬件模块输入为IEEE-754单精度浮点数据,而模块内部迭代使用的是定点整型数据,因此需要进行
转换。
在图1的输入数据转换接口示意图中,X、Y为输入的IEEE-754浮点数据格式,输入范围是(-∞,+∞),经过接口
模块转换为整型定点数据Xn、Yn,其表示范围是[-1 +1]。
矢量(X,Y)在平面坐标系中的角度为arctan(Y/X),它只与Y和X的比值有关,与Y和X的实际长度无关。用这个性质可以以X
和Y中绝对值最大的值作为归一化数值,将X和Y的范围重新映射在[-1 +1]之间,实现(X,Y)到(Xn,Yn)的转换。
计算结束后输出结果Z。Z是32位定点整型数据,且232被定义为2π,将其规格化为IEEE-754格式的过程如图2所示。在
对Z进行规格化之前,需要进行前导零检测,以确定规格化时尾数左移的位数和指数位的大小,前导零的检测硬件上可以用
casex语句实现。
3 整体设计以及仿真综合整体设计以及仿真综合
浮点反正切函数的硬件结构包括了三个主要部分,即浮点数据格式转换接口模块、CORDIC内核计算模块和浮点输出数据
转换接口模块,如图3所示。
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0