首先要深刻理解 输入值的取值范围(-1,1)
图片: Xin,Yin的第一位表示符号位,第二位表示整数位,其余表示小数位。Pout的第一位表示符号位,第二三位表示整数位,其余表示小数位,任何位宽下都遵循这个设定。
将arctan 输出值转化到角度 即 (0,1.57)>>(0,90度)注意位宽的计算
wire [12:0] x=r_x_j+g_x_j+b_x_j;
wire [10:0] Gx=(x>>1)-(x>>2)+(x>>3)-(x>>4)+(x>>5);//divied by 3
wire [12:0] y=r_y_j+g_y_j+b_y_j;
wire [10:0] Gy=(y>>1)-(y>>2)+(y>>3)-(y>>4)+(y>>5);//divied by 3//高8位是整数位,低8位表示小数位。
wire [10:0] arctan;
arctan u_arctan
(
.clk(CLK),
.x_in(Gx),
.y_i