二、定制XILINX CORDIC IP
以ISE10.1软件为例,其集成的CORDIC算法IP为V3.0版别,具体过程如下:
1.新建工程,点NEW Source…调用IP Core Generator, 输入模块名如MyCordic后按NEXT
2.在Select IP页面挑选CORDIC算法IP,如下图示:
3.点NEXT后进入IP装备界面第一页,如下图示:
这儿功用挑选处咱们挑选为Sin and Cos, 其它的为默许就可。
4,点NEXT后进入IP装备界面第二页,如下图示:
这儿Phase Format咱们挑选为Scaled Radians. 并把CE脚去掉。
Phase Format里Radians单位为弧度,Scaled Radians单位为多少PI弧度。
5,点NEXT后进入IP装备界面第三页,如下图示:
依据D/A器材精度,输入输出咱们挑选12位位宽就能够了,其它的为默许值。
6,点NEXT后进入IP装备界面第四页,如下图示:
在Advanced ConfiguraTIon Parameters里IteraTIons指定内部迭代的次数,假如指定为0,则迭代次数会依据所选精度主动挑选。Precision指定内部迭代加减时精度,假如指定为0,则迭代精度会依据所选输入和输出的位宽主动挑选。
Coarse RotaTIon用来把相位扩展到整个坐标平面,假如不把它前面的勾选上,输入的相位约束在-PI/4~PI/4,咱们在发生正弦波形时有必要用到这功用,把它前面的勾选上。
7.最终点左下角的Generate发生IP。阐明一下IP引脚功用:
PHASE_IN: 输入的相位。
CLK: 输入时钟
X_OUT: 输出余弦值
Y_OUT: 输出正弦值
RDY: 数据准备好信号,当有新数据时,在第一个时钟周期RDY输出一个高电平脉冲。
8.最终咱们需求一个顶层模块来调用CORDIC IP,并经过SPI总线写到赛灵思的Spartan?-3E FPGA Starter Kit开发板板载的DAC器材LTC2624上,咱们能够在赛灵思的DEMO s3esk_picoblaze_dac_control基础上修正,把相关代码加到工程,例化一下CORD%&&&&&% IP,修正Picoblaze程序等等,具体过程略。
以上抛砖引玉,期望和我们来评论。