The Versal adaptive SoC transceivers provide different reference clock input options. Clock selection supports two LCPLLs and two RPLLs.
From an architecture perspective, a Quad (or Q) contains four channels, two HSCLK blocks, two dedicated external reference clock pin pairs, and dedicated reference clock routing. The following list provides additional constraints on the above resources within a Quad.
- There is one RPLL and one LCPLL within each of the HSCLK0/1 blocks.
- PLLs from HSCLK0 can only provide clocking to Channel 0 and 1.
- PLLs from HSCLK1 can only provide clocking to Channel 2 and 3.
The GTYE5_QUAD or GTYP_QUAD primitives must be instantiated when any PLL or transceiver channel inside the Quad is used. In general, the reference clock for a Quad (Q(n)) can also be sourced from up to two Quads below (Q(n–1) or Q(n–2)) or from up to two Quads above (Q(n+1) or Q(n+2)). For devices that support stacked silicon interconnect (SSI) technology, the reference clock sharing is limited within its own super logic region (SLR).
See the Versal device data sheets for more information about SSI technology.
For Versal devices, sourcing of the reference clock is limited to two Quads above and below. Reference clock sharing is supported for all line rates.
Reference clock features include:
- Clock routing for northbound and southbound clocks.
- Flexible clock inputs available for the LCPLL or RPLL.
- Static or dynamic selection of the reference clock for the LCPLL or RPLL.
The Quad architecture has four GTY/GTYP transceivers, two dedicated reference clock pin pairs, and dedicated north or south reference clock routing. Each GTY/GTYP transceiver channel in a Quad has six clock inputs available according to the corresponding PLL resource assignments shown in the following table.
Clock Source | PLL Used | GTY and GTYP Transceivers Channel 0/1 | GTY and GTYP Transceivers Channel 2/3 |
---|---|---|---|
Two local reference clock pin pairs | RPLL |
HSCLK0_RPLLGTREFCLK0 HSCLK0_RPLLGTREFCLK1 |
HSCLK1_RPLLGTREFCLK0 HSCLK1_RPLLGTREFCLK1 |
LCPLL |
HSCLK0_LCPLLGTREFCLK0 HSCLK0_LCPLLGTREFCLK1 |
HSCLK1_LCPLLGTREFCLK0 HSCLK1_LCPLLGTREFCLK1 |
|
Two reference clock pin pairs from Quads above | RPLL |
HSCLK0_RPLLSOUTHREFCLK0 HSCLK0_RPLLSOUTHREFCLK1 |
HSCLK1_RPLLSOUTHREFCLK0 HSCLK1_RPLLSOUTHREFCLK1 |
LCPLL |
HSCLK0_LCPLLSOUTHREFCLK0 HSCLK0_LCPLLSOUTHREFCLK1 |
HSCLK1_LCPLLSOUTHREFCLK0 HSCLK1_LCPLLSOUTHREFCLK1 |
|
Two reference clock pin pairs from Quads below | RPLL |
HSCLK0_RPLLNORTHREFCLK0 HSCLK0_RPLLNORTHREFCLK1 |
HSCLK1_RPLLNORTHREFCLK0 HSCLK1_RPLLNORTHREFCLK1 |
LCPLL |
HSCLK0_LCPLLNORTHREFCLK0 HSCLK0_LCPLLNORTHREFCLK1 |
HSCLK1_LCPLLNORTHREFCLK0 HSCLK1_LCPLLNORTHREFCLK1 |
Because there are only two south clock inputs and four potential clock sources from the two Quads above (Q(n+1)) and Q(n+2)), only a maximum of two of the four potential reference clock pin pairs from above can be physically connected up to Q(n) at any given moment. The four potential reference clock pin pairs from above are reduced to two or three if the Quad above (Q(n+1)) is itself sourcing reference clock pin pairs from two above (Q(n+3)). This is because there are a total of two south reference clock routing tracks connecting the Quads. Similar rules apply when sourcing a reference clock from Quads below. Because there are two north clock inputs and four potential clock sources from the two Quads below (Q(n–1) and Q(n–2)), only a maximum of two of the four potential reference clock pin pairs from below can be physically connected up to Q(n) at any given moment. The four potential reference clock pin pairs from below is reduced to two or three if the Quad below (Q(n–1)) is itself sourcing reference clock pin pairs from two below Q(n–3). Again, this is because there are a total of two north reference clock routing tracks connecting the Quads. For example, Q(n–1) is sourcing both reference clocks from Q(n–3). In this example, Q(n) would only be able to source reference clock pins below from Q(n–1). Q(n) would not be able to access the reference clock pins in Q(n–2) because the two routing tracks have already been used to bring the two reference clocks from Q(n–3) to Q(n–1).
The following figure shows the detailed view of the reference clock multiplexer structure within a single HSCLK block, using LCPLL inside block HSCLK0 as an example. The same structure applies to LCPLL inside HSCLK1. When single or multiple reference clock sources are connected, the designer first needs to make sure that the connections are made to the correct PLLs using the reference clock ports assigned to the each intended PLL. The enhanced intelligent pin selection (IPS) automatically analyzes the design and maps reference clock selection during design implementation to guarantee that clocks are properly connected. For additional details on IPS, see Intelligent Pin Selection.
Similarly, the following figure shows the detailed view of the reference clock multiplexer structure within a single HSCLK block, but with RPLL being used inside HSCLK1 as another example. The connections for the two local GTREFCLKs are connected differently inside HSCLK1 compared to HSCLK0. HSCLK1_RPLL/LCPLLGTREFCLK1 is connected to input 1 on the input multiplexer while HSCLK1_RPLL/LCPLLGTREFCLK0 is connected to input 2 on the input multiplexer.
The following tables list the corresponding reference clock selection multiplexer settings.
HSCLK[0/1]_LCPLLREFCLKSEL | HS[0/1]_LCPLL_IPS_REFCLK_SEL | Selected Input to LCPLL |
---|---|---|
3'b001
|
1 |
HSCLK0_LCPLLGTREFCLK0 HSCLK1_LCPLLGTREFCLK1 |
3'b010
|
2 |
HSCLK0_LCPLLGTREFCLK1 HSCLK1_LCPLLGTREFCLK0 |
3'b011
|
3 | HSCLK[0/1]_LCPLLNORTHREFCLK0 |
3'b100
|
4 | HSCLK[0/1]_LCPLLNORTHREFCLK1 |
3'b101
|
5 | HSCLK[0/1]_LCPLLSOUTHREFCLK0 |
3'b110
|
6 | HSCLK[0/1]_LCPLLSOUTHREFCLK1 |
3'b111
|
7 | HSCLK[0/1]_LCPLLGTGREFCLK |
|
HSCLK[0/1]_RPLLREFCLK | HS[0/1]_RPLL_IPS_REFCLK_SEL | Selected Input to RPLL |
---|---|---|
3'b001
|
1 |
HSCLK0_RPLLGTREFCLK0 HSCLK1_RPLLGTREFCLK1 |
3'b010
|
2 |
HSCLK0_RPLLGTREFCLK1 HSCLK1_RPLLGTREFCLK0 |
3'b011
|
3 | HSCLK[0/1]_RPLLNORTHREFCLK0 |
3'b100
|
4 | HSCLK[0/1]_RPLLNORTHREFCLK1 |
3'b101
|
5 | HSCLK[0/1]_RPLLSOUTHREFCLK0 |
3'b110
|
6 | HSCLK[0/1]_RPLLSOUTHREFCLK1 |
3'b111
|
7 | HSCLK[0/1]_RPLLGTGREFCLK |
|
As shown in Figure 1 and Figure 2, the GTY/ GTYP transceivers in Versal adaptive SoCs contain multiple dedicated reference clock input ports for each PLL. The user need to set the muxing of the reference clock input by using the selector port or the selector attribute. The following table lists the reference clock multiplexer selector control signals per PLL.
PLL | Selector Control Attribute | Multiplexer Selector Port/Attribute |
---|---|---|
RPLL (HSCLK0) | HS0_RPLL_IPS_PIN_EN = 1'b1
|
HSCLK0_RPLLREFCLKSEL[2:0] |
HS0_RPLL_IPS_PIN_EN = 1'b0
|
HS0_RPLL_IPS_REFCLK_SEL | |
RPLL (HSCLK1) | HS1_RPLL_IPS_PIN_EN = 1'b1
|
HSCLK1_RPLLREFCLKSEL[2:0] |
HS1_RPLL_IPS_PIN_EN = 1'b0
|
HS1_RPLL_IPS_REFCLK_SEL | |
LCPLL (HSCLK0) | HS0_LCPLL_IPS_PIN_EN = 1'b1
|
HSCLK0_LCPLLREFCLKSEL[2:0] |
HS0_LCPLL_IPS_PIN_EN = 1'b0
|
HS0_LCPLL_IPS_REFCLK_SEL | |
LCPLL (HSCLK1) | HS1_LCPLL_IPS_PIN_EN = 1'b1
|
HSCLK1_LCPLLREFCLKSEL[2:0] |
HS1_LCPLL_IPS_PIN_EN = 1'b0
|
HS1_LCPLL_IPS_REFCLK_SEL | |
|