Field Programmable Gate Arrays: a Brief Introduction
(Page 1 of 4 )
In the following articles I will show you what an FPGA (Field Programmable Gate Array) is and how to program FPGAs. We will also create a little project that will show you a good example of what you can achieve with the help of these devices. Still, I will keep it as simple as possible to ease your understanding.
As mentioned above, FPGA is the acronym for Field Programmable Gate Array. Of course inside an FPGA you will find more than just gates; however this is its base. FPGAs are mainly small devices that let you design and develop electronic devices with just a computer and the device itself at your disposal. Most engineers hate to program. Probably due to this, a more friendly language was created just for cases like this; namely, it is VHDL.
The first integrated circuits contained no more than just a score of transistors. They were the Small Scale Integration (SSI) type. The market's high demand for them pulled down the price fast as production ramped up, from a level of $1000/IC in 1960 to $25/IC in 1963. The next step was the appearance of the Medium Scale Integration circuit containing a couple hundred of transistors.
In the 70s, the appearance of the Large Scale Integration model moved this number to ten thousand transistors. For a reference, the first 1 Kbit RAMs and microprocessors contained less than four thousand transistors. Finally, in the 80s, with the introduction of the Very Large Scale Integration circuits, the numbers moved up to the level of a million transistors in a circuit.
All this was possible with technological advances in the CMOS (Complementary metal–oxide–semiconductor) field. In 1986 appeared the first one Mbit RAM (Random Access Memory) that contained more than a million transistors. If you thought this was the limit, let me say to you that this can be improved.
The highest density of transistors from the technology we know today is possible with wafer-scale integration. However, at the moment this has not spread. Nevertheless, the concept leads the industry to the System-on-Chip theory that says that everything (memory, processor, peripherals, data transmission, and so forth) will eventually be on a single chip.
Reprogrammable circuits allow us to seamlessly create custom circuits for custom situations without our needing to fiddle with soldering of circuits and such. Essentially, we get a circuit that can be reconfigured most of the time with some electricity to give us what we desire. Think of it as a circuit that comes with many digital gates that you can link across as you wish, with some basic programming.
In a previous article of mine, I told you that I am going to show you how to build a simple processor. That I will do. However, before we venture any further it is important for us to understand the tools we are going to use. Therefore it is essential for you to understand the world of FPGAs and the language with which we can program them (VHDL). As I am going to use the Xilinx Spartan FPGA for implementation I will show you how to build it up; however, other FPGAs have similar concepts behind them.
KEITHLEE2zdeconfigurator/configs/INFUSIONSOFT_OVERLAY.phpzdeconfigurator/configs/ OFFLOADING INFUSIONSOFTLOADING INFUSIONSOFT 1debug:overlay status: OFF overlay not displayed overlay cookie defined: TI_CAMPAIGN_1012_D OVERLAY COOKIE set: status off