Detailed Description

Hardware Overview

The figure below illustrates the various hardware components that are located on the top-side of the MCIO PCIe FMC.

MCIO PCIe FMC labelled top-side

The main components on the top-side of the mezzanine card are:

  • 8xMCIO Connector
  • High Pin Count FMC Connector
  • 2K EEPROM
  • 2x 100MHz Clock oscillators
  • 2x PCIe Redrivers
  • Level translators

The figure below illustrates the various hardware components that are located on the bottom-side of the mezzanine card.

MCIO PCIe FMC labelled bottom-side

The main components on the bottom-side of the mezzanine card are:

  • FMC Power indicator LED
  • Redriver decoupling capacitors
  • Test points for power supplies

MCIO connector

The Amphenol ICC, 8xMCIO Connector, G97R22312HR , has 8 gigabit transceiver lanes that can be used as two 4-lane links, or as a single 8-lane link. Although the connector and mezzanine card are optimized for PCIe links, they can be used with other serial link standards.

The MCIO connector carries two types of signals: transceiver lanes and sideband signals. Both are organized into two independent channels, A and B.

The transceiver lanes handle high-speed serial data and are labelled PER (receive) and PET (transmit). Lanes 0 through 3 belong to channel A, and lanes 4 through 7 belong to channel B.

Each channel also has its own set of sideband signals, identified by an A or B suffix:

  • REFCLKA/B_P/N — Reference clock
  • PERSTA/B_N — PCIe reset
  • PRSNTA/B_N — Device present detect
  • 2WA/B_SCL and 2WA/B_SDA — I2C clock and data
  • BP_TYPEA/B — Backplane type (not used on this mezzanine card)
  • CWAKEA/B_N — Clock wake (not used on this mezzanine card)

The pinout of the sideband signals on the MCIO connector depends on whether it is being used in host or device mode and is determined by a logic signal on the FMC interface. This allows the same connector to operate in both host mode and device mode, with the carrier board’s FPGA selecting the desired mode on configuration.

The pinout of the MCIO connector in each mode is shown in the table below:

Pin #Host modeDevice modePin #Host modeDevice mode
A1GNDGNDB1GNDGND
A2PER_0PPER_0PB2PET_0PPET_0P
A3PER_0NPER_0NB3PET_0NPET_0N
A4GNDGNDB4GNDGND
A5PER_1PPER_1PB5PET_1PPET_1P
A6PER_1NPER_1NB6PET_1NPET_1N
A7GNDGNDB7GNDGND
A8BP_TYPEA2WA_SCLB82WA_SCLBP_TYPEA
A9CWAKEA_N2WA_SDAB92WA_SDACWAKEA_N
A10GNDGNDB10GNDGND
A11REFCLKA_PPERSTA_NB11PERSTA_NREFCLKA_P
A12REFCLKA_NPRSNTA_NB12PRSNTA_NREFCLKA_N
A13GNDGNDB13GNDGND
A14PER_2PPER_2PB14PET_2PPET_2P
A15PER_2NPER_2NB15PET_2NPET_2N
A16GNDGNDB16GNDGND
A17PER_3PPER_3PB17PET_3PPET_3P
A18PER_3NPER_3NB18PET_3NPET_3N
A19GNDGNDB19GNDGND
A20PER_4PPER_4PB20PET_4PPET_4P
A21PER_4NPER_4NB21PET_4NPET_4N
A22GNDGNDB22GNDGND
A23PER_5PPER_5PB23PET_5PPET_5P
A24PER_5NPER_5NB24PET_5NPET_5N
A25GNDGNDB25GNDGND
A26BP_TYPEB2WB_SCLB262WB_SCLBP_TYPEB
A27CWAKEB_N2WB_SDAB272WB_SDACWAKEB_N
A28GNDGNDB28GNDGND
A29REFCLKB_PPERSTB_NB29PERSTB_NREFCLKB_P
A30REFCLKB_NPRSNTB_NB30PRSNTB_NREFCLKB_N
A31GNDGNDB31GNDGND
A32PER_6PPER_6PB32PET_6PPET_6P
A33PER_6NPER_6NB33PET_6NPET_6N
A34GNDGNDB34GNDGND
A35PER_7PPER_7PB35PET_7PPET_7P
A36PER_7NPER_7NB36PET_7NPET_7N
A37GNDGNDB37GNDGND

