Electronic – Are FPGA Mezzanine Card (FMC) interfaces supposed to be compatible across different FPGA boards

connectorhigh speed

The FPGA Mezzanine Card is a connector intended for use with daughter boards that have high frequency components. Thus, if one was to use a 100MHz+ daughter board, it would require use of either FPGA Mezzanine Card interface or High Speed Mezzanine Card interface and using just normal pin headers would cause signal integrity issues as far as I am aware.

The FPGA Mezzanine Card is used in different FPGA boards that have FPGAs from different manufacturers. Are Input, Output and power pins supposed to be in the same places such that we can take a daughter board to be used with Intel FPGA board onto a Microsemi FPGA board without trouble? In order to do this, the FPGA Mezzanine Card pinout must have single ended, differential and power supply pins at the same locations.

Best Answer

TL;DR If your FPGA board, and your mezzanine card both conform to VITA 57.1, and both use the same connector pin count (HPC or LPC) then yes, it should work.


An FMC connector is just an off the shelf Samtec SEARAYâ„¢ (SEAF/SEAM) connector. Just seeing the connector gives no guarantee of any form of intercompatibility. While it would be very unhelpful if different manufacturers used different pinouts, if history tells us anything, one or more will find a way to end up with incompatibilities.

This is where standardisation enters in. VITA 57.1 is one of a few different standardised pinout and mechanical specifications around for multi-signal high speed interconnects.

The VITA 57.1 standard makes use of the FMC connector style and defines both the mechanical aspects (options for stack height, hole positions, card sizes) and the electrical aspects (pinout, supply pins, IO voltage levels, clock pins, data lines) for an interconnect between a base board and a mezzanine card. It actually defines two different pinouts, the LPC (low-pin-count) and HPC (high-pin-count) variants, one which provides more data lines than the other.

If both your mezzanine card, and your FPGA base board are specified to conform to VITA 57.1, both are the same pin count (both LPC or both HPC), and the base board allows for the correct stack height for the mezzanine card, then they should be interoperable.

There are however some cases where the baseboard, say not having enough FPGA IO pins, may not completely conform - it could for example have the odd few IO pins running at a different voltage, or it may be missing some data lines if unavailable. In this case the intention would be that the differences cause no damage to either board (e.g. power pins are correct), but things may not work as designed.

It is always a good idea to check that the pinout for card you intend to buy, and the baseboard you intend to use are suitably compatible. You would need to do this check anyway for an FPGA to be able to work out pin assignments for your design.

Related Topic