Pixel Mapping on Native Interface - 2.1 English - PG199

DisplayPort 1.2 TX Subsystem LogiCORE IP Product Guide (PG199)

Document ID
PG199
Release Date
2024-12-11
Version
2.1 English

The primary interface for user image data has been modeled on the industry standard for display timing controller signals. The port list consists of video timing information encoded in a vertical and horizontal sync pulse and data valid indicator. These single bit control lines frame the active data and provide flow control for the AXI4-Stream video.

Vertical timing is framed using the vertical sync pulse which indicates the end of frame N-1 and the beginning of frame N. The vertical back porch is defined as the number of horizontal sync pulses between the end of the vertical sync pulse and the first line containing active pixel data. The vertical front porch is defined as the number of horizontal sync pulses between the last line of active pixel data and the start of the vertical sync pulse. When combined with the vertical back porch and the vertical sync pulse width, these parameters form what is commonly known as the vertical blanking interval.

At the trailing edge of each vertical sync pulse, the user data interface resets key elements of the image datapath. This provides for a robust user interface that recovers from any kind of interface error in one vertical interval or less.

The following figure shows the typical signaling of a full frame of data.

Figure 1. User Interface Vertical Timing

Similarly, the horizontal timing information is defined by a front porch, back porch, and pulse width. The porch values are defined as the number of clocks between the horizontal sync pulse and the start or end of active data. Pixel data is only accepted into the image data interface when the data valid flag is active-High, as shown in the following figure.

The data valid signal must remain asserted for the duration of a scan line. Dropping the valid signal might result in improper operation.

Figure 2. User Interface Horizontal Timing

In the two-dimensional image plane, these control signals frame a rectangular region of active pixel data within the total frame size. This relationship of the total frame size to the active frame size is shown in the following figure.

Figure 3. Active Image Data

The User Data Interface can accept one, two, or four pixels per clock cycle. The vid_pixel width is always 48 bits, regardless of whether all bits are used. For pixel mappings that do not require all 48 bits, the convention used for this core is to occupy the MSB bits first and leave the lower bits either untied or driven to zero. The following table provides the mapping for all supported data formats.

Table 1. Pixel Mapping for the User Data Interface
Format BPC/BPP R G B Cr Y Cb Cr/Cb Y
RGB 6/18 [47:42] [31:26] [15:10]
RGB 8/24 [47:40] [31:24] [15:8]
RGB 10/30 [47:38] [31:22] [15:6]
RGB 12/36 [47:36] [31:20] [15:4]
RGB 16/48 [47:32] [31:16] [15:0]
YCrCb444 6/18 [47:42] [31:26] [15:10]
YCrCb444 8/24 [47:40] [31:24] [15:8]
YCrCb444 10/30 [47:38] [31:22] [15:6]
YCrCb444 12/36 [47:36] [31:20] [15:4]
YCrCb444 16/48 [47:32] [31:16] [15:0]
YCrCb422 8/16 [47:40] [31:24]
YCrCb422 10/20 [47:38] [31:22]
YCrCb422 12/24 [47:36] [31:20]
YCrCb422 16/32 [47:32] [31:16]
YONLY 8/8 [47:40]
YONLY 10/10 [47:38]
YONLY 12/12 [47:36]
YONLY 16/16 [47:32]
  1. For a YCrCb 4:2:2, the input follows YCr, YCb, YCr, YCb and so on. This means Cr and Cb are mapped to the same bits on the video input ports of the source core. The source core expects YCb first, followed by YCr.