SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Figure 9-25 shows the CAL video port internal architecture. It is composed of a timing generator and a FIFO.
The video port receives data + TAGs from the DPCM decoder stage. It filters the received data and only processes data that:
In addition, it uses the FE_CODE tag to enter the vertical blanking period after the end of the horizontal blanking period when the vertical blanking period is not already started.
Other data is ignored by the video port (this does not affect the operation of other pipeline stages).
Only one CPORT can use the video port and only pixel data can be sent to the video port (that is, control and attribute packets are ignored).
The FIFO receives data from the internal processing pipeline at a variable rate (up to 4 pixels per cycle). The HIGH signal is asserted a few cycles before the FIFO becomes full. It is used to stall the incoming pixel flow (from the RD_DMA) at time. Therefore, no FIFO overflow can occur.
The timing generator is started after a PIX_DAT_FS tag, when the FIFO level exceeds the threshold defined in CAL_VPORT_CTRL2[31:18] RDY_THR bit field. This threshold is 0 by default but may be used to smooth the traffic on the video port.
The timing generator controls pixel reads from the FIFO. It only reads a pixel when:
The video port is stalled when the VP_STALL signal is asserted. Data is buffered in the FIFO when data continues to arrive while the video port is stalled. Back pressure is propagated upstream by asserting the HIGH signal when the FIFO is full.