SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Software selects which CPORT a given pixel processing context must process by setting the CAL_PIX_PROC_i[23:19] CPORT bit field to the CPORT ID. The operation to perform is defined by the CAL_PIX_PROC_i[18:16] PACK bit field.
The pixel packing stage only processes data tagged as PIX_DAT_FS, PIX_DAT_LS, PIX_DAT, PIX_DAT_FE and PIX_DAT_LE. All other data types or data belonging to a C-Port where pixel packing is disabled is simply forwarded. The packing stage is reset by PIX_DAT_FS and PIX_DAT_LS to recover synchronization in case it has been lost.
The pixel packing stage is flushed by a PIX_DAT_FE, PIX_DAT_LE and PIX_DAT_LE TAG: the last generated 64-bit word may be padded with 0’s
Pixel packing is a symmetrical processing step to the pixel extraction (see Section 9.2.3.7, CAL Pixel Extraction). However, the list of supported formats is different. The pixel packing stage also has buffering to preserve temporary (that is, incomplete) data when contexts are switched. Figure 9-13 below shows the internal architecture of the packing stage.
Supported packing modes are:
The pixel packing engine does not process the VQ (data validity qualifier). It forwards the VQ when bypass mode is selected and replaces it by VQ=0 (all data valid) when data expansion is performed.
Figure 9-14 shows how the packing engine packs 32 consecutive pixels (equal to 8 active input cycles as 4 pixels are provided per cycle) into five 64-bit words ready to be sent to memory (REM).
Figure 9-15 shows how the packing engine packs consecutive pixels (Px corresponds to a 16-bit pixel in the internal pipeline) into 64-bit words.