Serial Lite III Streaming Intel® FPGA IP User Guide

ID 683330
Date 5/26/2023
Public

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

Document Table of Contents

6.2.1. Advanced Clocking Mode Structure for Serial Lite III Streaming Intel FPGA IP Core ( Intel® Stratix® 10 Devices)

In this mode, you must specify the user clock frequency through the Serial Lite III Streaming Intel FPGA IP core parameter editor. Based on the user clock frequency value, the Intel® Quartus® Prime software automatically calculates the lane rate and core clock.

The parameter editor provides guidance in selecting a source user clock frequency that meets the transceiver data rate constraints. For more information about the lane rate calculation, refer to the “Transmission Overheads and Lane Rate Calculations” section.

The core operates at higher clock rates in Advanced Clocking Mode. Therefore, when operating in this mode, it may be difficult to close timing at higher data rates (for example, 12 to 15 G) or higher number of lanes. You can implement the following qsf assignment when seeing timing recovery violations from sink coreclkin reset synchronizer to the sink transfer paths:
set_instance_assignment -name GLOBAL_SIGNAL OFF -to 
*seriallite_iii_streaming*clock_gen:sink_clock_gen|dp_sync:coreclkin_reset_sync|dp_sync_regstage:dp_sync_stage_2*o*

The Serial Lite III Streaming Intel FPGA IP core uses the transmit serial clock bus (tx_serial_clk) and the tx_pll_locked signal to connect the external transmit PLL to the L-Tile/H-Tile Transceiver Native PHY Intel® Stratix® 10 FPGA IP core.

Note: For sink core, the IP core does not provide any adaptation module and does not support any PPM tolerance between the interface_clock and user interface clock. Users should consider a design that can manage the PPM differences between interface_clock and user interface clock.

Figure below shows the source and sink variant clocking structure for advanced clocking mode in Intel® Stratix® 10 devices.

Figure 20. Advanced Clocking Mode Structure for Intel® Stratix® 10 L-tile/H-tile Transceiver Devices
Figure 21. Advanced Clocking Mode Structure for Intel® Stratix® 10 E-tile Transceiver Devices
Table 38.   Intel® Stratix® 10 Clocks in Advanced Clocking Mode
Clock Name Description
Source
user_clock User-defined. This clock is determined by the required throughput of the user application. For example, if the user interface is 384-bits wide (6 lanes × 64 bit/lane) and the required throughput is 120 Gbps, the user_clock frequency is 312.5 MHz. This clock is an input to the IP core and you should toggle this at the specified frequency.
tx_serial_clk This clock should toggle at one-half the data rate of the transceiver lane. When you enter the user_clock frequency in the IP parameter editor, the per lane data rate is calculated. Use that value and divided it by two to determine the tx_serial_clk. You are required to instantiate the TX PLL. In the Serial Lite III Streaming design example, an example of the TX PLL (ATX PLL) is generated with the IP core and is configured with the required reference clock and tx_serial_clk.
Note: This signal is not available when you select E-Tile as as the transceiver tile.
tx_clkout This clock is not exposed to the user. The frequency of tx_clkout is the data rate divided by 64.
interface_clock This is an internal clock and it is not exposed to the user. The frequency of this clock is derived from the transceiver data rate. The frequency is lane data rate divided by 64.
Sink
xcvr_pll_ref_clk This reference clock is used by the CDR unit in the transceiver. It serves as a reference for the CDR to be able to recover the clock from the serial line. The frequency of this clock must match the frequency you select in the IP parameter editor. It should also match the frequency of the tx_pll_ref_clk reference clock for the TX PLL at the Sink variant for Intel® Stratix® 10 L-tile/H-tile transceiver devices.
rx_clkout This clock is not exposed to the user. The frequency of rx_clkout is the data rate divided by 64.
interface_clock This clock is derived from the transceiver data. It is lane data rate divided by 64. It is an output of the IP core and should be used to clock the RX user application.