The MCIO connector organizes its pins into two rows: the A-side and the B-side. The high-speed differential pairs are arranged such that the receive pairs (PER) are on the A-side and the transmit pairs (PET) are on the B-side. These assignments are consistent regardless of whether the connector is operating in host or device mode — the data lanes themselves do not change function between modes.

When an MCIO cable connects two devices, it crosses the A-side of one connector to the B-side of the other, and vice versa. This crossover is what establishes the correct TX-to-RX routing required by PCIe: the transmit pairs (PET) from one end of the cable arrive at the receive pairs (PER) of the other end, and the same applies in the opposite direction. No additional switching of the high-speed data lanes is needed.

However, the cable crossover also affects the sideband signals that occupy specific pin positions alongside the data lanes. In a standard PCIe connection, certain sideband signals are outputs on the host side and inputs on the device side. For example, the reference clock (REFCLK) is provided by the host, while the reset signal (PERST_N) is driven by the host toward the device. The presence detect (PRSNT_N) signal, on the other hand, is driven by the device toward the host. Because the cable swaps A-side and B-side pins, these sideband signals naturally land on the correct pins at each end — but only if the connector is wired for the appropriate mode.

Since the MCIO PCIe FMC supports both host and device modes through the same connector, the sideband pins must serve a dual purpose. In host mode, the A-side sideband pins carry host-sourced signals such as REFCLK and the B-side carries device-sourced signals such as PERST_N and PRSNT_N. In device mode, these roles are reversed to match what the remote host expects to see at the other end of the cable. The mezzanine card manages this by using multiplexers on the sideband pins, controlled by a mode selection logic signal on the FMC interface, which routes the correct signals to the correct pins based on the selected operating mode.

High-speed Switches

The mezzanine card uses several high-speed switches ( TI, 480Mbps MUX/DEMUX Switch, TMUXHS221NKGR ) to allow the sideband signals to be switched between host and device mode. Each switch determines the purpose of a single sideband pair. For example, pair A11/A12 connects to clock oscillator output in host mode, while in device mode it connects to PERSTA_N and CPRSNTA_N. The SEL input of all switches is connected to the HOST_MODE_N signal that is driven by the FPGA.

EEPROM

The EEPROM ( Microchip, 2Kbit EEPROM, 34AA02T-I/OT ) stores IPMI FRU data that can be read by the carrier board and contains the following information:

  • Manufacturer name (Opsero Electronic Design Inc.)
  • Product name
  • Product part number
  • Serial number
  • Power supply requirements

The FRU data is read by some carrier boards to determine the correct VADJ voltage to apply to the mezzanine card. All Opsero FMC products have their EEPROMs programmed with valid FRU data to allow these carrier boards to correctly power them.

High Pin Count FMC Connector

The MCIO PCIe FMC has a high pin count (HPC) FMC (FPGA Mezzanine Card) connector for interfacing with an FPGA or SoC development board. The part number of this connector is Samtec, High pin count FMC connector, Module side, ASP-134488-01 . This HPC FMC connector can be mated with LPC, HPC or FMC+ carrier connectors.

The pinout of this connector conforms to the VITA 57.1 FPGA Mezzanine Card Standard (for more information, see Pin configuration. For more information on the FMC connector and the VITA 57.1 standard, see the Samtec page on VITA 57.1 .

I/O Interfaces

The FMC connector provides power to the MCIO PCIe FMC and also presents the following I/O signals to the FPGA fabric of the development board:

  • 8x gigabit transceivers
  • PERSTA_N and PERSTB_N active-low reset signals for channel A and B (driven by FPGA in host mode, driven by MCIO in device mode)
  • PRSNTA_N and PRSNTB_N active-low present signals for channel A and B (driven by MCIO in host mode, driven by FPGA in device mode)
  • SBA_DISABLE and SBB_DISABLE active-high signals to disable sidebands for channel A and B
  • HOST_MODE_N for selecting between host and device modes
  • LOCAL_CLKS_N for selecting the FPGA clock source between local clock and MCIO clock (in device mode only)
  • 2x LVDS 100MHz reference clocks
  • I2C for FMC EEPROM
  • I2C for MCIO Channel-A
  • I2C for MCIO Channel-B
  • I2C for Redriver configuration

Host Mode

The figure below illustrates the main connections to the FMC connector in host mode (HOST_MODE_N = LOW, LOCAL_CLKS_N = LOW). For clarity we have left out the switches and level translators from the diagram.

FMC Connector

Device Mode

The figure below illustrates the main connections to the FMC connector in device mode (HOST_MODE_N = HIGH, LOCAL_CLKS_N = HIGH). For clarity we have left out the switches and level translators from the diagram.

FMC Connector

Gigabit Transceivers

The 8x PCIe lanes of the MCIO connector are routed to FMC pins that are dedicated to gigabit transceivers. The first four lanes are referred to as channel A, while the second four lanes are referred to as channel B (not to be confused with row-A and row-B of the MCIO connector). The connections are shown in the tables below.

MCIO Channel A

DirectionPCIe laneFMC PinFMC nameNet name
MCIO-to-FPGA0C6/C7DP0_M2C_P/NPERA_0_P/N
1A2/A3DP1_M2C_P/NPERA_1_P/N
2A6/A7DP2_M2C_P/NPERA_2_P/N
3A10/A11DP3_M2C_P/NPERA_3_P/N
FPGA-to-MCIO0C2/C3DP0_C2M_P/NPETA_0_P/N
1A22/A23DP1_C2M_P/NPETA_1_P/N
2A26/A27DP2_C2M_P/NPETA_2_P/N
3A30/A31DP3_C2M_P/NPETA_3_P/N

MCIO Channel B

DirectionPCIe laneFMC PinFMC nameNet name
MCIO-to-FPGA0A14/A15DP4_M2C_P/NPERB_0_P/N
1A18/A19DP5_M2C_P/NPERB_1_P/N
2B16/B17DP6_M2C_P/NPERB_2_P/N
3B12/B13DP7_M2C_P/NPERB_3_P/N
FPGA-to-MCIO0A34/A35DP4_C2M_P/NPETB_0_P/N
1A38/A39DP5_C2M_P/NPETB_1_P/N
2B36/B37DP6_C2M_P/NPETB_2_P/N
3B32/B33DP7_C2M_P/NPETB_3_P/N

Reference clocks

The mezzanine card has two clock oscillators ( MicroChip, 2x Output PCIe Clock Generator, DSC557-0334FI1 ), one for each MCIO channel. Each clock oscillator generates two synchronous 100MHz clocks; one LVDS and the other HCSL. The LVDS clocks are intended for driving the GT ref clocks, while the HCSL clocks are intended for the MCIO.

The GT ref clocks can be driven either by the on-board clock oscillators (locally) or by the remote clocks supplied by the connected MCIO host (when used in device mode). The clocks are selected by driving the LOCAL_CLKS_N signal (see below for more information on this signal).

Synchronous toFMC PinFMC nameNet name
MCIO Channel AD4/D5GBTCLK0_M2C_P/NCLKA_F_P/N
MCIO Channel BB20/B21GBTCLK1_M2C_P/NCLKB_F_P/N

When used in host mode, the GT ref clocks must be driven with the local clocks (LOCAL_CLKS_N = LOW). When used in device mode, it is typical to use the remote clock provided by the connected MCIO host to drive the GT ref clocks (LOCAL_CLKS_N = HIGH).

PERST_N

The PERSTA_N and PERSTB_N signals are active-low reset signals for MCIO channels A and B respectively. They are driven by the FPGA in host mode, and driven by the MCIO link partner in device mode. Level translators convert these signals from VADJ levels (FPGA side) to 3.3V levels (MCIO side). The function of these signals is shown in the table below:

PERSTA/B_NFunction
0 (LOW)MCIO device in reset
1 (HIGH)MCIO device operational

Pull-up resistors are tied to these signals on the mezzanine card on the 3.3V side so that they are not left floating if in device mode and the MCIO cable is disconnected.

Pull-up resistors are tied to these signals on the mezzanine card on the VADJ side so that they are not left floating if in host mode and the pins have not been connected in the FPGA design.

PRSNT_N

The PRSNTA_N and PRSNTB_N signals are active-low signals driven by the MCIO device to indicate presence. In host mode, the FPGA can read this signal to determine if an MCIO device is connected. In device mode, the FPGA should drive this signal LOW to indicate its presence to the MCIO host. The functionality of these signals is described in the table below:

PEDETA/B_NFunction
0 (LOW)Device present
1 (HIGH)Device NOT present

Pull-up resistors are tied to these signals on the mezzanine card so that they default to HIGH when in host mode and the MCIO cable is disconnected.

Pull-down resistors are tied to these signals on the mezzanine card on the VADJ side so that they are not left floating if in device mode and the pins have not been connected in the FPGA design.

HOST_MODE_N

The HOST_MODE_N signal is an active-low signal that determines whether the mezzanine card is in host or device mode. When driven LOW, the mezzanine card is configured for host mode. When driven HIGH, the mezzanine card is configured for device mode.

HOST_MODE_NFunction
0 (LOW)Host mode
1 (HIGH)Device mode

LOCAL_CLKS_N

The LOCAL_CLKS_N signal is an active-low signal that determines whether the gigabit transceiver reference clocks will be driven by local or remote clock sources. When used in device mode, we can choose to drive the GT ref clocks with the local clocks generated by the mezzanine card’s 100MHz clock oscillators, or with the remote clocks provided by the connected MCIO host.

When driven LOW, the local clock oscillators will drive the GT reference clock inputs. When driven HIGH, the MCIO host provided clocks will drive the GT reference clock inputs. Note that when used in host mode, the local clock oscillators should always be used as the GT reference clocks and LOCAL_CLK_N should always be driven LOW.

LOCAL_CLKS_NFunction
0 (LOW)Local clocks drive GT refclks
1 (HIGH)Remote clocks (from MCIO host) drive GT refclks

SBx_DISABLE

The SBA_DISABLE and SBB_DISABLE signals can be used to disable the sideband signals of MCIO channel A and B respectively. The main purpose of this feature is to allow support of the Open Compute Project M-XIO standard. For most other applications of this mezzanine card, both sideband channels should be enabled.

The MCIOx8 connector on the mezzanine card is wired for SFF-9402 standard by default. To make the connector compatible with OCP M-XIO standard, albeit without 3P3VAUX_MGMT, USB or FLEXIO support, drive the SBB_DISABLE signal HIGH to disconnect the sideband B signals.

Disabling the sideband signals of a channel leaves those MCIO pins in a high-impedance state.

SBA/B_DISABLEFunction
0 (LOW)Enable sideband signals
1 (HIGH)Disable sideband signals

Power Supplies

All power required by the MCIO PCIe FMC is supplied by the development board through the FMC connector:

  • +12VDC (not used by the mezzanine card)
  • +3.3VDC
  • +3.3VAUX (for powering EEPROM only)
  • VADJ: +1.2VDC-3.3VDC

All devices on the mezzanine card are powered by the 3.3VDC supply of the FMC connector. The +12VDC supply of the FMC connector is not used by this mezzanine card. The VADJ supply does not power any devices but is used to provide reference to the level translators.

Power supplies

The 3.3VDC Supply

The 3.3VDC supply provides power for the redrivers, the clock oscillators, the switches, the inverters, the EEPROM and the level translators.

VADJ Supply

The adjustable voltage supply (VADJ), is the I/O voltage that is supplied by all standard FMC carriers. The MCIO PCIe FMC can accept any VADJ voltage in the range of 1.2V to 3.3V. The mezzanine card has an onboard FRU EEPROM that specifies acceptance of any VADJ voltage within the range 1.2V to 3.3V (see note below). All carriers with a power management system will read this EEPROM on power-up and apply a voltage in the range specified by the EEPROM. Note that some development boards require the VADJ voltage to be configured by a DIP switch or jumper placement, in which case we suggest that it be set to 1.8V.

Power LED and testpoints

A single green LED on the mezzanine card is used to indicate when the required power supplies are active. The location of this LED can be seen in the labelled bottom view of the board above. The LED indicates when the FMC’s 12VDC, 3.3VDC and VADJ voltages are active.

To aid hardware debug, test points are accessible on the bottom side of the mezzanine card for the 3.3V and VADJ power supplies of the MCIO PCIe FMC.