首 页    培训课程介绍   企业培训   培训报名  付款方式   培训讲师介绍   关于曙海  联系曙海  
 
 
 
 

图3.2 CORDIC流水线型设计流程图

其VHDL程序设计的关键语句采用if语句实现。在同一个程序中,多条if语句是按顺序执行的。一个完整if语句如下:

  if (theta(i)>0) then

  x(i+1)<=x(i)-SRL(y(i), i);

  y(i+1)<=y(i)+ (SRL(x(i), i));

  theta (i+1)<= theta (i)-θi ;

  else

  x(i+1)<=x(i)+( SRL (y(i), i));

  y(i+1)<=y(i)-( SRL (x(i), i));

  theta (i+1)<= theta (i)+θi

  end if;

  其中,SRL (m, k)实现数据m右移k位,并返回值为移位后的结果。按照图3.2编写可产生正余弦信号的CORDIC运算程序,如下:

  module cordic(clk, phi, cos, sin);

  parameter? W = 13, W_Z = 14;

  input ??clk;

  input [W_Z-1:0]? phi;

  output [W-1:0]??? cos, sin;

  reg [W-1:0]?? cos, sin;

  reg [W-1:0]?? x[8:0], y[8:0];

  reg [W_Z-1:0] z[7:0];

  always(posedge clk)begin

  x[0] <= 13'h4D; ? ? ??? ??? //修正CORDIC算法的比例因子,K的倒数

  y[0] <= 13'h00;

  z[0] <= phi;

  //旋转45度

  if(z[0][W_Z-1]) begin

  x[1] <= x[0] + y[0];???

  y[1] <= y[0] - x[0];???

  z[1] <= z[0] + 14'h65;

  end

  else begin

  x[1] <= x[0] - y[0];???

  y[1] <= y[0] + x[0];???

  z[1] <= z[0] - 14'h65;

  end

  仿真结果及结论会在第四章给出。 哪里有射频培训机构

 
 
上一页 目录页 下一页  
培训课程学习免费资料创建时间:2020/4/26
 
曙海培训官网版权所有