FPGAs in many ways are still a bit mysterious to some folk. I was at a high level summit in April, and I realized that many there had no idea what an FPGA was. They knew at least what a CPU was or meant and that their kids talk about GPUs. A good analogy I have for an FPGA when compared to a CPU is something like this. Think of the FPGA and CPU as a player piano if you will. Will you? Both technologies can play any music you load into memory. BUT unlike the CPU, within the FPGA you can not only change the music but the engine that plays the music. Using the CPU, you are stuck with the same, ARM, x86, architecture. The FPGA can be ANY architecture you want and even emulate a CPU if you so desire. Also using the CPU you will be stuck with memory interfaces and IO. Not So with the FPGA.
So why are the FPGAs faster than a CPU even when they have a much lower clock frequency? I must say dear reader you ask some great questions. FPGAs leverage parallelism, using a much lower clock frequency (100-500 MHz) where the CPUs will clock in at 667 MHz – 3 GHz or so. This allows the FPGA to use drastically lower power to solve the same problem. The other major benefit of the FPGA is something usually inherent in the parallelism, which is low latency and determinism. As technology keeps moving forward latency and determinism will be more important than ever.
To highlight these points, I saw a design that really impressed me, and it uses only one FPGA. “Intilop Releases 16K Concurrent-TCP-Session Hardware Accelerator Verified and Tested on Xilinx Virtex-7 FPGA VC707 Evaluation Kit”. Please read the press release very carefully and you will quickly see that this is something that one or even 16 CPUs could not do. The days of relying on a CPU are slowly going bye-bye. The power and inflexibility of choosing the correct architecture for the job are creating a revolution for FPGAs. Does this mean death for CPUs? No but they will not be so ‘central’ and I expect more Zynq like products that merge the CPU and FPGA when needed, but they will not always be needed. I just heard a gasp! In many systems the FPGAs are doing the bulk of the work and are ‘central’ and the CPUs are performing the BIT, Control and Status.
How does Xilinx play in this market? Very well, they invented the FPGA. There is no better FPGA than Xilinx, and no one can argue on how well they execute on every new product. As design schedules keep accelerating there is no doubt Xilinx will meet any future or current need. Don’t believe me? Call your local Xilinx distributer and ask for cost/dates for 20nm UltraScale and try the same for Altera Arria-10. Xilinx is probably a good 8 months to a year ahead. It is easy to make flashy power point and brochures, another thing to make hardware that works. Utilizing Xilinx FPGAs is easier than ever. Xilinx’s Vivado HLS allows the programmer to use native C/C++ or even SystemC as design entry. OpenCL is another possibility that is currently under test by a hand full of customers.
The time is here on many systems to start asking, why are we using a CPU? GPU? Check out Xilinx.com today, and begin to familiarize yourself with the wonderful world of FPGAs.