F-Tile Architecture and PMA and FEC Direct PHY IP User Guide

ID 683872
Date 7/08/2024
Public
Document Table of Contents

2.2.9. Preserving Unused PMA Lanes

You must preserve the unused FHT and FGT PMA lanes that you plan to use later in your design to ensure no degradation in the PMA lane performance or maximum data rate during the period of use.

To preserve the performance of unused PMA lanes, the Quartus® Prime software can program the unused PMA lanes, such that the analog circuitry in their transmit and receive stages toggles at a low data rate.

Unused PMA lanes may appear in any of the following ways in the F-Tile:
  • Unused PMA lanes in a completely unused F-Tile.
  • Unused PMA lanes in a partially used F-Tile.

Unused PMA Lanes in a Completely Unused F-Tile

You must either preserve the completely unused F-Tile with .qsf assignments or ground the power rails. If you do not plan to use the F-Tile in the future and do not want to preserve the PMA lanes:
  • You must tie the various F-Tile power rails to ground to save power.
  • You must not use .qsf assignments shown below in your project, to preserve the F-Tile.
If you do not follow these recommendations, it can result in a configuration error.
To preserve a completely unused F-Tile to use it later:
  • You must configure and power the F-Tile and connect all power rails to the appropriate power supplies.
  • You must assert the PHY reset when PMA lanes are unused.
  • You must use .qsf assignments in your project to preserve the unused F-Tile.
If you do not follow these recommendations, it can result in a configuration error.

You must use one of the .qsf assignments shown below to preserve unused lanes in the F-Tile.

To preserve all unused PMA lanes in a single F-Tile in a package, use the following single pin F-Tile .qsf:
set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON -to <pinname>
Example:
set_instance_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON -to JW83
  • <pinname> identifies the corresponding unused F-Tile for preservation.
  • Preserves the entire F-Tile with a single pin. Pin can be specified on any lane, even if you do not connect the pin on the board.
  • You can also use this .qsf assignment multiple times with corresponding pins from each F-Tile to preserve multiple unused F-Tiles.
If you have multiple unused tiles (including all unused F-Tiles and other tiles such as R-Tiles in a package), you can use the following global .qsf assignment to preserve all unused PMA lanes in all unused tiles in a package:
set_global_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL ON
Note: Do not use this .qsf assignment if you do not need to preserve all the unused tiles and have tied the power rails to ground for some of the tiles. This can result in a configuration error.
Example cases:
  • You have 4 tiles in a package – one partially used tile and three others you want to preserve. You can use the global .qsf assignment to preserve the three tiles.
  • You have 4 tiles in a package – one partially used tile, one tile with the power rails tied to ground to save power and two other tiles that you want preserve. Do not use the global .qsf assignment, but instead you must use the single pin F-Tile .qsf assignment to preserve those two tiles.

Unused PMA lanes in a Partially Used F-Tile

If your design does not instantiate (does not use) a PMA lane, preservation of the unused PMA lane in the partially used F-Tile takes place by default.

If you instantiate a PMA lane in your partially used F-Tile design for future use, you must fulfill the following conditions:
  1. If the PMA reference clock is not available, then the PMA must be held in reset before disconnecting the reference clock. For example, when you are using the HDMI IP.
  2. You must not send long periods of all zeros or all ones on the TX PMA lane. If the PMA is held in reset, you do not need to follow this rule.
  3. For the FHT PMA lanes, you must set cfg_preserve_enable (0xF0030[3:0]) to 4’b1111 to preserve the lanes. LSB is for lane 0 and MSB is for lane 3. Refer to FHT PMA Register Map to access the cfg_preserve_enable register.