cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
manu1210
Contributor
Contributor
8,076 Views
Registered: ‎07-28-2015

Trouble configuring FFT IP for the first frame

Jump to solution

Hi everyone,

 

I'm working with FFT core v9.0 and I can't figure out how to configure FFT for the very first frame.

 

First of all, the FFT features chosen are:

   -Target clock frequency: 15 MHz 
   -Architecture: Pipelined, Streaming I/O
   -NFFT: 256
   -Inverse transform
   -Cyclic prefix: 2
   -Throttle Scheme: Real Time

 

 

For "Realtime Mode" IP product guide states: 

• Realtime Mode: the write of configuration data to the Configuration channel must complete at least 1 clock cycle before the write of the first data to the Data Input channel. Failure to do so results in the frame being processed with the previous configuration options in use.

 

As stated, I'm loading configuration data into Configuration channel several clock cycles before the arrival of data to the Data Input channel. I also hold config_tvalid until config_tready is asserted for the first time. (first picture does not show that config_tvalid is asserted before data is loaded into Data Input channel, but I can assure that's true :) )

 

However, the problem I'm running into is that it seems this configuration never takes place for the first frame, because there is no drop of config_tready signal at the end of it (showed on second picture). 

 

I think the reason for that behaviour may be that config_tready is not high for the first time until I've already loaded data into Data Input channel, so when both config_tready and config_tvalid are high is too late to apply that configuration to the first frame and is instead applied to the second one.

 

So my questions are:

1- Why isn't config_tready high before if you are supposed to load configuration data before?

 

2- Should I just consider that the first frame cannot be configured or is there anything I'm not doing correctly?

 

Any idea / advice?

 post3_picture.png

 

 

post3_picture2.png

 

 

Thanks for your time!

 

 

0 Kudos
1 Solution

Accepted Solutions
manu1210
Contributor
Contributor
14,987 Views
Registered: ‎07-28-2015

Hi everyone,

 

I figured out that I was holding config_tvalid high for too many clock cycles. This is the reason why I wasn't able to configure the FFT core correctly for its first input frame. config_tvalid should be only asserted for one clock cycle and as the FFT IP guide states, this should be done at least one clock cycle before first data goes in.

View solution in original post

0 Kudos
2 Replies
manu1210
Contributor
Contributor
14,988 Views
Registered: ‎07-28-2015

Hi everyone,

 

I figured out that I was holding config_tvalid high for too many clock cycles. This is the reason why I wasn't able to configure the FFT core correctly for its first input frame. config_tvalid should be only asserted for one clock cycle and as the FFT IP guide states, this should be done at least one clock cycle before first data goes in.

View solution in original post

0 Kudos
liuzl
Visitor
Visitor
775 Views
Registered: ‎02-21-2019

why there is a drop of the s_axis_data_tready signal in the first picture? I encounter the same simulation result

0 Kudos