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

cordic算法verilog实现(复杂版)

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

 

                        else 

                              begin 

                                      x6<=x5+{{5{y5[DATA_WIDTH-1]}},y5[DATA_WIDTH-1:5]}; 

                                      y6<=y5-{{5{x5[DATA_WIDTH-1]}},x5[DATA_WIDTH-1:5]}; 

                                      z6<=z5+8'h01; 

                               end 

end 

always@(posedge clk or negedge rst_n) 

begin 

        if(!rst_n) 

            for(i=0;i<=PIPELINE;i=i+1) 

                       quadrant[i]<=2'b00; 

        else 

               if(ena) 

                       begin 

                         for(i=0;i<PIPELINE;i=i+1)

                            quadrant[i+1]<= quadrant[i];

                            quadrant[0]<=phase_in[7:6];

                        end

end

always@(posedge clk or negedge rst_n) 

begin

     if(!rst_n)

         begin

           sin_out<=8'b0000_0000;

           cos_out<=8'b0000_0000;

eps<=8'b0000_0000;

         end

     else

        if(ena)

           case(quadrant[7])

             2'b00:begin

                sin_out<=y6;

                cos_out<=x6;

                eps<=z6;

             end

              2'b01:begin

                 sin_out<=x6;

                 cos_out<=~(y6)+ 1'b1;

                 eps<=z6;

             end

            2&#39;b1

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

网站地图

Top