Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
2
Design
Example
Generation
Compilation
(Simulator)
Functional
Simulation
Compilation
(Quartus Prime)
Hardware
Testing
UG-20077 | 2017.11.06
1 Intel® FPGA HDMI Design Example Quick Start Guide for
Intel® Arria® 10 Devices
The Intel® FPGA HDMI IP core design example for Intel Arria® 10 devices features a
simulating testbench and a hardware design that supports compilation and hardware
testing.
When you generate a design example, the parameter editor automatically creates the
files necessary to simulate, compile, and test the design in hardware.
Figure 1.Development Steps
Related Links
Intel FPGA HDMI IP Core User Guide
1.1 Directory Structure
The directories contain the generated files for the Intel FPGA HDMI design example.
Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus
and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other
countries. 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 products and services
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any
information, product, or service described herein except as expressly agreed to in 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.
ISO
9001:2008
Registered
<Design Example>
* Standard = Intel Quartus Prime Standard Edition
Pro = Intel Quartus Prime Pro Edition
quartus
incremental_db (Standard)
db (Standard)/qdb (Pro)
output_files
tmp-clearbox (Pro)
a10_hdmi_demo.qpf
a10_hdmi_demo.qsf
rtl
nios.qsys
gxb
hdmi_rx
hdmi_tx
i2c_master
i2c_slave
reconfig_mgmt
sdc
hdr
common (Pro)
pll
rxtx_link.v
a10_hdmi2_demo.v
a10_reconfig_arbiter.sv
clock_control.qsys/clock_control.ip
clock_crosser.v
script
build_ip.tcl
build_sw.sh
runall.tcl
tx_control_bsp
tx_control
tx_control_src
software
simulation
aldec
cadence
mentor
synopsys
hdmi_rx
hdmi_tx
autotest_crc.v
bitec_hdmi_audio_gen.v
bitec_hdmi_tb.sv
tpg.v
1 Intel® FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
Figure 2.Directory Structure for the Design Example
UG-20077 | 2017.11.06
Table 1.Generated RTL Files
FoldersFiles
gxb•
hdmi_rx•
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
4
hdmi_tx•
/gxb_rx.qsys (Intel Quartus Prime Standard Edition)
•
/gxb_rx.ip (Intel Quartus Prime Pro Edition)
•
/gxb_rx_reset.qsys (Intel Quartus Prime Standard Edition)
•
/gxb_rx_reset.ip (Intel Quartus Prime Pro Edition)
•
/gxb_tx.qsys (Intel Quartus Prime Standard Edition)
•
/gxb_tx.ip (Intel Quartus Prime Pro Edition)
•
/gxb_tx_fpll.qsys (Intel Quartus Prime Standard Edition)
•
/gxb_tx_fpll.ip (Intel Quartus Prime Pro Edition)
•
/gxb_tx_reset.qsys (Intel Quartus Prime Standard Edition)
•
/gxb_tx_reset.ip (Intel Quartus Prime Pro Edition)
/hdmi_rx.qsys (Intel Quartus Prime Standard Edition)
•
/hdmi_rx.ip (Intel Quartus Prime Pro Edition)
/hdmi_rx_top.v
/mr_clock_sync.v
/mr_hdmi_rx_core_top.v
/mr_rx_oversample.v
/symbol_aligner.v
/hdmi_tx.qsys (Intel Quartus Prime Standard Edition)
•
/hdmi_tx.ip (Intel Quartus Prime Pro Edition)
/hdmi_tx_top.v
continued...
1 Intel® FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
UG-20077 | 2017.11.06
FoldersFiles
/mr_ce.v
/mr_hdmi_tx_core_top.v
/mr_tx_oversample.v
i2c_master
/i2c_master_bit_ctrl.v
/i2c_master_byte_ctrl.v
/i2c_master_defines.v
/i2c_master_top.v
/oc_i2c_master.v
/oc_i2c_master_hw.tcl
/timescale.v
i2c_slave•
/edid_ram.qsys (Intel Quartus Prime Standard Edition)
•
/edid_ram.ip (Intel Quartus Prime Pro Edition)
/I2Cslave.v
•
/output_buf_i2c.qsys (Intel Quartus Prime Standard Edition)
•
/output_buf_i2c.ip (Intel Quartus Prime Pro Edition)
/Panasonic.hex
/i2c_avl_mst_intf_gen.v
/i2c_clk_cnt.v
/i2c_condt_det.v
/i2c_databuffer.v
/i2c_rxshifter.v
/i2c_slvfsm.v
/i2c_spksupp.v
/i2c_txout.v
/i2c_txshifter.v
/i2cslave_to_avlmm_bridge.v
pll•
common
hdr
/pll_hdmi.qsys (Intel Quartus Prime Standard Edition)
•
/pll_hdmi.ip (Intel Quartus Prime Pro Edition)
•
/pll_hdmi_reconfig.qsys (Intel Quartus Prime Standard Edition)
•
/pll_hdmi_reconfig.ip (Intel Quartus Prime Pro Edition)
/reset_controller (Intel Quartus Prime Pro Edition)
/altera_hdmi_aux_hdr.v
/altera_hdmi_aux_snk.v
/altera_hdmi_aux_src.v
/altera_hdmi_hdr_infoframe.v
/avalon_st_mutiplexer.v
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
5
1 Intel® FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
FoldersFiles
reconfig_mgmt
/mr_compare_pll.v
/mr_compare_rx.v
/mr_rate_detect.v
/mr_reconfig_master_pll.v
/mr_reconfig_master_rx.v
/mr_reconfig_mgmt.v
/mr_rom_pll_dprioaddr.v
/mr_rom_pll_valuemask_8bpc.v
/mr_rom_pll_valuemask_10bpc.v
/mr_rom_pll_valuemask_12bpc.v
/mr_rom_pll_valuemask_16bpc.v
/mr_rom_rx_dprioaddr_bitmask.v
/mr_rom_rx_valuemask.v
/mr_state_machine.v
sdc
/a10_hdmi2.sdc
/mr.sdc
/jtag.sdc
UG-20077 | 2017.11.06
Table 2.Generated Simulation Files
FoldersFiles
aldec
cadence
mentor
synopsys
/aldec.do
/rivierapro_setup.tcl
/cds.lib
/hdl.var
/ncsim.sh
/ncsim_setup.sh
<cds_libs folder>
/mentor.do
/msim_setup.tcl
/vcs/filelist.f
/vcs/vcs_setup.sh
/vcs/vcs_sim.sh
/vcsmx/vcsmx_setup.sh
/vcsmx/vcsmx_sim.sh
/vcsmx/synopsys_sim_setup
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
6
Start Parameter
Editor
Specify IP Variation
and Select Device
Select
Design Parameters
Initiate
Design Generation
Specify
Example Design
®
1 Intel
UG-20077 | 2017.11.06
FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
FoldersFiles
hdmi_rx•
hdmi_tx•
/hdmi_rx.qsys (Intel Quartus Prime Standard Edition)
•
/hdmi_rx.ip (Intel Quartus Prime Pro Edition)
/hdmi_rx.sopcinfo (Intel Quartus Prime Standard Edition)
/hdmi_tx.qsys (Intel Quartus Prime Standard Edition)
•
/hdmi_tx.ip (Intel Quartus Prime Pro Edition)
/hdmi_tx.sopcinfo (Intel Quartus Prime Standard Edition)
Table 3.Generated Software Files
FoldersFiles
tx_control_src
Note: The tx_control folder will also
contain duplicates of these files.
/i2c.c
/i2c.h
/main.c
/xcvr_gpll_rcfg.c
/xcvr_gpll_rcfg.h
1.2 Hardware and Software Requirements
Intel uses the following hardware and software to test the design example.
Hardware
•Intel Arria 10 GX FPGA Development Kit
•HDMI Source (Graphics Processor Unit (GPU))
•HDMI Sink (Monitor)
•Bitec HDMI 2.0 FMC daughter card (Revision 4.0)
•HDMI cables
Software
•Intel Quartus Prime version 17.1 (for hardware testing)
Use the Intel FPGA HDMI parameter editor in the Intel Quartus Prime software to
generate the design examples.
Figure 3.Generating the Design Flow
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
7
Change to
<Simulator>
Directory
Run
<Simulation Script>
Analyze
Results
1 Intel® FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
UG-20077 | 2017.11.06
1. Create a project targeting Intel Arria 10 device family and select the desired
device.
2. In the IP Catalog, locate and double-click Intel FPGA HDMI IP Core. The NewIP Variant or New IP Variation window appears.
3. Specify a top-level name for your custom IP variation. The parameter editor saves
the IP variation settings in a file named <your_ip>.ip or <your_ip>.qsys.
4. Click OK. The parameter editor appears.
5. On the IP tab, configure the desired parameters for both TX and RX.
6. On the Design Example tab, select Arria 10 HDMI RX-TX Retransmit.
7. Select Simulation to generate the testbench, and select Synthesis to generate
the hardware design example.
You must select at least one of these options to generate the design example files.
If you select both, the generation time is longer.
8. For Generate File Format, select Verilog or VHDL.
9. For Target Development Kit, select Intel Arria 10 GX FPGA DevelopmentKit. If you select a development kit, then the target device (selected in step 4)
changes to match the device on target board. For Intel Arria 10 GX FPGADevelopment Kit, the default device is 10AX115S2F4I1SG.
10. Click Generate Example Design.
1.4 Simulating the Design
The HDMI testbench simulates a serial loopback design from a TX instance to an RX
instance. Internal video pattern generator and audio pattern generator modules drive
the HDMI TX instance and the serial output from the TX instance connects to the RX
instance in the testbench.
Figure 4.Design Simulation Flow
1. Go to the desired simulation folder.
2. Run the simulation script for the supported simulator of your choice. The script
compiles and runs the testbench in the simulator.
3. Analyze the results.
Table 4.Steps to Run Simulation
SimulatorWorking DirectoryInstructions
Riviera-Pro
NCSim
/simulation/aldec
/simulation/cadence
In the command line, type
vsim -c -do aldec.do
In the command line, type
source ncsim.sh
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
8
Compile Design
in Quartus Prime
Software
Set Up HardwareProgram Device
Test Design
in Hardware
®
1 Intel
UG-20077 | 2017.11.06
FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
SimulatorWorking DirectoryInstructions
ModelSim
/simulation/mentor
In the command line, type
vsim -c -do mentor.do
VCS
VCS-MX
/simulation/synopsys/vcs
/simulation/synopsys/
vcsmx
In the command line, type
source vcs_sim.sh
In the command line, type
source vcsmx_sim.sh
A successful simulation ends with the following message:
To compile and run a demonstration test on the hardware example design, follow
these steps:
1. Ensure hardware example design generation is complete.
2. Launch the Intel Quartus Prime software and open project directory/quartus/a10_hdmi2_demo.qpf.
3.
Click Processing➤Start Compilation.
4.
After successful compilation, a .sof file will be generated in your specified
directory.
5. Connect to the on-board FMCB (J2) Bitec HDMI 2.0 FMC Daughter Card Rev 4.
6. Connect TX (P1) of the Bitec HDMI 2.0 FMC Daughter Card (Revision 4) to an
external video source.
7. Connect RX (P2) of the Bitec HDMI 2.0 FMC Daughter Card (Revision 4) to an
external video sink or video analyzer.
8. Ensure all switches on the development board are in default position.
9. Configure the selected Intel Arria 10 device on the development board using the
generated .sof file (Tools➤Programmer ).
10. The analyzer should display the video generated from the source.
Related Links
Intel Arria 10 FPGA Development Kit User Guide
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
9
1 Intel® FPGA HDMI Design Example Quick Start Guide for Intel® Arria® 10 Devices
UG-20077 | 2017.11.06
1.6 Design Limitation
You may encounter timing violation on the maximum skew constraints required for the
designs that use TX PMA and PCS bonding.
Choose the transceiver channels farther away from the Hard IP (HIP) block to meet
the maximum skew tolerance constraints requirement.
1.7 Intel FPGA HDMI Design Example Parameters
Table 5.Intel FPGA HDMI Design Example Parameters for Intel Arria 10 Devices
These options are available for Intel Arria 10 devices only.
ParameterValueDescription
Available Design Example
Select DesignArria 10 HDMI RX-TX
Retransmit
SimulationOn, OffTurn on this option to generate the necessary files for the simulation
SynthesisOn, OffTurn on this option to generate the necessary files for Intel Quartus
Select the design example to be generated. The generated design
example has preconfigured parameter settings. It does not follow user
settings.
Design Example Files
testbench.
Prime compilation and hardware demonstration.
Generated HDL Format
Generate File FormatVerilog, VHDLSelect your preferred HDL format for the generated design example
Select BoardNo Development Kit,
Arria 10 GX FPGA
Development Kit,
Custom Development
Kit
Change Target DeviceOn, OffTurn on this option and select the preferred device variant for the
fileset.
Note: This option only determines the format for the generated top
level IP files. All other files (e.g. example testbenches and top
level files for hardware demonstration) are in Verilog HDL format.
Target Development Kit
Select the board for the targeted design example.
• No Development Kit: This option excludes all hardware aspects for
the design example. The IP core sets all pin assignments to virtual
pins.
• Arria 10 GX FPGA Development Kit: This option automatically selects
the project's target device to match the device on this development
kit. You may change the target device using the Change TargetDevice parameter if your board revision has a different device
variant. The IP core sets all pin assignments according to the
development kit.
• Custom Development Kit: This option allows the design example to
be tested on a third party development kit with an Intel FPGA. You
may need to set the pin assignments on your own.
Target Device
development kit.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
10
UG-20077 | 2017.11.06
2 Intel FPGA HDMI Design Example Detailed Description
The Intel FPGA HDMI IP core design example demonstrates one HDMI instance parallel
loopback consisting three RX channels and four TX channels.
Table 6.Intel FPGA HDMI Design Example for Intel Arria 10 Devices
Design ExampleData RateChannel ModeLoopback Type
Arria 10 HDMI RX-TX Retransmit< 6,000 MbpsSimplexParallel with FIFO buffer
Features
•The design instantiates FIFO buffers to perform a direct HDMI video stream
passthrough between the HDMI sink and source.
•The design uses LED status for early debugging stage.
•The design comes with RX and TX only options.
•The design demonstrates the insertion and filtering of Dynamic Range and
Mastering (HDR) InfoFrame in RX-TX link module.
•The design demonstrates the management of EDID passthrough from an external
HDMI sink to an external HDMI source when triggered by a TX hot-plug event.
mode signal to select DVI or HDMI encoded video frame
—
info_avi[47], info_vsi[61], and audio_info_ai[48] signals to select
auxiliary packet transmission through sidebands or auxiliary data ports
The RX instance receives a video source from the external video generator, and the
data then goes through a loopback FIFO before it is transmitted to the TX instance.
You need to connect an external video analyzer, monitor, or a television with HDMI
connection to the TX core to verify the functionality.
2.1 HDMI RX-TX Retransmit Design Example
The HDMI RX-TX retransmit design example demonstrates parallel loopback on
simplex channel mode for Intel FPGA HDMI IP core.
Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus
and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other
countries. 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 products and services
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any
information, product, or service described herein except as expressly agreed to in 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.
ISO
9001:2008
Registered
Figure 5.HDMI RX-TX Retransmit
I2C Slave
(EDID)
PIO
I2C Slave
(SCDC)
EDID RAM
RX Core
RX
Oversampler
DCFIFO
RX Core Top
IOPLL
Transceiver PHY
Reset Controller
RX Native PHY
RX Reconfiguration
Management
IOPLL
Reconfiguration
Transceiver
Arbiter
CPU Sub-System
RX-TX Link
I2C
Master
PIO
TX Core
TX
Oversampler
Clock Enable
Generator
DCFIFO
TX Core Top
TX PLL
Transceiver PHY
Reset Controller
TX Native PHY
IOPLL
Reconfiguration
IOPLL
RX Audio
RX Video
RX Auxiliary
RX Sideband
TX Audio
TX Video
TX Auxiliary
TX Sideband
RX TopTX Top
Top
Parallel Data
Serial Data
Avalon-MM
Control and Status
0
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
To use RX or TX only components, remove the irrelevant blocks from the design
User Requirement
HDMI RX OnlyRX Top• TX Top
HDMI TX OnlyTX Top, CPU Sub-System• RX Top
PreserveRemoveAdd
• RX-TX Link
• CPU Sub-System
• Transceiver Arbiter
• RX-TX Link
• Transceiver Arbiter
—
Video Pattern Generator
(custom module or
generated from the VIP
Suite IP core)
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
12
Parallel Data
Serial Data
Avalon-MM
Control and Status
0
RemovedRXTX
I2C Slave
(EDID)
PIO
I2C Slave
(SCDC)
EDID RAM
RX Core
RX
Oversampler
DCFIFO
RX Core Top
IOPLL
Transceiver PHY
Reset Controller
RX Native PHY
RX Reconfiguration
Management
IOPLL
Reconfiguration
Transceiver
Arbiter
CPU Sub-System
RX-TX Link
I2C
Master
PIO
TX Core
TX
Oversampler
Clock Enable
Generator
DCFIFO
TX Core Top
TX PLL
Transceiver PHY
Reset Controller
TX Native PHY
IOPLL
Reconfiguration
IOPLL
RX Audio
RX Video
RX Auxiliary
RX Sideband
TX Audio
TX Video
TX Auxiliary
TX Sideband
RX TopTX Top
Top
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
Figure 6.Components Required for RX or TX Only Design
Note: If your design only requires HDMI TX or retransmitting HDMI stream from RX to TX
through video frame buffer, supply the TX PLL reference clock directly from an
external programmable oscillator. Intel recommends that you do not cascade IOPLL to
TX PLL.
Related Links
Jitter of PLL Cascading or Non-Dedicated Clock Path for Arria 10 PLL Reference Clock
Refer to this solution for workaround if your design clocks experience additional
jitter.
2.2 Design Components
Table 7.HDMI RX Top Components
RX Core TopThe RX Core top level consists of:
The Intel FPGA HDMI IP core design example requires these components.
ModuleDescription
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
13
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ModuleDescription
• HDMI RX Core—The IP core receives the serial data from the Transceiver
Native PHY and performs data alignment, channel deskew, TMDS decoding,
auxiliary data decoding, video data decoding, audio data decoding, and
descrambling.
• RX Oversampler—The RX Oversampler module extracts data from the
oversampled incoming data stream when the detected clock frequency band
is below the transceiver minimum link rate. The oversampling factor is fixed
at 5 and you can program the data width to support different number of
symbols. For Intel Arria 10 devices, the supported data width is 20 bits for 2
symbols per clock. The extracted bit is accompanied by a data valid pulse
asserted every 5 clock cycles.
• DCFIFO —The DCFIFO transfers data from the RX transceiver recovered clock
domain to the RX link speed clock domain.
I2C SlaveI2C is the interface used for Sink Display Data Channel (DDC) and Status and
EDID RAMThe design stores the EDID information using the RAM 1-port IP core. A standard
IOPLLThe IOPLL generates the RX CDR reference clock, link speed clock, and video
Transceiver PHY Reset ControllerThe Transceiver PHY reset controller ensures a reliable initialization of the RX
RX Native PHYHard transceiver block that receives the serial data from an external video
RX Reconfiguration ManagementRX reconfiguration management that implements rate detection circuitry with the
IOPLL ReconfigurationIOPLL reconfiguration block facilitates dynamic real-time reconfiguration of PLLs
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 8-bit I2C slave addresses for E-EDID are 0xA0 and 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 also supports SCDC for HDMI 2.0 operations.
The 9-bit I2C slave address for the SCDC are 0xA8 and 0xA9. When an HPD
event occurs, the I2C slave performs write or read transaction to or from
SCDC interface of the HDMI RX core.
Note: This I2C slave-only controller for SCDC is not required if HDMI 2.0 is
not intended.
two-wire (clock and data) serial bus protocol (I2C slave-only controller) transfers
the CEA-861-D Compliant E-EDID data structure. This EDID RAM stores the EEDID information.
clock for the incoming TMDS clock.
• Output clock 0 (CDR reference clock)
• Output clock 1 (Link speed clock)
• Output clock 2 (Video clock)
Note: The default IOPLL configuration is not valid for any HDMI resolution. The
IOPLL is reconfigured to the appropriate settings upon power up.
transceivers. The reset input of this controller is triggered by the RX
reconfiguration, and it generates the corresponding analog and digital reset
signal to the Transceiver Native PHY block according to the reset sequencing
inside the block.
source. It deserializes the serial data to parallel data before passing the data to
the HDMI RX core.
HDMI PLL to drive the RX transceiver to operate at any arbitrary link rates
ranging from 250 Mbps to 6,000 Mbps.
Refer to the Multi-Rate Reconfiguration Sequence Flow figure below.
in Intel FPGAs. This block updates the output clock frequency and PLL bandwidth
in real-time, without reconfiguring the entire FPGA. This blocks runs at 100 MHz
in Intel Arria 10 devices.
Due to IOPLL reconfiguration limitation, apply the Quartus INI
permit_nf_pll_reconfig_out_of_lock=on during the IOPLL
reconfiguration IP generation.
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
14
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ModuleDescription
To apply the Quartus INI, include
“permit_nf_pll_reconfig_out_of_lock=on” in the quartus.ini file and
place in the file the Intel Quartus Prime project directory. You should see a
warning message when you edit the IOPLL reconfiguration block
(pll_hdmi_reconfig) in the Quartus Prime software with the INI.
Note:
Without this Quartus INI, IOPLL reconfiguration cannot be completed if
the IOPLL loses lock during reconfiguration.
PIOThe parallel input/output (PIO) block functions as control, status and reset
interfaces to or from the CPU sub-system.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
15
Reset the RX HDMI PLL and RX transceiver.
Enable the rate detection circuit to measure incoming TMDS clock.
Accept acknowledgement with clock frequency band and desired
RX HDMI PLL and RX transceiver settings.
Determine if RX HDMI PLL and/or RX transceiver reconfiguration
is required based on the previous and current detected clock
frequency band and color depth. Different color depths may fall
within the same clock frequency band.
Request RX HDMI PLL and/or RX transceiver reconfiguration if the
previous and current clock frequency band or color depth differs.
The controller reconfigures the RX HDMI PLL and/or RX transceiver
(followed by recalibration on Intel Arria 10 device).
Reconfiguration Required
Reconfiguration
Not Required
When all reconfiguration processes complete or the previous and
current clock frequency band and color depth do not differ, reset
the RX HDMI PLL and RX transceiver.
Enable rate the detection circuit periodically to monitor the
reference clock frequency. If the clock frequency band changes or
the RX HDMI PLL or RX transceiver or HDMI core lose lock, repeat
the process.
2 Intel FPGA HDMI Design Example Detailed Description
Figure 7.Multi-Rate Reconfiguration Sequence Flow
The figure illustrates the multi-rate reconfiguration sequence flow of the controller when it receivers input data
stream and reference clock frequency, or when the transceiver is unlocked.
UG-20077 | 2017.11.06
Table 8.HDMI TX Top Components
TX Core TopThe TX Core top level consists of:
ModuleDescription
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
16
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ModuleDescription
• HDMI TX Core—The IP core receives video data from the top level and
performs TMDS encoding, auxiliary data encoding, audio data encoding, video
data encoding, and scrambling.
• TX Oversampler—The TX Oversampler module transmits data by repeating
each bit of the input word a given number of times and constructs the output
words. The oversampling factor can be 3, 4, or 5 depending on the TMDS
clock frequency. The TX oversampler assumes that the input word is only
valid every 3, 4, or 5 clock cycles according to the oversampling factor. This
block is enabled when the outgoing data stream is below the minimum link
rate of the TX transceiver. When FPLL input reference clock frequency is
below 50 MHz, the allowable data rate must be below 1,500 Mbps.
(Refer to Table 9 on page 18.)
• DCFIFO —The DCFIFO transfers data from the TX link speed clock domain to
the transceiver parallel clock out domain. When the Nios II processor
determines the outgoing data stream is below the TX transceiver minimum
data rate, the TX transceiver accepts the data from the TX oversampler.
Otherwise, the TX transceiver reads the data directly from the DCFIFO with a
read request asserted at all times.
• Clock Enable Generator—A logic that generates a clock enable pulse. This
clock enable pulse asserts every 5 clock cycles and serves as a read request
signal to clock the data out from the DCFIFO.
I2C MasterI2C is the interface used for Sink Display Data Channel (DDC) and Status and
IOPLL
Transceiver PHY Reset ControllerThe Transceiver PHY reset controller ensures a reliable initialization of the TX
Transceiver Native PHYHard transceiver block that receives the parallel data from the HDMI TX core and
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.
• As DDC, I2C Master reads the EDID from the external sink to configure the
EDID information EDID RAM in the HDMI RX Top or for video processing.
• As SCDC, I2C master transfers the SCDC data structure from the FPGA source
to the external sink for HDMI 2.0 operation. For example, if the outgoing data
stream is above 3,400 Mbps, the Nios II processor commands the I2C master
to update the TMDS_BIT_CLOCK_RATIO and SCRAMBLER_ENABLE bits of
the sink SCDC configuration register to 1.
The IOPLL supplies the link speed clock and video clock from the incoming TMDS
clock.
• Output clock 1 (Link speed clock)
• Output clock 2 (Video clock)
Note: The default IOPLL configuration is not valid for any HDMI resolution. The
IOPLL is reconfigured to the appropriate settings upon power up.
transceivers. The reset input of this controller is triggered from the top level, and
it generates the corresponding analog and digital reset signal to the Transceiver
Native PHY block according to the reset sequencing inside the block.
The tx_ready output signal from this block also functions as a reset signal to
the Intel FPGA HDMI IP core to indicate the transceiver is up and running, and
ready to receive data from the core.
serializes the data from transmitting it.
Reconfiguration interface is enabled in the TX Native PHY block to demonstrate
the connection between TX Native PHY and transceiver arbiter. No
reconfiguration is performed for TX Native PHY.
Note: To meet the HDMI TX inter-channel skew requirement, set the TX channel
bonding mode option in the Intel Arria 10 Transceiver Native PHY
parameter editor to PMA and PCS bonding. You also need to add the
maximum skew (set_max_skew) constraint requirement to the digital
reset signal from the transceiver reset controller (tx_digitalreset) as
recommended in the Intel Arria 10 Transceiver PHY User Guide.
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
17
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ModuleDescription
TX PLLThe transmitter PLL block provides the serial fast clock to the Transceiver Native
IOPLL ReconfigurationIOPLL reconfiguration block facilitates dynamic real-time reconfiguration of PLLs
PHY block. For this Intel FPGA HDMI design example, fPLL is used as TX PLL.
in Intel FPGAs. This block updates the output clock frequency and PLL bandwidth
in real-time, without reconfiguring the entire FPGA. This blocks runs at 100 MHz
in Intel Arria 10 devices.
Due to IOPLL reconfiguration limitation, apply the Quartus INI
permit_nf_pll_reconfig_out_of_lock=on during the IOPLL
reconfiguration IP generation.
To apply the Quartus INI, include
“permit_nf_pll_reconfig_out_of_lock=on” in the quartus.ini file and
place in the file the Intel Quartus Prime project directory. You should see a
warning message when you edit the IOPLL reconfiguration block
(pll_hdmi_reconfig) in the Quartus Prime software with the INI.
Note:
Without this Quartus INI, IOPLL reconfiguration cannot be completed if
the IOPLL loses lock during reconfiguration.
PIOThe parallel input/output (PIO) block functions as control, status and reset
interfaces to or from the CPU sub-system.
Table 9.Transceiver Data Rate and Oversampling Factor for Each TMDS Clock
Frequency Range
TMDS Clock Frequency
(MHz)
85–1501Not applicable3400–6000
100–3400Not applicable1000–3400
50–100052500–5000
35–50031050–1500
30–35041200–1400
25–30051250–1500
TMDS Bit clock RatioOversampling FactorTransceiver Data Rate (Mbps)
Table 10.Top-Level Common Blocks
ModuleDescription
Transceiver ArbiterThis generic functional block prevents transceivers from recalibrating
simultaneously when either RX or TX transceivers within the same physical
channel require reconfiguration. The simultaneous recalibration impacts
applications where RX and TX transceivers within the same channel are assigned
to independent IP implementations.
This transceiver arbiter is an extension to the resolution recommended for
merging simplex TX and simplex RX into the same physical channel. This
transceiver arbiter also assists in merging and arbitrating the Avalon-MM RX and
TX reconfiguration requests targeting simplex RX and TX transceivers within a
channel as the reconfiguration interface port of the transceivers can only be
accessed sequentially.
The interface connection between the transceiver arbiter and TX/RX Native
PHY/PHY Reset Controller blocks in this design example demonstrates a generic
mode that apply for any IP combination using the transceiver arbiter. The
transceiver arbiter is not required when only either RX or TX transceiver is used
in a channel.
The transceiver arbiter identifies the requester of a reconfiguration through its
Avalon-MM reconfiguration interfaces and ensures that the corresponding
tx_reconfig_cal_busy or rx_reconfig_cal_busy is gated accordingly.
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
18
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ModuleDescription
For HDMI application, only RX initiates reconfiguration. By channeling the
Avalon-MM reconfiguration request through the arbiter, the arbiter identifies that
the reconfiguration request originates from the RX, which then gates
tx_reconfig_cal_busy from asserting and allows rx_reconfig_cal_busy
to assert. The gating prevents the TX transceiver from being moved to
calibration mode unintentionally.
Note: Because HDMI only requires RX reconfiguration, the
tx_reconfig_mgmt_* signals are tied off. Also, the Avalon-MM interface
is not required between the arbiter and the TX Native PHY block. The
blocks are assigned to the interface in the design example to demonstrate
generic transceiver arbiter connection to TX/RX Native PHY/PHY Reset
Controller.
RX-TX Link• The video data output and synchronization signals from HDMI RX core loop
CPU Sub-SystemThe CPU sub-system functions as SCDC and DDC controllers, and source
through a DCFIFO across the RX and TX video clock domains.
• The General Control Packet (GCP), InfoFrames (AVI, VSI and AI), auxiliary
data, and audio data loop through DCFIFOs across the RX and TX link speed
clock domains.
• The auxiliary data port of the HDMI TX core controls the auxiliary data that
flow through the DCFIFO through backpressure. The backpressure ensures
there is no incomplete auxiliary packet on the auxiliary data port.
• This block also performs external filtering:
— Filters the audio data and audio clock regeneration packet from the
auxiliary data stream before transmitting to the HDMI TX core auxiliary
data port.
Note:
To disable this filtering, press user_pb[2]. Enable this filtering to
ensure there is no duplication of audio data and audio clock
regeneration packet in the retransmitted auxiliary data stream.
— Filters the High Dynamic Range (HDR) Infoframe from the HDMI RX
auxiliary data and inserts an example HDR Infoframe to the auxiliary data
of the HDMI TX through the Avalon ST multiplexer.
reconfiguration controller.
• The source SCDC controller contains the I2C master controller. The I2C
master controller transfers the SCDC data structure from the FPGA source to
the external sink for HDMI 2.0 operation. 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 also transfers the DDC data structure (E-EDID) between
the HDMI source and external sink.
• The Nios II CPU acts as the reconfiguration controller for the HDMI source.
The CPU relies on the periodic rate detection from the RX Reconfiguration
Management module to determine if the 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 IOPLL and TX Native PHY.
• The reconfiguration sequence flow for TX is same as RX, except that the PLL
and transceiver reconfiguration and the reset sequence is performed
sequentially. Refer to Figure 8 on page 20.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
19
Figure 8.Reconfiguration Sequence Flow
The Nios II processor commands the I C master
to send SCDC information.
Reconfiguration Required
Measure Valid ReceivedA TX Hot-Plug Event Occured
Reconfiguration
Not Required
Poll periodic measure valid signal from RX rata 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 occured.
Reset the TX HDMI PLL and TX transceiver. Initialize the I C Master Controller Core.
2
Retrieve the clock frequency band based on
the measure and TMDS_Bit_clock_Ratio
values and read the color depth information
from the HDMI sink to determine whether
TX HDMI PLL and TX transceiver
reconfiguration and oversampling is required.
Read TMDS_Bit_clock_Ratio value from
the HDMI sink and measure value.
Nios II processor sends sequential commands
to reconfigure the TX HDMI PLL and TX
transceiver (followed by recalibration on
Intel Arria 10 device), and reset sequence after
reconfiguration. It then sends a reset to the
HDMI TX core.
Deassert edid_ram_access control signal
to enable the HDMI RX Top to trigger a
hotplug detect event to the external
HDMI source.
Assert HDMI RX Top’s edid_ram_access
control signal to block HDMI sink’s EDID
RAM from being accessed by external
HDMI source.
Send TMDS_Bit_clock_Ratio and
Scrambler_Enable information to the
external HDMI sink’s SCDC registers
through the IC interface.
2
Read EDID from external sink through I C
interface and write the EDID content to
the HDMI RX EDID RAM.
2
2
The figure illustrates the Nios II software flow that involves the controls for I2C master and HDMI source.
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
2.3 Dynamic Range and Mastering (HDR) InfoFrame Insertion and
Filtering
The Intel FPGA HDMI design example includes a demonstration of HDR Infoframe
insertion in a RX-TX loopback system.
HDMI Specification version 2.0a allows Dynamic Range and Mastering InfoFrame to be
transmitted through HDMI auxiliary stream. In the demonstration, the Auxiliary Data
Insertion block supports the HDR insertion. You only need to format the intended HDR
Infoframe packet as specified in the module’s signal list table and use the provided
AUX Insertion Control module to schedule the insertion of the HDR infoframe once
every video frame.
In this example configuration, in instances where the incoming auxiliary stream
already includes HDR Infoframe, the streamed HDR content is filtered. The filtering
avoids conflicting HDR Infoframes to be transmitted and ensures that only the values
specified in the HDR Sample Data module are used.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
20
HDMI RX
Top
HDMI TX
Top
Auxiliary
Packet Filter
Video
Bypass FIFO
Audio
Bypass FIFO
Sideband
Bypass FIFO
Auxiliary
Bypass FIFO
Auxiliary
Packet
Generator
Multiplexer
In1
In0
HDR
Data
AUX
Insertion
Control
Auxiliary Data Insertion Block
Auxiliary Data Interface
Auxiliary InfoFrame
Content Interface
Auxiliary Insertion
Control Interface
block_ext_hdr_infoframe
RX Video
TX Video
RX Audio
TX Audio
RX Sideband
TX Sideband
RX Auxiliary
TX Auxiliary
RX-TX Link
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
Figure 9.RX-TX Link with Dynamic Range and Mastering InfoFrame Insertion
The figure shows the block diagram of RX-TX link including Dynamic Range and Mastering InfoFrame insertion
into the HDMI TX core auxiliary stream.
Table 11.Auxiliary Data Insertion Block (altera_hdmi_aux_hdr) Signals
SignalDirectionWidthDescription
Clock and Reset
Input1Clock input. This clock should be
Input1Reset input.
Output72Avalon streaming output from
Output1
Output1
Output1
Output1
Output11
Input72Avalon streaming input to the
Input1
Input1
Input1
Input1
clk_clk
reset_reset_n
multiplexer_out_data
multiplexer_out_valid
multiplexer_out_ready
multiplexer_out_startofpacket
multiplexer_out_endofpacket
multiplexer_out_channel
multiplexer_in_data
multiplexer_in_valid
multiplexer_in_ready
multiplexer_in_startofpacket
multiplexer_in_endofpacket
Auxiliary Packet Generator and Multiplexer Signals
connected to the link speed
clock.
the multiplexer.
In1 port of the multiplexer.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
21
2 Intel FPGA HDMI Design Example Detailed Description
Control Signal
hdmi_tx_vsync
Input1HDMI TX Video Vsync. This
Table 12.HDR Data Module (altera_hdmi_hdr_infoframe) Signals
SignalDirectionWidthDescription
hb0
hb1
hb2
pb
Output8Header byte 0 of the Dynamic
Output8Header byte 1 of the Dynamic
Output8Header byte 2 of the Dynamic
Input224Data byte of the Dynamic Range
UG-20077 | 2017.11.06
signal should be synchronized to
the link speed clock domain.
The core inserts the HDR
InfoFrame to the auxiliary
stream at the rising edge of this
signal.
Range and Mastering
InfoFrame: InfoFrame type
code.
Range and Mastering
InfoFrame: InfoFrame version
number.
Range and Mastering
InfoFrame: Length of
InfoFrame.
and Mastering InfoFrame.
Table 13.Dynamic Range and Mastering InfoFrame Data Byte Bundle Bit-Fields
Disabling HDR insertion and filter enables you to verify the retransmission of HDR
content already available in the source auxiliary stream without any modification in
the RX-TX Retransmit design example.
To disable HDR Infoframe insertion and filtering:
1.
Set block_ext_hdr_infoframe to 1’b0 in the rxtx_link.v file to prevent
the filtering of the HDR Infoframe from the Auxiliary stream.
2.
Set multiplexer_in0_valid of the avalon_st_multiplexer instance in the
altera_hdmi_aux_hdr.v file to 1'b0 to prevent the Auxiliary Packet Generator
from forming and inserting additional HDR Infoframe into the TX Auxiliary stream.
2.4 Clocking Scheme
The clocking scheme illustrates the clock domains in the Intel FPGA HDMI IP core
design example.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
23
I2C Slave
(EDID)
PIO
I2C Slave
(EDID)
EDID RAM
RX Core
RX
Oversampler
DCFIFO
RX Core Top
IOPLL
Transceiver PHY
Reset Controller
RX Native PHY
RX Reconfiguration
Management
IOPLL
Reconfiguration
Transceiver
Arbiter
CPU Sub-System
RX-TX Link
I2C
Master
PIO
TX Core
TX
Oversampler
DCFIFO
TX Core Top
TX PLL
Transceiver PHY
Reset Controller
TX Native PHY
IOPLL
Reconfiguration
IOPLL
RX TopTX Top
Top
RX Transceiver Clock Out
RX Link Speed Clock
RX Video Clock
RX CDR Reference Clock
TX PLL Serial ClockManagement Clock
I2C Clock
RX TMDS Clock
TX IOPLL/TX PLL Reference Clock
TX Transceiver Clock Out
TX Link Speed Clock
TX Video Clock
Clock Enable
Generator
2 Intel FPGA HDMI Design Example Detailed Description
Figure 10.Intel FPGA HDMI Design Example Clocking Scheme
UG-20077 | 2017.11.06
Table 14.Clocking Scheme Signals
ClockSignal Name in DesignDescription
TX IOPLL/ TX PLL Reference
Clock
TX Transceiver Clock Out
TX/RX Link Speed Clock
TX PLL Serial Clock
hdmi_clk_in
tx_clk
tx_bonding_clocks
ls_clk
Reference clock to the TX IOPLL and TX PLL. The clock
frequency is the same as the expected TMDS clock
frequency from the HDMI TX TMDS clock channel.
For this Intel FPGA HDMI design example, this clock is
connected to the RX TMDS clock for demonstration purpose.
In your application, you need to supply a dedicated clock
with TMDS clock frequency from a programmable oscillator
for better jitter performance.
Note:
Do not use a transceiver RX pin as a TX PLL
reference clock. Your design will fail to fit if you
place the HDMI TX refclk on an RX pin.
Clock out recovered from the transceiver, and the frequency
varies depending on the data rate and symbols per clock.
TX transceiver clock out frequency = Transceiver data rate/
(Symbol per clock*10)
Serial fast clock generated by TX PLL. The clock frequency is
set based on the data rate.
Link speed clock. The link speed clock frequency depends
on the expected TMDS clock frequency, oversampling factor,
symbols per clock, and TMDS bit clock ratio.
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
24
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
ClockSignal Name in DesignDescription
TMDS Bit Clock RatioLink Speed Clock Frequency
0TMDS clock frequency/ Symbol
per clock
1TMDS clock frequency *4 /
Symbol per clock
TX/RX Video Clock
RX TMDS Clock
RX CDR Reference Clock
vid_clk
tmds_clk_in
iopll_outclk0
Video data clock. The video data clock frequency is derived
from the TX link speed clock based on the color depth.
TMDS Bit Clock RatioVideo Data Clock Frequency
0TMDS clock/ Symbol per clock/
1TMDS clock *4 / Symbol per
Bits per ColorColor Depth Factor
81
101.25
121.5
162.0
TMDS clock channel from the HDMI RX and connects to the
reference clock to the IOPLL.
Reference clock to the RX CDR of RX transceiver.
Data RateRX Reference Clock
Data rate <1 Gbps5× TMDS clock frequency
1 Gbps< Data rate
<3.4 Gbps
Data rate >3.4 Gbps4× TMDS clock frequency
Color depth factor
clock/ Color depth factor
Frequency
TMDS clock frequency
RX Transceiver Clock Out
Management Clock
rx_clk
mgmt_clk
• Data Rate <1 Gbps: For oversampling to meet
transceiver minimum data rate requirement.
• Data Rate >3.4 Gbps: To compensate for the TMDS bit
rate to clock ratio of 1/40 to maintain the transceiver
data rate to clock ratio at 1/10.
Note:
Do not use a transceiver RX pin as a CDR reference
clock. Your design will fail to fit if you place the
HDMI RX refclk on an RX pin.
Clock out recovered from the transceiver, and the frequency
varies depending on the data rate and symbols per clock.
RX transceiver clock out frequency = Transceiver data rate/
(Symbol per clock*10)
A free running 100 MHz clock for these components:
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
25
ClockSignal Name in DesignDescription
I2C Clock
Related Links
•Using Transceiver RX Pin as CDR Reference Clock
•Using Transceiver RX Pin as TX PLL Reference Clock
2.5 Interface Signals
i2c_clk
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
• AVMM interfaces for reconfiguration
The frequency range requirement is between 100–125
MHz.
• PHY reset controller for transceiver reset sequence
The frequency range requirement is between 1–500
MHz.
• IOPLL Reconfiguration
Maximum clock frequency is 100 MHz.
• RX Reconfiguration for management
• CPU
• I2C Master
A 50 MHz clock input that clocks I2C slave, SCDC registers
in the HDMI RX core, and EDID RAM.
The tables list the signals for the Intel FPGA HDMI IP core design example.
Table 15.Top-Level Signals
SignalDirectionWidthDescription
clk_fpga_b3_p
clk_50
user_pb
cpu_resetn
user_led_g
user_led_r
fmcb_gbtclk_m2c_p_0
fmcb_dp_m2c_p
fmcb_dp_c2m_p
fmcb_la_rx_p_9
fmcb_la_rx_p_8
fmcb_la_rx_n_8
On-board Oscillator Signal
Input1100 MHz free running clock
Input150 MHz free running clock
User Push Buttons and LEDs
Input1Push button to control the Intel FPGA
HDMI design functionality
Input1Global reset
Output8Green LED display
Output8Red LED display
HDMI FMC Daughter Card Pins on FMC Port B
Input1HDMI RX TMDS clock
Input3HDMI RX red, green, and blue data
channels
Output4HDMI TX clock, red, green, and blue data
channels
Input1HDMI RX +5V power detect
Inout1HDMI RX hot plug detect
Inout1HDMI RX I2C SDA
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
26
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
HDMI FMC Daughter Card Pins on FMC Port B
fmcb_la_tx_p_10
fmcb_la_tx_p_12
fmcb_la_tx_n_12
fmcb_la_rx_p_10
Input1HDMI RX I2C SCL
Input1HDMI TX hot plug detect
Inout1HDMI I2C SDA
Inout1HDMI I2C SCL
Table 16.HDMI RX Top-Level Signals
SignalDirectionWidthDescription
Clock and Reset Signals
mgmt_clk
reset
tmds_clk_in
i2c_clk
vid_clk_out
ls_clk_out
sys_init
Input1System clock input (100 MHz)
Input1System reset input
Input1HDMI RX TMDS clock
Input1Clock input for DDC and SCDC interface
Output1Video clock output
Output8Link speed clock output
Output1System initialization to reset the system
upon power-up
rx_serial_data
gxb_rx_ready
gxb_rx_cal_busy_out
gxb_rx_cal_busy_in
iopll_locked
gxb_reconfig_write
gxb_reconfig_read
gxb_reconfig_address
gxb_reconfig_writedata
gxb_reconfig_readdata
gxb_reconfig_waitrequest
rx_reconfig_en
measure
measure_valid
os
RX Transceiver and IOPLL Signals
Input3HDMI serial data to the RX Native PHY
Output1Indicates RX Native PHY is ready
Output3RX Native PHY calibration busy to the
Input3Calibration busy signal from the
Output1Indicate IOPLL is locked
Input3Transceiver reconfiguration Avalon-MM
Input3
Input30
Input96
Output96
Output3
RX Reconfiguration Management
Output1RX Reconfiguration enables signal
Output24HDMI RX TMDS clock frequency
Output1Indicates the measure signal is valid
Output1Oversampling factor:
transceiver arbiter
transceiver arbiter to the RX Native PHY
interface from the RX Native PHY to the
transceiver arbiter
measurement (in 10 ms)
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
27
reconfig_mgmt_write
reconfig_mgmt_read
reconfig_mgmt_address
reconfig_mgmt_writedata
reconfig_mgmt_readdata
reconfig_mgmt_waitrequest
TMDS_Bit_clock_Ratio
audio_de
audio_data
audio_info_ai
audio_N
audio_CTS
audio_metadata
audio_format
aux_pkt_data
aux_pkt_addr
aux_pkt_wr
aux_data
aux_sop
aux_eop
aux_valid
aux_error
gcp
info_avi
info_vsi
colordepth_mgmt_sync
vid_data
vid_vsync
vid_hsync
vid_de
mode
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
RX Reconfiguration Management
• 0: No oversampling
• 1: 5× oversampling
Output1RX reconfiguration management Avalon-
Output1
Output12
Output32
Input32
Input1
HDMI RX Core Signals
Output1SCDC register interfaces
Output1HDMI RX core audio interfaces
Output256
Output48
Output20
Output20
Output165
Output5
Output72HDMI RX core auxiliary interfaces
Output6
Output1
Output72
Output1
Output1
Output1
Output1
Output6HDMI RX core sideband signals
Output112
Output61
Output2
OutputN*48HDMI RX core video ports
OutputN
OutputN
OutputN
Output1HDMI RX core control and status ports
MM interface to transceiver arbiter
Note: N = symbols per clock
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
28
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
HDMI RX Core Signals
ctrl
locked
vid_lock
in_5v_power
hdmi_rx_hpd_n
hdmi_rx_i2c_sda
hdmi_rx_i2c_scl
edid_ram_access
edid_ram_address
edid_ram_write
edid_ram_read
edid_ram_readdata
edid_ram_writedata
edid_ram_waitrequest
OutputN*6Note: N = symbols per clock
Output3
Output1
Input1HDMI RX 5V detect and hotplug detect
Inout1
Inout1HDMI RX DDC and SCDC interface
Inout1
RX EDID RAM Signals
Input1HDMI RX EDID RAM access interface.
Input8
Input1
Input1
Output8
Input8
Output1
I2C Signals
Assert edid_ram_access when you want
to write or read from the EDID RAM, else
this signal should be kept low.
Table 17.HDMI TX Top-Level Signals
SignalDirectionWidthDescription
Clock and Reset Signals
mgmt_clk
reset
hdmi_clk_in
vid_clk_out
ls_clk_out
sys_init
reset_xcvr
reset_pll
reset_pll_reconfig
TX Transceiver and IOPLL Signals
tx_serial_data
gxb_tx_ready
Input1System clock input (100 MHz)
Input1System reset input
Input1Reference clock to TX IOPLL and TX PLL.
The clock frequency is the same as the
TMDS clock frequency.
Output1Video clock output
Output8Link speed clock output
Output1System initialization to reset the system
upon power-up
Input1Reset to TX transceiver
Input1Reset to IOPLL and TX PLL
Output1Reset to PLL reconfiguration
Output4HDMI serial data from the TX Native PHY
Output1Indicates TX Native PHY is ready
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
edid_ram_access_pio_
external_connection_
export when you want to
write to or read from the
EDID RAM on the RX top.
Connect EDID RAM access
Avalon-MM slave in
Platform Designer to the
EDID RAM interface on the
top-level RX modules.
Avalon-MM interfaces
Avalon-MM interfaces
continued...
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
Input1TX PMA Recalibration Busy
Output2TX PMA Channels
TX PMA Reconfiguration
Enable
Output32TX IOPLL Reconfiguration
Avalon-MM interfaces
Output9
Output1
Output1
Input32
Output2Oversampling factor:
• 0: No oversampling
• 1: 3× oversampling
• 2: 4× oversampling
• 3: 5× oversampling
Output1Reset to IOPLL and TX PLL
Output1Reset to TX Native PHY
Output1Watchdog timer reset
Input2Color depth
Output1For TX hotplug detect
handshaking
Input1
2.6 Design RTL Parameters
Use the HDMI TX and RX Top RTL parameters to customize the design example.
Most of the design parameters are available in the Intel FPGA HDMI Design Example
parameter editor. You can still change the design example settings you made in the
parameter editor through the RTL parameters.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
36
2 Intel FPGA HDMI Design Example Detailed Description
UG-20077 | 2017.11.06
Table 21.HDMI RX Top Parameters
ParameterValueDescription
SUPPORT_DEEP_COLOR• 0: No deep color
• 1: Deep color
SUPPORT_AUXILIARY• 0: No AUX
• 1: AUX
SYMBOLS_PER_CLOCK2Supports only 2 symbols per clock for Intel Arria
SUPPORT_AUDIO• 0: No audio
• 1: Audio
Table 22.HDMI TX Top Parameters
ParameterValueDescription
USE_FPLL1Supports FPLL as TX PLL only for Intel Arria 10
SUPPORT_DEEP_COLOR• 0: No deep color
• 1: Deep color
SUPPORT_AUXILIARY• 0: No AUX
• 1: AUX
SYMBOLS_PER_CLOCK2Supports only 2 symbols per clock for Intel Arria
SUPPORT_AUDIO• 0: No audio
• 1: Audio
POLARITY_INVERSION• 0: Invert polarity
• 1: Do not invert polarity
Determines if the core can encode deep color
formats.
Determines if the auxiliary channel encoding is
included.
10 devices.
Determines if the core can encode audio.
devices. Always set this parameter to 1.
Determines if the core can encode deep color
formats.
Determines if the auxiliary channel encoding is
included.
10 devices.
Determines if the core can encode audio.
Set this parameter to 1 to invert the value of each
bit of the input data. Setting this parameter to 1
assigns 4'b1111 to the tx_polinv port of the TX
transceiver.
2.7 Hardware Setup
The Intel FPGA HDMI design example is HDMI 2.0 capable and performs a loopthrough demonstration for a standard HDMI video stream.
To run the hardware test, connect an HDMI-enabled device—such as a graphics card
with HDMI interface—to the Transceiver Native PHY RX block, and the HDMI sink
input.
1. The HDMI sink decodes the port into a standard video stream and sends it to the
clock recovery core.
2. The HDMI RX core decodes the video, auxiliary, and audio data to be looped back
in parallel to the HDMI TX core through the DCFIFO.
3. The HDMI source port of the FMC daughter card transmits the image to a monitor.
Note: If you use another Intel FPGA development board, you must change the device
assignments and the pin assignments. The transceiver analog setting is tested for the
Intel Arria 10 FPGA development kit and Bitec HDMI 2.0 daughter card. You may
modify the settings for your own board.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
37
2 Intel FPGA HDMI Design Example Detailed Description
Table 23.On-board Push Button and User LED Functions
LEDsFunction
cpu_resetnPress once to perform system reset.
user_pb[0]Press once to toggle the HPD signal to the standard HDMI source.
user_pb[1]• Press and hold to instruct the TX core to send the DVI encoded signal.
• Release to send the HDMI encoded signal.
user_pb[2]• Press and hold to instruct the TX core to stop sending the InfoFrames from
the sideband signals.
• Release to resume sending the InfoFrames from the sideband signals.
• It checks the CRC value of the transmitted data against the CRC calculated in
the received video data.
• The testbench then performs the checking after detecting 4 stable V-SYNC
signals from the receiver.
transmitter.
• On the receiver side, the generator compares whether the expected auxiliary
data is received and decoded correctly.
be transmitted through the audio channel.
• On the receiver side, the audio data checker checks and compares whether
the incrementing test data pattern is received and decoded correctly.
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
39
2 Intel FPGA HDMI Design Example Detailed Description
Table 25.Intel FPGA HDMI Design Example Supported Simulators
SimulatorVerilog HDLVHDL
ModelSim - Intel FPGA Edition/
ModelSim
VCS/VCS-MXYesYes
Riviera-ProYesYes
NCSimYesNo
YesYes
UG-20077 | 2017.11.06
Intel® FPGA HDMI Design Example User Guide for Intel® Arria 10 Devices
40
UG-20077 | 2017.11.06
A Intel FPGA HDMI Design Example User Guide for Intel
Arria 10 Devices Archives
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core VersionUser Guide
17.0Intel Arria 10 HDMI IP Core Design Example User Guide
16.1HDMI IP Core Design Example User Guide
Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus
and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other
countries. 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 products and services
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any
information, product, or service described herein except as expressly agreed to in 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.
ISO
9001:2008
Registered
UG-20077 | 2017.11.06
B Revision History for Intel FPGA HDMI Design Example
User Guide for Intel Arria 10 Devices
DateVersionChanges
November 20172017.11.06• Renamed HDMI IP core to Intel FPGA HDMI as per Intel rebranding.
• Changed the term Qsys to Platform Designer.
• Added information about Dynamic Range and Mastering InfoFrame (HDR)
insertion and filtering feature.
• Updated the directory structure:
— Added script and sofware folders and files.
— Updated common and hdr files.
— Removed atx files.
— Differentiated files for Intel Quartus Prime Standard Edition and Intel
Quartus Prime Pro Edition.
• Updated the Generating the Design section to add the device used as
10AX115S2F4I1SG.
• Edited the transceiver data rate for 50-100 MHz TMDS clock frequency to
2550-5000 Mbps.
•
Updated the RX-TX link information that you can release the user_pb[2]
button to disable external filtering.
• Updated the Nios II software flow diagram that involves the controls for
I2C master and HDMI source.
• Added information about the Design Example GUI parameters.
• Added HDMI RX and TX Top design parameters.
• Added these HDMI RX and TX top-level signals:
—
mgmt_clk
—
reset
—
i2c_clk
—
hdmi_clk_in
— Removed these HDMI RX and TX top-level signals:
•
version
•
i2c_clk
• Added a note that the transceiver analog setting is tested for the Intel
Arria 10 FPGA Development Kit and Bitec HDMI 2.0 Daughter card. You
may modify the analog setting for your board.
continued...
Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus
and Stratix words and logos are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other
countries. 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 products and services
at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any
information, product, or service described herein except as expressly agreed to in 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.
ISO
9001:2008
Registered
B Revision History for Intel FPGA HDMI Design Example User Guide for Intel Arria 10 Devices
UG-20077 | 2017.11.06
DateVersionChanges
• Added a link for workaround to avoid jitter of PLL cascading or nondedicated clock paths for Intel Arria 10 PLL reference clock.
• Added a note that you cannot use a transceiver RX pin as a CDR reflk for
HDMI RX or as a TX PLL refclk for HDMI TX.
•
Added a note about how to add set_max_skew constraint for designs
that use TX PMA and PCS bonding.
May 20172017.05.08• Rebranded as Intel.
• Changed part number.
• Updated the directory structure:
— Added hdr files.
—
Changed qsys_vip_passthrough.qsys to nios.qsys.
— Added files designated for Intel Quartus Prime Pro Edition.
• Updated information that the RX-TX Link block also performs external
filtering on the High Dynamic Range (HDR) Infoframe from the HDMI RX
auxiliary data and inserts an example HDR Infoframe to the auxiliary data
of the HDMI TX through Avalon ST multiplexer.
• Added a note for the Transceiver Native PHY description that to meet the
HDMI TX inter-channel skew requirement, you need to set the TX channel
bonding mode option in the Arria 10 Transceiver Native PHY parameter
editor to PMA and PCS bonding.
•
Updated description for os and measure signals.
• Modified the oversampling factor for different transceiver data rate at each
TMDS clock frequency range to support TX FPLL direct clock scheme.
• Changed TX IOPLL to TX FPLL cascade clocking scheme to TX FPLL direct
scheme.