Field-programmable gate-array (FPGA) use can be divided into three categories. At the low end is programmable logic that can handle simple decoding and translation chores. At the high end are large FPGAs capable of implementing entire systems or subsystems, including soft processors. Some chips even incorporate dedicated processor cores. The in-between midrange FPGAs are ideal for massaging data, synchronizing subsystems, and generally making customization significantly easier.
A midrange FPGA can often handle a wide range of chores without busting the budget. For example, it can be configured into a number of independent subsystems that take care of different tasks independently and communicate with I/O devices connected directly to the FPGA or a standard bus.
Click here to download the PDF version of this entire article.