Lessons Learned (the Hard Way):
Working FPGA Fails Miserably on System Board

Dave Brady
Mentor Graphics Corporation

Abstract

The integration of the FPGA onto the printed circuit board (PCB) has exponentially increased in difficulty, causing design development delays, cost overruns and, in some notable cases, Complete System Failure.

Robust design methods have been developed to accelerate the development of reliable FPGA-based systems. Increasingly powerful FPGAs now support the rapid development of leading-edge designs, ranging from sophisticated control systems to high-data rate digital signal processing systems in military and aerospace applications. But “more power” always comes at a price: “higher complexity”. Moreover, since FPGAs do not exist in isolation, the flexible power of these programmable devices often stifles the complete product design process. This presentation will outline major reliability issues as follows.

Power: FPGA packages now contain thousands of pins
Complexity: Creating an FPGA symbol for the PCB schematic of a 500+ pin device is a documentation nightmare; and an unreliable, error-prone process at best

Power: FPGA pins may be easily re-configured late in the design cycle
Complexity: Maintaining the integrity of the connectivity between the FPGA and PCB design flows violates classic PCB library assumptions (the interface to the PCB symbol does NOT change)

Power: Each FPGA pin may be configured with one of dozens of DC and AC electrical characteristics
Complexity: Which FPGA I/O standard should be used to maximize system performance?

Power: Modern FPGAs have high-performance interfaces
Complexity: Meeting system timing specifications while minimizing high-speed signal effects on the PCB is increasingly difficult.

This paper shares some hard lessons learned, with an aim to help designers avoid the inevitable pitfalls they will encounter when integrating a modern FPGA component onto a PCB.

2005 MAPLD International Conference Home Page