基于CORDIC算法的平方根计算模块的Verilog实现.docVIP

  • 206
  • 0
  • 约4.66千字
  • 约 6页
  • 2017-04-04 发布于重庆
  • 举报

基于CORDIC算法的平方根计算模块的Verilog实现.doc

基于CORDIC算法的平方根计算模块的Verilog实现

例2-28 基于CORDIC算法的平方根计算模块的Verilog实现。 ① MATLAB代码 为了便于读者理解,首先用MATLAB实现计算sqrt(x2+y2)的Cordic算法,代码如下: function Xout = mysqrt (x, y); K = 8; An = 1; for i =1: K a(i) = 1/(2^(i)); An =An*sqrt(1+1/(4^i)); end %anger = atan(a); %计算出的角度 theta = 0; for i = 1:K sigma = -sign(y); x = x - sigma*y/(2^i); y = y + sigma*x/(2^i); % z = z - sigma*a(i); end Xout= x/An; 经过测试,上述程序可利用Cordic算法来计算输入数据平方和的根。 ② Verilog代码 module mysqrt(clk, x, y, fout, fy); input clk; input [15:0] x; input [15:0] y; output [15:0] fout; output [15:0] fy; reg [15:0] fout; reg

文档评论(0)

1亿VIP精品文档

相关文档