|
这个程序是两个电机插补运算绘制直线的简单小程序,起点是(0,0)终点是(4,6)(这些点都是电机步数啊,不是直线长度),我用我的程序一直得不出要的结果,出来全是低电平,麻烦高手帮我分析一下,到底是思路错了还是语法表述错了。如果有好一点的有关电机插补的思路,请赐教直线圆弧都要。
module dda (Reset,clock,x1,x2,y1,y2,dj1x,dj2y);
input Reset,clock;
input [3:0] x1,y1,x2,y2;
output reg dj1x,dj2y;
reg [3:0] x,y;
always @ ( posedge clock )
if (Reset == 1'b1)
begin
dj1x <= 1'b0 ; dj2y <= 1'b0 ;
end
else
begin
x <= x1 ; y <= y1 ;
x <= x + x2 ; y <= y + y2 ;
if ( x >= 8 )
begin
x <= x - 8 ;
dj1x <= 1'b1 ;
end
else
begin
x <= x ;
dj1x <= 1'b0 ;
end
if (y >= 8 )
begin
y <= y - 8 ;
dj2y <= 1'b1 ;
end
else
begin
y <= y ;
dj2y <= 1'b0;
end
end
endmodule |
|