The folks at VMETRO and Impulse Accelerated Technologies have announced their first collaborative integration. The result is to enable software engineers to easily interface C code to FPGA hardware and firmware components on a widely used VMETRO FPGA PMC module.
This integration provides C-callable FPGA interfaces to the PMC firmware components, including QDR SRAM, DDR2 SDRAM and the PCI bus. In support of VMETRO's installed base, the initial Impulse C support for VMETRO PMC boards targets the PMC-FPGA02, a Xilinx Virtex-II FPGA PMC. Integration with VMETRO's Xilinx Virtex-5 FPGA-based products will follow.
The integration of Impulse C with VMETRO PMC modules allows application developers to focus on their algorithms, rather than on the details of hardware and firmware integration. Instead of working at a low level in VHDL, these developers are able to interface hardware algorithms expressed in C directly to firmware components using C-language function calls. The ability to use a high-level front-end FPGA development tool decreases the dependence on FPGA development expertise for algorithm development, allowing FPGA hardware developers to focus on back-end optimizations and custom hardware interfaces.
"C is a much better fit than VHDL for DSP algorithm development," said David Barker, VP of Marketing at VMETRO. "Faster development and being able to use C programmers will especially benefit prototyping, research, and IRAD projects. With the Impulse C integration, VMETRO's FPGA boards are now accessible to a whole new set of engineers – targeting algorithms no longer requires HDL experts."
With a C-language approach, software application developers who may be less familiar with low-level hardware design methods can easily move ANSI C algorithms to an FPGA-accelerated platform. Experienced hardware developers benefit as well, due to a faster path to a working prototype from higher-level C code. The Impulse C tools allow DSP algorithm development in ANSI C and the integration extends this capability to allow C applications to directly interface to VMETRO provided hardware IP blocks.
According to David Pellerin, CTO of Impulse, "The combination of Impulse C with VMETRO FPGA PMC modules provides an alternative for developers of high performance DSP algorithms. Software developers in many domains, DSP included, are learning the value of using FPGAs for algorithm acceleration."
The Impulse C compiler plays a key role in bringing more software developers into FPGA technologies. During the software-to-hardware compilation process, the programmer's original C code is automatically optimized for parallelism. This optimization, in which C statements are analyzed and translated directly to FPGA hardware, is the key to making code running on a relatively slow clock speed FPGA outperform a DSP or processor running at a much higher clock rate.
Using the Impulse tools in combination with Xilinx FPGA devices, users can expect to achieve 10X to 100X acceleration and 10X power reduction over their existing microprocessor-based solutions. When compared to traditional methods of hardware design, this approach can cut weeks or even months off of the development cycle for next-generation systems.
The VMETRO FPGA PMC board family includes modules equipped with a large capacity Xilinx Virtex FPGA, high speed customizable digital front-panel I/O and a PCI-X interface to the host computer. The powerful FPGA is boosted by multiple banks of QDRII SRAM and DDR2 SDRAM memory to ensure that processing capabilities of the boards are maximized.
The board family was designed for embedded DSP applications where there is a need for flexible, customizable I/O and FPGA processing on the data stream. Customers that develop algorithms using Impulse C on this first supported VMETRO platform will be able to easily migrate their code to VMETRO's latest Virtex-5 products in the near future.