naught
Member level 3
- Joined
- Aug 25, 2012
- Messages
- 59
- Helped
- 4
- Reputation
- 8
- Reaction score
- 4
- Trophy points
- 1,288
- Location
- chengdu
- Activity points
- 1,739
I have 7 frames to do the ifft calculation, each frame containing 512 data. Then each 512 is interpolated by 3*512 zeros. So now each frame is 2048 data.
I choose the continuous pipeline way, but the first frame out of the ipcore is X`s. please help me identify where my problem is. I`ve been stuck here the whole day.
there are 7 edone and done impulse, indicating that 7 frames processed.
the dv signal is data valid.
you can see the first 2048 data is X`s.
rfd_rx1 is ready for data, I choose 3 clock offset way, so data_in is 3 clock later after rfd_rx1.
the data_in are doutb_ram14336_rx1 and doutb_ram14336_rx3.
xk_index is the number of the output data. when xk_index = 0, there is data. but after that there is problem.
here`s how I declare the ipcore.
it looks to me that only the first 2048 data is not working, the rest 6*2048 ifft phase is working...put aside its accuracy for a moment.
the modelsim warning is "# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)."
this warning happens between around 1,000,000ns and 1,107,446ns, the area between the 2 yellow vertical line.
It`s the phase where the first 2048 data just finished loaded into the ifft core, where the 2nd 2048 data is getting loaded.
the second vertical yellow line is where the ifft core starts output.
please help...
I choose the continuous pipeline way, but the first frame out of the ipcore is X`s. please help me identify where my problem is. I`ve been stuck here the whole day.
there are 7 edone and done impulse, indicating that 7 frames processed.
the dv signal is data valid.
you can see the first 2048 data is X`s.
rfd_rx1 is ready for data, I choose 3 clock offset way, so data_in is 3 clock later after rfd_rx1.
the data_in are doutb_ram14336_rx1 and doutb_ram14336_rx3.
xk_index is the number of the output data. when xk_index = 0, there is data. but after that there is problem.
here`s how I declare the ipcore.
Code VHDL - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ifft_rx1 : ifft2048 PORT MAP ( clk => clk, -- 20Mhz sclr => rst, start => start_ifft, xn_re => doutb_ram14336_rx1, xn_im => doutb_ram14336_rx3, fwd_inv => '0', -- inverse fft fwd_inv_we => '1', rfd => rfd_rx1, xn_index => xn_index, busy => busy, edone => edone, done => done, dv => dv, xk_index => xk_index, xk_re => xk_re_rx1, xk_im => xk_re_rx3 );
it looks to me that only the first 2048 data is not working, the rest 6*2048 ifft phase is working...put aside its accuracy for a moment.
the modelsim warning is "# ** Warning: There is an 'U'|'X'|'W'|'Z'|'-' in an arithmetic operand, the result will be 'X'(es)."
this warning happens between around 1,000,000ns and 1,107,446ns, the area between the 2 yellow vertical line.
It`s the phase where the first 2048 data just finished loaded into the ifft core, where the 2nd 2048 data is getting loaded.
the second vertical yellow line is where the ifft core starts output.
please help...
Last edited: