微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > cordic算法verilog实现(复杂版)

cordic算法verilog实现(复杂版)

时间:02-11 来源:网络整理 点击:

end 

always@(posedge clk or negedge rst_n) 

begin 

        if(!rst_n) 

               begin 

                       x0<=8'b0000_0000; 

                       y0<=8'b0000_0000; 

                       z0<=8'b0000_0000; 

               end 

         else 

               if(ena) 

                       begin 

                               x0<=8'h4D;  //define aggregate constant Xi=1/P=1/1.6467=0.60725 (Xi=2^7*P+8'h4D) 

                               y0<=8'h00; 

                               z0<=phase_in_reg; 

                       end 

end 

//level 1 

always@(posedge clk or negedge rst_n) 

begin 

        if(!rst_n) 

               begin 

                       x1<=8'b0000_0000; 

                       y1<=8'b0000_0000; 

                       z1<=8'b0000_0000; 

               end 

         else 

                if(ena) 

                       if(z0[7]==1'b0) 

                               begin 

                                      x1<=x0-y0; 

                                      y1<=y0+x0; 

                                      z1<=z0-8'h20;  //45deg 

                               end 

               else 

                       begin 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top