CNF, by instantiating NSF3V, inherits NSF3V vertical and horizontal blanking requirements. In YUV420UV mode with all border replication enabled, minimal horizontal blanking is 58 pixels, and minimal vertical blanking is 9 lines.
Note that:
- Horizontal blanking is not additional pixels or data points, but is the additional clock cycles required. As the chroma filter core operates at divided-by-2 clock, there is a 2x multiplier in number of functional clock cycles
- For example, when IW = 1920, there is 1920 data points per line (U and V together), so time between first data point of each line should be (1920 + 52)*2 functional clock cycles.
- Vertical blanking is counted as number of dummy (data don't care) lines in the input.
- CDS block takes care of providing sufficient vertical and horizontal blanking.
CNF's downstream module, MTC interface, may occasionally negate rsz_out_rdy to suspend CNF sending pixel output, and this suspension may lead to vpout_suspend being asserted to the chroma filter core, and this may or may not lead to vpin_suspend being asserted by the chroma filter core, due to the FIFO mechanism inside the chroma filter core. In order to maintain sufficien HS interval to the chroma filter core, the CDS block needs to delay sending VPin_HS until
- VPin_HE is asserted by CDS block (all input pixels delivered) followed by T_input_pipeline_delay.
- VPout_HE is asserted by the chroma filter core (all output pixels delivered).
- Datapath processing time is met or image_width + dp_pipeline_delay cycles under the specific mode and left/right border replication condition CNF operates in.
Refer to Section 9.3.3.3 for specific delay cycle counts.