Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,005 Views

Problem in controlling FFT megacore function???

Hi, I'm currently working in a project, in which I use FFT block to correlate signal. I got stuck in simulating the fft block. My block do fft for 1024 points. I use a clock 1Mhz to clock.  

I simulated in modelsim with : 

-I assert port reset, sink_valid, sink_ready to '1' and sink_error, inverse to "00", '0'...  

-For 1024 points FFT, there 1024 clock cycles between sink_sop and sink_eop 

 

but the outputs stuck a zero, 

Where did I do wrong?  

By the way, what 's the standard method to control fft megacore block when I have to control sink_eop and sink_sop, clock, reset... 

Can I use sink_sop and sink_eop from one source? Because they have same form ( In streaming data flow chart in user guide megacore fft 11.)
0 Kudos
4 Replies
Altera_Forum
Honored Contributor I
43 Views

This could be a couple of things. 

 

Have you asserted source_ready? 

Have you included a global clock enable, which will also need to be asserted? 

What are you using for your input?
Altera_Forum
Honored Contributor I
43 Views

 

--- Quote Start ---  

This could be a couple of things. 

 

Have you asserted source_ready? 

Have you included a global clock enable, which will also need to be asserted? 

What are you using for your input? 

--- Quote End ---  

 

 

Thanks, I got it done by using a small state machine to control sop and eop, the source_ready is set to '1'. and then WAIT for 2x1024 clock cycles. I didin't wait for such a long time. 

But still question, why distance between sop and eop is 1024? what 's different if I use distance between sop and eop other than FFT points? 

By the way, I didn't use **** enable. Is that ok? 

The use 8 bit input for PRN code. That's wasted!!!! ]
Altera_Forum
Honored Contributor I
43 Views

It's fine to not use clk enable so long as you didn't select it as an option when you created the function. 

 

I'm not sure I understand your SOP and EOP question, how are you trying to generate it from one source?  

 

The SOP and EOP need to indicate the packet size to the FFT engine. I haven't tested it myself, but if you set the distance between the two to longer than the packet length, I imagine it's going to continually overwrite the final value until the EOP signal is received.
Altera_Forum
Honored Contributor I
43 Views

 

--- Quote Start ---  

It's fine to not use clk enable so long as you didn't select it as an option when you created the function. 

 

I'm not sure I understand your SOP and EOP question, how are you trying to generate it from one source?  

 

The SOP and EOP need to indicate the packet size to the FFT engine. I haven't tested it myself, but if you set the distance between the two to longer than the packet length, I imagine it's going to continually overwrite the final value until the EOP signal is received. 

--- Quote End ---  

 

Thank's @el07dm
Reply