Field Programmable Gate Arrays (FPGAs) are semiconductor devices based on a matrix of configurable logic blocks (CLBs). These CLBs are connected with each other through programmable interconnections. After fabrication, FPGAs can be reprogrammed to meet the favored application or functional demands. This feature distinguishes FPGAs from Application Specific Integrated Circuits (ASICs), that are created specifically for certain purposes.
What does a FPGA developer do?
In general terms, FPGAs are programmable silicon chips with a collection of programmable logic blocks surrounded bij I/O-blocks that are added together through programmable links, to become any random digital circuit or system.
Unlike conventional processors, FPGAs are really parallel by nature. Every independent processing task is assigned to a specific part of the chip. The performances of one part of the application will therefore not be affected when more tasks are added.