1. What is an FPGA?
Field Programmable Gate Arrays (FPGA) is possibly the growth of technologies as we enter into the new era. To get a brighter vision, we have to first clarify what a Micro Processor is. A Microprocessor is software that used on a silicon wafer by way of proper transistor connections. To put it differently, a simple education in gathering [ADD EAX, 0x04], that adds 4 into the EAX register, is no more than a control that’s read from the chip (that the software applied on a silicon wafer), also implemented after.
Because of their nature, chips execute commands in a sequential mode; you can areas as many controls as you need onto storage, and request your chip to browse the storage and then implement them one-by-one. This leads to some successful task being done, like booting a pc, or demonstrating your working system in your display.
So you may ask what an FPGA is? An FPGA is a silicon wafer, which may consume up to several hundred thousand digital Cells. Each cell can do simple tasks like adding two pieces, maintaining 8 pieces (behaving as a very little RAM) or behaving like a little multiplexer, either decoder or many gates. But, initially they aren’t connected to one another. Your job, as a hardware engineer, would be to look for a program that controls each cell what job to do, and also connect to the additional cells in the appropriate order. Atmel FPGAs are programmable, as well as their interconnection will shape dependent on your own design. They need to be programmed every time on startup, as nearly all of them can’t retain their setup after power-down, as they utilize RAM technology.
A best example may be the human mind. The human mind doesn’t have a central processor, but procedures data in parallel fashion, including trillions of neurons (corresponds to Digital Cells in FPGAs) that take part in countless different tasks at precisely the exact same time. Every Neuron can do a small job, but if trillions of these operate together, they easily outperform planet fastest supercomputers.