Field Programmable Gate Arrays (FPGAs) are reconfigurable devices made up of thousands of logic elements, which functionality can be modified as many times as needed. Due to their hardware nature, FPGAs are able to exploit the parallelism available in multiple algorithms, as is the case of the Application Specific Integrated Circuits (ASICs). However, while ASICs cannot be modified once manufactured, reconfigurability provides FPGAs with a flexibility similar to the software technology, while their development costs are also well below the figures corresponding to ASICs. At the beginning, FPGAs were mainly used for the fast prototyping of integrated circuits. However, their capacity and efficiency have been growing exponentially since Xilinx launched the first FPGA to the market in 1984. As a consequence of this evolution, state of the art devices are usually used within military and aerospace systems, as well as in any area of the professional and even of the consumer electronics.
In the last months, efficiency and capacity improvements have been accelerated with the emergence of the last generations of devices manufactured in 28 and 14 nm technologies. In addition, companies have bet heavily on high level synthesis languages, which bring the design of FPGA-based systems closer to the software. As a consequence, different reports appearing in the last weeks show that the journey for the FPGAs is not over yet. First, Microsoft announced that they will install next year FPGAs in all the datacenters giving support to the Bing search engine. FPGAs were tested experimentally in one of their centers, showing a throughput improvement of 9