HDMI PHY Intel FPGA IP User Guide

ID 732147
Date 7/20/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

7.3.3. Complex Straddled Channels

Typically, in complex configurations and closely pack transceivers, the PHY Arbiter and the TX and RX PHYs split out the reconfiguration interface so that each transceiver channel has its own conduit.

This is shown in the following figure.

Figure 12. RX PHY and PHY Arbiter with Separate Reconfiguration Interfaces

This is useful in more complex designs where, for example TX and RX do not align – i.e. TX 0 might not correspond to RX 0. This might be a result of tightly packing RX and TX channels. An example is shown in the following figure. In this example, separate reconfiguration interfaces and multiple arbiters are required and the channel numbers are not one-to-one. Note the following key points on this setup:

  • Arbiter1 has one channel but handles TX0[3] and RX1[0]
  • Arbiter2 has two channels: Arbiter2 channel 0 connects TX1 channel 0 and RX1 channel 1
  • Arbiter3 is two channels but TX only
Figure 13. Overlapping HDMI Channels Requiring multiple PHY Arbiters

The physical location constraints (i.e. pins) must also correspond to this. In addition the XCVR_RECONFIG_GROUP constraints must be set in the projects .qsf file (or in the assignment editor).

set_instance_assignment -name XCVR_RECONFIG_GROUP 5 -to rx1 [2]
set_instance_assignment -name XCVR_RECONFIG_GROUP 5 -to tx1 [1]
set_instance_assignment -name XCVR_RECONFIG_GROUP 4 -to rx1 [1]
set_instance_assignment -name XCVR_RECONFIG_GROUP 4 -to tx1 [0]
set_instance_assignment -name XCVR_RECONFIG_GROUP 3 -to rx1 [0]
set_instance_assignment -name XCVR_RECONFIG_GROUP 3 -to tx0 [3]
set_instance_assignment -name XCVR_RECONFIG_GROUP 2 -to rx0 [2]
set_instance_assignment -name XCVR_RECONFIG_GROUP 2 -to tx0 [2]
set_instance_assignment -name XCVR_RECONFIG_GROUP 1 -to rx0 [1]
set_instance_assignment -name XCVR_RECONFIG_GROUP 1 -to tx0 [1]
set_instance_assignment -name XCVR_RECONFIG_GROUP 0 -to rx0 [0]
set_instance_assignment -name XCVR_RECONFIG_GROUP 0 -to tx0 [0]