cordic算法verilog实现(复杂版).doc

上传人:白大夫 文档编号:3250671 上传时间:2019-08-06 格式:DOC 页数:3 大小:20.50KB
返回 下载 相关 举报
cordic算法verilog实现(复杂版).doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《cordic算法verilog实现(复杂版).doc》由会员分享,可在线阅读,更多相关《cordic算法verilog实现(复杂版).doc(3页珍藏版)》请在三一文库上搜索。

1、cordic算法verilog实现(复杂版)module cordic (clk,rst_n,ena,phase_in,sin_out,cos_out,eps);parameter DATA_WIDTH=8;parameter PIPELINE=8;input clk;input rst_n;input ena;inputDATA_WIDTH-1:0 phase_in;output DATA_WIDTH-1:0sin_out; output DATA_WIDTH-1:0cos_out;output DATA_WIDTH-1:0eps;reg DATA_WIDTH-1:0sin_out;reg

2、DATA_WIDTH-1:0cos_out;reg DATA_WIDTH-1:0eps;reg DATA_WIDTH-1:0phase_in_reg;reg DATA_WIDTH-1:0 x0,y0,z0;reg DATA_WIDTH-1:0x1,y1,z1;reg DATA_WIDTH-1:0x2,y2,z2;reg DATA_WIDTH-1:0x3,y3,z3;reg DATA_WIDTH-1:0x4,y4,z4;reg DATA_WIDTH-1:0x5,y5,z5;reg DATA_WIDTH-1:0x6,y6,z6;reg DATA_WIDTH-1:0x7,y7,z7;reg 1:0

3、quadrantPIPELINE:0;integer i;/get real quadrant and map to first_n quadrantalways(posedge clk or negedge rst_n)begin if(!rst_n) phase_in_reg=8b0000_0000; else if(ena) begin case(phase_in7:6) 2b00:phase_in_reg=phase_in; 2b01:phase_in_reg=phase_in-8h40;/-pi/2 2b10:phase_in_reg=phase_in-8h80;/-pi 2b11:

4、phase_in_reg=phase_in-8hc0;/-3pi/2 default:; endcase endendalways(posedge clk or negedge rst_n)begin if(!rst_n) begin x0=8b0000_0000; y0=8b0000_0000; z0=8b0000_0000; end else if(ena) begin x0=8h4D;/define aggregate constant Xi=1/P=1/1.6467=0.60725 (Xi=2*P+8h4D) y0=8h00; z0=phase_in_reg; endend/level 1always(posedge clk or negedge rst_n)begin if(!rst_n) begin x1=8b0000_0000; y1=8b0000_0000; z1=8b0000_0000; end else if(ena) if(z07=1b0) begin x1=x0-y0; y1=y0+x0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1