Field Programmable Gate Array (FPGA) is a type of hardware/logic programmable integrated circuit. It’s flexibility, speed and the increasing number of IP cores make it into a popular solution in embedded system.
The selection of the FPGA core is important when designing a FPGA system. FPGA vendors divide their products into few groups. Each group targets different application such as high performance, mid-range, low cost and low power application. Furthermore, each product group can divide into few families. Every family have different features to support the target applications.
The parameters listed below are important when selecting a FPGA core for a system.,
- Logic Cells/Elements - Block RAM - Hard IP block (eg. memory controller and DSP block) - I/O Pin - I/O logic level - Configuration method - Power consumption - Cost - Avaibility - Supported tools
Since the architecture of logic cells, block ram and DSP block architecture is different between families. Therefore the comparison are not straight forward. The synthesis tool and the logic block architecture may vary the number of logic elements that used by a design.
Most FPGA vendors don’t specify the total power consumption of each devices since it depends on the system design, frequency, and core voltage that used by the system. However, FPGA vendors offer power calculator/estimator that can roughly calculate the power consumption.
Price may vary with different distributer. It is difficult to conclude that which family provides the higher performance-price ratio. If the price is important, then try to contact local distributer to quote the price.
Some of the FPGA vendors and their families are listed below. All parameters are based on the maximum value from each family.
The company offers three SRAM based FPGA families that cover high performance, mid-range and low cost application. Xilinx also offers some special grade FPGAs like space grade, defence grade and automotive grade FPGA. Some of the family are listed here.
|Feature||Spartan 6||Artix 7||Kintex 7||Virtex 7|
|Type||SRAM based||SRAM based||SRAM based||SRAM based|
|Configurable ADC||–||17 channels||16 channels||–|
|PCI-e||x1 Gen1, Endpoint only||x4 Gen2, Root & Endpoint||x8 Gen2, Root & Endpoint||x8 Gen3, Root & Endpoint|
|Configuration||JTAG, Master SPI, Master BPI, Master/Slave Serial, Master/Slave SelectMAP||JTAG, Master SPI, Master BPI, Master/Slave Serial, Master/Slave SelectMAP||JTAG, Master SPI, Master BPI, Master/Slave Serial, Master/Slave SelectMAP||JTAG, Master SPI, Master BPI, Master/Slave Serial, Master/Slave SelectMAP|
|Configuration bits (x)||3Mbit<x<33Mbit||haven’t release||23Mbit<x<143Mbit||107Mbit<x<427Mbit|
To synthesis a design for Xilinx’s FPGA, Xilinx offers a software pack called ISE design suite to simplify the development cycle. A free edition – ISE webpack is also available but only support limited device.
Similar to Xilinx, Altera offers three FPGA groups that cover high performance, mid-range and low cost application. They also supports wide temperature range for commercial, industrial, extended industrial, automotive, and military application. Three major family are listed below.
|Feature||Cyclone V||Arria V||Stratix V|
|Type||SRAM based||SRAM based||SRAM based|
|PCI-e||x4 Gen2 Root and Endpoint||x8 Gen2 Root and Endpoint||x8 Gen3 Root and Endpoint|
|Configuration||JTAG, Active Serial, Passive Serial, Fast Passive Parallel, PCIe||JTAG, Active Serial, Passive Serial, Fast Passive Parallel, PCIe, Internal Hard Processor System||JTAG, Active Serial, Passive Serial, Fast Passive Parallel, PCIe, Partial Reconfiguration|
|Configuration bits (x)||20Mbit<x<190Mbit (some of the devices haven’t release)||66Mbit<x<177Mbit||89Mbit<x<370Mbit|
Altera offers a software development suite called Quartus II to simplify the development cycle. A free web edition is available but only support limited device.
Lattice also focuses on SRAM based FPGA. The company offers three major FPGA groups, they are high-value, high performance and non-volatile FPGA. Lattice also offer a very low power FPGA which is known as mobileFPGA, a series of FPGA that acquires from SiliconBlue.
|Type||SRAM based (with internal non-volatile memory)||SRAM based (with internal non-volatile memory)||SRAM based||SRAM based|
|Configuration||Master/Slave SPI (ISP or Socket Adapter)||JTAG, Master/Slave SPI||JTAG, Master/Slave SPI, I2C, Parallel (8bit or 16bit bus)||JTAG, Master SPI, Master/Slave SPI, Master/Slave Parallel, MPI -8 -16 -32|
|Configuration bits (x)||120Kbit<x<2114Kbit||1.27Mbit<x<8.03Mbit||10.7Mbit<x<54.5Mbit<||4.6Mbit<x<35.8Mbit|
Lattice also offers software design suite called Lattice Diamond. A free license is available but with limited device support.
Microsemi (formally Actel)
MicroSemi focuses on Flash based and one time programmable FPGA. The company splits their products into four major groups, they are low power, mixed signal, radiation tolerant and Anti-Fuse FPGA. Each group can further divides into few families. Few of the families are listed below.
|Type||Flash Based||Flash Based||Flash Based||One Time Programmable|
|Logic Cells||75,264||11,520||75,264||10,752(Register) 21,504(Combinatorial)|
|Block RAM||504Kbit||108Kbit + 64MByte from ARM||444.9Kbit||294.9Kbit|
|FlashROM bit||1024||512KByte (using ARM’s flash memory)||1000||– (Anti-Fuse)|
MicroSemi also offers a software called Libero that integrates all the nesessary tools for FPGA. Free editions are available, but not all functions are supported. Although the numbers of logic cells are lesser than previous companies. However, the attracting points of these families are the power consumption and non-volatile logic cells.
Some families from four major FPGA vendors are listed above. The numbers from each table are for reference only. Please refer to the datasheet for the exact parameters.
Here are some suggestions for FPGA selection:
Other constrains like form factor, temperature and radiation tolerant are important for some applications. Consider them if they are needed.