matthijs/projects/montium-fft.git
13 years ago * Make the FFT size a bit larger. master
Matthijs Kooijman [Tue, 8 Apr 2008 13:28:43 +0000 (15:28 +0200)]
 * Make the FFT size a bit larger.
 * Explicitely pass the addressing strategies to use for reading input and
   writing output on each stage. So far, only REGULAR_IN is supported for
   input (ie, no changes) and REGULAR_OUT and BITREVERSED_OUT are supported
   for output (ie, add support for bitreversing the last stage).

13 years ago * Let the libmontiumc version output it's input and output in a matlab
Matthijs Kooijman [Tue, 8 Apr 2008 13:27:31 +0000 (15:27 +0200)]
 * Let the libmontiumc version output it's input and output in a matlab
   compatible format.
 * Use a longer period worth of sinus function.

13 years ago * Let the python simulator load the input memories from file.
unknown [Tue, 1 Apr 2008 13:57:34 +0000 (15:57 +0200)]
 * Let the python simulator load the input memories from file.
 * Let the python simulator break when the algorithm is done (ie, gpo(0) is set).

13 years ago * Let the libmontiumc write the contents of the input memories to file before
unknown [Tue, 1 Apr 2008 13:56:01 +0000 (15:56 +0200)]
 * Let the libmontiumc write the contents of the input memories to file before
   starting, so we can use them in the python simulator.
 * Output the results in hex as well as fixed point format.
 * Fix some comments.

13 years ago * Let the run() function set gpo(0) after completion of the algorithm.
unknown [Tue, 1 Apr 2008 13:55:27 +0000 (15:55 +0200)]
 * Let the run() function set gpo(0) after completion of the algorithm.

13 years ago * No longer keep a global variable with the current stage number, but pass it
unknown [Tue, 1 Apr 2008 12:19:30 +0000 (14:19 +0200)]
 * No longer keep a global variable with the current stage number, but pass it
   as an argument to the functions that need it. This also replaces the
   stage_odd parameter.
 * No longer loop through the needed stages, since the Montium sequencer can't
   change the twiddle memory mask dynamically. Instead, call the (new)
   do_regular_stage() function four times manually, with constant stage
   numbers that the optimizer can roll out.

13 years ago * Improve debug output slightly.
unknown [Tue, 1 Apr 2008 11:53:05 +0000 (13:53 +0200)]
 * Improve debug output slightly.

13 years ago * Change loops back to do while, MontiumCC can't handle while loops.
unknown [Tue, 1 Apr 2008 10:37:34 +0000 (12:37 +0200)]
 * Change loops back to do while, MontiumCC can't handle while loops.

13 years ago * Add a missing ! in write_output_regular().
unknown [Tue, 1 Apr 2008 10:28:47 +0000 (12:28 +0200)]
 * Add a missing ! in write_output_regular().
 * Use while loops instead of do while, since loop_next checks for zero before
   decrementing, not after.
Regular FFT seems to work now, though there seem to be quite some rounding errors.
Testing a larger FFT is hard, since decoding the results is still manual.

13 years ago * Add a few constraints on the FFT size parameters and make the parameters
unknown [Thu, 27 Mar 2008 16:42:50 +0000 (17:42 +0100)]
 * Add a few constraints on the FFT size parameters and make the parameters
   abide by those constraints (we're now doing 4 16-point FFT's).

13 years ago * Use two periods of the sine for testing instead of one and scale the values
unknown [Thu, 27 Mar 2008 16:41:25 +0000 (17:41 +0100)]
 * Use two periods of the sine for testing instead of one and scale the values
   to prevent overflow.

13 years ago * Keep track of the current stage number (not montiumcc compatible) so we
unknown [Thu, 27 Mar 2008 16:38:31 +0000 (17:38 +0100)]
 * Keep track of the current stage number (not montiumcc compatible) so we
   know which twiddle factors we need. This needs checking and improving.

13 years ago * Actually make the output addressing different in the second half, it was
unknown [Thu, 27 Mar 2008 15:45:56 +0000 (16:45 +0100)]
 * Actually make the output addressing different in the second half, it was
   still the same as the first half.
 * Actually do half a stage in do_half_regular_stage() instead of a full
   stage.
 * Let run do n_t stages instead of just two.
 * Call init_libmontiumc() in our main(), so libmontiumc actually works.

13 years ago * Cleanup and comments.
unknown [Thu, 27 Mar 2008 15:45:13 +0000 (16:45 +0100)]
 * Cleanup and comments.

13 years ago * Cleanup main.cpp a bit.
unknown [Thu, 27 Mar 2008 12:43:19 +0000 (13:43 +0100)]
 * Cleanup main.cpp a bit.
 * Let the libmontiumc implementation allocate its memories itself, because the
   montiumcc version doesn't use global variables for that anymore.

13 years ago * Prefix all algorithm parameters with PARAM_ so we can still use variable
unknown [Thu, 27 Mar 2008 12:42:04 +0000 (13:42 +0100)]
 * Prefix all algorithm parameters with PARAM_ so we can still use variable
   names such as 'n'.

13 years ago * Remove some unused code.
unknown [Thu, 27 Mar 2008 12:28:15 +0000 (13:28 +0100)]
 * Remove some unused code.
 * Add more comments.
 * Slightly change the behaviour of do_half_regular_stage(), it now intializes
   the output addresses once instead of on every cycle. It also waits for the
   last write cycle to complete before returning.

13 years ago * Add current progress of the project. The code compiles and should be able to execu...
unknown [Thu, 27 Mar 2008 11:40:54 +0000 (12:40 +0100)]
 * Add current progress of the project. The code compiles and should be able to execute two stages of regular FFT by now.