Altera_Forum
Honored Contributor
16 years agoHelp needed: clock video input issues early endofpacket
Hi,
We have a design to implement which uses the Altera VIP suit IPs and on quartus 8.0 , on cyclone 3c120 FPGA. the video pipeline is as follows. clock video input --> color plane sequencer --> chroma resampler --> color space converter --> (24bit RGB)deinterlacer (as of now BOB, no buffering) --> scaler --> frame buffer --> custom component. - the input is PAL and frame buffer needs to buffer 640x480 resolution rgb frame. - the frame buffer has both frame dropping and frame repeating enabled. - the custom component will read from the frame buffer. I am using pci board from terasic which has a 64-bit sodimm ddr2 memory. Currently framebuffer is the only master accessing DDR2 and no other masters are connected to the memory. I am using DDR2-HP in half rate mode - f = 167MHz Hence frame buffer read/write master width = 64*4 = 256 bits frame buffer read/write master clk = 167/2 = 83.5 MHz If i understand it correctly, even if the frame buffer is not read or not read at rate fast enough, the frame buffer writer component should write the incoming video at rate fast enough and if the written frame is not read by the reader component, it should drop the current frame and write next arriving frame. Basically frame buffer writer component should not depend on the reader component's rate of reading, when frame-dropping and frame-repeating r enabled. now the problem is, the clocked video input issues an early endofpacket signal. initially for few frames, the endofpacket is generated at the end of full frame, i.e. total pixels = 720 x 288 .. But after a few frames, the clock video input IP starts issuing early end of packet .. somewhere around 9 or 10 pixel lines(720 pixels per line).. According to the vip user guide , the clock video input will issue early endofpacket only when the downstream IPs don't accept the data at fast enough rate. Is this the only possible cause of issue of early end ofpacket. ? also, i have tied the vid_locked signal to 1, so there is no early EOP because of loss of vid_locked. According to the bandwidth calculations - the ddr2 memory should be able to easily meet the requirements. However as observed, even with just writes, I get early frame termination. I have implemented more complex video pipelines with upto 8 masters accessing the ddr2 on the 3c120 development board. However i am stuck at resolving this issue. Is it really the memory problem or something else? The ddr2 controller timing parameters are pretty much generic. I would really appreciate any help in debbuging this problem. Thanks Foram