diff --git a/fft.c b/fft.c index 0db9e2f..66a6eed 100644 --- a/fft.c +++ b/fft.c @@ -90,10 +90,7 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) for(i=0; i 0 + wire [4:0] jc1 = TIEcmp(fr[15:0], 16'd16383, 1'b1); + // fi > 0 + wire [4:0] jc2 = TIEcmp(fi[15:0], 16'd16383, 1'b1); - assign cmp = jc1[0] | jc2[0]; + // fr < 0 + wire [4:0] jc3 = TIEcmp(fr[15:0], 16'd49153, 1'b1); + // fi < 0 + wire [4:0] jc4 = TIEcmp(fi[15:0], 16'd49153, 1'b1); + + assign needs_shift = jc1[0] | jc2[0] | jc3[4] | jc4[4]; } operation FFT_loop_check {in AR n, in AR istep, out BR t, out AR j} {inout FFT_loop}