The initials FPGA in full stand for field programmable gate array which basically is a modified integrated circuit (reprogrammable silicon chips) that is designed to allow for further configurations by a customer or specific designer after processes of manufacturing, hence the term field programmable. Previously circuit diagrams were used to explicitly specify the configuration as was the case for application specific integrated circuit (ASIC) but as time goes by it is increasingly getting rare. The field programmable gate array configuration is basically written out using a hardware description language (HDL) that is the same as the one used with application specific integrated circuits.
FPGA technology continues to grow in popularity among the masses with markets expected to make huge growths amounting to billions of dollars worldwide. Field programmable gate array was invented by Xilinx in the year of 1984 and since their invention they have evolved from being simple common glue logic chips to actually being the replacement for its previously used counterpart, the custom application specific integrated circuits and processors for control applications and signal processing. By the use of programmable resources for routing and pre-built logic blocks, these chips can be configured to implement customized functionalities of its hardware components without ever finding the need to pick up a soldering iron.
Digital computing task in software are developed and compiled down to a bit stream or configuration file that contains detailed information useful in determining how the components are to be wired together. When an FPGA is reconfigured, it automatically takes on a new personality when recompiled in a different circuitry configuration. The rules of FPGA programming are steadily changing due to the continued increase of high level designing tools with new technologies emerging that transform graphical diagram blocks or even C code into digital hardware circuitry. Field programmable gate arrays provide convenient speeds that are hardware timed and reliable and do not require high volumes to justify the expense of custom application specific integrated circuits.
FPGA’s are in nature parallel unlike processors that is, different processing tasks need not compete over the resources available but instead each independent processing task is assigned to a specific section of the chip and can function independently and at its own processing time without any interference from any other logic blocks and as such the overall or even performance of a particular section is not affected when more processing tasks are added onto the work load. One of the benefits that arise in field programmable gate arrays is performance. Taking into account the parallel nature of the FPGA, the power of computing of digital signal processors (DSPs) is greatly exceeded by breaking the sequential executing paradigm and achieving more cycles per clock. A noted bench marking company and noted analyst released benchmarks showing the number of times the processing power per dollar of digital signal processor that field programmable gate arrays can deliver in various applications. Faster response times and functionalities that are especially suited to closely match application requirements are provided by controlling inputs and generated or expected outputs at the hardware level.
Secondly, this field programmable gate array technology offers fast prototyping capabilities and is flexible in the face of rising concerns on the time to market whereby one can be able to test and verify a concept or idea in hardware without necessarily having to go through the long process of fabrication when it comes to application specific integrated circuits design. One can thereafter make implementations on the incremental changes and iterate this on an FPGA design in a matter of hours instead of having to wait for weeks. Commercial use hardware (off the shelf) with various types of input output I/O already connected to a FPGA chip that is user programmable is also available. The increasing availability of high level software programming tools results in a decrease of the learning curve with abstraction in layers and many at times offers valuable prebuilt functions (IP cores) for signal processing and advanced control.
The cost as well of field programmable gate array-based hardware solutions greatly under cedes the non-recurrent expense in engineering of custom application specific integrated circuits. OEMs shipping of thousands of chips a year is easily justifiable on the large initial investment that was made to application specific integrated circuits, but more and more people are gaining an increased need to have custom hardware functionalities that is to be used in the different capabilities for tens of thousands of systems in development. The nature of this programmable silicon chips means that there are no long lead times or fabrication costs for assembly processes.
Since it is in the nature of systems to change over time, the cost incurred in effecting incremental changes to Direct Components Inc – Xilinx brand designs is assumable as compared to the extreme costs in reconfiguring an application specific integrated circuit.
As much as software tools provide a conducive environment for programming practices, field programmable gate array circuitry is a rather difficult implementation of program execution. The scheduling of tasks or sharing of resources among multiple processes by processor-based systems at many times involves abstraction layers. Driver layer manages the hardware components while the operating system is responsible for processor bandwidth and memory management. Only one instruction is able to be executed by a processor at a time and as such FPGAs that don’t make use of an operating system lower concerns about reliability with parallel process execution and hardware –deterministic in nature- that is dedicated to every process.
FPGA chips are field programmable and do not require the intense workmanship or dispending of time and resources as involved with redesigning of ASICs. FPGA chips can keep up to date with future improvements on software that may be necessary. As a system reaches stages of maturity, enhancements towards its functionality can be made without time wastage in redesigning hardware or the board layout.
The adoption of this technology by society continues to increase s high level development tools continue to evolve to deliver the required benefits to engineers and programmers at all levels of expertise.