cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tkontogiorgis
Explorer
Explorer
517 Views
Registered: ‎09-10-2019

FIR compiler tvalid

Hello,

I am using FIR compiler 7.2 version with Vivado 2019.1 Vivado Simulator. The filter i am using is interpolation x2 filter (super sample rate with input sampling frequency == Clock frequency).

filter_2.PNGfilter_1.PNGfilter_3.PNG

I have the following problem:

If s_axis_tvalid becomes '1' when i have valid data to send the filter seems to "lose" some data even if the valid signal asserts for correct period ,the data are corrupted. I asserted tvalid before valid data to have correct output. Am i missing any parameter for the configuration?   s_axi_tready is always enabled from filter and tvalid becomes '1' for certain period.

Is there any  "latency" concerning the tvalid?

Thanks in advance,

Theo

0 Kudos
3 Replies
tkontogiorgis
Explorer
Explorer
453 Views
Registered: ‎09-10-2019

Hello,

Any suggestions? 

 

0 Kudos
bruce_karaffa
Scholar
Scholar
448 Views
Registered: ‎06-21-2017

Are you seeing the problem in simulation or in the hardware?  There is no latency with tvalid.  It should be asserted on the same clock cycle as the data you want to feed into the filter.  Can you show a simulation or ILA trace illustrating what you are seeing?

0 Kudos
tkontogiorgis
Explorer
Explorer
403 Views
Registered: ‎09-10-2019

Hello @bruce_karaffa ,

i am running simulation with Vivado Simulator (But also runned in Ultrascale+ FPGA). I cannot understand. When i run example tb in simulation eveything seems ok for one impulse reponse. In this case i have an interpolation filter x2 and after a decimation x2. Filters seems to "delay" its input when tvalid asserts (some samples seems to be zero in the beginning of tvalid). Do i need some FIFO's? the sampling rate and clock rate are the same.. In my receiver's system i have some errors in the last data of the incoming stream... Below i uploaded an image with the simulation, the blue annotation is the valid signal with the data in the input of the filter (output of the transmitter) and the red is the output of the interpolation x2 filter. Do you think these zeros are normal response of interpolation  or maybe not? What else should be wrong from my side?

I feel the filter needs more time to output the last data (they are not shown here this is the beginning). My clock period is 32ns..

filter_problems.PNG

 

 

0 Kudos