Low Latency 100G Ethernet Intel® FPGA IP Core User Guide: For Stratix® 10 Devices

ID 683100
Date 8/05/2024
Public
Document Table of Contents

2.5.2. Adding the Transceiver PLLs

The IP core requires two external TX transceiver PLLs to compile and to function correctly in hardware. The ATX PLL supports the required data rate.

The transceiver PLLs you configure are physically present on the device, but the IP core does not configure and connect them. The number of required ATX PLLs is two. Each ATX PLL drives the clocks for two transceiver channels.

Figure 4. PLL Configuration ExampleThe TX transceiver PLLs are instantiated with two ATX PLL IP cores, one as the main ATX PLL and another as a clock buffer. The TX transceiver PLLs must always be instantiated outside the Low Latency 100G Ethernet Intel FPGA IP core.

To configure an ATX PLL as the main ATX PLL:

  • Select L-Tile/H-Tile Transceiver ATX PLL FPGA IP.
  • In the parameter editor, set the following parameter values:
    • Set VCCR_GXB and VCCT_GXB supply voltage for the Transceiver to 1_1V.
    • Set Primary PLL clock output buffer to GXT clock output buffer.
    • Turn on Enable GXT clock output port to above ATX PLL (gxt_output_to_abv_atx) or Enable GXT clock output port to below ATX PLL (gxt_output_to_blw_atx).
    • Turn on Enable GXT local clock output port (tx_serial_clk_gxt).
    • Turn on Enable GXT clock buffer to above ATX PLL.
    • Set GXT output clock source to Local ATX PLL.
    • Set PLL output frequency to 12890.625 MHz. The transceiver performs dual edge clocking, using both the rising and falling edges of the input clock from the PLL. Therefore, this PLL output frequency setting supports a 25.78125 Gbps data rate through the transceiver.
    • Set PLL auto mode reference clock frequency to the value you specified for the PHY Reference Frequency parameter.
To configure an ATX PLL as a GXT transmit PLL with GXT clocks to adjacent GXT channels and GXT clock buffer ATX PLLs:
  • Set the ATX PLL operation mode drop-down as GXT mode.
  • Set the Enable GXT local clock output port (tx_serial_clk_gxt) .
  • Set the GXT output clock source drop-down as Local ATX PLL.
  • Select the Enable GXT output port to Input from ATX PLL above (gxt_input_from_abv_atx) or Input from ATX PLL below (gxt_input_from_blw_atx).
  • Tie off the pll_refclk0 pin to REFCLK pin, if the GXT clock buffer ATX PLL is not reconfigured to a GXT transmit PLL or GX transmit PLL.
When you generate a Low Latency 100G Ethernet Intel FPGA IP core, the software also generates the HDL code for an ATX PLL, in the file <variation_name> /atx_pll_s100.v. However, the HDL code for the Low Latency 100G Ethernet Intel FPGA IP core does not instantiate the ATX PLL. If you choose to use the ATX PLL provided with the Low Latency 100G Ethernet Intel FPGA IP core, you must instantiate and connect the instances of the ATX PLL with the Low Latency 100G Ethernet Intel FPGA IP core in user logic. Connect the ATX PLL input reference clock to the dedicated reference clock pin. Do not use the reference clock network for this connection.
Note: If your design includes multiple instances of the Low Latency 100G Ethernet Intel FPGA IP core, do not use the ATX PLL HDL code provided with the IP core. Instead, generate new TX PLL IP cores to connect in your design.

You must drive the reference clock input ports of the two PLLs with the same clock to minimize PMM differences. This clock can be but need not be the same as the clock that drives the Low Latency 100G Ethernet Intel FPGA IP core reference clock.

Each PLL drives the tx_serial_clk input of two of the Low Latency 100G Ethernet Intel FPGA IP core PHY links. You must connect the PLLs to the Low Latency 100G Ethernet Intel FPGA IP core as follows:

PLL PLL Signal Low Latency 100G Ethernet Intel FPGA IP Core Signal
A tx_serial_clk tx_serial_clk[0]
A pll_locked tx_pll_locked[0]
B tx_serial_clk tx_serial_clk[1]
B pll_locked tx_pll_locked[1]

Refer to the example compilation project or design example for working user logic that demonstrates one correct method to instantiate and connect the external PLLs.