FPGA System on Modules
FPGA System on Modules (SOMs) are compact embedded boards that include an SoC (such as a microprocessor, GPU, or FPGA), memory, power management, and other supporting circuitry. These modules are about the size of a credit card and are designed to abstract the hardware, allowing developers to accelerate the design process at the board level instead of the chip level.
SOMs provide a ready-to-use foundation for building embedded products, offering a range of benefits for both software and hardware developers. They can significantly simplify your design by integrating power management, nonvolatile boot memory, Ethernet PHY, and high-speed (LP)DDR2 memory onto a small, single-sided Printed Circuit Board (PCB).
One of the primary advantages of using SOMs is the ability to accelerate the application development process. With SOMs, developers can avoid the effort and potential errors associated with designing and integrating core components such as power management and memory interfacing. This shorter development cycle allows for faster time-to-market.
Furthermore, SOMs offer scalability and flexibility, allowing developers to adapt and upgrade their designs as needed. With a plug-and-play feature, developers can easily graduate to higher computing power SOMs when running more demanding applications or incorporating new technologies like artificial intelligence (AI) or machine learning (ML) into their designs.
PCIe Cards
PCIe (Peripheral Component Interconnect Express) is an interface standard for connecting high-speed components. Every desktop PC motherboard has a number of PCIe slots you can use to add GPUs (aka video cards aka graphics cards), RAID cards, Wi-Fi cards, or SSD (solid-state drive) add-on cards.
PCIe slots come in different physical configurations: x1, x4, x8, x16, x32. The number after the ‘x’ tells you how many lanes (how data travels to and from the PCIe card) that PCIe slot has. A PCIe x1 slot has one lane and can move data at one bit per cycle. A PCIe x2 slot has two lanes and can move data at two bits per cycle (and so on).
You can insert a PCIe x1 card into a PCIe x16 slot, but that card will receive less bandwidth. Similarly, you can insert a PCIe x8 card into a PCIe x4 slot, but it’ll only work with half the bandwidth compared to if it was in a PCIe x8 slot. Most GPUs require a PCIe x16 slot to operate at their full potential.
FMC Cards
FMC (FPGA Mezzanine Card) is an ANSI/VITA 57.1 standard that defines I/O mezzanine modules with connection to an FPGA or other device with re-configurable I/O capability. It is a small mezzanine module optimized to provide the physical interface for FPGAs on a carrier card. The physical IO is typically on the faceplate of the FMC mezzanine.
FMC and FMC+ are ANSI Standards which define a compact electro-mechanical expansion interface for a daughter card to an FPGA baseboard or other device with re-configurable I/O capability. FMC requirements are defined by the ANSI/VITA 57.1 standard.
Conclusion
In conclusion, FPGA System on Modules, PCIe, and FMC Cards are all integral components in the world of embedded systems and high-speed computing. They each offer unique advantages and capabilities, making them indispensable tools for developers and engineers. Whether it’s the flexibility and scalability of SOMs, the high-speed connectivity of PCIe, or the compact and efficient design of FMC Cards, these technologies continue to push the boundaries of what’s possible in the realm of digital design and computation.
Reference: