haixiaowujun 发表于 2011-3-22 14:39:14

急啊!求助,怎么编写CORDIC算法求正余弦的仿真程序啊,用Modelsim仿真,希望看到波形图

这是我自己编的CORDIC求正余弦的算法程序:
module cordic1(clk, rst, phi, cos, sin);
        parameterW = 13, Z_Width = 14;
        input clk;
        input rst;
        input signed phi;
        output cos, sin;
       
        reg sin;
        reg cos;
       
        reg x;
        reg y;
        reg signed z;
       
always@(posedge clk )
begin
                x<=13'h4D;
                y<=13'h00;
                z<=phi;
       
//------------ 旋转45度
if(z)
           begin
                   x <= x + y;       
                        y <= y - x;       
                        z <= z + 14'h65;
                end
        else
           begin
                        x <= x - y;       
                        y <= y + x;       
                        z <= z - 14'h65;
                end

//------------ 旋转26.57度
        if(z)
           begin
                        x <= x + {{1{y}}, y};
                        y <= y - {{1{x}}, x};
                        z <= z + 14'h3B;
                end
        else
           begin
                   x <= x - {{1{y}}, y};
                        y <= y + {{1{x}}, x};
                        z <= z - 14'h3B;
                end
               
//------------ 旋转14.04度
        if(z)
                begin
                        x <= x + {{2{y}}, y};
                        y <= y - {{2{x}}, x};
                        z <= z + 14'h1F;
                end
        else
           begin
         x <= x - {{2{y}}, y};
                        y <= y + {{2{x}}, x};
                        z <= z - 14'h1F;
                end
               
//------------ 旋转7.13度
        if(z)
           begin
                        x <= x + {{3{y}}, y};
                        y <= y - {{3{x}}, x};
                        z <= z + 14'h10;
                end
        else
           begin
         x <= x - {{3{y}}, y};
                        y <= y + {{3{x}}, x};
                        z <= z - 14'h10;
                end
               
//------------ 旋转3.58度
        if(z)
           begin
                        x <= x + {{4{y}}, y};
                        y <= y - {{4{x}}, x};
                        z <= z + 14'h8;
                end
        else
           begin
         x <= x - {{4{y}}, y};
                        y <= y + {{4{x}}, x};
                        z <= z - 14'h8;
                end
               
//------------ 旋转1.79度
        if(z)
           begin
                        x <= x + {{5{y}}, y};
                        y <= y - {{5{x}}, x};
                        z <= z + 14'h4;
                end
        else
           begin
                        x <= x - {{5{y}}, y};
                        y <= y + {{5{x}}, x};
                        z <= z - 14'h4;
                end
               
//------------ 旋转0.90度
        if(z)
           begin
                        x <= x + {{6{y}}, y};
                        y <= y - {{6{x}}, x};
                        z <= z + 14'h2;
                end
        else
           begin
                        x <= x - {{6{y}}, y};
                        y <= y + {{6{x}}, x};
                        z <= z - 14'h2;
                end
               
//------------ 旋转0.45度
        if(z)
           begin
                        x <= x + {{7{y}}, y};
                        y <= y - {{7{x}}, x};
                end
        else
           begin
         x <= x - {{7{y}}, y};
                        y <= y + {{7{x}}, x};
                end
               
cos <= x;
sin <= y;


end


endmodule
但是我不知怎么编写可以看到整个波形的仿真程序,看到别人用ModelSim仿真过,
http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_624594KLRP91.jpg
(原文件名:0_2_Q(S$1R$

怎么编写仿真程序才可以看到这样的效果啊

flyaudio 发表于 2011-10-20 15:04:54

给phi输入,而且是连续变化的输入。
页: [1]
查看完整版本: 急啊!求助,怎么编写CORDIC算法求正余弦的仿真程序啊,用Modelsim仿真,希望看到波形图