The technology of the Field Programmable Gate Arrays (FPGAs) is a revolutionary device of semiconductors which are built from the concept of configurable logic blocks (CLBs) that are linked through the use of programmable interconnections. The FPGA is used by a lot of engineers, and technicians to produce digital circuits, this is as a result of the fact that most FPGAs are made up of RAM, multipliers, PLLs, and flexible I/Os among other things. Also, they can be configured to suit the purpose of their intended application and or functionality. This characteristic makes the FPGAs stand out from the ASICs – Application Specific Integrated Circuits, which are expensive to get and consume a longer duration to be programmed. The duration required can be seen on http://www.directics.com/fpga-board/.
However, one can still find the FPGAs that are also OTP (One-time programmable) are available, but the SRAM based ones that can be reconfigured as the design evolves or as the designer wishes, are readily available. While microcontrollers may appear similar to FPGAs, they are already designed chips. All that is needed to make a microcontroller work is to write the software, which is commonly written in either C or C++, and that is now compiled to a hex file, which is then loaded onto the microcontroller. The microcontroller stores that configuration in flash memory, unlike the Field Programmable Gate Arrays that saves theirs in RAM.
The danger of storing their information on RAM is that the setting will be lost once the power is gone. This means that for each time that power is lost, one has to reprogram the FPGA. Based on its relatively cheap cost and freedom to work with over and over again, it seems to be a slight setback.
Furthermore, with microcontrollers, one never loses the software configuration, unlike the FPGAs that does not even have processors that one can run software on. The way engineers configure the FPGA is by using, Verilog and VHDL, which are the most widely used Hardware Description Language. The information is then compiled into a bit file and used to program the FPGA.
How much do FPGA Boards usually cost?
The catch here is that getting a relatively affordable FPGA for an average of $25 is entirely possible and they will carry out commands at a high-speed. However, they will not be proficient in handling general computing tasks as well the ARM CPU of the same price, because of the difference in power. The tested way around that is to stick a microcontroller and an FPGA on the same board.
An example is the use of the PPC and ARM by a lot of people. But, mostly the FPGAs come at very relatively low costs which are beneficial for hobbyists. For instance, the Cyclone IV is an example of the low-cost FPGA series, and this Altera based boards can be purchased for about $80.
Also, the Cypress-based boards exhibits the PSoC Expansion Board Kit, PSoC 5 Devkit, PSoC 3 Devkit, that are with programmable analog and digital peripheral functions, are sold for about a $100 but the PSoC 4 Pioneer and the PSoC 4 Protokit, can be bought for as low as $25 and $4 respectively. Every other FPGAs such as the Lattice-based boards, Microsemi (previously Actel) based boards, and the Xilinx based boards, can all purchased with less than $100.