请教一下,这段代码是什么算法(听说是HILBERT)
always @(posedge clk or posedge rst)
if(rst)
begin
d0<= 0 ;
d1<= 0 ;
d2<= 0 ;
d3<= 0 ;
d4<= 0 ;
d5<= 0 ;
d6<= 0 ;
d7<= 0 ;
d8<= 0 ;
d9<= 0 ;
d10<= 0 ;
d11<= 0 ;
d12<= 0 ;
d13<= 0 ;
d14<= 0 ;
end
elseif(rv_en)
begin
d0<= din ;
d1<= d0 ;
d2<= d1 ;
d3<= d2 ;
d4<= d3 ;
d5<= d4 ;
d6<= d5 ;
d7<= d6 ;
d8<= d7 ;
d9<= d8 ;
d10<= d9 ;
d11<= d10 ;
d12<= d11 ;
d13<= d12 ;
d14<= d13 ;
end
always @(posedge clk or posedge rst)
if(rst)
begin
d7_0<= 0 ;
d7_1<= 0 ;
d7_2<= 0 ;
end
else
begin
d7_0<= d7 ;
d7_1<= d7_0 ;
d7_2<= d7_1 ;
end
wire [16:0] s0_14= {d0[15],d0} - {d14[15],d14} ;
wire [16:0] s2_12= {d2[15],d2} - {d12[15],d12} ;
wire [16:0] s4_10= {d4[15],d4} - {d10[15],d10} ;
wire [16:0] s6_8= {d6[15],d6} - {d8[15],d8} ;
wire [27:0] Ie = 26* s0_14 + 106*s2_12+320*s4_10+1261*s6_8;
wire [34:0] sum= Ie[27:9]^2 + d7_2^2;
out = sum[30:0]绝对值开方
