\r
#include "FFT.h"\r
\r
+int stage = 1;\r
/**\r
* Executes a single butterfly on ALU 0-3. The inputs are the words taken from\r
* in, which will be read on various inputs of ALU 0-3. Outputs will be\r
add_offset(m.input_a_im, 1);\r
add_offset(m.input_b_re, 1);\r
add_offset(m.input_b_im, 1);\r
- /* TODO: Update twiddle offsets */\r
+ \r
+ /* TODO: Is this true? */\r
+ add_offset(m.twiddle_re, (PARAM_N_t>>stage));\r
+ add_offset(m.twiddle_im, (PARAM_N_t>>stage));\r
+ use_mask(m.twiddle_re, (PARAM_N_t/2)-1);\r
+ use_mask(m.twiddle_im, (PARAM_N_t/2)-1);\r
+\r
return in;\r
}\r
\r
next_cycle();\r
do_half_regular_stage(m, EVEN_STAGE, FIRST_HALF);\r
do_half_regular_stage(m, EVEN_STAGE, SECOND_HALF);\r
+ stage++;\r
next_cycle();\r
init_input_addresses_regular(m, ODD_STAGE);\r
m = init_mem_mapping(ODD_STAGE);\r
next_cycle();\r
do_half_regular_stage(m, ODD_STAGE, FIRST_HALF);\r
do_half_regular_stage(m, ODD_STAGE, SECOND_HALF);\r
+ stage++;\r
} while (loop_next(LC1));\r
}\r