FPGARelated.com

MGT

Category: Io-and-clocking | Also known as: Multi-Gigabit Transceiver

A Multi-Gigabit Transceiver (MGT) is a high-speed serial I/O block integrated into an FPGA or ASIC that implements the physical layer (PHY) of high-speed serial protocols, typically operating at line rates from hundreds of Mbps to tens of Gbps per lane. MGTs combine a serializer/deserializer (SerDes) with analog front-end circuitry, clock-data recovery (CDR), and often protocol-specific framing logic in dedicated silicon.

In practice

MGTs appear in mid-to-high-end FPGAs as dedicated hard IP blocks positioned around the periphery of the die, separate from the programmable logic fabric. Xilinx calls their implementations GTP, GTX, GTH, and GTY depending on device family, generation, and speed grade (Spartan-6 GTP tops out around 3.2 Gbps; UltraScale+ GTY reaches 32.75 Gbps). Intel/Altera uses names such as GX, GT, and GXB across Cyclone GX, Arria, and Stratix families, with naming varying across generations. Each vendor exposes MGT configuration through IP wizard-generated wrappers, though direct primitive instantiation is also possible in most toolchains.

Common use cases in embedded and hardware design include PCIe (1 to 16 lanes), USB 3.x (typically requiring a dedicated external USB PHY or controller rather than a direct MGT back-end), SATA, Ethernet (1GbE, 10GbE, 25GbE), DisplayPort, and custom chip-to-chip links. The MGT handles the analog serialization, equalization, and CDR so the designer works at the parallel word boundary (typically 8, 10, 16, 20, 32, or 40 bits wide) inside the FPGA fabric.

Bringing up an MGT link reliably requires attention to several physical-layer details: differential pair routing with controlled impedance (typically 100 ohm differential), matched trace lengths within a lane, AC coupling capacitors sized for the protocol's low-frequency content, and proper reference clock sourcing. MGTs require a clean, low-jitter reference clock, often 100, 125, 156.25, or 161.1328125 MHz depending on the target protocol. Shared clock networks and clock region constraints inside the FPGA must be planned carefully.

A frequent pitfall is confusing line rate with usable throughput. Many high-speed serial protocols apply 8b/10b or 128b/130b encoding, which adds 20% or roughly 1.5% overhead respectively, though some protocols use other schemes or no line coding. An MGT running at 10 Gbps with 8b/10b delivers only 8 Gbps of payload bandwidth at the line-coding level, though actual application throughput will be lower still due to protocol framing, headers, and idle characters. Additionally, MGTs can consume significant static power even when idle depending on device, transceiver configuration, and whether power-down modes are used, which matters in power-sensitive or battery-operated FPGA designs.

Frequently asked

Which FPGA families include MGTs, and which do not?
MGTs are found in mid-range and high-end FPGA families: Xilinx Spartan-6 (GTP, up to 3.2 Gbps), Artix-7/Kintex-7/Virtex-7 (GTP/GTX/GTH), UltraScale and UltraScale+ (GTH/GTY up to 32.75 Gbps), and Intel Cyclone GX, Arria, and Stratix GT/GX/GXB variants. Low-cost, smaller FPGAs such as the Xilinx Spartan-7 or Intel Cyclone 10 LP typically omit MGTs entirely. If your target device lacks MGTs, a standalone SerDes or external PHY chip is required.
What is the difference between an MGT, a SerDes, and a PHY?
The terms overlap but have distinct emphases. SerDes (serializer/deserializer) describes the core digital function of converting parallel data to a serial bitstream and back. An MGT is a complete hard block that includes a SerDes plus analog equalization, CDR, PLL, and often 8b/10b or 64b/66b encoding. A PHY (physical layer device) is a broader term that can refer to any component implementing an electrical standard's physical layer, including standalone ICs. An MGT is essentially a PHY integrated into the FPGA die.
Do I need special PCB design rules when routing MGT differential pairs?
Yes. MGT differential pairs require controlled 100-ohm differential impedance, matched intra-pair length (typically within a few mils), minimal via stubs, and adequate spacing from other signals to reduce crosstalk. AC coupling capacitors (commonly 100 nF) are placed close to the transmitter or receiver depending on the protocol. Many protocols also specify a maximum allowed insertion loss across frequency, which constrains maximum trace length and requires careful stackup selection. Failing to meet these constraints is a common cause of link instability at bring-up.
How do I instantiate an MGT in my FPGA design?
Most FPGA vendor flows use a parameterized IP core or wizard (Xilinx Transceiver Wizard, Intel HSIO Toolkit) to generate a wrapper around the primitive. You configure line rate, reference clock frequency, encoding scheme, and optional protocol features, and the tool produces an HDL wrapper and simulation models. Direct primitive instantiation is possible but rarely recommended because MGT primitives have dozens of attributes and the generated IP handles correct PLL configuration, reset sequencing, and DRP (dynamic reconfiguration port) access.
What reference clock frequencies are typical for common MGT protocols?
Reference clock requirements depend on the protocol and line rate. Common values include 100 MHz for PCIe Gen1/2/3, 125 MHz for 1000BASE-X Ethernet, 156.25 MHz for 10GBASE-R and 10GbE, and 161.1328125 MHz for 25GBASE-R. The MGT's internal PLLs (CPLL or QPLL in Xilinx devices) multiply the reference to reach the target line rate. The reference clock must meet the protocol's phase noise mask; a noisy source is a leading cause of elevated bit error rates.

Differentiators vs similar concepts

MGT is often used interchangeably with SerDes, but SerDes strictly refers to the serialization/deserialization function, while an MGT is a complete hard block that adds analog equalization, clock-data recovery (CDR), and line coding (8b/10b, 64b/66b, 128b/130b) on top of the basic SerDes. PHY is a still-broader term covering any physical-layer implementation, including standalone ICs, whereas MGT specifically denotes the hard IP block embedded in an FPGA die. GTP, GTX, GTH, and GTY are Xilinx-specific MGT sub-families differentiated primarily by maximum line rate and supported protocols.