Visible to Intel only — GUID: vgo1441286658963
Ixiasoft
1. HDMI Intel® FPGA IP Quick Reference
2. HDMI Overview
3. HDMI Intel® FPGA IP Getting Started
4. HDMI Hardware Design Examples
5. HDMI Source
6. HDMI Sink
7. HDMI Parameters
8. HDMI Simulation Example
9. Registers
10. HDMI Intel® FPGA IP User Guide Archives
11. Document Revision History for the HDMI Intel® FPGA IP User Guide
4.3.1.1. Transceiver Native PHY (RX)
4.3.1.2. PLL Intel FPGA IP Cores
4.3.1.3. PLL Reconfig Intel FPGA IP Core
4.3.1.4. Multirate Reconfig Controller (RX)
4.3.1.5. Oversampler (RX)
4.3.1.6. DCFIFO
4.3.1.7. Sink Display Data Channel (DDC) & Status and Control Data Channel (SCDC)
4.3.1.8. Transceiver Reconfiguration Controller
4.3.1.9. VIP Bypass and Audio, Auxiliary and InfoFrame Buffers
4.3.1.10. Transceiver Native PHY (TX)
4.3.1.11. Transceiver PHY Reset Controller
4.3.1.12. Oversampler (TX)
4.3.1.13. Clock Enable Generator
4.3.1.14. Platform Designer System
5.1. Source Functional Description
5.2. Source Interfaces
5.3. Source Clock Tree
5.4. Link Training Procedure
5.5. FRL Clocking Scheme
5.6. Valid Video Data
5.7. Source Deep Color Implementation When Support FRL = 0
5.8. Source Deep Color Implementation When Support FRL = 1
5.9. Variable Refresh Rate (VRR) and Auto Low Latency Mode (ALLM)
5.1.1. Source Scrambler, TMDS/TERC4 Encoder
5.1.2. Source Video Resampler
5.1.3. Source Window of Opportunity Generator
5.1.4. Source Auxiliary Packet Encoder
5.1.5. Source Auxiliary Packet Generators
5.1.6. Source Auxiliary Data Path Multiplexers
5.1.7. Source Auxiliary Control Port
5.1.8. Source Audio Encoder
5.1.9. HDCP 1.4 TX Architecture
5.1.10. HDCP 2.3 TX Architecture
5.1.11. FRL Packetizer
5.1.12. FRL Character Block and Super Block Mapping
5.1.13. Reed-Solomon (RS) Forward Error Correction (FEC) Generation and Insertion
5.1.14. FRL Scrambler and Encoder
5.1.15. Source FRL Resampler
5.1.16. TX Core-PHY Interface
5.1.17. I2C Master
5.1.18. AXI4-Stream to Clocked Video Converter (AXI2CV)
5.1.19. AXI4-Stream to Clocked Video Converter (AXI2CV) Remap
5.1.20. Avalon Memory-Mapped Demultiplexer
5.1.21. HDMI TX Register
5.1.22. HDMI TX Interrupt
5.1.23. TX AXI4-Stream Auxiliary Bridge
5.1.24. TX Auxiliary User Packet
5.1.25. TX AXI4-Stream Auxiliary Arbiter
5.1.26. TX AXI4-Stream Auxiliary Packetizer
5.1.27. TX Avalon-ST Auxiliary Arbiter
6.1.1. Sink Word Alignment and Channel Deskew
6.1.2. Sink Descrambler, TMDS/TERC4 Decoder
6.1.3. Sink Auxiliary Decoder
6.1.4. Sink Auxiliary Packet Capture
6.1.5. Sink Video Resampler
6.1.6. Sink Auxiliary Data Port
6.1.7. Sink Audio Decoder
6.1.8. Status and Control Data Channel (SCDC) Interface
6.1.9. HDCP 1.4 RX Architecture
6.1.10. HDCP 2.3 RX Architecture
6.1.11. FRL Depacketizer
6.1.12. Sink FRL Character Block and Super Block Demapper
6.1.13. Sink FRL Descrambler and Decoder
6.1.14. Sink FRL Resampler
6.1.15. RX Core-PHY Interface
6.1.16. I2C Slave
6.1.17. I2C and EDID RAM Blocks
6.1.18. Clocked Video to AXI4-Stream (CV2AXI) Remap
6.1.19. Clocked Video to AXI4-Stream Converter (CV2AXI)
6.1.20. Avalon Memory-Mapped Demultiplexer
6.1.21. HDMI RX Register
6.1.22. HDMI RX Interrupt
6.1.23. RX AXI4-Stream Auxiliary Bridge
6.1.24. RX Auxiliary Packet Filter
6.1.25. RX Auxiliary User Packetizer
6.1.26. Variable Refresh Rate(VRR) and Auto Low Latency Mode (ALLM)
9.1.1.1. STATUS_CONTROL (0x00)
9.1.1.2. IRQ_STATUS (0x01)
9.1.1.3. IRQ_MASK (0x02)
9.1.1.4. VIDEO_FORMAT (0x03)
9.1.1.5. AVI_CONTROL (0x08)
9.1.1.6. AVI_PACKET_DATA0 (0x09)
9.1.1.7. AVI_PACKET_DATA0 (0x0A)
9.1.1.8. AVI_PACKET_DATA2 (0x0B)
9.1.1.9. AVI_PACKET_DATA3 (0x0C)
9.1.1.10. VSI_CONTROL (0x0D)
9.1.1.11. VSI_PACKET_HEADER (0x0E)
9.1.1.12. VSI_PACKET_DATA0 (0x0F)
9.1.1.13. VSI_PACKET_DATA1 (0x10)
9.1.1.14. USER_PACKET_STATUS_CONTROL (0x12)
9.1.1.15. USER_PACKET_HEADER (0x013)
9.1.1.16. USER_PACKET_DATA0 (0x014)
9.1.1.17. USER_PACKET_DATA1 (0x015)
9.1.1.18. USER_PACKET_DATA2 (0x016)
9.1.1.19. USER_PACKET_DATA3 (0x017)
9.1.1.20. USER_PACKET_DATA4 (0x018)
9.1.1.21. USER_PACKET_DATA5 (0x019)
9.1.1.22. USER_PACKET_DATA6 (0x01A)
9.1.1.23. USER_PACKET_DATA7 (0x01B)
9.1.1.24. AUDIO_INFOFRAME_CONTROL (0x20)
9.1.1.25. AUDIO_INFOFRAME_PACKET_DATA0 (0x21)
9.1.1.26. AUDIO_INFOFRAME_PACKET_DATA1 (0x22)
9.1.1.27. AUDIO_METADATA_CONTROL (0x24)
9.1.1.28. AUDIO_METADATA_PACKET_HEADER (0x025)
9.1.1.29. AUDIO_METADATA_PACKET_DATA0 (0x026)
9.1.1.30. AUDIO_METADATA_PACKET_DATA1 (0x027)
9.1.1.31. AUDIO_METADATA_PACKET_DATA2 (0x028)
9.1.1.32. AUDIO_METADATA_PACKET_DATA3 (0x029)
9.1.1.33. AUDIO_METADATA_PACKET_DATA4 (0x02A)
9.1.1.34. AUDIO_METADATA_PACKET_DATA5 (0x02B)
9.1.1.35. SCDC_FRL_CONTROL (0x031)
9.2.2.1. STATUS (0x50)
9.2.2.2. VIDEO_MODE_MATCH (0x51)
9.2.2.3. VIDEO_MODE_BANK_SELECT (0x53)
9.2.2.4. VIDEO_MODE_CONTROL (0x54)
9.2.2.5. VIDEO_MODE_SAMPLE_COUNT(0x55)
9.2.2.6. VIDEO_MODE_F0_LINE_COUNT (0x56)
9.2.2.7. VIDEO_MODE_F1_LINE_COUNT (0x57)
9.2.2.8. VIDEO_MODE_HORIZONTAL_FRONT_PORCH (0x58)
9.2.2.9. VIDEO_MODE_HORIZONTAL_SYNC_LENGTH (0x59)
9.2.2.10. VIDEO_MODE_HORIZONTAL_BLANKING (0x5A)
9.2.2.11. VIDEO_MODE_VERTICAL_FRONT_PORCH (0x5B)
9.2.2.12. VIDEO_MODE_VERTICAL_SYNC_LENGTH (0x5C)
9.2.2.13. VIDEO_MODE_VERTICAL_BLANKING (0x5D)
9.2.2.14. VIDEO_MODE_F0_VERTICAL_FRONT_PORCH (0x5E)
9.2.2.15. VIDEO_MODE_F0_VERTICAL_SYNC_LENGTH (0x5F)
9.2.2.16. VIDEO_MODE_F0_VERTICAL_BLANKING (0x60)
9.2.2.17. VIDEO_MODE_ACTIVE_PICTURE_LINE (0x61)
9.2.2.18. VIDEO_MODE_F0_VERTICAL_RISING (0x62)
9.2.2.19. VIDEO_MODE_FIELD_RISING (0x63)
9.2.2.20. VIDEO_MODE_FIELD_FALLING (0x64)
9.2.2.21. VIDEO_MODE_VALID (0x6D)
9.3.1.1. STATUS (0x01)
9.3.1.2. IRQ_STATUS (0x02)
9.3.1.3. IRQ_MASK (0x03)
9.3.1.4. HOTPLUG (0x04)
9.3.1.5. LINK_MODE (0x05)
9.3.1.6. VIDEO_COLOUR (0x06)
9.3.1.7. AVI_PACKET_DATA0 (0x0C)
9.3.1.8. AVI_PACKET_DATA1 (0x0D)
9.3.1.9. AVI_PACKET_DATA2 (0x0E)
9.3.1.10. AVI_PACKET_DATA3 (0x0F)
9.3.1.11. USER_PACKET_FILTER (0x10)
9.3.1.12. USER_BUFFER_STATUS_CONTROL (0x11)
9.3.1.13. USER_BUFFER_LEVEL (0x12)
9.3.1.14. USER_BUFFER_DATA (0x13)
9.3.1.15. AUX_PACKET_FILTER (0x14)
9.3.1.16. AUDIO_INFOFRAME_PACKET_DATA0 (0x21)
9.3.1.17. AUDIO_INFOFRAME _PACKET_DATA1 (0x22)
9.3.1.18. AUDIO_METADATA _PACKET_HEADER (0x25)
9.3.1.19. AUDIO_METADATA _PACKET_DATA0 (0x26)
9.3.1.20. AUDIO_METADATA _PACKET_DATA1 (0x27)
9.3.1.21. AUDIO_METADATA _PACKET_DATA2 (0x28)
9.3.1.22. AUDIO_METADATA _PACKET_DATA3 (0x29)
9.3.1.23. AUDIO_METADATA _PACKET_DATA4 (0x2A)
9.3.1.24. AUDIO_METADATA _PACKET_DATA5 (0x2B)
9.3.1.25. VSI_PACKET_DATA0 (0x2C)
9.3.1.26. VSI_PACKET_DATA1 (0x2D)
9.3.1.27. SCDC_FRL_STATUS (0x2E)
9.3.1.28. SCDC_FRL_CONTROL (0x2F)
Visible to Intel only — GUID: vgo1441286658963
Ixiasoft
4.3.1. HDMI Hardware Design Components
The demonstration designs instantiate the Video and Image Processing (VIP) Suite IP cores or FIFO buffers to perform a direct HDMI video stream passthrough between the HDMI sink and source.
The hardware demonstration design comprises the following components:
- HDMI sink
- Transceiver Native PHY (RX)
- Transceiver PHY Reset Controller (RX)
- PLL
- PLL Reconfiguration
- Multirate Reconfiguration Controller (RX)
- Oversampler (RX)
- DCFIFO
- Sink Display Data Channel (DDC) and Status and Control Data Channel (SCDC)
- Transceiver Reconfiguration Controller
- VIP bypass and Audio, Auxiliary and InfoFrame buffers
- Platform Designer system
- VIP passthrough for HDMI video stream
- Source SCDC controller
- HDMI source reconfiguration controller
- HDMI source
- Transceiver Native PHY (TX)
- Transceiver fPLL
- Transceiver PHY Reset Controller (TX)
- PLL
- PLL Reconfiguration
- Oversampler (TX)
- DCFIFO
- Clock Enable Generator
Figure 10. HDMI Hardware Design Example Block DiagramThe figure below shows a high level architecture of the design.
The following details of the design example architecture correspond to the numbers in the block diagram.
- The sink TMDS data has three channels: data channel 0 (blue), data channel 1 (green), and data channel 2 (red).
- The Oversampler (RX) and dual-clock FIFO (DCFIFO) instances are duplicated for each TMDS data channel (0,1,2).
- The video data input width for each color channel of the HDMI RX core is equivalent to RX transceiver PCS-PLD parallel data width per channel.
- Each color channel is fixed at 16 bpc. The video data output width of the HDMI RX core is equivalent to the value of symbols per clock*16*3.
- The video data input width of the Clocked Video Input (CVI) and Clocked Video Output (CVO) IP cores are equivalent to the value of NUMBER_OF_PIXELS_IN_PARALLEL * BITS_PER_PIXEL_PER_COLOR_PLANE * NUMBER_OF_COLOR_PLANES. To interface with the HDMI core, the values of NUMBER_OF_PIXELS_IN_PARALLEL, BITS_PER_PIXEL_PER_COLOR_PLANE, and NUMBER_OF_COLOR_PLANES must match the symbols per clock, 16 and 3 respectively.
- The video data input width of the HDMI TX core is equivalent to the value of symbols per clock*16*3. You can use the user switch to select the video data from the CVO IP core (VIP passthrough) or DCFIFO (VIP bypass).
- The video data output width for each color channel of the HDMI TX core is equivalent to TX transceiver PCS-PLD parallel data width per channel.
- The DCFIFO and the Oversampler (TX) instances are duplicated for each TMDS data channel (0,1,2) and clock channel.
- The Oversampler (TX) uses the clock enable signal to read data from the DCFIFO.
- The source TMDS data has four channels: data channel 0 (blue), data channel 1 (green), data channel 2 (red), and clock channel.
- The RX Multirate Reconfiguration Controller requires the status of TMDS_Bit_clock_Ratio port to perform appropriate RX reconfiguration between the TMDS character rates below 340 Mcsc (HDMI 1.4b) and above 340 Mcsc (HDMI 2.0b). The status of the port is also required by the Nios II processor and the HDMI TX core to perform appropriate TX reconfiguration and scrambling.
- The reset control and lock status signals from HDMI PLL, RX Transceiver Reset Controller and HDMI RX core.
- The reset and oversampling control signals for HDMI PLL, TX Transceiver Reset Controller, and HDMI TX core. The lock status and rate detection measure valid signals from the HDMI sink initiate the TX reconfiguration process.
- The I2C SCL and SDA lines with tristate buffer for bidirectional configuration. Use the ALTIOBUF IP core for Arria V and Stratix V devices.
- The SCDC is mainly designed for the source to update the TMDS_Bit_Clock_Ratio and Scrambler_Enable bits of the sink TMDS Configuration register. .
Section Content
Transceiver Native PHY (RX)
PLL Intel FPGA IP Cores
PLL Reconfig Intel FPGA IP Core
Multirate Reconfig Controller (RX)
Oversampler (RX)
DCFIFO
Sink Display Data Channel (DDC) & Status and Control Data Channel (SCDC)
Transceiver Reconfiguration Controller
VIP Bypass and Audio, Auxiliary and InfoFrame Buffers
Transceiver Native PHY (TX)
Transceiver PHY Reset Controller
Oversampler (TX)
Clock Enable Generator
Platform Designer System