* 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).
* 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.
* 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.
* 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.
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.
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.
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.