Maximum Frequencies
The following are typical clock frequencies for the target devices:- AMD UltraScale+™ devices with -1 speed grade or higher: 300 MHz
- AMD Virtex™ 7 and AMD Virtex™ UltraScale™ devices with -2 speed grade or higher: 300 MHz
- AMD Kintex™ 7 and AMD Kintex™ UltraScale™ devices with -2 speed grade or higher: 300 MHz
- AMD Artix™ 7 devices with -2 speed grade or higher: 150 MHz
- AMD Versal™ ACAP devices with -1 speed grade or higher: 300 MHz
Throughput
The Video Scene Change Detection IP 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 after its buffers are full.Latency
The following examples explain the latency requirements for the Video Scene Change Detection IP in both stream and memory based modes:
- Stream mode
- In the stream mode, 4K video subsampled at a subsampling factor of 16 results in 3840*2160/16 = 518, 400 samples. If the IP processes 1 sample per clock at 100 MHz, it takes 518K/100M = 5.2 ms to pass all samples through the IP. The IP would consume 518, 400 bytes to complete this task. In this mode, the data passes from input to output. The IP needs to handle complete 4K data when configured to a maximum resolution of 4K. The IP need to run at 2 samples per clock at 300 MHz. There is no bandwidth requirement in the stream mode.
- Memory mode
- In the memory mode, the IP does not need more than 4K/16 performance for subsampling at 16. You can cover that with 1 pixel per clock. In this mode, processing 4K video requires a peak bandwidth of 1000/5.2 * 518K = ~100 MB/s. Running the IP slower consumes less bandwidth. The latency is still 5.2 ms to get the SAD value in the output though you do not get any output samples.