What is an FPGA?
FPGAs, or Field-Programmable Gate Arrays, contain the building blocks necessary to design a custom integrated circuit without having to turn to an outside foundry.
The basic FPGA consists of logic blocks, interconnects, and I/O blocks. All of these pieces can be programmed to do a particular function. For instance, logic blocks can be programmed to mimic the simplest logic or the most complex math functions (such as digital signal processing).
FPGAs, which are semiconductor devices, break down into two types: memory-based and anti-fuse (memory-based parts are either SRAM or flash EEPROM). No matter the type, though, FPGAs are useless out of the "box." They need a designer to develop a special program and have that program uploaded to the FPGA. In fact, FPGAs could be considered more of a software development than a hardware development effort. Intellectual property, or IP, placed inside the FPGA, can either be developed by the designer or via a third party.
Comparison to ASICs
For some years now, FPGAs have lagged behind the ASIC (application specific integrated circuit) in complexity, speed, and power consumption. Today, however, FPGA technology compares favorably to the ASIC in speed and complexity, thanks to ever-smaller die geometries coupled with more functionality.
Another key factor between the two device types involves cost. FPGAs are notoriously more expensive than ASICs, but FPGAs have relatively no NRE and they're quicker to market. To fix a bug for an ASIC, you've got to respin a mask. FPGA designers, on the other hand, can simply rework their code and reprogram the FPGA. Most of the time, FPGAs can be programmed without removing the part from the board. This dramatically reduces time to market and allows for bug fixes even after the production stage.
As mentioned earlier, an FPGA features three key components: the logic blocks, interconnects and I/O blocks. Logic blocks, made up of gates and cells, are where the designer incorporates intellectual property or IP. When manipulated correctly, they can create the simplest as well as the most complex functions. Interconnects internally string the logic blocks together. They string function outputs to function inputs and vice versa. Because interconnects are programmable, signals can be routed efficiently within the FPGA. The I/O blocks—the gateways to the outside of the FPGA—allow for input, output, and bidirectional access. Also, different interface specifications (i.e. LVDS, PECL, TTL, etc.) often can be used because the I/O blocks are programmable.
FPGA Process Technologies
FPGAs come in all sizes, configurations, and process technologies. Such a varied amount of process technologies has its advantages, depending on the application.
Today's FPGAs are mostly SRAM-based. This means that every time the system powers up, a bit-stream file must be loaded into the FPGA. The file is usually held inside an external PROM or serial flash device.
Another type of reprogrammable FPGA is the flash-EEPROM-based device. It's based on a twotransistor cell structure, as opposed to the six-transistor cell structure of the SRAM-based FPGA. Flash devices, which are self-contained and do not require an external PROM, internally hold the bit file. Because the technology is nonvolatile, the program is saved inside the device even if the system powers down. Flash-EEPROM FPGAs are relatively new to the market, and are still trying to catch up to SRAMbased devices.
Finally, we come to anti-fuse, one-time-programmable FPGAs, which work differently than their volatile cousins. In fact, they might not be considered FPGAs at all. Anti-fuse devices can't be programmed in the field; they need a special programmer to load the configuration file.
Fundamentally, anti-fuse technology fuses logic gates and interconnects together to create an ASICtype device. Some in the industry have been bold enough to call it a programmable ASIC. The technology is non-volatile, so loading a bit stream file upon power-up isn't a concern. Instead, it's instant on. Anti-fuse devices are virtually impossible to reverse-engineer and hold a distinct advantage over others in radiation-hardened applications, such as aerospace and defense. Because the cells are fused within the device, its physical size is much smaller than an SRAM-or flash-based device. Another key advantage to using anti-fuse devices is their low power consumption, making them ideal for batteryoperated applications. A comparison of SRAM, flash and anti-fuse FPGAs is shown in the Table.
Comparison of SRAM, Flash, and Anti-fuse FPGAs
|External Memory Needed||Yes||No||No|
Applications for FPGAs
FPGA applications are seemingly infinite. As long as the price and development time can be justified, an FPGA has a place in any design. Many FPGAs are used in complex applications where designing an ASIC doesn't make financial sense, mainly due to a lack of volume to justify investment in an ASIC. Networking equipment, medical imaging, and defense/aerospace are some of the application areas that feature a large amount of FPGA designs.
As for mid-to high-volume applications, FPGAs are seen as a way to prototype a particular circuit and then convert to ASICs when volumes reach a certain threshold. In other words, an FPGA can be customized with the intention of converting to an ASIC or structured ASIC down the road. Altera is one FPGA manufacturer that offers a roadmap to a structured ASIC approach.
Many standard microcontrollers and microprocessors exist, yet they often don't meet the designer's exact needs. FPGAs step in to give designers almost unlimited flexibility. A microcontroller core, such as an ARM 7 or 8051, can be dropped into a design, and then any peripheral can be added as long as the FPGA is big enough.
Selecting an FPGA
When selecting an FPGA for a particular application, one should consider:
- Size—This is a tricky question to ask and answer. FPGA vendors measure density or size in different ways. Nonetheless, a designer will need a ballpark understanding of what type of FPGA product they require.
- I/O pins—A designer needs to know how many pins they must share with the circuit outside of the FPGA. For example, serialization and de-serialization of signals can use up many pins.
- Unit price—A large FPGA may be able to squeeze in all of your required IP, but the resultant cost might break the project's budget. It may make more sense to only incorporate certain IP into the FPGA and use off-the-shelf components for the rest of the design.
- Performance—If fast computations are essential, then higher-performance FPGAs would, of course, become mandatory—and a tradeoff to cost.
- Power consumption—This is critical for applications particularly sensitive to heat dissipation, and for those that require batteries.
With their increasing complexity and decreasing per-piece price, FPGAs are finding their way into more designs than ever. Below is a short list of the FPGA manufacturers and the products they offer.
Xilinx (www.xilinx.com) is arguably the most well known FPGA manufacturer. Xilinx offers SRAM-based FPGAs that vary from tens of thousands of gates to millions upon millions of gates. Xilinx FPGAs come in two different product families: Virtex 4 and Spartan 3E. Virtex 4 devices are the highly complex, larger-density devices, while Spartan 3E devices are geared more toward the lower-power, lower-cost consumer and industrial applications. As with all SRAM-based FPGAs, external memory is needed to program the FPGA.
Altera (www.altera.com) is another well known SRAM-based FPGA manufacturer. Constantly in competition with Xilinx, they offer products similar to those of Xilinx. Its Stratix family is a high-density, high-performance solution. For low-cost applications, they offer the Cyclone II family. Altera also embraces the idea of structured ASICs, which is shunned by some FPGA manufacturers. The company presents a path to convert from a Stratix FPGA into a Hardcopy Structured ASIC, which will reduce cost when the FPGA design becomes fixed.
Lattice Semiconductor (www. latticesemi.com) enters the fray with SRAMbased,-flash, and SRAM hybrid FPGAs. Its latest product, Lattice ECP, targets the high-performance, low-cost market. One benefit is that it uses low-cost serial flash as the program loader, instead of high-cost, proprietary memories.
Actel (www.actel.com) got its start in the anti-fuse FPGA space. Today, the company is a large player in the radiationhardened, anti-fuse FPGA business, which ties in directly with the aerospace market. Actel is now focusing on its family of ProASIC flash-based FPGAs, which range from tens of thousands of gates to up to three million gates. The company is the only FPGA manufacturer to sign an agreement with ARM to offer their cores for use in the ProASIC family. The most interesting product may be the Fusion FPGA—it's the first mixed-signal FPGA. The block diagram in shows what can go into the Fusion product.
QuickLogic (www.quicklogic.com), which develops anti-fuse-based FPGAs, is gearing its next-generation products toward the compact, low-power space. Because anti-fuse technology is inherently low power, QuickLogic offers Eclipse and now Polar Pro for batteryoperated applications. In addition, QuickLogic features low-power bridging products that can provide standard interfaces (e.g., PCI) and allow for customizable interface and glue-logic design. Also, the company signed an agreement with Aeroflex Microelectronics (www.ams.aeroflex.com). Aeroflex will now offer a radiation-hardened version of the Quicklogic Eclipse device.
There are three approaches used in FPGA design. Schematic capture is the most straightforward and most hardware-centric technique. It involves a circuit drawing that can be converted for use within FPGA design tools. Though the most intuitive and visual, this approach is the least flexible and doesn't allow for easy migration from one FPGA platform to another.
HDL or Hardware Description Language, a software language specific to ASIC and FPGA development, is less intuitive and more abstract to a design engineer. Even though a greater number of FPGA designs are now completed in HDL, it's a departure from classic hardware engineering. One major advantage of HDL is that the design is more portable and flexible than schematic capture.
The rather unpopular third and final option is state machine functions. This simple technique involves basic "yes" and "no" states; in other words, fundamental digital design.
Once design is considered complete, the design file is simulated. The simulation is a way for the designer, without actually testing within the FPGA, to understand how the circuit will perform and make adjustments if needed. After simulation comes synthesis. Then the design file is converted into a file that can be understood by the FPGA vendor's place-and-route tools. Because the place-and-route tool knows the design's constraints, it's able to select the logic blocks and interconnects to program for a particular FPGA device. After completion of place and route, the design can be uploaded to the FPGA and physically tested. If any issues arise, the design can be modified, re-synthesized, and the process is repeated. A typical FPGA design flow is shown in Figure 3. Third-party tool suppliers include Magma (www.magma-da.com), Mentor Graphics (www.mentor.com), Synopsys (www.synopsys.com), and Synplicity (www.synplicity.com).
Company: PENTON MEDIA INC.
Product URL: Click here for more information