WHAT IS FPGA?
We can describe FPGA as the integrated circuits of which their hardware configuration can be changed by the user accoridng to the desired functions. Some people who just met FPGA or the ones who are not met yet may find this description unclear. But donâ€™t be affraid of this situation, we will give detailed explanations to make it clear in the following lines in this page.Â
The purpose of this section is to change peopleâ€™s minds from â€śI donâ€™t understand what FPGA is exactly.â€ť to â€śIt is not as hard as I thougt. Itâ€™s very simple.â€ť We expect you will find the answers of the questions starting with â€śHowâ€™sâ€ť after surfing on the other pages of our web site and seeing the excellent examples which are from the beginning to the adcanced level.
As we mentioned at the beginning , FPGA is an integrated circuit. However the difference from the others is that they can be configurable as we wish. We can explain this as follows: In ordinary or standard ICs which can not be programmable, there are fixed interconnections between the transistors. Unless they are burned or another unfortunate event does not come, they can not be changed.
We may consider FPGAs as crude ICs of which their transistors were produced independently. Â Interconnections between transistorsÂ can be done according to the function we defined,Â then they perform the function we want. So theoretically, any operation that comes to our minds can be done by FPGAs, depending on the transistor capacity.
That should be mentioned here: FPGAs transistor analogy does not explain exactly the internal structure of FPGA. In the FPGAâ€™s structure section, we described the full architecture more accurately.
One of the most important feature of FPGAs is the ability to do parallel processing.
Parallel processing means that the ability to make multiple transactions at the same time. For example, imagine a person who reads book and listens to music at the same time, in the meantime drinking coffee. Actually he is doing a kind of parallel processing. Ordinary ICs can not do parallel processing, or they can do it limited. Whereas dozens of or perhaps thousands of parallel processing can be done simultaneously depenging on the application with FPGAs. This makes FPGAs unique in applications that require parallel processing.
For example, you wanted to make real time filtering on a high resolution video signal. Video signal is actually a series of pictures which sequentially come to the scene. Each of these pictures are called frames. Basically you need to get a frame from an input port, filter this frame and send it through an output port. Then you should do the same job as real time process for the coming frames.Â
If you use standard ICs like microprocessors, you start to get second frame after processing three operations (get, filter and send) for the first frame. If this process can not be fast enough, you may miss the next frame. FPGAs do all these operations in parallel. That means while we processing of filtering the first frame, we might begin to take the second frame. And while we sending the first frame to the output, we begin to filter the second frame and get the third frame at the same time.
Furthermore, filtering process requires extensive multiplication process. With standard ICs, we have to do this process sequentially.Â Whereas this process can be done in parallel with an FPGA so it can be done very quickly.
In summary, FPGAs are hardware-programmable integrated circuits that provide us parallel processing capabilities and oportunity to change the internal structure and its function according to the desired application.
Intellectual Property (IP)
Intellectual Property (IP) refers to the built-in functions that are optimised for speed and performance aspects according to a specific FPGA family.Â While simple functions are provided free by the manufacturer; more advanced functions are usually required to pay a certain fee.
IPs can be provided by the manufacturer as provided by 3rd party companies or individuals can.