Monday, May 30, 2011

What is FPGA?

Logic Cells

Field programmable gate arrays (FPGAs) are programmable digital logic chips. It means we can program them to do almost any digital function.  FPGA is a regular structure of logic cells (modules) & interconnect, which is under user’s complete control. This means that the end user can design, program, & make changes to user’s circuit whenever user wish.
FPGAs can be programmed many time we want, no limit. If we make a mistake in our design, just fix your "logic function", re-compile and re-download it. The "field programmable" portion of the FPGA's name refers to the fact that its programming takes place "in the field" (as opposed to devices whose internal functionality is hardwired by the manufacturer).
FPGAs loose their functionality when the power goes away (volatile). We have to re-download them when power goes back up to restore the functionality.

FPGAs are built from one basic "logic-cell", duplicated hundreds or thousands of time. A logic-cell is basically a small lookup table ("LUT"), a D-flipflop and a 2-to-1 mux (to bypass the flipflop if desired).

Who makes FPGAs?

There are (at least) 5 companies making FPGAs in the world. The first two (Xilinx and Altera) hold the bulk of the market.
  • Xilinx invented the FPGA and is the biggest name in the FPGA world. It tends to be the density and technology leader.
  • Altera is the second FPGA heavyweight, also a well-known name.
  • Lattice, Actel, Quicklogic and SiliconBlue are smaller players.

FPGAs vs. microcontrollers

Are FPGAs and microcontrollers the same thing? No
  • FPGAs implement programmable logic elements running in a parallel fashion.
  • Microcontrollers are based on a CPU architecture (executes a set of instructions in a sequential manner).
Microcontrollers have on-chip peripherals that also execute in parallel with their CPU. But they are still much less configurable than FPGAs.

References:
  1. www.xilinx.com
  2. www.fpga4fun.com

No comments:

Post a Comment