module FFT(clk,reset,sink_valid,sink_sop,sink_eop,fifo_full,Realdata_in,Imagdata_in, 
ar_out, ai_out, br_out, bi_out,source_valid);

input clk,reset,sink_valid,sink_sop,sink_eop,fifo_full;
input[15:0] Realdata_in,Imagdata_in;
output source_valid;
output[17:0] ar_out,ai_out,br_out,bi_out;

parameter scale=8'b0100_0000; //former scale  32  not 64
parameter idle=2'b00,work=2'b01;
reg [17 : 0] real_a,imag_a,real_b,imag_b,real_WN_in,imag_WN_in;
reg [7:0] cnt,next_cnt;
reg [1:0] current_state,next_state;

wire source_valid;
wire [17 : 0] ADDreal_out,ADDimag_out,SUBreal_out, SUBimag_out,complex_real,complex_imag;
