More on FPGAs
VIDEO UPDATE: FPGA Design
Rise of the FPGA Opportunity
We are seeing more and more companies who would have traditionally developed an ASIC solution move toward FPGAs as their hardware solution of choice. Additionally, the recent and rapid growth of the OpenCL ecosystem is encouraging new uses of FPGAs for application acceleration and offloading.
Additionally, even if the final target platform is an ASIC, many development projects include the use of FPGAs along the way for prototyping, software co-development, or as a “Glue Chip” that is part of the system. These Glue Chips provide flexibility to provide protocol bridging, or other functionality not available or not appropriate for the final ASIC being designed or ASSPs being purchased for the final product.
Superion and FPGA Design
While historically ASIC-centric in our design activities, the last year or more has opened opportunities for us to work on some very interesting FGPA design projects. With the speed and capacity of advanced FPGA technology rivaling ASIC from not too long ago, development approaches for these large designs need to mimic that of complex ASIC design efforts.
The days of a single engineer designing, simulating and doing the lab checkout of an FPGA are gone for most serious FGPA developments. These devices are very large, with a tremendous amount of integrated intellectual property cores, and require a very disciplined approach to design and functional verification.
Superion’s experience and approach to completing ASIC design projects make us a great fit for tackling today’s FPGA design challenges.
FPGA Acceleration and OpenCL
Superion has specific expertise with taking complex algorithms and optimizing them for hardware implementation. From large-scale supercomputing ASICs to more straightforward acceleration and offloading of compute-intensive software functions, we have had success optimizing algorithmic performance via acceleration.
Our acceleration experience includes taking advantage of OpenCL for select applications. OpenCL is a software framework based on the C programming language that is specifically designed for development in heterogeneous computing systems. The use of OpenCL provides the option to keep the algorithm portable as “C” code that can be run on a standard host processor (CPU) or FPGA providing additional flexibility and portability. One of our most recent projects leveraged the use of OpenCL to accelerate a specific computationally-intensive function within a very large C++ code base.