Ug - Hdmi 683798 666603
Ug - Hdmi 683798 666603
IP Version: 19.6.1
Contents
2. HDMI Overview............................................................................................................... 6
2.1. Release Information............................................................................................. 12
2.2. Device Family Support.......................................................................................... 13
2.3. Feature Support...................................................................................................14
2.4. Resource Utilization..............................................................................................14
3. HDMI Intel FPGA IP Getting Started............................................................................. 17
3.1. Installing and Licensing Intel FPGA IP Cores............................................................ 17
3.1.1. Intel FPGA IP Evaluation Mode................................................................... 18
3.2. Specifying IP Parameters and Options.....................................................................20
4. HDMI Hardware Design Examples................................................................................. 21
4.1. HDMI Hardware Design Examples for Intel Arria 10, Intel Cyclone 10 GX, and Intel
Stratix 10 Devices............................................................................................. 21
4.2. HDCP Over HDMI Design Example for Intel Arria 10 and Intel Stratix 10 Devices.......... 21
4.3. HDMI Hardware Design Examples for Arria V and Stratix V Devices.............................22
4.3.1. HDMI Hardware Design Components.......................................................... 22
4.3.2. HDMI Hardware Design Requirements.........................................................37
4.3.3. Design Walkthrough................................................................................. 38
5. HDMI Source................................................................................................................. 42
5.1. Source Functional Description................................................................................42
5.1.1. Source Scrambler, TMDS/TERC4 Encoder.....................................................43
5.1.2. Source Video Resampler........................................................................... 44
5.1.3. Source Window of Opportunity Generator.................................................... 46
5.1.4. Source Auxiliary Packet Encoder.................................................................46
5.1.5. Source Auxiliary Packet Generators............................................................ 48
5.1.6. Source Auxiliary Data Path Multiplexers...................................................... 48
5.1.7. Source Auxiliary Control Port..................................................................... 48
5.1.8. Source Audio Encoder...............................................................................53
5.1.9. HDCP 1.4 TX Architecture......................................................................... 59
5.1.10. HDCP 2.3 TX Architecture........................................................................63
5.1.11. FRL Packetizer....................................................................................... 69
5.1.12. FRL Character Block and Super Block Mapping........................................... 69
5.1.13. Reed-Solomon (RS) Forward Error Correction (FEC) Generation and
Insertion.................................................................................................69
5.1.14. FRL Scrambler and Encoder..................................................................... 69
5.1.15. Source FRL Resampler............................................................................ 69
5.1.16. TX Oversampler..................................................................................... 70
5.1.17. Clock Enable Generator...........................................................................70
5.1.18. I2C Master.............................................................................................71
5.2. Source Interfaces................................................................................................ 71
5.3. Source Clock Tree................................................................................................ 84
5.4. Link Training Procedure.........................................................................................87
5.5. FRL Clocking Scheme........................................................................................... 88
5.6. Valid Video Data.................................................................................................. 90
5.7. Source Deep Color Implementation When Support FRL = 0........................................91
2
Contents
10. Document Revision History for the HDMI Intel FPGA IP User Guide.......................... 151
3
683798 | 2021.11.12
Send Feedback
Note: All information in this document refers to the Intel Quartus Prime Pro Edition software,
unless stated otherwise.
Information Description
Device Family Supports Intel Stratix 10 (H-tile and L-tile), Intel Arria 10,
Intel Cyclone® 10 GX, Arria V, and Stratix V FPGA devices
Note: HDMI 2.1 with FRL enabled supports only Intel
Stratix 10 and Intel Arria 10 devices.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
1. HDMI Intel® FPGA IP Quick Reference
683798 | 2021.11.12
Note: The High-bandwidth Digital Content Protection (HDCP) feature is not included in the
Intel Quartus Prime Pro Edition software. To access the HDCP feature, contact Intel at
https://www.intel.com/content/www/us/en/broadcast/products/programmable/
applications/connectivity-solutions.html.
Related Information
• HDMI Intel Arria 10 FPGA IP Design Example User Guide
For more information about the Intel Arria 10 design examples.
• HDMI Intel Cyclone 10 GX FPGA IP Design Example User Guide
For more information about the Intel Cyclone 10 GX design examples.
• HDMI Intel Stratix 10 FPGA IP Design Example User Guide
For more information about the Intel Stratix 10 design examples.
• Intel Arria 10 HDMI 2.1 System Design Guidelines
For more information about the Intel Arria 10 HDMI 2.1 system design
guidelines.
• HDMI Intel FPGA IP User Guide Archives on page 150
Provides a list of user guides for previous versions of the HDMI Intel FPGA IP.
5
683798 | 2021.11.12
Send Feedback
2. HDMI Overview
The HDMI Intel FPGA IP provides support for next generation video display interface
technology.
The HDMI standard specifies a digital communications interface for use in both
internal and external connections:
• Internal connections—interface within a PC and monitor
• External display connections—interface between a PC and monitor or projector,
between a PC and TV, or between a device such a DVD player and TV display.
The HDMI system architecture consists of sinks and sources. A device may have one
or more HDMI inputs and outputs.
The HDMI cable and connectors carry four differential pairs that make up the
Transition Minimized Differential Signaling (TMDS) data and clock channels for HDMI
1.4 and HDMI 2.0. For HDMI 2.1, HDMI cable and connectors carry four fixed rate link
(FRL) lanes of data. You can use these channels to carry video, audio, and auxiliary
data.
The HDMI also carries a Video Electronics Standards Association (VESA) Display Data
Channel (DDC) and Status and Control Data Channel (SCDC). The DDC configures and
exchanges status between a single source and a single sink. The source uses the DDC
to read the sink's Enhanced Extended Display Identification Data (E-EDID) to discover
the sink's configuration and capabilities.
The optional Consumer Electronics Control (CEC) protocol provides high-level control
functions between various audio visual products in your environment.
The optional HDMI Ethernet and Audio Return Channel (HEAC) provides Ethernet
compatible data networking between connected devices and an audio return channel
in the opposite direction of TMDS. The HEAC also uses Hot-Plug Detect (HPD) line for
link detection.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
2. HDMI Overview
683798 | 2021.11.12
Detect High/Low
HPD Line
Based on TMDS encoding, the HDMI protocol allows the transmission of both audio
and video data between source and sink devices.
Note: Refer to AN 837: Design Guidelines for Intel FPGA HDMI to know more about the
channel mapping to the RGB colors for HDMI 1.4 and HDMI 2.0.
The receiver uses the TMDS clock as a frequency reference for data recovery on the
three TMDS data channels. This clock typically runs at the video pixel rate.
7
2. HDMI Overview
683798 | 2021.11.12
FRL Lane 0
FRL Lane 1
SCL
SDA
CEC
Utility
HPD
In HDMI 1.4 and HDMI 2.0, 3 lanes carry data and 1 lane carries TMDS clock. When
operating in FRL mode, the clock channel carries data as well. As the HDMI 2.1
specification requires backward compatibility with HDMI 1.4 and HDMI 2.0, you need
to configure the 4th lane to carry data or clock during run time.
You can configure the FRL mode to 3 lanes and 4 lanes. In 3-lane FRL mode, each lane
can operate at 3 Gbps or 6 Gbps. In 4-lane FRL mode, each lane can operate at 6
Gbps, 8 Gbps, 10 Gbps, or 12 Gbps.
Use category 3 (Cat 3) cable for FRL mode to ensure good signal integrity.
8
2. HDMI Overview
683798 | 2021.11.12
Aux/Audio
Data Island
Preamble
Preamble
Active
Video
Active Video Active Video
vid_de
aux_de
Data Description
Video data • Packed representation of the video pixels clocked at the source pixel clock.
• Encoded using the TMDS 8-bit to 10-bit algorithm.
Auxiliary data • Transfers audio data together with a range of auxiliary data packets.
• Sink devices use auxiliary data packets to correctly reconstruct video and audio data.
• Encoded using the TMDS Error Reduction Coding–4 bits (TERC4) encoding algorithm.
Each data stream section is preceded with guard bands and pre-ambles. The guard
bands and pre-ambles allow for accurate synchronization with received data streams.
The following figures show the arrangement of the video data, video data enable,
video H-SYNC, and video V-SYNC in 1, 2, 4, and 8 pixels per clock.
9
2. HDMI Overview
683798 | 2021.11.12
Figure 4. Video Data, Video Data Valid, H-SYNC, and V-SYNC—1 Pixel per Clock
One Pixel per Clock
vid_clk
vid_data[47:0] D0 D1 D2 D3 D4 D5 D6 D7
vid_de[0] E0 E1 E2 E3 E4 E5 E6 E7
vid_hsync[0] H0 H1 H2 H3 H4 H5 H6 H7
vid_vsync[0] V0 V1 V2 V3 V4 V5 V6 V7
Figure 5. Video Data, Video Data Valid, H-SYNC, and V-SYNC—2 Pixels per Clock
Two Pixels per Clock
vid_clk
D1 D3 D5 D7
vid_data[95:0]
D0 D2 D4 D6
E1 E3 E5 E7
vid_de[1:0]
E0 E2 E4 E6
H1 H3 H5 H7
vid_hsync[1:0] H0 H4 H6
H2
V1 V3 V5 V7
vid_vsync[1:0]
V0 V2 V4 V6
10
2. HDMI Overview
683798 | 2021.11.12
Figure 6. Video Data, Video Data Valid, H-SYNC, and V-SYNC—4 Pixels per Clock
Four Pixels per Clock
vid_clk
D3 D7
D2 D6
vid_data[191:0]
D1 D5
D0 D4
E3 E7
E2 E6
vid_de[3:0]
E1 E5
E0 E4
H3 H7
H2 H6
vid_hsync[3:0]
H1 H5
H0 H4
V3 V7
V2 V6
vid_vsync[3:0]
V1 V5
V0 V4
11
2. HDMI Overview
683798 | 2021.11.12
Figure 7. Video Data, Video Data Valid, H-SYNC, and V-SYNC—8 Pixels per Clock
Eight Pixels per Clock
vid_clk
D7
D6
D5
D4
vid_data[383:0]
D3
D2
D1
D0
E7
E6
E5
E4
vid_de[7:0]
E3
E2
E1
E0
H7
H6
H5
H4
vid_hsync[7:0]
H3
H2
H1
H0
V7
V6
V5
V4
vid_vsync[7:0]
V3
V2
V1
V0
Related Information
AN 837: Design Guidelines for Intel FPGA HDMI
12
2. HDMI Overview
683798 | 2021.11.12
The Intel FPGA IP version (X.Y.Z) number can change with each Intel Quartus Prime
software version. A change in:
• X indicates a major revision of the IP. If you update the Intel Quartus Prime
software, you must regenerate the IP.
• Y indicates the IP includes new features. Regenerate your IP to include these new
features.
• Z indicates the IP includes minor changes. Regenerate your IP to include these
changes.
IP Version 19.6.1
Intel Quartus Prime Version 21.3 (Intel Quartus Prime Pro Edition)
Related Information
HDMI Intel FPGA IP Release Notes
Describes changes to the IP in a particular release.
Intel Stratix 10 (H-tile and L-tile) (Intel Quartus Prime Pro Edition) Final
13
2. HDMI Overview
683798 | 2021.11.12
The following terms define device support levels for Intel FPGA IP cores:
• Advance support—the IP core is available for simulation and compilation for this
device family. Timing models include initial engineering estimates of delays based
on early post-layout information. The timing models are subject to change as
silicon testing improves the correlation between the actual silicon and the timing
models. You can use this IP core for system architecture and resource utilization
studies, simulation, pinout, system latency assessments, basic timing assessments
(pipeline budgeting), and I/O transfer strategy (data-path width, burst depth, I/O
standards tradeoffs).
• Preliminary support—the IP core is verified with preliminary timing models for this
device family. The IP core meets all functional requirements, but might still be
undergoing timing analysis for the device family. It can be used in production
designs with caution.
• Final support—the IP core is verified with final timing models for this device family.
The IP core meets all functional and timing requirements for the device family and
can be used in production designs.
Table 4. HDMI Intel FPGA IP FRL Feature Support in Intel Stratix 10 and Intel Arria 10
Devices
Feature Support Level
The following terms define IP feature support levels for HDMI Intel FPGA IP:
• Preliminary support—The IP meets the functional requirement for the feature set
as listed in this user guide. Additional features, characterization, and system level
design guidelines shall be covered in future releases. The IP can be used in
production designs for the supported device family with caution.
• Final support—The IP is compliant to the protocol CTS requirement for the
supported device family and can be used in production design. Characterization
report and system level design guidelines are available to facilitate meeting PHY
CTS requirements.
14
2. HDMI Overview
683798 | 2021.11.12
5,940 12,000
Intel Stratix 10
(Example: 4Kp60 8 bpc) (Example: 8Kp30 12 bpc)
5,940 12,000
Intel Arria 10
(Example: 4Kp60 8 bpc) (Example: 8Kp30 12 bpc)
5,940
Intel Cyclone 10 GX Not Supported
(Example: 4Kp60 8 bpc)
Table 7. Recommended Speed Grades for Intel Stratix 10 and Intel Arria 10 Devices
(Support FRL = 1)
Device Lane Rate (Mbps) Transceiver Interface Speed Grade
Width (bits)
15
2. HDMI Overview
683798 | 2021.11.12
Table 8. Recommended Speed Grades for Intel Stratix 10, Intel Arria 10, and Intel
Cyclone 10 GX Devices (Support FRL = 0)
Device Lane Rate (Mbps) Interface Width (bits) Speed Grades
Device HDCP IP Support Support Pixels/ ALMs Combination Registers M20K DSP
HDCP FRL TMDS al ALUTs
Key Symbols
Managem Per Clock
ent
16
683798 | 2021.11.12
Send Feedback
Related Information
• Introduction to Intel FPGA IP Cores
Provides general information about all Intel FPGA IP cores, including
parameterizing, generating, upgrading, and simulating IP cores.
• Creating Version-Independent IP and Platform Designer Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP
version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
The Intel Quartus Prime software installs IP cores in the following locations by default:
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
3. HDMI Intel FPGA IP Getting Started
683798 | 2021.11.12
Note: The Intel Quartus Prime software does not support spaces in the installation path.
When the evaluation time expires for any licensed Intel FPGA IP in the design, the
design stops functioning. All IP cores that use the Intel FPGA IP Evaluation Mode time
out simultaneously when any IP core in the design times out. When the evaluation
time expires, you must reprogram the FPGA device before continuing hardware
verification. To extend use of the IP core for production, purchase a full production
license for the IP core.
You must purchase the license and generate a full production license key before you
can generate an unrestricted device programming file. During Intel FPGA IP Evaluation
Mode, the Compiler only generates a time-limited device programming file (<project
name>_time_limited.sof) that expires at the time limit.
18
3. HDMI Intel FPGA IP Getting Started
683798 | 2021.11.12
Verify the IP in a
Supported Simulator
No
IP Ready for
Production Use?
Yes
Purchase a Full Production
IP License
Include Licensed IP
in Commercial Products
Note: Refer to each IP core's user guide for parameterization steps and implementation
details.
Intel licenses IP cores on a per-seat, perpetual basis. The license fee includes first-
year maintenance and support. You must renew the maintenance contract to receive
updates, bug fixes, and technical support beyond the first year. You must purchase a
full production license for Intel FPGA IP cores that require a production license, before
generating programming files that you may use for an unlimited time. During Intel
FPGA IP Evaluation Mode, the Compiler only generates a time-limited device
programming file (<project name>_time_limited.sof) that expires at the time
limit. To obtain your production license keys, visit the Self-Service Licensing Center.
The Intel FPGA Software License Agreements govern the installation and use of
licensed IP cores, the Intel Quartus Prime design software, and all unlicensed IP cores.
19
3. HDMI Intel FPGA IP Getting Started
683798 | 2021.11.12
Related Information
• Intel FPGA Licensing Support Center
• Introduction to Intel FPGA Software Installation and Licensing
20
683798 | 2021.11.12
Send Feedback
4.1. HDMI Hardware Design Examples for Intel Arria 10, Intel
Cyclone 10 GX, and Intel Stratix 10 Devices
The HDMI Intel FPGA IP offers design examples that you can generate through the IP
catalog in the Intel Quartus Prime Pro Edition software.
Related Information
• HDMI Intel Arria 10 FPGA IP Design Example User Guide
For more information about the Intel Arria 10 design examples.
• HDMI Intel Cyclone 10 GX FPGA IP Design Example User Guide
For more information about the Intel Cyclone 10 GX design examples.
• HDMI Intel Stratix 10 FPGA IP Design Example User Guide
For more information about the Intel Stratix 10 design examples.
• Intel Arria 10 HDMI 2.1 System Design Guidelines
For more information about the Intel Arria 10 HDMI 2.1 system design
guidelines.
4.2. HDCP Over HDMI Design Example for Intel Arria 10 and Intel
Stratix 10 Devices
The High-bandwidth Digital Content Protection (HDCP) over HDMI hardware design
example helps you to evaluate the functionality of the HDCP feature and enables you
to use the feature in your Intel Arria 10 and Intel Stratix 10 designs.
For detailed information about the HDCP over HDMI design examples, refer to the
Intel Arria 10 and Intel Stratix 10 design example user guides.
Note: The HDCP feature is not included in the Intel Quartus Prime Pro Edition software. To
access the HDCP feature, contact Intel at https://www.intel.com/content/www/us/en/
broadcast/products/programmable/applications/connectivity-solutions.html.
Related Information
• HDMI Intel Arria 10 FPGA IP Design Example User Guide
For more information about the HDCP over HDMI design example for Intel Arria
10 devices and the security considerations when using the HDCP features.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Related Information
AN 837: Design Guidelines for Intel FPGA HDMI
22
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Transceiver Native
(10)
Transceiver Nios II CPU (13) PHY (TX)
(1) Native PHY
(RX) Clock Enable
Generator
(11) (9)
Oversampler (3) HDMI Intel (4) (5) Clocked Video Input Video Frame Buffer Clocked Video Output (5) (7)
DCFIFO (6) HDMI Intel Oversampler
(RX) (2) (2) FPGA IP (RX) InteL FPGA IP InteL FPGA IP InteL FPGA IP DCFIFO
FPGA IP (TX) (8) (TX) (8)
Source SCDC
External Memory I2C Master (14)
Controller (SCDC) Arrow Legend
Sink DDC and SCDC Data Avalon-MM
(14) Avalon-ST Video Control/Status
I2C Slave
DCFIFO
(SCDC) (15)
Clock Legend
I2C Slave RAM 1-Port
DCFIFO RX Transceiver Reference Clock RX TMDS Clock
(EDID) Intel FPGA IP VIP Bypass and
Audio/Aux/IF Buffers
RX Transceiver Recovered Clock TX Transceiver Reference Clock
Memory Clock
The following details of the design example architecture correspond to the numbers in
the block diagram.
1. The sink TMDS data has three channels: data channel 0 (blue), data channel 1
(green), and data channel 2 (red).
2. The Oversampler (RX) and dual-clock FIFO (DCFIFO) instances are duplicated for
each TMDS data channel (0,1,2).
3. 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.
23
4. HDMI Hardware Design Examples
683798 | 2021.11.12
4. 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.
5. 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.
6. 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).
7. 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.
8. The DCFIFO and the Oversampler (TX) instances are duplicated for each TMDS
data channel (0,1,2) and clock channel.
9. The Oversampler (TX) uses the clock enable signal to read data from the DCFIFO.
10. The source TMDS data has four channels: data channel 0 (blue), data channel 1
(green), data channel 2 (red), and clock channel.
11. 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.
12. The reset control and lock status signals from HDMI PLL, RX Transceiver Reset
Controller and HDMI RX core.
13. 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.
14. The I2C SCL and SDA lines with tristate buffer for bidirectional configuration. Use
the ALTIOBUF IP core for Arria V and Stratix V devices.
15. 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. .
24
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Table 11. Arria V and Stratix V Transceiver Native PHY (RX) Configuration Settings
(6,000 Mbps)
This table shows an example of Arria V and Stratix V Transceiver Native PHY (RX) configuration settings for
TMDS bit rate of 6,000 Mbps.
Parameters Settings
Datapath Options
Enable RX datapath On
RX PMA
(4) The Bitec HDMI HSMC 2.0 daughter card routes the TMDS clock pin to the transceiver serial
data pin. To use the TMDS clock to drive the HDMI PLL, the TMDS clock must also drive the
transceiver dedicated reference clock pin. The number of CDR reference clocks is 2 with
reference clock 1 (unused) driven by the TMDS clock and reference clock 0 driven by the
HDMI PLL output clock. The selected CDR reference clock will be fixed at 0.
25
4. HDMI Hardware Design Examples
683798 | 2021.11.12
RX PMA
Standard PCS
Table 12. Arria V and Stratix V Transceiver Native PHY (RX) Common Interface Ports
This table describes the Arria V and Stratix V Transceiver Native PHY (RX) common interface ports.
Clocks
rx_std_coreclkin[2:0] Input RX parallel clock that drives the read side of the RX phase
compensation FIFO.
Connect to rx_std_clkout ports.
Resets
26
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Resets
PMA Ports
rx_is_lockedtoref[2:0] Output When asserted, the CDR is locked to the incoming reference
clock. Connect this port to rx_is_lockedtodata port of
the Transceiver PHY Reset Controller IP core when
rx_set_locktoref is 1.
rx_is_lockedtodata[2:0] Output When asserted, the CDR is locked to the incoming data.
Connect this port to rx_is_lockedtodata port of
Transceiver PHY Reset Controller IP core when
rx_set_locktoref is 0.
PCS Ports
Reconfiguration Ports
27
4. HDMI Hardware Design Examples
683798 | 2021.11.12
The HDMI PLL is referenced by the arbitrary TMDS clock. For HDMI source, you can
reference the HDMI PLL by a separate clock source in the VIP passthrough design,
which contains frame buffer. The HDMI PLL for TX has the same desired output
frequencies as RX across symbols per clock and color depth.
• For TMDS bit rates ranging from 3,400 Mbps to 6,000 Mbps (HDMI 2.0), the TMDS
clock rate is 1/40 of the TMDS bit rate. The HDMI PLL generates reference clock
for RX/TX transceiver at 4 times the TMDS clock.
• For TMDS bit rates below 3,400 Mbps (HDMI 1.4b), the TMDS clock rate is 1/10 of
the TMDS bit rate. The HDMI PLL generates reference clock for RX/TX transceiver
at identical rate as the TMDS clock.
If the TMDS link operates at TMDS bit rates below the minimum RX/TX transceiver link
rate, your design requires oversampling and a factor of 5 is chosen. The minimum link
rate of the RX/TX transceiver vary across device families and symbols per clock. The
HDMI PLL generates reference clock for RX/TX transceiver at 5 times the TMDS clock.
Note: Place the PLL Intel FPGA block on the transmit path (pll_hdmi_tx) in the physical
location next to the transceiver PLL.
Table 13. HDMI PLL Desired Output Frequencies for 8-bpc Video
This table shows an example of HDMI PLL desired output frequencies across various TMDS clock rates and
symbols per clock for all supported device families using 8-bpc video.
Device Symbols Minimum TMDS Bit Oversampli TMDS Clock RX/TX RX/TX Link RX/TX
Family Per Link Rate Rate ng (5x) Rate (MHz) Transceiver Speed Video
Clock (Mbps) (Mbps) Required Refclk Clock Clock
(MHz) (MHz) (MHz)
The color depths greater than 8 bpc or 24 bpp are defined to be deep color. For a color
depth of 8 bpc, the core carries the pixels at a rate of one pixel per TMDS clock. At
deeper color depths, the TMDS clock runs faster than the source pixel clock to provide
the extra bandwidth for the additional bits.
28
4. HDMI Hardware Design Examples
683798 | 2021.11.12
The TMDS clock rate is increased by the ratio of the pixel size to 8 bits:
• 8 bits mode—TMDS clock = 1.0 × pixel or video clock (1:1)
• 10 bits mode—TMDS clock = 1.25 × pixel or video clock (5:4)
• 12 bits mode—TMDS clock = 1.5 × pixel or video clock (3:2)
• 16 bits mode—TMDS clock = 2 × pixel or video clock (2:1)
Table 14. HDMI PLL Desired Output Frequencies for Deep Color Video
This table shows an example of HDMI PLL desired output frequencies across symbols per clock and color
depths.
Symbols Oversam Bits Per TMDS Bit Rate TMDS Clock RX/TX RX/TX Link RX/TX Video
Per Clock pling Compone (Mbps) (5) Rate (MHz) Transceiver Speed Clock Clock (MHz)
(5x) nt Refclk (MHz) (MHz)
Required
The default frequency setting of the HDMI PLL is fixed at possible maximum value for
each clock for appropriate timing analysis.
Note: This default combination is not valid for any HDMI resolution. The core will reconfigure
to the appropriate settings upon power up.
Use the IP core to update the output clock frequency, PLL bandwidth in real-time,
without reconfiguring the entire FPGA.
You can run this IP core at 100 MHz in Stratix V devices. In Arria V devices, you need
to run at 75 MHz for timing closure. To simplify clocking in Arria V devices, the entire
management clock domain is capped at 75 MHz.
(5) The TMDS bit rate is 10x the TMDS character rate. For information about how the TMDS
character rate is derived from the pixel clock rate, refer to the HDMI Specifications.
(6) For this release, deep color video is only demonstrated in VIP bypass mode. It is not available
in VIP passthrough mode.
29
4. HDMI Hardware Design Examples
683798 | 2021.11.12
The Multirate Reconfig Controller performs rate detection on the HDMI PLL arbitrary
reference clock, which is also the TMDS clock, to determine the clock frequency band.
Based on the detected clock frequency band, the circuitry dynamically reconfigures
the HDMI PLL and transceiver settings to accommodate for the link rate change.
30
4. HDMI Hardware Design Examples
683798 | 2021.11.12
The oversampling factor is fixed at 5 and you can program the data width to support
different number of symbols. The supported data width is 20 bit for 2 symbols per
clock and 40 bits for 4 symbols per clock. The extracted bit will be accompanied by
data valid pulse which asserts every 5 clock cycles.
4.3.1.6. DCFIFO
The DCFIFO transfers data from the RX transceiver recovered clock domain to the RX
link speed clock domain. The DCFIFO transfers data from the TX link speed clock
domain to the TX transceiver parallel clock out domain.
• Sink
— When the Multirate Reconfig Controller (RX) detects an incoming input stream
that is below the transceiver minimum link rate, the DCFIFO accepts the data
from the Oversampler with data valid pulse as write request asserted every 5
clock cycles.
— Otherwise, it accepts data directly from the transceiver with write request
asserted at all times.
• Source
— When Nios II processor determines the outgoing data stream is below the TX
transceiver minimum link rate, the TX transceiver accepts the data from the
Oversampler (TX).
— Otherwise, the TX transceiver reads data directly from the DCFIFO with read
request asserted at all times.
4.3.1.7. Sink Display Data Channel (DDC) & Status and Control Data Channel
(SCDC)
The HDMI source uses the DDC to determine the capabilities and characteristics of the
sink by reading the Enhanced Extended Display Identification Data (E-EDID) data
structure.
The E-EDID memory is stored using the RAM 1-Port IP core. A standard two-wire
(clock and data) serial data bus protocol (I2C slave-only controller) is used to transfer
CEA-861-D compliant E-EDID data structure.
The 8-bit I2C slave addresses for the E-EDID are 0xA0/0xA1. The LSB indicates the
access type: 1 for read and 0 for write. When an HPD event occurs, the I2C slave
responds to E-EDID data by reading from the RAM.
The I2C slave-only controller is also used to support SCDC for HDMI 2.0b operation.
The 8-bit I2C slave addresses for the SCDC are 0xA8/0xA9. When an HPD event
occurs, the I2C slave performs write/read transaction to/from SCDC interface of HDMI
RX core. This I2C slave-only controller for SCDC is not required if HDMI 2.0b is not
intended.
31
4. HDMI Hardware Design Examples
683798 | 2021.11.12
You can selectively reconfigure any portion of the transceiver. The reconfiguration of
each portion requires a read-modify-write operation (read first, then write). The read-
modify-write operation modifies only the appropriate bits in a register and does not
affect the other bits.
The Transceiver Reconfiguration Controller is only available and required in Arria V and
Stratix V devices. Because the RX and TX transceivers share a single controller, the
controller requires Platform Designer interconnects, such as Avalon-MM Master
Translator and Avalon-MM Slave Translator, in the Platform Designer system.
• The Avalon-MM Master Translator provides an interface between this controller and
the RX Multirate Reconfig Controller.
• The Avalon-MM Slave Translator arbitrates the RX and TX reconfiguration event for
this controller.
The auxiliary data port of the HDMI TX core controls the auxiliary data that flow
through DCFIFO through backpressure. The backpressure ensures there is no
incomplete auxiliary packet on the auxiliary data port. This block also performs
external filtering on the audio data and audio clock regeneration packet from the
auxiliary data stream before sending to the HDMI TX core auxiliary data port.
The Arria V and Stratix V Transceiver Native PHY (TX) configuration settings are
typically the same as RX.
Table 15. Arria V and Stratix V Transceiver Native PHY (TX) Configuration Settings
(6,000 Mbps)
This table shows an example of Arria V and Stratix V Transceiver Native PHY (TX) configuration settings for
TMDS bit rate of 6,000 Mbps.
Parameters Settings
Datapath Options
Enable TX datapath On
Bonding mode xN
32
4. HDMI Hardware Design Examples
683798 | 2021.11.12
TX PMA
Number of TX PLLs 1
Standard PCS
Table 16. Arria V and Stratix V Transceiver Native PHY (TX) Common Interface Ports
This table describes the Arria V and Stratix V Transceiver Native PHY (TX) common interface ports.
Clocks
tx_std_coreclkin[3:0] Input TX parallel clock that drives the write side of the TX phase
compensation FIFO.
Connect to tx_std_clkout[0] ports.
Resets
TX PLL
33
4. HDMI Hardware Design Examples
683798 | 2021.11.12
PCS Ports
PMA Port
Reconfiguration Ports
The reset controller has separate reset controls per channel to handle synchronization
of reset inputs, lagging of PLL locked status, and automatic or manual reset recovery
mode.
The oversampling factor is fixed at 5. The Oversampler (TX) assumes that the input
word is only valid every 5 clock cycles. This block enables when the outgoing data
stream is determined to be below the TX transceiver minimum link rate by reading
once from the DCFIFO every 5 clock cycles.
This clock enable pulse asserts every 5 clock cycles and serves as a read request
signal to clock the data out from DCFIFO.
34
4. HDMI Hardware Design Examples
683798 | 2021.11.12
The Clocked Video Input II (CVI II) Intel FPGA IP core converts clocked video formats
to Avalon-ST video by stripping incoming clocked video of horizontal and vertical
blanking, leaving only active picture data.
• The IP core provides clock crossing capabilities to allow video formats running at
different frequencies to enter the system.
• The IP core also detects the format of the incoming clocked video and provides
this information in a set of registers.
• The Nios II processor uses this information to reconfigure the video frame mode
registers of the CVO IP core in the VIP passthrough design.
The Video Frame Buffer II Intel FPGA IP core buffers video frames into external RAM.
• The IP core supports double and triple buffering with a range of options for frame
dropping and repeating.
• You can use the buffering options to solve throughput issues in the data path and
perform simple frame rate conversion.
In a VIP passthrough design, you can reference the HDMI source PLL and sink PLL
using separate clock sources. However, in a VIP bypass design, you must reference
the HDMI source PLL and sink PLL using the same clock source.
The Clocked Video Output II (CVO II) Intel FPGA IP core converts data from the flow-
controlled Avalon-ST video protocol to clocked video.
• The IP core provides clock crossing capabilities to allow video formats running at
different frequencies to be created from the system.
• It formats the Avalon-ST video into clocked video by inserting horizontal and
vertical blanking and generating horizontal and vertical synchronization
information using the Avalon-ST video control and active picture packets.
• The video frame is described using the mode registers that are accessed through
the Avalon-MM control port.
Table 17. Difference between VIP Passthrough Design and VIP Bypass Design
VIP Passthrough Design VIP Bypass Design
• Can reference the HDMI source PLL and sink PLL using • Must reference the HDMI source PLL and sink PLL
separate clock sources using the same clock source
• Demonstrates only certain video formats—640×480p60, • Demonstrates all video formats.
720×480p60, 1280×720p60, 1920×1080p60, and
3840×2160p24
Table 18. VIP Passthrough and VIP Bypass Options for the Supported Devices
Device Symbols Per HDMI Bitec HDMI HSMC Directory VIP VIP Bypass
Family Clock Specification 2.0 Daughter Card Passthrough
Support
35
4. HDMI Hardware Design Examples
683798 | 2021.11.12
For example, if the outgoing data stream is 6,000 Mbps, the Nios II processor
commands the I2C master controller to update the TMDS_Bit_Clock_Ratio and
Scrambler_Enable bits of the sink TMDS configuration register to 1. The same I2C
master can also transfer the DDC data structure (E-EDID) between the HDMI source
and external sink.
The CPU relies on the periodic rate detection from the Multirate Reconfig Controller
(RX) to determine if TX requires reconfiguration. The Avalon-MM slave translator
provides the interface between the Nios II processor Avalon-MM master interface and
the Avalon-MM slave interfaces of the externally instantiated HDMI source's PLL
Reconfig Intel FPGA IP and Transceiver Native PHY (TX).
36
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Reset the TX HDMI PLL and TX transceiver. Initialize the I2 C master controller core.
Poll periodic measure valid signal from RX rate detection circuit to determine whether TX
reconfiguration is required. Also, poll the TX hot-plug request to determine whether a TX
hot-plug event has occurred.
Measure Valid Received A TX Hot-Plug Event
Read TMDS_Bit_Clock_Ratio value from the HDMI Has Occurred
sink and the measure value.
Send SCDC via the I2C interface based on the
TMDS_Bit_Clock_Ratio register value from
Retrieve the clock frequency band based on the the HDMI sink.
measure and TMDS_Bit_Clock_Ratio values and read
the color depth information from the HDMI sink to
Reconfiguration determine whether TX HDMI PLL and TX transceiver
Is Not Required reconfiguration and oversampling is required.
Reconfiguration Is Required
The Nios II processor commands the I 2C master to
send SCDC information.
37
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Table 19. Intel FPGA Boards and Bitec HDMI HSMC 2.0 Daughter Cards Supported for
the Design
Bitec HDMI HSMC 2.0 Daughter
Design Example Intel FPGA Board
Card
Related Information
• Arria V GX Starter Kit User Guide
• Stratix V GX FPGA Development Kit User Guide
38
4. HDMI Hardware Design Examples
683798 | 2021.11.12
• Arria V
— 2 symbols per clock (HDMI 1.4b) demonstration: <IP root directory>/
altera_hdmi/hw_demo/av_sk
— 4 symbols per clock (HDMI 2.0b) demonstration: <IP root directory>/
altera_hdmi/hw_demo/av_sk_hdmi2
• Stratix V
— 2 symbols per clock (HDMI 2.0b) demonstration: <IP root directory>/
altera_hdmi/hw_demo/sv_hdmi2
You can use the provided Tcl script to build and compile the FPGA design.
1. Open a Nios II Command Shell.
2. Change the directory to your working directory.
3. Type the command and enter source runall.tcl.
This script executes the following commands:
• Generate IP catalog files
• Generate the Platform Designer system
• Create an Intel Quartus Prime project
• Create a software work space and build the software
• Compile the Intel Quartus Prime project
• Run Analysis & Synthesis to generate a post-map netlist for DDR assignments
—for VIP passthrough design only
• Perform a full compilation
Note: If you are a Linux user, you will get a message cygpath: command not
found. You can safely ignore this message; the script will proceed to
generate the next commands.
39
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Note: If the output does not appear, press cpu_resetn to reinitialize the system
or perform HPD by unplugging the cable from the standard source and plug
it back again.
4. Open the graphic card control utility (if you are using a PC as source). Using the
control panel, you can switch between various video resolutions.
The av_hdmi2 and sv_hdmi2 demonstration designs allow any video resolutions
up to 4Kp60. The av_sk design allows 640×480p60, 720×480p60, 1280×720p60,
1920×1080p60, and 3840×2160p24 when you select the VIP passthrough mode
(user_dipsw[0] = 0). If you select the VIP bypass mode (user_dipsw[0] =
1, the design allows any video resolutions up to 4Kp60.
RX oversampling status.
• 0: Non-oversampled (more than
611 Mbps for av_sk and sv_hdmi2,
more than 1,000 Mbps for
user_led[3] G17 AU24
av_sk_hdmi2)
• 1: Oversampled (less than 611
Mbps for av_sk and sv_hdmi2, less
than 1,000 Mbps for av_sk_hdmi2)
40
4. HDMI Hardware Design Examples
683798 | 2021.11.12
Pins
Push Button/
Functions
DIP Switch/LED
av_sk/av_sk_hdmi2 sv_hdmi2
• 0: Unlocked
• 1: Locked
TX oversampling status.
• 0: Non-oversampled (more than
611 Mbps for av_sk and sv_hdmi2,
more than 1,000 Mbps for
user_led[7] C16 AV10
av_sk_hdmi2)
• 1: Oversampled (less than 611
Mbps for av_sk and sv_hdmi2, less
than 1,000 Mbps for av_sk_hdmi2)
41
683798 | 2021.11.12
Send Feedback
5. HDMI Source
Figure 13. HDMI Source Signal Flow Diagram for TMDS (Support FRL = 0) Design
The figure below shows the flow of the HDMI source signals. The figure shows the various clocking domains
used within the core.
Encoder Control Port
HDCP Port
Video Video Data (Red Channel) Video WOP Scrambler, TMDS Data (Red Channel) TMDS
Data Video Data (Green Channel) HDCP 2.3 HDCP 1.4 TMDS/TERC4 TMDS Data (Green Channel)
Resampler Generator TX TX Data
Port Video Data (Blue Channel) Encoder TMDS Data (Blue Channel)
Multiplexer TMDS Data (Clock Channel) Port
Auxiliary Packet AUX AUX
General Control Packet Generator
AVI InfoFrame AVI Control Auxiliary Packet
Auxiliary Generator Multiplexer
Vendor-Specific AUX
Control Auxiliary Packet
Infoframe VSI Control
Port Generator
Auxiliary
Auxiliary Data Port Auxiliary Packet Packet
Dropper Encoder
Multiplexer
Audio Metadata Auxiliary Packet
AM Control Generator
Audio Clock Timestamp Auxiliary Packet
Audio Regeneration (N, CTS) Scheduler Generator
Port Auxiliary Packet
Audio Infoframe AI Control Generator
The source core provides four 20-bit parallel data paths corresponding to the 3 color
channels and the clock channel.
The source core accepts video, audio, and auxiliary channel data streams. The core
produces a scrambled and TMDS/TERC4 encoded data stream that would typically
connect to the high-speed transceiver parallel data inputs.
Note: The scrambled data only applies for HDMI 2.0b stream with TMDS Bit Rate higher than
3.4 Gbps.
Central to the core is the Scrambler, TMDS/TERC4 Encoder. The encoder processes
either video or auxiliary data.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
5. HDMI Source
683798 | 2021.11.12
Figure 14. HDMI Source Signal Flow Diagram for Support FRL = 1 Design
Encoder Control Port
HDCP Port
Auxiliary FRL
Audio Infoframe AI Control Packet Resampler
Generator
Multiplexer
Auxiliary
Audio Sample Audio Packetizer Packet
Generator
Multiplexer
For FRL path design, the video resampler and WOP generator operating at video clock
domain accept video data running in the video clock (vid_clk) domain. The auxiliary
data port, audio data port, and the auxiliary sideband signals also run in the video
clock domain.
• A DCFIFO clocks the HDMI data stream from the WOP generator in the video clock
domain to the scrambler, TMDS/TERC4 encoder in the transceiver recovered clock
(tx_clk) domain to create a TMDS data stream.
• The HDMI data stream is also fed into the FRL path in FRL clock (frl_clk)
domain to create an FRL data stream.
The multiplexer selects either TMDS data stream or FRL data stream as output data
for lanes 0–3 based on the FRL rate.
• If FRL rate is 0, the multiplexer selects TMDS data streams as output.
• If FRL rate is non-zero, the multiplexer selects FRL data streams as output.
The encoder processes symbol data at 1, 2, or 4 symbols per clock. When the encoder
operates in 2 or 4 symbols per clock, it also produces the output in the form of two or
four encoded symbols per clock.
The TMDS/TERC4 encoder also produces digital visual interface (DVI) signaling when
you deassert the mode input signal. DVI signaling is identical to HDMI signaling,
except for the absence of data and video islands and TERC4 auxiliary data.
43
5. HDMI Source
683798 | 2021.11.12
The gearbox converts data of 8, 10, 12, or 16 bits per component to 8-bit per
component data based on the current color depth. The General Control Packet (GCP)
conveys the color depth information.
The HDMI cable may send across four different pixel encodings: RGB 4:4:4, YCbCr
4:4:4, and YCbCr 4:2:2 (as described in HDMI 1.4b Specification Section 6.5), and
YCbCr 4:2:0 (as described in HDMI 2.0b Specification Section 7.1).
47 32 31 16 15 0 vid_data[47:0]
44
5. HDMI Source
683798 | 2021.11.12
Figure 17. Pixel Data Input Format YCbCr 4:2:2 (12 bpc)
The figure below shows the YCbCr 4:2:2 color space pixel bit-field mappings per symbol. As with 4:4:4 color
space, the unused LSBs are set to zero.
47 40 31 24 15 8 0
Cb/Cr[11:4] Y[11:4]
Cb/Cr[3:0] Y[3:0]
The higher order 8 bits of the Y samples are mapped to the 8 bits of Channel 1 and
the lower order 4 bits are mapped to the lower order 4 bits of Channel 0.
The first pixel transmitted within a Video Data Period contains three components, Y0,
Cb0 and Cr0. The Y0 and Cb0 components are transmitted during the first pixel period
while Cr0 is transmitted during the second pixel period. This second pixel period also
contains the only component for the second pixel, Y1. In this way, the link carries one
Cb sample for every two pixels and one Cr sample for every two pixels. These two
components (Cb and Cr) are multiplexed onto the same signal paths on the link.
The two horizontally successive 8-bit Y components are transmitted in TMDS Channels
1 and 2, in that order. The 8-bit Cb or Cr components are transmitted alternately in
TMDS Channel 0, line by line.
The frequency of vid_clk must be halved when YCbCr 4:2:0 is used, because two
pixels are fed into a single clock cycle.
45
5. HDMI Source
683798 | 2021.11.12
Figure 19. YCbCr 4:2:0 Transport Using 1 Symbol Per Clock Mode
The figure below shows the YCbCr 4:2:0 transmission when the core operates in 1 symbol per clock mode.
vid_clk = pixel clock / 2
(Channel 2) vid_data[47:32] Y01 Y03 Y05 Y07 Y11 Y13 Y15 Y17
(Channel 1) vid_data[31:16] Y00 Y02 Y04 Y06 Y10 Y12 Y14 Y16
(Channel 0) vid_data[15:0] Cb00 Cb02 Cb04 Cb06 Cr10 Cr12 Cr14 Cr16
During horizontal blanking region, the WOP generator creates a leading region to hold
at least 12 period symbols that include eight preamble symbols. The generator also
creates a trailing region to hold two data island trailing guard band symbols, at least
12 control period symbols that include eight preamble symbols and two video leading
guard band symbols.
During vertical blanking region, the source cannot send more than 18 auxiliary
packets consecutively. The WOP generator deasserts the data island output enable
(aux_wop) line after every 18th auxiliary packet for 32-symbol clocks.
The WOP generator also has an integral number of auxiliary packet cycles: 24 clocks
when processing in 1-symbol mode, 16 clocks when processing in 2-symbol mode,
and 8 clocks when processing in 4-symbol mode.
The auxiliary packets originate from several sources, which are multiplexed into the
auxiliary packet encoder in a round-robin schedule. The auxiliary packet encoder
converts a standard stream into the channel data format required by the TERC4
encoder.
46
5. HDMI Source
683798 | 2021.11.12
The auxiliary packet encoder also calculates and inserts the Bose-Chaudhuri-
Hocquenghem (BCH) error correction code.
Startofpacket
Endofpacket
Clock
Cycle 1 Symbol 0 - - 8 - - 16 - - 24
Cycle 2 Symbol 0 - - 4 - - 8 - - 12
Cycle 4 Symbol 0 - - 2 - - 4 - - 6
The encoder assumes the data valid input will remain asserted for the duration of a
packet to complete. A packet is always 24 clocks (in 1-symbol mode), 12 clocks (in 2-
symbol mode), or 6 clocks (in 4-symbol mode).
47
5. HDMI Source
683798 | 2021.11.12
aux_wop
aux_de
Auxilliary Packet AD AD AD AD AD AD AD AD AD AD AVI AI VSI
Clock Cycle 0 31 63 95 575
AD: Audio Data
AVI: Auxilliary Video Infoframe
AI: Audio Information Infoframe
VSI: Vendor Specific Infoframe
The packet generator propagates backpressure from the output ready signal to the
input ready signal. The generator asserts the input valid signal when a packet is ready
to be transmitted. The input valid signal remains asserted until the end of the packet
and the generator receives a ready acknowledgment.
The various auxiliary packet generators traverse a multiplexed routing path to the
auxiliary packet encoder. The multiplexers obey a round-robin schedule and propagate
backpressure.
These packets are: General Control Packet, Auxiliary Video Information (AVI)
InfoFrame, and HDMI Vendor Specific InfoFrame (VSI).
The core sends the default values in the auxiliary packets. The default values allow the
core to send video data compatible with the HDMI 1.4b Specification with minimum
description.
You can also override the generators using the customized input values. The override
values replace the default values when the input checksum is non-zero.
48
5. HDMI Source
683798 | 2021.11.12
General Control Packet – The core always inserts GCP packets from the Once per frame.
(GCP) GCP sideband upon the rising edge of vsync.
The core always removes the GCP in the
Auxiliary Data Port.
You must provide the pixel packing and color
depth information through the gcp port.
Auxiliary Video info_avi[112]=1'b0 The core inserts info_avi when there is a Once per frame.
Information (AVI) non-zero bit upon the rising edge of vsync.
InfoFrame
The core send default values when all bits are
zero. The core filters the AVI InfoFrame packet
on the Auxiliary Data Port.
Vendor Specific info_vsi[61]=1'b0 The core inserts info_vsi[60:0] when there Once per frame.
InfoFrame (VSI) is a non-zero bit upon the rising edge of
vsync.
The core sends default values when all bits are
zero. The core filters the VSI InfoFrame packet
on the Auxiliary Data Port.
Audio Metadata (AM) audio_metadata[165]=1'b0 The core inserts audio_metadata[164:0] when Once per frame.
audio_format[3:0] is 3D audio or MST
audio upon the rising edge of vsync.
The core filters the AM packet on the Auxiliary
Data Port.
Audio InfoFrame (AI) audio_info_ai[48]=1'b0 The core inserts audio_info_ai[47:0] when Once per frame.
there is a non-zero bit upon the rising edge of
vsync.
The core sends default values when all bits are
zero. The core filters the AI packet on the
Auxiliary Data Port.
Audio Control – The core always inserts the audio_N and Every 1 ms.
Regeneration (ACR) audio_CTS.
The core does not filter the ACR packet in the
auxiliary. If there is ACR packet in the Auxiliary
Data Port, you must remove it before passing
into the Auxiliary Data Port.
49
5. HDMI Source
683798 | 2021.11.12
0 1 0 1 10 bpc or 30 bpp
0 1 1 0 12 bpc or 36 bpp
0 1 1 1 16 bpc or 48 bpp
Others Reserved
All other fields for the source GCP, (for example, Pixel Packing Phase and Default
Phase as described in HDMI 1.4b Specification Section 5.3.6) are calculated
automatically inside the core. You must provide the bit-field values in the table above
through the source gcp[5:0] port. The GCP on the Auxiliary Data Port will always be
filtered.
Table 23. Source Auxiliary Video Information (AVI) InfoFrame for Support FRL = 0
Designs
The signal bundle is clocked by ls_clk for Support FRL = 0 designs.
50
5. HDMI Source
683798 | 2021.11.12
By default, the HDMI source sets the AVI version to version 2. If the value of
info_avi[30:28] (EC2, EC1, EC0) is 3’b111, then the HDMI source sets the AVI
version to version 4. If the value of info_avi[39] is 1’b1 (VIC >= 128) or
info_avi[15] (Y2) is set to 1, the HDMI source sets the AVI version to version 3.
Table 24. Source Auxiliary Video Information (AVI) InfoFrame for Support FRL = 1
Designs
This signal bundle is clocked by vid_clk for Support FRL = 1 designs.
51
5. HDMI Source
683798 | 2021.11.12
121:120 – Reserved –
122 Control Disables the core from inserting the InfoFrame 2’h0
packet.
• 1: The core does not insert
info_avi[120:0]. The AVI InfoFrame
packet on the Auxiliary Data Port passes
through.
• 0: The core inserts info_avi[120:0] when
there is a non-zero bit. The core sends default
values when all bits are zero. The core filters
the AVI InfoFrame packet on the Auxiliary
Data Port.
Note: For the HDMI Forum-VSI InfoFrame (HF-VSIF) transmission, use external VSI by asserting
control bit to 1 and send the data through the Auxiliary Data Port.
52
5. HDMI Source
683798 | 2021.11.12
The Audio Clock Regeneration packet contains the CTS and N values.
Note: You need to provide these values as recommended in HDMI 1.4b Specification, Section
7.2.1 through 7.2.3 and HDMI 2.0b Specification, Section 9.2.1 for TMDS mode and
HDMI 2.1 Specification, Section 9.2.2 for FRL mode.
The core schedules this packet to be sent every ms. The timestamp scheduler uses
the audio_clk and N value to determine a 1-ms interval. The audio data queues on a
DCFIFO. The core also uses the DCFIFO to synchronize its clock to ls_clk when you
turn off Support FRL and synchronized to vid_clk when you turn on Support FRL.
The Audio Packetizer packs the audio data into the Audio Sample packets according to
the specified audio format (as described in HDMI 1.4b Specification Section 5.3.4). An
Audio Sample packet can contain up to 4 audio samples, based on the required audio
sample clock. The core sends the Audio Sample packets whenever there is an
available slot in the auxiliary packet stream.
The core determines the payload data packet type from the audio_format[3:0]
signal.
53
5. HDMI Source
683798 | 2021.11.12
0 Linear Pulse-Code Modulation (LPCM) Use packet type 0x02 to transport payload data
6 Multi-Stream(MST) Audio for LPCM Use packet type 0x0E to transport payload data
Others – Reserved
The 32-bit audio data is packed in IEC-60958 standard. The least significant word is
the left channel sample.
The audio_data port is always at a fixed value of 256 bits. In the LPCM format, the
core can send up to 8 channels of audio data.
• Channel 1 audio data should be present at audio_data[31:0].
• Channel 2 audio data should be present at audio_data[63:32] and so on.
The Sample Present (SP) bit determines whether to use 2-channel or 8-channel
layout. If one or more SP bit from Channel 2-7 is high, then the core uses the 8-
channel layout. Otherwise, the core uses the 2-channel layout. The core ignores all
other fields if the SP bit is 0.
The core requires an audio_de port for designs in which the audio_clk port
frequency is higher than the actual audio sample clock. The audio_de port qualifies
the audio data. If audio_clk is the actual audio sample clock, you can tie the
audio_de signal to 1. For audio channels fewer than 8, insert 0 to the respective
audio data of the unused audio channels.
The Audio Clock Regeneration and Audio Sample packets on the Auxiliary Data Port
are not filtered by the core. You must filter these packets externally if you want to
loop back the auxiliary data stream from the sink.
54
5. HDMI Source
683798 | 2021.11.12
3D Audio Format
audio_data[223:192] S0_Ch7 S0_Ch15 S0_Ch23 S0_Ch31 S0_Ch7 S0_Ch15 S0_Ch23 S0_Ch7 0 S1_Ch7 0
audio_data[191:160] S0_Ch6 S0_Ch14 S0_Ch22 S0_Ch30 S0_Ch6 S0_Ch14 S0_Ch22 S0_Ch6 0 S1_Ch6 0
audio_data[159:128] S0_Ch5 S0_Ch13 S0_Ch21 S0_Ch29 S0_Ch5 S0_Ch13 S0_Ch21 S0_Ch5 0 S1_Ch5 0
audio_data[127:96] S0_Ch4 S0_Ch12 S0_Ch20 S0_Ch28 S0_Ch4 S0_Ch12 S0_Ch20 S0_Ch4 S0_Ch12 S1_Ch4 S1_Ch12
audio_data[95:64] S0_Ch3 S0_Ch11 S0_Ch19 S0_Ch27 S0_Ch3 S0_Ch11 S0_Ch19 S0_Ch3 S0_Ch11 S1_Ch3 S1_Ch11
audio_data[63:32] S0_Ch2 S0_Ch10 S0_Ch18 S0_Ch26 S0_Ch2 S0_Ch10 S0_Ch18 S0_Ch2 S0_Ch10 S1_Ch2 S1_Ch10
audio_data[31:0] S0_Ch1 S0_Ch9 S0_Ch17 S0_Ch25 S0_Ch1 S0_Ch9 S0_Ch17 S0_Ch1 S0_Ch9 S1_Ch1 S1_Ch9
audio_format[3:0] 4 4 4 4
audio_format[4]
In MST format, the core sends 2, 3, or 4 streams of audio. For audio streams fewer
than 4, you must set the respective audio data to zero for the unused streams as
shown in the figure below.
55
5. HDMI Source
683798 | 2021.11.12
Table below lists the AI signal bit-fields (as described in HDMI 1.4b Specification Section 8.2.2). The signal
bundle is clocked by ls_clk for Support FRL = 0 designs and by vid_clk for Support FRL = 1 designs.
56
5. HDMI Source
683798 | 2021.11.12
The core sends the AM packet on the active edge of the V-SYNC signal to ensure that
the packet is sent once per field. The signal bundle of audio_metadata[165:0] is
clocked by ls_clk for Support FRL = 0 designs and by vid_clk for Support FRL =
1 designs.
Table 28. Audio Metadata Bundle Bit-Fields for Packet Header and Control
Table below lists the AM signal bit-fields for packet header (as described in the HDMI 2.0b Specification Section
8.3) and control.
Table 29. Audio Metadata Bundle Bit-Fields for Packet Content when 3D_AUDIO = 1
Table below lists the AM signal bit-fields for packet content when 3D_AUDIO = 1 (as described in the HDMI
2.0b Specification Section 8.3.1).
Table 30. Audio Metadata Bundle Bit-Fields for Packet Content when 3D_AUDIO = 0
Table below lists the AM signal bit-fields for packet content when 3D_AUDIO = 0 (as described in the HDMI
2.0b Specification Section 8.3.2).
57
5. HDMI Source
683798 | 2021.11.12
44:21 Language_Code_0 Audio stream language (Subpacket 0 in MST Audio Sample Packet)
84:61 Language_Code_1 Audio stream language (Subpacket 1 in MST Audio Sample Packet)
124:101 Language_Code_2 Audio stream language (Subpacket 2 in MST Audio Sample Packet)
58
5. HDMI Source
683798 | 2021.11.12
136 Suppl_A_Mixed_3 Mix of main audio components and a supplementary audio track
(Subpacket 3 in MST Audio Sample Packet)
164:141 Language_Code_3 Audio stream language (Subpacket 3 in MST Audio Sample Packet)
59
5. HDMI Source
683798 | 2021.11.12
HDCP
Key Port CTL
(KM Gen) SHA-1
Authentication
Layer
TRNG
HDCP Cipher
The Nios II processor typically drives the HDCP 1.4 TX core. The processor implements
the authentication protocol. The processor accesses the IP through the Control and
Status Port using Avalon Memory Mapped (Avalon-MM) interface.
The HDCP specifications requires the HDCP 1.4 TX core to be programmed with the
DCP-issued production keys – Device Private Keys (Akeys) and Key Selection Vector
(Aksv). The IP retrieves the key from the on-chip memory externally to the core
through the HDCP Key Port. The on-chip memory must store the key data in the
arrangement in the table below.
6'h27 Akeys39[55:0]
6'h26 Akeys38[55:0]
continued...
60
5. HDMI Source
683798 | 2021.11.12
Address Content
... ...
6'h01 Akeys01[55:0]
6'h00 Akeys00[55:0]
When authenticating with the HDCP 1.4 repeater device, the HDCP 1.4 TX core must
perform the second part of the authentication protocol. This second part corresponds
to the computation of the SHA-1 hash digest for all downstream device KSVs which
are written to the registers in Control and Status Register Layer using the Control and
Status Port (Avalon-MM).
The Video Stream and Auxiliary layer receives audio and video content over its Video
and Aux Data Input Port, and performs the encryption operation. The Video Stream
and Auxiliary Layer detects the Encryption Status Signaling (ESS) provided by the
HDMI TX core to determine when to encrypt frames.
You can use the HDCP 1.4 registers to customize your design configurations. The
HDCP 1.4 TX core supports full handshaking mechanism for authentication. Every
issued command should be followed by polling of the assertion of its corresponding
status bit before proceeding to issuing the next command. The value of AUTH_CMD
must be in one-hot format that only one bit can be set at a time.
4 Reserved Reserved.
61
5. HDMI Source
683798 | 2021.11.12
4 Reserved Reserved
62
5. HDMI Source
683798 | 2021.11.12
0 Reserved Reserved.
63
5. HDMI Source
683798 | 2021.11.12
Color Legend:
Control & Status Regs csr_clk
Register Layer crypto_clk
Is_clk
TRNG
HDCP RSA
Key Port
Authentication & Authenticator
Cryptographic Layer (MGF1, HMAC) Dual Port Memories
SHA256
AES128 (Block)
The Nios II processor typically drives the HDCP 2.3 TX core. The processor implements
the authentication protocol. The processor accesses the IP through the Control and
Status Port using Avalon Memory Mapped (Avalon-MM) interface.
The HDCP specifications requires the HDCP 2.3 TX core to be programmed with the
DCP-issued production key – Global Constant (lc128). The IP retrieves the key from
the on-chip memory externally to the core through the HDCP Key Port. The on-chip
memory must store the key data in the arrangement in the table below.
2'h3 lc128[127:96]
2'h2 lc128[95:64]
2'h1 lc128[63:32]
2'h0 lc128[31:0]
The Video Stream and Auxiliary Layer receives audio and video content over its Video
and Aux Data Input port, and performs the encryption operation. The Video Stream
and Auxiliary Layer detects the Encryption Status Signaling (ESS) provided by the
HDMI TX core to determine when to encrypt frames.
You can use the HDCP 2.3 registers to perform authentication. The HDCP 2.3 TX core
supports full handshaking mechanism for authentication. Every issued command
should be followed by polling of the assertion of its corresponding status bit before
proceeding to issuing the next command. The value of CRYPTO_CMD must be in one-
hot encoding format that only one bit can be set at a time.
64
5. HDMI Source
683798 | 2021.11.12
65
5. HDMI Source
683798 | 2021.11.12
66
5. HDMI Source
683798 | 2021.11.12
67
5. HDMI Source
683798 | 2021.11.12
68
5. HDMI Source
683798 | 2021.11.12
Each FRL packet comprises a single map character of 0 to 1022 data characters.
Each Character Block contains up to 502 FRL characters transporting FRL packets and
eight FRL characters carrying Reed-Solomon parity data.
Each FRL Super Block is preceded by a group of three or four Start Super Blocks (SSB)
or a group of three or four Scrambler Reset (SR) characters. SSB and SR characters
are comma characters used by a receiver for character alignment.
The IP demultiplexes the data on the link into four RS blocks to create the RS parity
words. The parity data are interleaved onto the data lanes.
p(x)= X8 + x4 + x3 + x2 + 1
The IP then encodes the scrambled data into FRL characters using 16B/18B encoding.
In FRL path, the IP processes video data in FRL characters per clock*18 bits. FRL
characters per clock are always 16. The mixed-width FIFO converts the data width into
(Number of lanes*Effective transceiver width) bits width. For each link rate, the
frl_clk and tx_clk frequency is reconfigured to the specific ratio to keep the
throughput of the data the same from frl_clk domain to tx_clk domain.
69
5. HDMI Source
683798 | 2021.11.12
5.1.16. TX Oversampler
The TX oversampler transmits data by repeating each bit of the input word a given
number of times and constructs the output words.
There are three possible oversampling factors: 3, 4, and 5. The oversampler assumes
that the input word is only valid for the number of clock cycles defined by the
oversampling factor. The oversampler is enabled when the outgoing data stream is
determined to be below the TX transceiver minimum data rate. The oversampler then
reads the DCFIFO once every number of clock cycles determined by the oversampling
factor.
This clock enable pulse asserts every number of clock cycles defined by the
oversampling factor and serves as a read request signal to clock the data out from the
DCFIFO.
Figure 28. Oversampling Blocks and Clock Enable Blocks When Support FRL = 0
tx_os
70
5. HDMI Source
683798 | 2021.11.12
Figure 29. Oversampling Blocks and Clock Enable Block When Support FRL = 1
tx_os:
0 - FRL mode
1 - TMDS mode (1 Gbps < rate ≤ 6 Gbps)
2 - TMDS mode (rate ≤ 1 Gbps)
Enable Enable
(tx_os ! = 0) Oversample (tx_os = = 2) Oversample
DCFIFO
40
(x2) 40 40
(x4) 40
Inner core video out: rd_req Core video out
FRL mode - 40b
TMDS mode - 20b Clock Enable (x4)
(actual data width)
The HDMI source uses the I2C core to communicate with the SCDC and EDID from the
HDMI sink through the DDC signals.
Related Information
Embedded Peripherals IP User Guide
For more information about the Intel FPGA Avalon I2C core.
71
5. HDMI Source
683798 | 2021.11.12
72
5. HDMI Source
683798 | 2021.11.12
73
5. HDMI Source
683798 | 2021.11.12
Video Data Port Conduit vid_clk vid_data[N*48-1:0] Input Video 48-bit pixel data input
port. For N pixels per clock,
this port accepts N 48-bit
pixels per clock.
74
5. HDMI Source
683798 | 2021.11.12
TMDS/FRL Data Conduit Support out_b[transceiver Output When in TMDS mode, this
Port FRL=1: width-1:0] signal is TMDS encoded blue
tx_clk channel (0) output.
When in FRL mode, this
Support signal is FRL lane 0.
FRL =0:
• When Support FRL = 0,
ls_clk
transceiver width is
configured to 20 bits.
• When Support FRL = 1,
transceiver width is
configured to 40 bits.
Note: For TMDS mode,
only the 20 bits from
the least significant
bits are used. For
FRL mode, all 40 bits
are used.
75
5. HDMI Source
683798 | 2021.11.12
76
5. HDMI Source
683798 | 2021.11.12
n*6+5 CTL3
n*6+4 CTL2
n*6+3 CTL1
n*6+2 CTL0
77
5. HDMI Source
683798 | 2021.11.12
Auxiliary Data Conduit aux_clk aux_ready Output Auxiliary data channel ready
Port (Applicable output. Asserted high to
only when you indicate that the core is
enable ready to accept data.
Support
auxiliary Conduit aux_clk aux_valid Input Auxiliary data channel valid
parameter) (7) input to qualify the data.
(7)
aux_clk = ls_clk (Support FRL = 0)
aux_clk = vid_clk (Support FRL = 1)
78
5. HDMI Source
683798 | 2021.11.12
Audio Port Conduit audio_clk audio_CTS[19:0] Input Audio CTS value input.
(Applicable only
when you Conduit audio_clk audio_N[19:0] Input Audio N value input.
enable
Support Conduit audio_clk audio_data[255:0] Input Audio data input.
auxiliary and For audio channel values,
Support audio refer to Table 38 on page
parameters) (7) 84.
Bit-Field Description
continued...
79
5. HDMI Source
683798 | 2021.11.12
4 Assert to
indicate the
first 8 channels
of each 3D
audio sample.
Hot Plug Detect Conduit – tx_hpd Input Detects the Hot Plug Detect
(HPD) status. This signal
should be driven with the
same signal to the HPD pin
on the HDMI connector.
80
5. HDMI Source
683798 | 2021.11.12
tx_hpd_req signal
deasserts if the tx_hpd
signal is not detected.
I2C Master Conduit – i2c_scl Inout The SCL signal from the I2C
Interface Port bus on the HDMI connector.
Note: This signal is not
available if you turn
off the Include I2C
parameter.
81
5. HDMI Source
683798 | 2021.11.12
82
5. HDMI Source
683798 | 2021.11.12
83
5. HDMI Source
683798 | 2021.11.12
Table 36. out_c Value for TMDS Bit Rate Less than 3.4 Gbps
TMDS_Bit_clock_Ratio = 0 and out_c value is constant.
N out_c Value
1 10'b1111100000
2 20'b1111100000_1111100000
4 40'b1111100000_1111100000 1111100000_1111100000
Table 37. out_c Value for TMDS Bit Rate Greater than 3.4 Gbps in TMDS Mode
TMDS_Bit_clock_Ratio = 1 and out_c value is repeated indefinitely.
N out_c Value
84
5. HDMI Source
683798 | 2021.11.12
tx_clk[1]
wrclk rdclk Oversampling
0 HSSI[1]
DCFIFO Logic
1
tx_clk[3]
wrclk rdclk Oversampling
0 HSSI[3]
DCFIFO Logic
1
For HDMI source, you must instantiate 4 transceiver channels: 3 channels to transmit
data and 1 channel to transmit clock information.
Oscillator
(100 MHz)
Video clock
(vid_clk)
Oscillator
(225 MHz)
When Support FRL =1, the transceiver PLL has two reference clocks:
• Reference clock 0 supplied with arbitrary TMDS clock frequency from a
programmable oscillator.
• Reference clock 1 supplied with free running 100 MHz clock.
The transceiver PLL switches between reference clock 0 and reference clock 1 in TMDS
and FRL modes.
85
5. HDMI Source
683798 | 2021.11.12
Programamable Oscillator
(configured to TMDS clock frequency) Transceiver Clock Out
(tx_clk)
refclk HSSI
outclk0
outclk0 Link Speed Clock
(ls_clk)
refclk GPLL
outclk1
outclk0 Video Clock
(vid_clk)
When Support FRL =0, the transceiver PLL in high-speed serial interface (HSSI) block
only has one reference clock which supplied with arbitrary TMDS clock frequency from
a programmable oscillator.
The video data clocks into the core at vid_clk, the TMDS or FRL data clocks out from
the core at tx_clk (Support FRL = 1) or ls_clk (Support FRL = 0), and the FRL
data clocks with frl_clk.
If an application requires low TMDS Bit Rate (below the transceiver minimum data rate
requirement), then the application needs a user logic consisting of a DCFIFO and
oversampling logic.
• The DCFIFO synchronizes the TMDS data from ls_clk to a faster transceiver
output clock (tx_clk[0]). This DCFIFO is not required when Support FRL =1.
• The oversampling logic repeats each bit of the TMDS data a given number of
times.
• When you enable the oversampling control bit, the transceiver transmits the TMDS
data between the HDMI source core and the oversampling logic.
• You can use tx_clk[0] across four channels if the transceiver is in bonding
mode.
When Support FRL = 0, if an application does not require low TMDS Bit Rate, you can
connect the core output directly to the transceiver with tx_clk[0] driving the core
ls_clk. You do not require the GPLL to generate CLK1 (ls_clk).
86
5. HDMI Source
683798 | 2021.11.12
Related Information
• HDMI Hardware Design Examples for Arria V and Stratix V Devices on page 22
• HDMI Hardware Design Examples for Intel Arria 10, Intel Cyclone 10 GX, and Intel
Stratix 10 Devices on page 21
Instead, the Nios II software manages the link training process, which is
demonstrated in the Intel Arria 10/Intel Stratix 10 FRL design example.
Implement the link training external to the HDMI TX core according to the TX link
training flow diagram shown below. The HDMI TX core generates different link training
patterns on each lane based on your input through the scdc_frl_pattern port
when scdc_frl_start is deasserted. When scdc_frl_start is asserted, the
source core generates normal video.
87
5. HDMI Source
683798 | 2021.11.12
No
TX Transceiver is ready?
LTS:1
Yes
If SCDC_Present == 1? Set frl rate = 0
LTS:2
No
Check flt_ready
Yes
If FLT_Update == 1? Clear FLT_Update
Set the frl rate
No
LTS:3
No
FLT_update == 1?
Yes
Yes
LTS:P LTP_chx == 0?
No Indicate link
Yes Yes training failed
No LTP_chx == 0xF? FRL rate == 0?
FLT_start == 1?
No No
Write LTP
Clear FRL start LTS:4
Set frl_start to 1 to Lower FRL rate
send normal video Clear Set new FRL rate
FLT_UPDATE Wait for TX transceiver to be ready
Clear FLT Update
No
FLT_update == 1?
Yes
Clear FLT update
Set LTP to 0x2 to stop
data transmission
Set frl_start to 0
The vid_valid signal at the HDMI TX core qualifies the validity of the data for every
clock cycle. Due to the timing consideration on maximum FRL data rate, the
transceiver width is set to 40 bits.
88
5. HDMI Source
683798 | 2021.11.12
In the FRL clock domain, the TX core always processes the data in multiple of 18 bits
because of the 16B/18B encoder in the FRL path. The FRL modules can process N (FRL
char per clock) FRL characters in parallel. However, the FRL modules always process 8
or 16 FRL characters per clock due to timing considerations.
Hence, frl_clk frequency = (data rate per lane * number of lanes) / (FRL char per
clock*18)
Similarly, in the vid_clk domain, the TX core processes data in multiples of pixels
(24 bits) in parallel. You can configure the number of pixels to be processed in parallel
through the pixels per clock GUI parameter. However, due to timing consideration and
backward compatibility, the IP sets the pixels per clock to 2 when you turn off
Support FRL, and to 8 when you turn on Support FRL. Because the actual pixel
clock may differ based on different resolutions, you can configure vid_clk to the
maximum frequency per the specified link rate according to the following calculation:
Note: Because vid_clk can be asynchronous to frl_clk and ls_clk, you can set the
vid_clk frequency according to the maximum pixel frequency of the highest allowed
resolution divided by 8, to simplify the clocking scheme. Intel recommends that you
set the vid_clk frequency to 225 MHz, as demonstrated in the HDMI Intel FPGA IP
FRL design example.
Pixels per clock*24 bits width Number of FRL characters per clock*18 bits width No of lanes*Transceiver width
VID FRL LS
vid_clk = Max supported pixel clock / frl_clk = (Data rate per lane*4)/ Is_clk = (Data rate per lane*number of lanes)/
Pixels per clock (Number of FRL characters per clock*18) (Number of lanes*transceiver witdh)
Table 39. Clock Frequencies for FRL Mode at Different Link Rates
FRL Rate TX PLL Refclk TX Clkout Maximum vid_clk frl_clk Frequency (MHz)
Frequency (MHz) Frequency (MHz) Frequency (MHz)
Intel Arria 10 Intel Stratix 10
Devices Devices
89
5. HDMI Source
683798 | 2021.11.12
Table 40. Clock Frequencies for TMDS Mode at Different Link Rates
TMDS_BIT_ TMDS Refclk TX PLL Refclk TX Clkout ls_clk Frequency vid_clk Frequency
CLOCK_RAT (MHz) Frequency (MHz) Frequency (MHz) (MHz) (MHz)
IO
Min Max Min Max Min Max Min Max Min Max
TMDS_BIT_
CLOCK_RAT 25.00 100.00 25.00 100.00 100.00 400.00 12.50 50.00 3.13 12.5
IO = 0
TMDS_BIT_
CLOCK_RAT 100.00 340.00 100.00 340.00 50.00 170.00 50.00 170.00 12.50 42.50
IO = 0
TMDS_BIT_
CLOCK_RAT 85.00 150.00 85.00 150.00 170.00 300.00 170.00 300.00 42.50 75.00
IO = 1
To generate video data, you need to use the actual pixel clock but vid_clk runs at a
faster frequency. You can use a FIFO buffer to clock the data between the actual pixel
clock and vid_clk while generating the valid video data (vid_valid) based on the
inverted empty FIFO buffer.
For example, when operating at 8 Gbps link rate while transmitting 7680 x 4320p30
RGB resolution, a test pattern generator configured at 8 pixels in parallel runs at
148.5 MHz with the vid_clk domain of the HDMI TX core operating at 166.67 MHz.
Like this case, not every vid_clk has valid video data. You can handle similar cases
using the inverted empty signal of the DCFIFO.
When vid_clk runs at a faster frequency than the actual pixel clock frequency/pixels
per clock, toggle vid_valid to qualify the video data.
vid_valid vid_valid
generation frl_clk Domain ls_clk Domain
Test Pattern Generator vid_clk Domain
(8Kp30 RGB) (16 FRL character (40-bit transceiver
(8 pixels per clock)
(Actual pixel clock/pixel per clock per clock) width)
= 148.5 Mhz) Video
(8 pixels per clock)
225 MHz
90
5. HDMI Source
683798 | 2021.11.12
When you connect the test pattern generator to the HDMI TX core which runs at a
faster clock rate, you need to generate the vid_valid to qualify validity of the pixel
data. There is a requirement for the vid_valid generation to ensure the video data
evenly distributed across the link bandwidth. An example for the vid_valid generation
is as below:
First, you need to calculate the ratio of the pixel rate to the vid_clk frequency. For
example, 8Kp30 video at 8 pixels per clock which runs at vid_clk of 225Mhz, the ratio
is
Then, you will need to create a logic to generate the vid_valid according to the
calculated ratio. For the example above, the vid_valid should be evenly asserted for 33
clock cycles for every 50 clock cycles.
When vid_clk runs at the actual pixel clock frequency/pixels per clock, vid_valid
should always remain asserted.
ls_clk frequency = data rate per lane / effective transceiver width = data rate per
lane / 20
vid_clk frequency = (data rate per lane / effective transceiver width) / color depth
ratio
91
5. HDMI Source
683798 | 2021.11.12
8 1.6
10 1.25
12 1.5
16 2.0
ls_clk
vid_clk
ls_clk
vid_clk
ls_clk
vid_clk
92
5. HDMI Source
683798 | 2021.11.12
IOPLL
tx_clk
Programmable Oscillator 100 MHz
(TMDS clock frequency)
The vid_ready signal toggles to indicate if the HDMI TX core is ready to take in new
video data. In this case, you can use a DCFIFO IP to store the video data when the
HDMI TX core is not ready (vid_ready is low). You need to configure the DCFIFO IP
to show-ahead mode, with the vid_ready signal connected to the rden signal of
the DCFIFO IP.
When vid_ready is low, the DCFIFO IP holds the video data immediately. When
vid_ready goes high, the HDMI TX core processes the stored data without losing any
valid video data.
The inverted empty signal from the DCFIFO IP sets the vid_valid signal to the HDMI
TX core.
vid_clk
tx_clk
vid_valid
vid_ready
93
5. HDMI Source
683798 | 2021.11.12
vid_clk
tx_clk
vid_valid
vid_ready
vid_clk
tx_clk
vid_valid
vid_ready
5.9. Variable Refresh Rate (VRR) and Auto Low Latency Mode
(ALLM)
HDMI TX core can support Variable Refresh Rate (VRR) transport as described in HDMI
2.1 specification. Section 7.6. VRR involves modification of the video vertical blanking
timing, which is external to the HDMI TX core. After user generates the video with
VRR transport, HDMI TX core is able to transmit this video through the FRL packets.
User can enable the Auto Low Latency Mode through the ALLM_Mode field (HF-VSI
packet bye 5, bit 1). For the HDMI Forum-VSI InfoFrame (HF-VSIF) transmission, use
external VSI by asserting control bit (info_vsi[61]) to 1 and send the data through
the Auxiliary Data Port instead of info_vsi sidebands. Refer to HDMI 2.1 specification
Section 10.2 HDMI Forum Vendor Specific InfoFrame for more information.
94
683798 | 2021.11.12
Send Feedback
6. HDMI Sink
Figure 45. HDMI Sink Signal Flow Diagram for TMDS (Support FRL = 0) Design
The figure below shows the flow of the HDMI sink signals. The figure shows the various clocking domains used
within the core.
HDCP Port
Video Timing
Geometry Video Lock
Decoder Status Port Measurement Video
Data Port
TMDS TMDS Data (Red Channel) World Alignment Video Video Data (Red Channel)
Data TMDS Data (Green Channel) and Channel Resampler Video Data (Green Channel)
Descrambler, Video Data (Blue Channel)
Port TMDS Data (Blue Channel) Deskew HDCP 2.3 HDCP 1.4
TMDS and TERC4
Decoder RX RX
Auxiliary Auxiliary Data Port
Decoder
AUX AUX AUX Memory
Map Auxiliary Memory Interface
Capture
GCP General Control Packet
Character Auxiliary
Error Capture AVI AVI InfoFrame Status Port
Detection
Capture VSI Vendor Specific InfoFrame
SCDC Control and
Status Port
Capture AI Audio InfoFrame
Avalon-MM SCDC
Management
SCDC
Register Capture ACR Audio Clock Regeneration
Interface (N, CTS)
Audio
Capture AM Audio Metadata Port
Audio
Audio Decoder Depacketizer Audio Sample
vid_clk domain
ls_clk domain
i2c_clk domain
HDCP clocks domain
The sink core provides three (TMDS mode) or four (FRL mode) 20-bit or 40-bit data
input paths corresponding to the color channels. The sink core clocks the three 20-bit
or 40-bit channels from the transceiver outputs using the respective transceiver clock
outputs.
• Blue channel: 0
• Green channel: 1
• Red channel: 2
• Clock channel: 3
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
6. HDMI Sink
683798 | 2021.11.12
Figure 46. HDMI Sink Signal Flow Diagram for Support FRL = 1 Design
Video Timing
FRL Data (Channel 3) Geometry Video Lock
FRL Word FRL FRL Character Measurement
FRL Data (Channel 2) FRL Alignment and Block and Super FRL Video
FRL Data (Channel 1) Resampler Descrambler
Channel Deskew and Decoder Block Demapper Depacketizer Data Port
FRL Data (Channel 0) AUX Video Video Data (Red Channel)
TMDS/FRL HDCP 2.3 Resampler Video Data (Green Channel)
Data Port RX Video Data (Blue Channel)
AUX
TMDS Data (Red Channel)
TMDS Data (Green Channel) World Alignment Descrambler,
and Channel HDCP 1.4 Auxiliary Auxiliary Data Port
TMDS Data (Blue Channel) TMDS and DCFIFO AUX Decoder
Deskew AUX RX AUX AUX Memory
TERC4 Decoder Auxiliary Memory Interface
Map
Decoder Status Port
HDCP Port Capture
GCP General Control Packet
Character Auxiliary
Capture AVI AVI InfoFrame
Error Status Port
Detection
Capture VSI Vendor Specific InfoFrame
SCDC Control and Status Port
Capture AI Audio InfoFrame
Avalon Memory-Mapped SCDC Management Interface SCDC
Register
Capture ACR Audio Clock Regeneration
(N, CTS)
Audio Port
Link Training Capture AM Audio Metadata
Link Training Control and Status Port State Machine
Audio Decoder Audio
Depacketizer Audio Sample
For Support FRL = 1 design, in TMDS mode, a DCFIFO clocks the HDMI data stream
from the scrambler, TMDS/TERC4 decoder in the transceiver recovered clock domain
to vid_clk domain. All the blocks in the FRL path and video data operate in vid_clk
domain.
When operating TMDS mode, the sink core accepts three 20-bit data input paths
corresponding to each color channel. The sink core clocks the three 20-bit channels
from the transceiver outputs using respective transceiver clock outputs.
• Blue channel: Data channel 0
• Green channel: Data channel 1
• Red channel: Data channel 2
Note: Data channel 3 is unused in TMDS mode. Data channels 0–3 are always 40-bit wide,
but only 20 bits from the least significant bits are used in TMDS mode.
When operating in FRL mode, the sink core accepts four 40-bit data input paths
corresponding to each FRL channel. The sink core clocks the four 40-bit channels from
the transceiver outputs using respective transceiver clock outputs.
• FRL channel 0: Data channel 0
• FRL channel 1: Data channel 1
• FRL channel 2: Data channel 2
• FRL channel 3: Data channel 3
The sink core provides N*48 bit video data per channel for each color channel, where
N is number of pixels per clock.
96
6. HDMI Sink
683798 | 2021.11.12
Word Alignment TMDS Mode • Correctly aligns the incoming parallel data to word boundaries using
bit-slip and pattern-matching technique.
• TMDS encoding does not guarantee unique control codes, but the
core can still use the sequence of continuous symbols found in data
and video preambles to align.
• The alignment algorithm searches for 8 consecutive 0×54 or 0×ab
corresponding to the data and video preambles.
Note: The preambles are also present in Digital Video Interface
(DVI) coding.
• The alignment logic asserts a marker indicator when the 8
consecutive signals are detected. Similarly, the logic infers alignment
loss when 8K symbol clocks elapse without a single marker assertion.
Note: If you are using Intel Arria 10 or Intel Cyclone 10 GX devices,
soft word alignment logic in the HDMI RX core is disabled for
HDMI 2.0 resolution (data rate >3.4 Gbps). Hard transceiver
PCS word alignment is used with some control logic to
achieve faster word alignment with more optimized resource
utilization. Refer to the design example user guides for more
information.
Note: If you are using Intel Stratix 10 devices, the HDMI RX core
uses a new word alignment algorithm logic to achieve fast
word alignment time for HDMI 2.0 resolution (data rate
>3.4Gbps).
FRL Mode • Correctly aligns the incoming parallel data to word boundaries using
bit-slip and pattern-matching technique.
• FRL encoding uses unique Scrambler Reset (SR) and Start of Super
Block (SSB) characters to achieve alignment.
• The FRL encoding loses lock when it does not receive the SR or SSB
on one lane while other lane receive SR or SSB continuously for
seven times.
Channel Deskew • When the data channels are aligned, the core then attempts to deskew each channel.
• The sink core deskews at the rising edge of the marker insertion.
• For every correct deskewed lane, the marker insertion will appear in all three TMDS encoded
streams.
• The sink core deskews using three dual-clock FIFOs.
• The dual-clock FIFOs also synchronize all three data streams to the blue channel clock to be
used later throughout the decoder core.
97
6. HDMI Sink
683798 | 2021.11.12
DCFIFO
marker_in[0]
Channel 0
data_in[0] data[0]
rdreq
ls_clk[0]
ls_clk[0] wrclk rdclk
DCFIFO
marker_in[1]
Channel 1
data_in[1] data[1]
rdreq
ls_clk[0]
ls_clk[1] wrclk rdclk
DCFIFO
marker_in[2]
Channel 2
data_in[2] data[2]
rdreq
ls_clk[0]
ls_clk[2] wrclk rdclk
DCFIFO
marker_in[3]
Channel 3*
data_in[3] data[3]
rdreq
ls_clk[0]
ls_clk[3] wrclk rdclk
98
6. HDMI Sink
683798 | 2021.11.12
The FIFO read signal of the channels is normally asserted. The sink core deasserts a
particular FIFO read signal if a marker appears at its output and not in the other two
FIFO outputs. By deasserting, the sink core stalls the data stream for sufficient cycles
to remove the channel skew. If any of the FIFO channels overflow, the sink core
asserts a reset signal which propagates backwards to the word alignment logic.
The sink core feeds the aligned channels into the TMDS/TERC4 decoder. You can
parameterize the decoder to operate in 1, 2, or 4 TMDS symbols per clock. If you
choose 2 or 4 TMDS symbols per clock, the decoder will produce 2 or 4 decoded
symbols per clock. The decoded symbols per clock output supports high pixel clock
resolutions on low-end FPGA devices.
Startofpacket
Endofpacket
Clock
Cycle 1 Symbol 0 - - 8 - - 16 - - 24
Cycle 2 Symbol 0 - - 4 - - 8 - - 12
Cycle 4 Symbol 0 - - 2 - - 4 - - 6
99
6. HDMI Sink
683798 | 2021.11.12
The data output at EOP contains the received BCH error correcting code. The sink core
does not perform any error correction within the core. The auxiliary data is available
outside the core.
Note: You can find the bit-field nomenclature in the HDMI 2.0b Specification.
These packets are: General Control Packet (GCP), Auxiliary Video Information (AVI)
InfoFrame, and HDMI Vendor Specific InfoFrame (VSI).
The GCP, AVI and VSI bit-fields (excluding control bit) are defined in Table 22 on page
50. Table 23 on page 50. and Table 25 on page 52 respectively with reserved bits
return 0.
The gearbox converts 8-bpc data to 8-, 10-, 12- or 16-bpc data based on the current
color depth. The GCP conveys the color depth (bpp) information.
The resampler adheres to the recommended phase count method described in HDMI
1.4b Specification Section 6.5.
• To keep the source and sink resamples synchronized, the source must send the
packing-phase (pp) value to the sink during the vertical blanking phase, using the
general control packet.
• The pp corresponds to the phase of the last pixel in the last active video line.
• The phase-counter logic compares its own pp value to the pp value received in the
general control packet and slips the phase count if the two pp values do not agree.
The output from the resampler is fixed at 16 bpc. When the resampler operates in
lower color depths, the low order bits are zero. The pixel data output format across
color space are are described in Figure 10-12.
100
6. HDMI Sink
683798 | 2021.11.12
The core calculates the address for the data port using the header byte of the received
packet. The core writes packet types 0–15 into a contiguous memory region.
data[71:0] data[71:8]
HDMI Sink Core From 64 bit
addr[6:0] On-Chip addr[6:0]
Nios II
wr Memory rd Avalon-MM
0 NULL PACKET
8 Audio Sample
12 General Control
16 ACP Packet
20 ISRC1 Packet
24 ISRC2 Packet
64 Vendor-Specific InfoFrame
68 AVI InfoFrame
76 Audio InfoFrame
continued...
101
6. HDMI Sink
683798 | 2021.11.12
Byte Offset
Word
Offset
8 7 6 5 4 3 2 1 0
Note: The packet fields (PB0-PB26) are described in the HDMI 1.4b Specification (Chapter
8.2.1).
0 1 0 1 10 bpc or 30 bpp
0 1 1 0 12 bpc or 36 bpp
0 1 1 1 16 bpc or 48 bpp
Others Reserved
102
6. HDMI Sink
683798 | 2021.11.12
Table 46. Sink Auxiliary Video Information (AVI) InfoFrame for Support FRL = 0
Designs
The signal bundle is clocked by ls_clk for Support FRL = 0 designs.
15 Reserved Returns 0
31 ITC IT content
39 Reserved Returns 0
Table 47. Sink Auxiliary Video Information (AVI) InfoFrame for Support FRL = 1
Designs
The signal bundle is clocked by ls_clk for Support FRL = 1 designs.
15 Reserved Returns 0
continued...
103
6. HDMI Sink
683798 | 2021.11.12
31 ITC IT content
39 Reserved Returns 0
121:120 AVI Version Refer to HDMI 2.1 Spec section 10.1 for more details.
122 - Reserved
The signal bundle is clocked by ls_clk for Support FRL=0 and tx_clk when Support FRL=1.
104
6. HDMI Sink
683798 | 2021.11.12
An audio clock synthesizer uses a phase-counter to recover the audio sample rate. The
output from the audio clock synthesizer generates a valid pulse at the same rate as
the audio sample clock from the attached source device. This valid pulse is available
outside the core as an audio sample valid signal. This signal reads from a FIFO, which
governs the rate of audio samples. The audio depacketizer drives the input to the
FIFO.
The audio depacketizer extracts the 32-bit audio sample data from the incoming Audio
Sample packets. The Audio Sample packets can hold from one to four sample data
values. The audio format indicates the format of the received audio data as defined in
Table 26 on page 54.
The Audio InfoFrame and Audio Metadata packets are not used within the core. The
packets are captured and presented outside the core. The bit fields (excluding control
bit) are defined in Table 27 on page 56, Table 28 on page 57, Table 29 on page 57,
and Table 30 on page 57 with reserved bits return 0.
Table below lists the AI signal bit-fields (as described in HDMI 1.4b Specification Section 8.2.2). The signal
bundle is clocked by ls_clk for Support FRL = 0 designs and by vid_clk for Support FRL = 1 designs.
11 Reserved Returns 0
42 Reserved Returns 0
105
6. HDMI Sink
683798 | 2021.11.12
Table 50. Audio Metadata Bundle Bit-Fields for Packet Header and Control
Table below lists the AM signal bit-fields for packet header (as described in the HDMI 2.0b Specification Section
8.3) and control.
Table 51. Audio Metadata Bundle Bit-Fields for Packet Content when 3D_AUDIO = 1
Table below lists the AM signal bit-fields for packet content when 3D_AUDIO = 1 (as described in the HDMI
2.0b Specification Section 8.3.1).
Table 52. Audio Metadata Bundle Bit-Fields for Packet Content when 3D_AUDIO = 0
Table below lists the AM signal bit-fields for packet content when 3D_AUDIO = 0 (as described in the HDMI
2.0b Specification Section 8.3.2).
44:21 Language_Code_0 Audio stream language (Subpacket 0 in MST Audio Sample Packet)
106
6. HDMI Sink
683798 | 2021.11.12
84:61 Language_Code_1 Audio stream language (Subpacket 1 in MST Audio Sample Packet)
124:101 Language_Code_2 Audio stream language (Subpacket 2 in MST Audio Sample Packet)
136 Suppl_A_Mixed_3 Mix of main audio components and a supplementary audio track
(Subpacket 3 in MST Audio Sample Packet)
164:141 Language_Code_3 Audio stream language (Subpacket 3 in MST Audio Sample Packet)
107
6. HDMI Sink
683798 | 2021.11.12
The HDMI 2.0b Specification requires the core to respond to the presence of the 5V
input from the connector and the state of the HPD signal. The 5V input and HPD signal
are used in the register mechanism updates. The signals are synchronous to the
i2c_clk clock domain. You must create a 100-ms delay on the HPD signal externally
to the core.
For more information about the Status and Control Data Channel, you may refer to
HDMI 2.0b Specification Chapter 10.4. You can obtain the address map for the
registers in the HDMI 2.0b Specification.
108
6. HDMI Sink
683798 | 2021.11.12
SHA-1
HDCP Ctl
Key Port (KM Gen)
Authentication
Layer
HDCP Cipher
The HDCP 1.4 RX core is fully autonomous. For HDMI application, the transmitter
drives the HDCP 1.4 RX core using the standard DDC interface supporting I2C
protocol. You need an I2C slave externally to drive the IP through the HDCP Register
Port (Avalon-MM).
The HDCP specifications requires the HDCP 2.3 RX core to be programmed with the
DCP-issued production key – Device Private Keys (Bkeys) and Key Selection Vector
(Bksv). The IP retrieves the key from the on-chip memory externally to the core
through the HDCP Key Port. The on-chip memory must store the key data in the
arrangement shown in the table below.
6'h27 Bkeys39[55:0]
6'h26 Bkeys38[55:0]
... ...
6'h01 Bkeys01[55:0]
6'h00 Bkeys00[55:0]
109
6. HDMI Sink
683798 | 2021.11.12
The Video Stream and Auxiliary Layer receives audio and video content over its Video
and Aux Data Input Port, and performs the decryption operation. The Video Stream
and Auxiliary Layer detects the Encryption Status Signaling (ESS) provided by the
HDMI IP to determine when to decrypt frames.
To implement the HDCP 1.4 RX core as a repeater upstream interface, the IP must
propagate certain information such as KSV list and Bstatus to the upstream
transmitter and to be used for SHA-1 hash digest. The repeater downstream interface
(TX) must provide this information using the Repeater Message Port (Avalon-MM). You
can use the same clock source to drive the clocking for the HDCP Register Port and
Repeater Message Port.
The RX registers mapping defined in the following table is equivalent to the address
space for HDCP 1.4 receiver defined in the HDCP specification.
110
6. HDMI Sink
683798 | 2021.11.12
111
6. HDMI Sink
683798 | 2021.11.12
112
6. HDMI Sink
683798 | 2021.11.12
113
6. HDMI Sink
683798 | 2021.11.12
Color Legend:
Control & Status Regs Regs csr_clk
Register Layer rpt_msg_clk
crypto_clk
Is_clk
TRNG
HDCP RSA
Key Port
Authenticator
Authentication & (MGF1, HMAC)
Cryptographic Layer Dual Port Memories
SHA256
AES128 (Block)
The HDCP 2.3 RX core is fully autonomous. For HDMI application, the transmitter
drives the HDCP 2.3 RX core using the standard DDC interface supporting I2C
protocol.
The HDCP specifications requires the HDCP 2.3 RX core to be programmed with the
DCP-issued production key – Global Constant (lc128), RSA private key (kprivrx) and
RSA Public Key Certificate (certrx). The IP retrieves the key from the on-chip memory
externally to the core through the HDCP Key Port. The on-chip memory must store the
key data in the arrangement shown in the table below.
8'hE3 lc128[127:96]
8'hE2 lc128[95:64]
continued...
114
6. HDMI Sink
683798 | 2021.11.12
Address Content
8'hE1 lc128[63:32]
8'hE0 lc128[31:0]
8'hDF kprivrx_p[511:480]
... ...
8'hD0 kprivrx_p[31:0]
8'hCF kprivrx_q[511:480]
... ...
8'hC0 kprivrx_q[31:0]
8'hBF kprivrx_dp[511:480]
... ...
8'hB0 kprivrx_dp[31:0]
8'hAF kprivrx_dq[511:480]
... ...
8'hA0 kprivrx_dq[31:0]
8'h9F kprivrx_qinv[511:480]
... ...
8'h90 kprivrx_qinv[31:0]
8'h83–8'h8F Reserved
8'h81 certrx[4159:4128]
... ...
8'h01 certrx[63:32]
8'h00 certrx[31:0]
The Video Stream and Auxiliary Layer receives audio and video content over its Video
and Aux Data Input Port, and performs the decryption operation. The Video Stream
and Auxiliary Layer detects the Encryption Status Signaling (ESS) provided by the
HDMI IP to determine when to decrypt frames.
To implement the HDCP 2.3 RX core as a repeater upstream interface, the IP must
propagate certain information such as ReceiverID List and RxInfo to the
upstream transmitter and to be used for HMAC computation. The repeater
downstream interface (TX) must provide this information using the Repeater Message
Port (Avalon-MM). You can use the same clock source to drive the clocking for the
HDCP Register Port and Repeater Message Port.
The RX registers mapping defined in the following table is equivalent to the address
space for HDCP 2.3 receiver defined in the HDCP specification.
115
6. HDMI Sink
683798 | 2021.11.12
0x70 RXSTATUS0 RO 0x00 7:0 MSG_SIZE0 The lower part of message size in
bytes available at the receiver for
reading by the transmitter.
116
6. HDMI Sink
683798 | 2021.11.12
117
6. HDMI Sink
683798 | 2021.11.12
FRL depacketizer contains a mixed-width DCFIFO to clock the data from the frl_clk
domain to the vid_clk domain. This block also demaps the HDMI data from number
of FRL characters per clock * 16 bits to pixels per clock * 24 bits, where number of
FRL characters per clock is always 16 and pixels per clock is always 8 in FRL mode.
The HDMI RX core achieves FRL character alignment based on the Start Super Block
(SSB) or Scrambler Reset (SR) character proceeded FRL super block.
The mixed-width FIFO buffer demaps the FRL data in effective transceiver width bits to
FRL characters per clock*18 bits. For FRL mode, the transceiver width is always 40
bits and number of FRL characters per clock is 8 or 16.
6.1.15. RX Oversampler
The HDMI design requires oversampling on the RX side in case the data received is
below the minimum data rate of the transceiver at 1 Gb/s.
The oversampling factor on the RX is set to 5. For example, a video resolution with
TMDS Bit Rates of 742.5 Mb/s should configure the transceiver to operate at 5 times
its data rate, which is 3.7125 Gb/s.
os rx_clk ls_clk
Oversample
1
(x5)
DCFIFO
Parallel data
2
Parallel data to inner core
from PHY
118
6. HDMI Sink
683798 | 2021.11.12
You need to specify your EDID content in a .mif or .hex file before you start
generating the IP. You can also modify your EDID contents at run time.
The edid_ram_access signal acts as a trigger to the EDID RAM. When this signal is
asserted, the IP holds the hpd signal low. During this period, you are free to modify
the RAM content by accessing its Avalon memory-mapped interface through an Avalon
memory-mapped master, such as NIOS.
After you are done modifying the RAM contents, deassert the edid_ram_access
signal to reassert the hpd signal. The source device rereads the new EDID content.
6.1.18. Variable Refresh Rate(VRR) and Auto Low Latency Mode (ALLM)
HDMI sink core is able to receive the video with variable refresh rate (VRR) transport.
Since VRR involves runtime varying video vertical blanking, HDMI sink locked and
vid_lock remains asserted when receiving video with VRR transport.
ALLM is enabled through the HF-VSI which can only be supported in sink auxiliary data
port. You can capture the ALLM_Mode through the packet byte 5 bit 1 of HF-VSI
through the sink auxiliary data port. Refer to HDMI 2.1 specification section 10.2
HDMI Forum Vendor Specific InfoFrame for more information.
119
6. HDMI Sink
683798 | 2021.11.12
120
6. HDMI Sink
683798 | 2021.11.12
121
6. HDMI Sink
683798 | 2021.11.12
Video Data Port Conduit vid_clk vid_data[N*48-1:0] Output Video 48-bit pixel data
output port. For N pixels
per clock, this port
produces N 48-bit pixels
per clock.
122
6. HDMI Sink
683798 | 2021.11.12
continued...
123
6. HDMI Sink
683798 | 2021.11.12
n*6+5 CTL3
n*6+4 CTL2
n*6+3 CTL1
n*6+2 CTL0
n*6+1 Reserved
(0)
n*6 Reserved
(0)
continued...
124
6. HDMI Sink
683798 | 2021.11.12
125
6. HDMI Sink
683798 | 2021.11.12
126
6. HDMI Sink
683798 | 2021.11.12
• Bit 2:
TxFFE_De_Emphasis_o
nly
• Bit 1:
TxFFE_Pre_Shoot_Only
• Bit 0: Reserved
For more information
about these bits, refer to
the 10.4.1.6.1 Source Test
Configuration Request
section of the HDMI 2.1
Specifications.
SCDC Control Port Conduit i2c_clk in_5v_power Input Detects the presence of 5V
input voltage.
(9) Refer to HDMI 2.0b Specification Section 10.4 for address and data bit mapping.
127
6. HDMI Sink
683798 | 2021.11.12
Auxiliary Data Port Conduit aux_clk aux_valid Output Auxiliary data channel
(Applicable only valid output to qualify the
when you enable data.
Support auxiliary
parameter) Conduit aux_clk aux_data[71:0] Output Auxiliary data channel data
output.
For information about the
bit-fields, refer to Figure
48 on page 99.
Audio Port Conduit aux_clk audio_CTS[19:0] Output Audio CTS value output.
(Applicable only
when you enable Conduit aux_clk audio_N[19:0] Output Audio N value output.
Support auxiliary
and Support Conduit aux_clk audio_data[255:0] Output Audio data output.
audio For audio channel values,
parameters)(10) refer to Table 38 on page
84.
continued...
(10)
aux_clk = ls_clk (Support FRL = 0)
aux_clk = vid_clk (Support FRL = 1)
128
6. HDMI Sink
683798 | 2021.11.12
Bit-Field Descriptio
n
4 The core
asserts to
indicate the
first 8
channels of
each 3D
audio
sample.
3:0 For
information
about the
bit-fields,
refer to
Table 26 on
page 54.
I2C Slave Interface Conduit – i2c_scl Input SCL signal from I2C bus on
Port the HDMI connector.
This signal is not available
if you turn off the Include
I2C parameter.
129
6. HDMI Sink
683798 | 2021.11.12
EDID RAM Conduit i2c_clk edid_ram_access Input Assert this signal when
Interface Port you are reading or writing
to the EDID RAM. Deassert
this signal when the read
and write operations are
complete.
Asserting this signal would
trigger an HPD event to
the source. When you
deassert this signal, the
source reads the new EDID
which you have just
written into the RAM.
This signal is not available
if you turn off the Include
EDID RAM parameter.
130
6. HDMI Sink
683798 | 2021.11.12
when you enable Clock – hdcp_i2c_clk Input HDCP clock for control and
Support HDCP status registers.
2.3 or Support Typically, shares the I2C
HDCP 1.4 slave clock (100 MHz).
parameters)
– crypto_clk Input HDCP 2.3 clock for
authentication and
cryptographic layer.
You can use any clock with
a frequency up to 200
MHz.
Not applicable for HDCP
1.4.
Note: The clock
frequency
determines the
authentication
latency.
hdcp_i2c_rddata[7:0] Output
131
6. HDMI Sink
683798 | 2021.11.12
continued...
132
6. HDMI Sink
683798 | 2021.11.12
The logic clocks the transceiver data into the core using the three CDR clocks:
(rx_clk[2:0]).
The TMDS and TERC4 decoding is done at the link-speed clock (ls_clk) or
transceiver recovered clock when you turn on the Support FRL parameter. The sink
then resamples the pixel data and presents the data at the output of the core at the
video pixel clock (vid_clk).
The pixel data clock depends on the video format used (within HDMI specification).
133
6. HDMI Sink
683798 | 2021.11.12
rx_clk[1]
For HDMI sink, you must instantiate three receiver channels to receive data in TMDS
mode or four receiver channels to receive data in FRL mode.
Oscillator
(100 MHz)
Video clock
(vid_clk)
Oscillator
(225 MHz)
When Support FRL = 1, the transceiver RX CDR has two reference clocks:
• Reference clock 0, which is supplied with TMDS clock from the HDMI connector.
• Reference clock 1 supplied with free running 100 MHz clock for FRL mode.
This RX CDR switches between reference clock 0 and reference clock 1 based on TMDS
or FRL mode.
134
6. HDMI Sink
683798 | 2021.11.12
When Support FRL = 0, a general purpose phase-locked loop GPLL that is referenced
by the TMDS clock from the HDMI sink connector, is used to generate reference clock
to the transceiver RX CDR, the link speed clock (ls_clk) and video clock (vid_clk)
for the core. This GPLL switches between reference clock 0 and reference clock 1
based on TMDS or FRL mode.
• For Support FRL =0 design, frl_clk is not required.
Note: GPLL refers to IOPLL Intel FPGA IP for Intel Arria 10, Intel Cyclone 10 GX, and Intel
Stratix 10 devices; PLL Intel FPGA IP for Arria V and Stratix V devices.
• The TMDS/FRL data clocks into the core at ls_clk (Support FRL = 0) or
transceiver recovered clock (Support FRL = 1) with all channels driven by the
same clock source (GPLL CLK1).
• The video data clocks out from the core at vid_clk.
ls_clk, and vid_clk are derived based on the color depth, TMDS Bit clock ratio,
user oversampling control bit information, and the detected Clock Channel frequency
band in TMDS mode (Support FRL =0).
Related Information
• HDMI Hardware Design Examples for Arria V and Stratix V Devices on page 22
• HDMI Hardware Design Examples for Intel Arria 10, Intel Cyclone 10 GX, and Intel
Stratix 10 Devices on page 21
Sink will always request link training pattern 0x5678. These link training patterns start
with 4 Scrambler Reset (SR) characters followed by 4096 encoded and scrambled
data. After receiving the SR characters, the HDMI RX core achieves alignment and
lane deskew lock to qualify the received link training pattern.
After detecting the pattern, sink will set link training pattern 0x0000 indicating link
training passed.
135
6. HDMI Sink
683798 | 2021.11.12
in_5v_power == 0? Yes
OR
in_hpd == 0?
No
LTS:2
No
scdc_frl_flt_ready == 1’b1? Clear FLT_ready flag
Yes
• Set FLT_ready to 1
• Set FLT_Update to 1
• Clears FRL start LTS:3
• Load scdc_frl_ltp_req
to the SCDC status register
• Set Source_Test_Update to 1
• Set Status_Update to 1
• Load scdc_frl_ltp_req to the SCDC status register
Yes
Link training pattern changed? Set FLT_Update to 1
No
No
FLT_Update flag cleared ?
Yes
Yes
LTS:P
No Yes
FRL_Rate field updated?
vid_clk frequency = (data rate per lane / effective transceiver width) / color depth
ratio
136
6. HDMI Sink
683798 | 2021.11.12
8 1.0
10 1.25
12 1.5
16 2.0
rx_clk
CDR refclk
When Support FRL = 0, the RX core uses the TMDS clock to drive the IOPLL
reference clock. The IOPLL generates three output clocks that drive the CDR reference
clock, ls_clk, and vid_clk.
When the HDMI RX core operates in vid_clk and ls_clk with the correct color
depth ratio, the vid_valid signal is always high.
ls_clk
vid_clk
ls_clk
vid_clk
137
6. HDMI Sink
683798 | 2021.11.12
ls_clk
vid_clk
In deep color mode, the video data (30 bpp, 36 bpp, or 48 bpp) in the vid_clk
domain has higher throughput than the data in the ls_clk domain. The HDMI RX
core uses the vid_valid signal to indicate the validity of the video data at a specific
clock.
Actual
TMDS
clock vid_clk pixel clock
If your user logic cannot process the video data at a faster rate, you can use a DCFIFO
to clock cross the video data from vid_clk to the actual pixel clock as shown in the
diagram below. The wren signal of the DCFIFO IP connects to the vid_valid signal
from the HDMI RX core. The rden signal is always asserted.
When operating in 10 bits per color, the vid_ready signal is high for 4 out of 5 clock
cycles. For every 5 clock cycles, the HDMI RX core receives 4 valid video data with 10
bits per color.
The timing diagrams and description below assume that the video data at the
vid_clk domain is running at the actual deep color data rate. If the video data at the
vid_clk domain is running faster than the actual deep color data rate, the
vid_valid signal would toggle more.
138
6. HDMI Sink
683798 | 2021.11.12
vid_clk
clk_b
vid_valid
vid_clk
clk_b
vid_valid
vid_clk
clk_b
vid_valid
139
683798 | 2021.11.12
Send Feedback
7. HDMI Parameters
Use the settings in the HDMI parameter editor to configure your design.
Device family Intel Stratix 10 Targeted device family. This parameter inherits the
Intel Arria 10 value from the project device.
Intel Cyclone 10 GX
Arria V
Stratix V
Pixels per clock 2 or 8 pixels per clock Determines how many pixels are processed per
clock.
• When you turn off Support FRL, supports 2
pixels per clock.
• When you turn on Support FRL, supports 8
pixels per clock.
Note: This parameter is available only with Intel
Arria 10 and Intel Stratix 10 devices.
Support deep color On, Off Determines if the core can encode deep color
formats. This parameter is turned on by default.
Support audio On, Off Determines if the core can encode audio data.
To enable this parameter, you must also enable the
Support auxiliary parameter. This parameter is
turned on by default.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
7. HDMI Parameters
683798 | 2021.11.12
Support HDCP 2.3 On, Off Turn on to enable HDCP 2.3 TX support. This
parameter can only be used with Intel Arria 10 and
Intel Stratix 10 devices.
Note: The HDCP-related parameters are not
included in the Intel Quartus Prime Pro
Edition software. To access the HDCP
feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
Support HDCP 1.4 On, Off Turn on to enable HDCP 1.4 TX support. This
parameter can only be used with Intel Arria 10 and
Intel Stratix 10 devices.
Note: The HDCP-related parameters are not
included in the Intel Quartus Prime Pro
Edition software. To access the HDCP
feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
Support HDCP Key On, Off Turn on to enable HDCP key management support.
Management You can only turn on this parameter if you turn on
the Support HDCP 1.4 or Support HDCP 2.3
parameters.
Note: 1. The HDCP-related parameters are not
included in the Intel Quartus PrimeIntel
Quartus Prime Pro EditionIntel Quartus
Prime Pro Edition software. To access the
HDCP feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
2. The HDCP key management support
from version 21.3 onwards is not
compatible with the KEYENC version
21.2 and earlier. You need to re-encrypt
the HDCP production keys using the
KEYENC version 21.3 onwards. Refer to
HDMI Intel Arria 10 FPGA IP Design
Example User Guide and HDMI Intel
Stratix 10 FPGA IP Design Example User
Guide for more details.
Include I2C slave On, Off Turn on to include a pair of I2C slaves for EDID and
SCDC registers. path.
Include EDID RAM On, Off Turn on to include RAM to store EDID information
for RX.
You can only turn on this parameter if you turned
on the Include I2C slave parameter.
EDID RAM size In multiple of 2N Specifies the memory size in number of N-bit
words. The value must be in multiple of 2N.
For example, the default memory size is 256 words
which is 28 with N = 8.
The N also determines the width of the address bus
of the RAM’s Avalon memory-mapped nterface.
continued...
141
7. HDMI Parameters
683798 | 2021.11.12
RAM file path – Initial content of the memory. The file must be
in .hex or .mif file type.
This parameter is enabled only if you turned on the
Include EDID RAM parameter.
HPD signal polarity 0, 1 Specifies the polarity of Hot Plug Detect (HPD)
signal from the connector.
• 0: Negative
• 1: Positive
Note: For Bitec daughter card, always set the
polarity to 0.
Include I2C Master/Slave On, Off Turn on to include I2C master on the HDMI TX or
I2C slave on the HDMI RX for the DDC channel
communication.
When enabled for RX, HDMI RX core includes I2C
slave with I2C serial interface exposed for the
connection to the HDMI connector. I2C slave is
driven internally by EDID RAM and SCDC register.
When enabled for TX, HDMI TX core includes I2C
master with I2C serial interface exposed for the
connection to the HDMI connector. I2C master will
also expose Avalon-MM interface for the user
control using NIOS.
Related Information
• HDMI Intel Arria 10 FPGA IP Design Example User Guide
For more information about the HDCP over HDMI design example for Intel Arria
10 devices and the security considerations when using the HDCP features.
• HDMI Intel Stratix 10 FPGA IP Design Example User Guide
For more information about the HDCP over HDMI design example for Intel
Stratix 10 devices and the security considerations when using the HDCP
features.
Device family Intel Stratix 10 Targeted device family. This parameter inherits the
Intel Arria 10 value from the project device.
Intel Cyclone 10 GX
Arria V
Stratix V
Pixels per clock 2 or 8 pixels per clock Determines how many pixels are processed per
clock.
• When you turn off Support FRL, supports 2
pixels per clock.
• When you turn on Support FRL, supports 8
pixels per clock.
continued...
142
7. HDMI Parameters
683798 | 2021.11.12
Support deep color On, Off Determines if the core can encode deep color
formats. This parameter is turned on by default.
Support audio On, Off Determines if the core can encode audio data.
To enable this parameter, you must also enable the
Support auxiliary parameter. This parameter is
turned on by default.
Support HDCP 1.4 On, Off Turn on to enable HDCP 1.4 RX support. This
parameter can only be used with Intel Arria 10 and
Intel Stratix 10 devices.
Note: The HDCP-related parameters are not
included in the Intel Quartus Prime Pro
Edition software. To access the HDCP
feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
Support HDCP 2.3 On, Off Turn on to enable HDCP 2.3 RX support. This
parameter can only be used with Intel Arria 10 and
Intel Stratix 10 devices.
Note: The HDCP-related parameters are not
included in the Intel Quartus Prime Pro
Edition software. To access the HDCP
feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
Support HDCP Key On, Off Turn on to enable HDCP key management support.
Management You can only turn on this parameter if you turn on
the Support HDCP 1.4 or Support HDCP 2.3
parameters.
continued...
143
7. HDMI Parameters
683798 | 2021.11.12
Include I2C slave On, Off Turn on to include a pair of I2C slaves for EDID and
SCDC registers. path.
Include EDID RAM On, Off Turn on to include RAM to store EDID information
for RX.
Note: You can only turn on this parameter if you
turned on the Include I2C slave
parameter.
EDID RAM size In multiple of 2N Specifies the memory size in number of N-bit
words. The value must be in multiple of 2N.
For example, the default memory size is 256 words
which is 28 with N = 8.
The N also determines the width of the address bus
of the RAM’s Avalon memory-mapped nterface.
Note: This parameter is enabled only if you turned
on the Include EDID RAM parameter.
RAM file path – Initial content of the memory. The file must be
in .hex or .mif file type.
continued...
144
7. HDMI Parameters
683798 | 2021.11.12
HPD signal polarity 0, 1 Specifies the polarity of Hot Plug Detect (HPD)
signal from the connector.
• 0: Negative
• 1: Positive
Note: For Bitec daughter card, always set the
polarity to 0.
Include I2C Master/Slave On, Off Turn on to include I2C master on the HDMI TX or
I2C slave on the HDMI RX for the DDC channel
communication.
When enabled for RX, HDMI RX core includes I2C
slave with I2C serial interface exposed for the
connection to the HDMI connector. I2C slave is
driven internally by EDID RAM and SCDC register.
When enabled for TX, HDMI TX core includes I2C
master with I2C serial interface exposed for the
connection to the HDMI connector. I2C master will
also expose Avalon-MM interface for the user
control using NIOS.
Related Information
• HDMI Intel Arria 10 FPGA IP Design Example User Guide
For more information about the HDCP over HDMI design example for Intel Arria
10 devices and the security considerations when using the HDCP features.
• HDMI Intel Stratix 10 FPGA IP Design Example User Guide
For more information about the HDCP over HDMI design example for Intel
Stratix 10 devices and the security considerations when using the HDCP
features.
145
683798 | 2021.11.12
Send Feedback
This simulation example targets the ModelSim - Intel FPGA Starter Edition simulator.
The simulation covers the following core features:
• IEC-60958 audio format
• Standard H/V/DE/RGB input video format
• Support for HDMI 2.0b scrambled operation
Note: This simulation flow applies only for the Intel Quartus Prime Standard Edition software
using ModelSim - Intel FPGA Starter Edition. For the Intel Quartus Prime Pro Edition
simulation flow, refer to the respective design example user guides.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
8. HDMI Simulation Example
683798 | 2021.11.12
The Test Pattern Generator (TPG) provides the video stimulus. The IP core stimulates
the HDMI TX core using an audio packet generator and aux packet generator. The
output from the HDMI TX core drives the HDMI RX core.
The IP core requires a memory-mapped master stimulus to operate the testbench for
HDMI 2.0b scrambling. This stimulus implements the activity normally seen across the
I2C DDC channel. At this point, the IP core asserts the scramble enable bit in the
SCDC registers.
The testbench implements CRC checking on the input and output video. The testbench
checks the CRC value of the transmitted data against the CRC calculated in the
received video data. The testbench performs the checking after detecting 4 stable V-
SYNC signals from the receiver.
The aux sample generator generates a fixed data to be transmitted from the
transmitter. On the receiver side, the generator compares whether the expected aux
data is received and decoded correctly.
Note: This simulation flow applies only to Intel Quartus Prime Standard Edition using
ModelSim - Intel FPGA Starter Edition. For Intel Quartus Prime Pro Edition flow, refer
to the respective Design Example User Guides.
Note: When I2C Master/Slave parameter is turned on, simulation design example is not
supported.
147
8. HDMI Simulation Example
683798 | 2021.11.12
Generate the simulation files for the HDMI cores. • ip-generate --project-directory=./ --
component-file=./hdmi_rx_single.qsys --
output-directory=./hdmi_rx_single/sim/ --
file-set=SIM_VERILOG --report-
file=sopcinfo:./hdmi_rx_single.sopcinfo --
report-file=html:./hdmi_rx_single.html --
report-file=spd:./hdmi_rx_single/sim/
hdmi_rx_single.spd --report-file=qip:./
hdmi_rx_single/sim/hdmi_rx_single.qip
• ip-generate --project-directory=./ --
component-file=./hdmi_rx_double.qsys --
output-directory=./hdmi_rx_double/sim/ --
file-set=SIM_VERILOG --report-
file=sopcinfo:./hdmi_rx_double.sopcinfo --
report-file=html:./hdmi_rx_double.html --
report-file=spd:./hdmi_rx_double/sim/
hdmi_rx_double.spd --report-file=qip:./
hdmi_rx_double/sim/hdmi_rx_double.qip
• ip-generate --project-directory=./ --
component-file=./hdmi_tx_single.qsys --
output-directory=./hdmi_tx_single/sim/ --
file-set=SIM_VERILOG --report-
file=sopcinfo:./hdmi_tx_single.sopcinfo --
report-file=html:./hdmi_tx_single.html --
report-file=spd:./hdmi_tx_single/sim/
hdmi_tx_single.spd --report-file=qip:./
hdmi_tx_single/sim/hdmi_tx_single.qip
• ip-generate --project-directory=./ --
component-file=./hdmi_tx_double.qsys --
output-directory=./hdmi_tx_double/sim/ --
file-set=SIM_VERILOG --report-
file=sopcinfo:./hdmi_tx_double.sopcinfo --
report-file=html:./hdmi_tx_double.html --
report-file=spd:./hdmi_tx_double/sim/
hdmi_tx_double.spd --report-file=qip:./
hdmi_tx_double/sim/hdmi_tx_double.qip
Compile and simulate the design in the ModelSim software. vsim -c -do msim_hdmi.tcl
148
8. HDMI Simulation Example
683798 | 2021.11.12
# TEST_HDMI_6G = 1
# Simulation pass
# ** Note: $finish : bitec_hdmi_tb.v (647)
Time: 15702552 ns Iteration: 3 Instance: /bitec_hdmi_tb
# End time: 14:39:02 on Feb 04,2016, Elapsed time: 0:03:17
# Errors: 0, Warnings: 134
149
683798 | 2021.11.12
Send Feedback
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
683798 | 2021.11.12
Send Feedback
2021.08.06 21.2 19.6.1 • Added the link for Intel Arria 10 HDMI 2.1 System
Design Guidelines in HDMI Intel FPGA IP Quick
Reference.
• Changed the TMDS Clock Rate (MHz) for Stratix V
in Table: HDMI PLL Desired Output Frequencies for
8-bpc Video.
• Edited the description from HDMI 1.4b to HDMI 2.0
in Source Scramble, TMDS/TERC4 Encoder.
• Edited Figure: Typical Window of Opportunity for H
sync to asserted when V Sync is high.
• Edited the Description for Encoder Control Port and
I2C Master Interface Port in Table: HDMI Source
Interfaces.
• Edited the Description for Decoder Status Port in
Table: HDMI Sink Interfaces.
2021.06.25 21.2 19.6.1 • Updated Table: HDMI Intel FPGA IP FRL Feature
Support in Intel Stratix 10 and Intel Arria 10
Devices and added Arria 10 as Final and Stratix 10
as Preliminary for Support FRL = 1.
• Updated Table: HDMI Intel FPGA IP Resource
Utilization and added the performance data for Intel
Arria 10 (Support FRL = 1).
• Edited the description in Source Audio Encoder.
• Updated Table: HDMI Source Interfaces in Source
Interfaces:
— Updated the Description for vid_clk Port,
vid_ready Port and vid_valid Port.
— Edited the Clock Domain and Descriptionfor
TMDS/FRL Data Port Interface.
— Edited the Clock Domain for Encoder Control
Port Interface, PHY Interface Control Port and
Hot Plug Detect.
• Updated Source Clock Tree:
— Edited the description.
— Added Figure: Source clock tree when Support
FRL = 1.
— Added Figure: Source clock tree when Support
FRL =0.
• Added Intel Stratix 10 in Link Training Procedure.
continued...
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current
specifications in accordance with Intel's standard warranty, but reserves the right to make changes to any ISO
products and services at any time without notice. Intel assumes no responsibility or liability arising out of the 9001:2015
application or use of any information, product, or service described herein except as expressly agreed to in Registered
writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
*Other names and brands may be claimed as the property of others.
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
152
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
2020.12.14 20.4 19.6.0 • Added support for HDMI 2.1 with fixed rate link
(FRL) enabled for Intel Stratix 10 devices.
• Edited the description in the HDMI Overview
section.
• Updated table title HDMI Intel FPGA IP FRL Feature
Support in Intel Arria 10 Devices Feature Support
Level Support FRL to HDMI Intel FPGA IP FRL
Feature Support in Intel Stratix 10 and Intel Arria
10 Devices Feature Support Level Support FRL.
• Updated the maximum data rates for Intel Stratix
10 devices in Table: HDMI Data Rate.
• Updated the resource utilization data in Table:
HDMI Intel FPGA IP Resource Utilization and Table:
HDCP Resource Utilization.
• Updated table title Recommended Speed Grades for
Intel Arria 10 Devices (Support FRL = 1) to
Recommended Speed Grades for Intel Stratix 10
and Intel Arria 10 Devices (Support FRL = 1) and
added recommended speed grades for Intel Stratix
10 devices.
• Updated the FRL Clocking Scheme section:
— Edited the FRL character processing description
and associated figure.
— Added frl_clk frequency for Intel Stratix 10
devices in Table: Clock Frequencies for FRL
Mode at Different Link Rates.
• Edited the minimum and maximum TX clkout
frequencies for TMDS_BIT_CLOCK_RATIO = 0 in
Table: Clock Frequencies for TMDS Mode at
Different Link Rates.
• Updated the description for the kmem_addr[3:0]
(HDCP 2.3) and kmem_addr[9:4] (HDCP 1.4)
ports in Table: HDMI Source Interfaces.
continued...
153
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
2020.09.28 20.3 19.5.0 • The FRL path now uses the transceiver recovered
clock domain instead of the ls_clk domain.
Updated the following Source sections with the
transceiver recovered clock domain information.
— Source Functional Description
— Source FRL Resampler
— Source Clock Tree
• Edited the description for the ls_clk signal in the
Source Interfaces section.
• Added the following signals in the Source Interfaces
section.
— tx_clk
— os
— mgmt_clk
— in_lock
— tx_hpd
— tx_hpd_req
— i2c_scl
— i2c_sda
— i2c_master_address[3:0]
— i2c_master_write
— i2c_master_read
— i2c_master_writedata[31:0]
— i2c_master_readdata[31:0]
— mgmt_clk
• Removed the ls_clk domain information from the
FRL Clocking Scheme section.
continued...
154
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
155
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
2020.06.02 20.2 19.4.0 • Updated HDCP feature support for Intel Stratix 10
devices.
Note: The HDCP feature is not included in the Intel
Quartus Prime Pro Edition software. To
access this feature, contact Intel at https://
www.intel.com/content/www/us/en/
broadcast/products/programmable/
applications/connectivity-solutions.html.
• Updated the HDCP resource utilization data for Intel
Arria 10 devices and added data for Intel Stratix 10
devices in the Resource Utilization section.
• Updated the HDCP 1.4 Key Port address information
in HDCP 1.4 TX Architecture and HDCP 1.4 RX
Architecture sections.
• Added information about the reset_vid,
hdcp1_disable, and hdcp2_disable signals in
the Source Interfaces section.
• Added information about the reset_vid,
streamid_type, hdcp1_disable, and
hdcp2_disable signals in the Sink Interfaces
section.
• Added a note and edited the bit-field information in
the Source HDMI Vendor Specific InfoFrame (VSI)
section. For the HF-VSIF transmission, use external
VSI by asserting control bit to 1 and send the data
through the Auxiliary Data Port.
2020.04.13 20.1 19.4.0 • Updated the data rate for Intel Arria 10 devices in
the Resource Utilization section.
• Removed the HDCP Over HDMI Design Examples for
Intel Arria 10 Devices section. This information is
now available in the HDMI Intel Arria 10 FPGA IP
Design Example User Guide.
• Edited the port bit in avi[121] to avi[122] in
the Source Auxiliary Control Port and Source
Interfaces sections.
• Removed the AVI version bit information and added
information about setting the AVI version for
Support FRL = 1 in the Source Auxiliary Video
Information section.
• Added HDMI 2.1 Specification reference for FRL
mode in the Source Audio Encoder section.
• Edited the description for ls_clk, vid_clk, and
frl_clk in the Source Interfaces and Sink
Interfaces sections.
• Edited the clocks information in the FRL Clocking
Scheme section.
continued...
156
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
2020.02.10 19.4 19.3.0 • Added support for HDMI 2.1 with fixed rate link
(FRL) enabled. This feature is available only for
Intel Arria 10 devices.
• Added information that HDMI 2.1 supports pixel
frequency up to 1,118 MHz and supports only 8 bits
per component in the HDMI Intel FPGA IP Quick
Reference section.
• Added information about FRL in the HDMI Overview
section.
• Added information about the signal flow for
Support FRL = 1 in the Source Functional
Description and Sink Functional Description
sections.
• Updated the Source Auxiliary Video Information
(AVI) InfoFrame section with Support FRL = 1
information.
• Updated the Source Clock Tree and Sink Clock Tree
sections with FRL information.
• Updated the Source Interfaces and Sink Interfaces
sections with FRL information.
• Updated the HDMI Parameters section to include
Support FRL parameter.
continued...
157
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
158
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
2019.04.29 19.1 19.1 • Added support for Intel Stratix 10 L-tile devices.
Support for both Intel Stratix 10 L-tile and H-tile
devices are final.
• Updated the support for YCbCr 4:2:2 pixel encoding
in the Resource Utilization section. The HDMI IP
core supports 8-bit and 10-bit color depth for YCbCr
4:2:2 pixel encoding.
• Added performance data for Intel Stratix 10 L-tile
and H-tile devices, and updated the data for Intel
Arria 10 and Intel Cyclone 10 GX devices for
version 19.1.
• Updated the description for the locked[2:0],
in_lock[2:0], and ctrl[N*6-1:0] ports.
• Added information insertion and filtration for the
control ports in the Source Auxiliary Control Port
section.
2019.01.21 18.1 18.1 • Added a note in the Sink Word Alignment and
Channel Deskew section that the word alignment
logic in the HDMI RX core is disabled for HDMI 2.0
resolution (data rate >3.4 Gbps) in Intel Arria 10
and Intel Cyclone 10 GX devices. For Intel Stratix
10 devices, the HDMI RX core uses a new word
alignment algorithm logic to achieve fast word
alignment time for HDMI 2.0 resolution (data rate
>3.4Gbps).
• Updated the description for the vid_lock port to
add that the IP detects HTotal, VTotal, HSync Width,
VSync Width, HSync Polarity, and VSync Polarity.
and a change in these parameters across two
frames will deassert the vid_lock signal.
159
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
November 2017 2017.11.06 • Added advance support for Intel Cyclone 10 GX devices.
• Added resource utilization data for Intel Cyclone 10 GX devices.
• Changed bits per color (bpc) to bits per component (bpc) as stated in the
HDMI Specification 2.0.
• Renamed HDMI IP core to HDMI Intel FPGA IP as per Intel rebranding.
• Changed the term Qsys to Platform Designer.
• Reorganized and updated the Source Functional Description and Source
Functional Description sections for better understanding.
• Added description for the following new bit-fields:
— Audio InfoFrame Bundle Bit-fields
— Audio Metadata Bundle Bit-Fields for Packet Header and Control
— Audio Metadata Bundle Bit-Fields for Packet Content When 3D_AUDIO
=1
— Audio Metadata Bundle Bit-Fields for Packet Content When 3D_AUDIO
=0
• Added support for up to 32 audio channels.
• Added support for up to 1,536 kHz audio sample frequency.
• Updated the 3D Audio Format section and the description for audio_clk
that for audio channels greater than 8, do not drive audio_clk at actual
audio sample clock. Instead drive audio_clk with ls_clk and qualify
audio_data with audio_de
• Updated the HDMI Intel FPGA IP Source Clock Tree and HDMI Intel FPGA
IP Sink Clock Tree sections.
• Updated the HDMI Intel FPGA IP Source Parameter and HDMI Intel FPGA
IP Sink Parameter sections.
• Updated the HDMI Intel FPGA IP Source Interfaces and HDMI Intel FPGA
IP Sink Interfaces sections.
• Updated the description for the Support for deep color parameter. The
parameter is now turned on by default.
• Edited the HDMI Intel FPGA IP testbench block diagram. Removed 4
symbols/clock to avoid confusion.
• Added a note in the HDMI Intel FPGA IP Hardware Demonstration section
that the demonstration is only applicable for Arria V and Stratix V devices.
For Intel Arria 10 devices, refer to the HDMI Intel FPGA IP Design Example
User Guide for Intel Arria 10 Devices.
• Added a note in the Simulation Walkthrough section that the walkthrough
is only applicable for Intel Quartus Prime Standard Edition. For Intel
Quartus Prime Pro Edition, refer to the HDMI Intel FPGA IP Design
Example User Guide for Intel Arria 10 Devices.
• Moved information about the HDMI Intel FPGA IP design example
parameters to the HDMI Intel FPGA IP Design Example User Guide for
Intel Arria 10 Devices.
December 2016 2016.12.20 • Updated the HDMI IP core resource utilization table with 16.1 information.
• Added a note for YCbCr 4:2:2 video format that 8 and 10 bits per color
use the same pixel encoding as 12 bits per color, but the valid bits are
left-justified with zeros padding the bits below the least significant bit.
• Added information for the new Design Example parameters.
• Removed all Arria 10 design example related information. For more
information about Arria 10 design examples, refer to the HDMI IP Core
Design Example User Guide.
• Edited the typos in the HDMI Audio Format topic.
• Added information that the HDMI IP core does not support 8-channel
audio.
• Added a new output port version[31:0] for HDMI source and sink.
continued...
160
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
May 2016 2016.05.02 • Updated the HDMI IP core resource utilization table with 16.0 information.
• Added information about Audio Metadata Packet for HDMI Specification
Version 2.0.
• Added information about new HDMI source ports:
— audio_metadata[164:0]
— audio_format[4:0]
• Added information about new HDMI sink ports:
— audio_metadata[164:0]
— audio_format[4:0]
— vid_lock
— aux_error
• Provided detailed information about the HDMI source and sink
audio_de[7:0] port.
• Updated the testbench diagram and description to include audio data and
auxiliary data information.
• Added a note for Altera PLL to place the PLL in the transmit path
(pll_hdmi_tx) in the physical location next to the transceiver PLL.
• Updated the HDMI sideband signals (HDMI AVI and VSI bit-fields) with
default values.
• Added links to archived versions of the HDMI IP Core User Guide.
November 2015 2015.11.02 • Updated the HDMI IP core resource utilization table with 15.1 information.
• Changed instances of Quartus II to Intel Quartus Prime.
• Added full support for Arria 10 devices.
• Added support for new features:
— Deep color
— 8-channel audio
• Added the following parameters for HDMI source:
— Support for 8-channel audio
— Support for deep color
• Added the following parameters for HDMI sink:
— Support for 8-channel audio
— Support for deep color
— Manufacturer OUI
— Device ID String
— Hardware Revision
• Updated the following interface ports for HDMI source:
— Added ctrl port
— Removed gcp_Set_AVMute and gcp_Clear_AVMute ports
• Updated the following interface ports for HDMI sink:
— Added ctrl , mode, in_5v_power, and in_hpd ports
— Removed gcp_Set_AVMute and gcp_Clear_AVMute ports
• Updated the HDMI sink and source block diagrams to reflect the new
features.
• Provided block diagrams for deep color mapping.
• Generalized the HDMI hardware demonstration design for all supported
device families (Arria V, Stratix V, and Arria 10) with detailed description.
May 2015 2015.05.04 • Updated the HDMI IP core resource utilization table with 15.0 information.
• Added information about 4 symbols per clock mode.
• Added information about Status and Control Data Channel (SCDC) for
HDMI specification version 2.0.
• Added the following interface ports for HDMI source:
— TMDS_Bit_clock_Ratio
— Scrambler_Enable
continued...
161
10. Document Revision History for the HDMI Intel FPGA IP User Guide
683798 | 2021.11.12
162