Forum Discussion
Altera_Forum
Honored Contributor
16 years agoFft In Sopc
Guyz please help , if u have an idea. Uptil now i made a 64 point FFT using megacore and added it to the sopc as a new component but there are a lot of signals and so it gives me an error when ...
Altera_Forum
Honored Contributor
15 years agoExcellent. Thanks Majd.
One more question. I want to use a 16384-point FFT, with 16-bit precision. This results in a 34-bit width for both the real and imaginary part of the FFT output. Putting these together, I have 68 bits. The SGDMA is limited to 64 bits for data. Is there a way to increase this directly, or is it better to use 2 seperate avalon interfaces? Fast forwarding a bit, I tried using 2 avalon interfaces but the output data from both of the interfaces never comes out: // I start the real transfer first alt_avalon_sgdma_do_async_transfer(receive_real_DMA, desc1); ... while(IORD(SGDMA__ST_TO_MM_FFT_REAL_BASE,0) != 14) { }; // ...then I start the imaginary transfer alt_avalon_sgdma_do_async_transfer(receive_imag_DMA, desc2); ... while(IORD(SGDMA__ST_TO_MM_FFT_IMAG_BASE,0) != 14) { }; // end sample code... The code gets hung up at the first while statement. I know that both SGDMA are initialized properly because ithe initialization were not null and no error was printed. I believe that I may be missing something here...:confused:...can not quite put my finger on it. Let me also explain how i connected each of the avalon interfaces to the single FFT component: source_SOP source_EOP each connect to source_SOP_s and source_EOP_s respectively. I then connect source_SOP_s and source_EOP_S to the SOP and EOP outputs for each avalon interface (remember, there is an interface for real, and imaginary data). I follow the same procedure for source_valid, source error from the FFT, by connecte each to a signal, and then the signal to each of the avalon interfaces. With these parellel connections, I hoped that when the FFT source could simutaneously drive both avalon interfaces in parallel. However, neither is recieving data properly. Any ideas?