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).
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.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:
- www.xilinx.com
- www.fpga4fun.com