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.

Xilinx
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.

  • Virtex – Xilinx’s high performance FPGA. It offers highest logic cells capacity that enabled by stacked silicon interconnect (SSI). The family targets for ASIC prototyping and high performance communication systems.
  • Spartan – Low cost FPGA. The family targets for high volume logic designs, consumer-oriented DSP designs, and cost-sensitive embedded applications . Xilinx announce the Spartan 6 series is the end of the series and has been succeed by two families – Kintex and Artix.
  • Kintex – Mid-range mixed signal FPGA. Optimized for highest performance-price ratio. The family targets for high performance signal processing, long term wireless network and 3D flat panel display.
  • Artix – Low cost mixed signal FPGA. Optimized for lowest cost and power with small form factor packaging for the highest volume applications. The family targets for medical devices, handheld devices and automation applications.
  • Feature Spartan 6 Artix 7 Kintex 7 Virtex 7
    Type SRAM based SRAM based SRAM based SRAM based
    Logic Cells 147K 360K 478K 1,955K
    Block RAM 4.8Mbit 19Mbit 34Mbit 68Mbit
    Configurable ADC 17 channels 16 channels
    DSP slices 180 1,040 1,920 3,600
    IO Pins 576 600 500 1,200
    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.

    Altera
    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.

  • Stratix – Altera’s high performance FPGA family. It targets for high performance communication systems and ASIC prototyping.
  • Arria – The family targets for cost sensitive applications that require high performance computation functionality, such as digital signal processing (DSP), wireless, wireline and video end markets. Latest series also intergrates an Dual-core ARM Cortex-A9 in the same die.
  • Cyclone – The family targets for high-volume applications at the lowest cost and lowest power (compares to Stratix and Arria), such application are industrial automation, wireless, wireline, consumers and automotive.
  • Feature Cyclone V Arria V Stratix V
    Type SRAM based SRAM based SRAM based
    Logic Cells 301K 504.14K 952K
    Block RAM 11.6Mbit 24.14Mbit 52Mbit
    DSP Block 342 1,156 704
    Users IO 488 704 840
    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 Semiconductor
    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.

  • SC – Lattice’s high performance FPGA. It delivers best in class solutions for high throughput standards like Ethernet, PCI Express, SPI4.2 and high speed memory controllers.
  • ECP – High-value FPGA. It’s target applications are wireline, wireless communication and video processing.
  • XP – SRAM based FPGA with internal flash memory. The architecture simplify the board level design since no external configuration flash memory is needed.
  • iCE – This family is known as mobileFPGA. It focuses on the applications that require low power, less space and less bill of materials, such as smartphones and tablets.
  • Feature iCE40 XP2 ECP4 SC
    Type SRAM based (with internal non-volatile memory) SRAM based (with internal non-volatile memory) SRAM based SRAM based
    Logic Cells 16K 40K 241K 115.2K
    Block RAM 384Kbit 885Kbit 10.62Mbit 7.8Mbit
    DSP Block 8 576
    Users IO 222 540 512 942
    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.

  • IGLOO – Low power FPGA with integrated flash memory. It targets for portable, display and human machine interface application.
  • SmartFusion – Mixed signal FPGA. Come with hard 32-bit ARM Cortex-M3 microcontroller core, programmable analog with analog-to-digital converter (ADC), voltage/current/temperature monitors, digital-to-analog converter (DAC), comparators, and analog compute engine (ACE).
  • RT ProASIC – Re-programmable radiation tolerant FPGA. It targets for military and aerospace appications.
  • Axcelerator – High speed Anti-Fuse FPGA. It targets for consumer, industrial, medical, military and aerospace applications.
  • Feature IGLOO SmartFusion RT ProASIC3 Axcelerator
    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
    Users IO 620 128 620 684
    FlashROM bit 1024 512KByte (using ARM’s flash memory) 1000 – (Anti-Fuse)
    Programming JTAG JTAG JTAG JTAG

    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:

  • Using the vendor specific synthesis tool to synthesize the design. This should get the number of logic elements that used by the family.
  • Using the vendor specific power estimator roughly calculate the power consumption. Is that over the maximum capability of power supply?
  • Choosing the FPGA that meets your peripherals’ I/O count and logic level. More I/Os mean more power consumption and cost.
  • Choosing the FPGA that meets your design’s RAM size.
  • SRAM based, Flash based or Anti-Fuse FPGA. Difference type will result in different board level design/layout.
  • Contact your local distributer for price quotation if the cost is sensitive.
  • Check if any supporting design tools are available for the FPGA.
  • When the family/device will become obsolescence. Find the latest product may prolong the life cycle of end product.
  • Other constrains like form factor, temperature and radiation tolerant are important for some applications. Consider them if they are needed.


    0 Comments

    Leave a Reply

    This site uses Akismet to reduce spam. Learn how your comment data is processed.