The Video Test Pattern Generator core supports bidirectional data throttling between its AXI4-Stream Slave and Master interfaces. If the slave side data source is not providing valid data samples ( s_axis_video_tvalid is not asserted), the core cannot produce valid output samples after its internal buffers are depleted. Similarly, if the master side interface is not ready to accept valid data samples ( m_axis_video_tready is not asserted), the core cannot accept valid input samples once its buffers become full.
If the master interface is able to provide valid samples ( s_axis_video_tvalid is High) and the slave interface is ready to accept valid samples ( m_axis_video_tready is High), typically the core can process and produce 1, 2, 4, or 8 pixels specified by Samples Per Clock in GUI per AP_CLK cycle.
However, at the end of each scan line and frame the core flushes internal pipelines for seven clock cycles, during which the s_axis_video_tready is deasserted signaling that the core is not ready to process samples.
When the core is processing timed streaming video (which is typical for most video sources), the flushing periods coincide with the blanking periods; therefore, do not reduce the throughput of the system.
When the core is processing data from a video source which can always provide valid data, e.g., a frame buffer, the throughput of the core can be defined as follows:
In numeric terms, 1080P/60 represents an average data rate of 124.4 MPixels/second (1080 rows x 1920 columns x 60 frames / second x 1 pixel per clock), and a burst data rate of 148.5 MPixels/sec.
To ensure that the core can process 124.4 MPixels/second, it needs to operate minimally at:
When operating on a streaming video source (i.e., not frame buffered data), the core must operate minimally at the burst data rate. For example, 148.5 MHz for a 1080P60 video source.