The abbreviation FPGA stands for Field Programmable Gate Array, and at the moment your still Just as confused as you were before. Like many abbreviations the meaning still isn't obvious even when the full words are written out in sequence. So lets decipher the individual words and see what we are dealing with! The F stands for Field and refers to a large area that could contain a lot of objects, a conventional field for example. The P stands for Programmable, this means the device can be changed using conventional programming techniques. This is very much like a microcontroller. The G stands for Gate, this is where it gets slightly complicated. A gate in Electronics is much like a conventional gate, it lets things pass through if its open and doesn't if it is closed. Except unlike a normal gate which may let sheep and unicorns through, this gate lets charged particles through (in most cases electrons). Finally the A stands for Array, this means there is a vast amount of gates, imagine a large amount of sheep in a field. They all do the same thing, but there are lots of them. So in conclusion what this all means is that an FPGA is simply a large body that contains lots of gates.
So why is this useful? Well it's the programmable part that's the key. Normally the gates in the in a silicon chip are set, once it has been spun you cannot change them. This is brilliant for mass produced items, one set chip that is ready to go as soon as it comes off of the production line that can never be changed by the consumer and doesn't need to be programmed each time. It's more efficient and much more cost effective. But when you are developing a new chip, it's brilliant. A chip that can be changed as many times as possible in a day, compared to the months it takes to change a mass produced silicon chip. In the past I have talked about microcontrollers, these can be programmed to run software. When you programme an FPGA you do not make it run software, you physically change the silicon inside the chip. This means that you have to think about things in terms of basic logic, rather than in terms of the programming language. Perfect for figuring out the design of your silicon chip and testing if it will work!
I am planning to get my hands on an FPGA development kit in the future, so you should be seeing more of them in the future. More Raspberry Pi and Arduino will be coming as well!
See you soon!
Sam