一种CORDIC算法的FPGA实现(3)
时间:2025-04-04
时间:2025-04-04
一种CORDIC算法的FPGA实现
正确的角度值。下面举例说明。
为不失一般性,假设鉴相器输入的数据模值为l,数据在第一、二、三、四象限都有取值,如图3中x_in、Y—in所示。本设计中输入输出数据都为12bit有符号数。最高位为符号位。中间数据采用18bit有符号数,则每一次迭代旋转的弧度值(即图2中的常数项)量化后值分别为7FF、200、12E、0A0、
051.029、014。
示,其输出结果气与理论值绝对误差很小。转化为角度值不超过l。。可见,%、Y。o。仿真的结果与CORDIC算法理论值基本一致。
设计中选用的FPGA芯片是Altera公司CycloneII系列中EP2CSQ208C8N器件,使用Verilog语言完成电路描述之后,在QuanIls软件平台上进行编译、仿真的结果如图3所示。其中clk为时钟信号,reset为复位信号,高有效。输入信号为x—in、y_in、z_in,z_in默认值为0,输出信号zn表示所旋转的角度对应的值。从仿真的结果可以看出,在reset拉高后,经过6个时钟周期,得到=。输出。其仿真过程共占用625个逻辑单元,不到整个EP2C8Q208C8N器件逻辑单元的8%。运算速度比简单状态机结构速度高lO倍。
对图3的数据进行分析,%输出值为IY2A、D2B,转化为
lO进制数为3370、3371。而%理论值为输人数的模乘以1.
647,即为3371。),。输出值为029、FD6,靠转化为10迸制数为41、一41。对于12bit模值为1的数来说,其Y。最终旋转的值
圉2
CORDIC旋转实现反正切流水线圈
为0.020、-0.020。基本趋于0。毛输出值与理论值如表1所
图3用FPGA实现CORDIC算法仿真图
表IZ。输出值与理论值比较
4结束语
本文提出了一种基于CORDIC算法求反正切的FPGA流水线实现结构,其结构简单,硬件实现较易。利用其可进行
数字载波同步中的鉴相、鉴频。并在Altera公司的CycloneII
的EP2C8Q208csN芯片上进行仿真验证,从仿真结果来看,其误差较小,运算速度快,占用资源较少,(下转第354页l
一307一
上一篇:MacBook Pro 机型
下一篇:快速层先法完整公式