- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.)Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- 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!!!! ]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- 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
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page