急啊!求助,怎么编写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$
怎么编写仿真程序才可以看到这样的效果啊 给phi输入,而且是连续变化的输入。
页:
[1]