Those clever chaps and chappesses at Impulse Accelerated Technologies have just released a library of FPGA image processing elements for developing custom advanced video and imaging systems. This library includes a range of single-pixel and 2-dimensional operations and integrates directly into the Impulse C high-level design flow to increase design productivity. Beta users reported halving their design time using this higher level tool flow. The libraries are available to be licensed and deployed in end products without a per product royalty.
"Engineers developing FPGA-accelerated image processing systems can use these library elements like building blocks to get their job done faster," said David Buechner, Impulse Vice President of Business Development. "This new library provides an easier path to create video processing applications like the high throughput DVI object tracking kit we recently announced".
The library is being continually expanded in direct response to customer requests. The library includes C-callable functions as well as process-level filters that operate on streaming video data. These elements, written in a combination of C-language and HDL, are pre-optimized for efficient, highly parallel operation in FPGA devices.
Development of this library was initiated by Impulse under sub-contract from the US Department of Defense, with the express goal of creating a more productive development environment for next-generation video processing.
"The addition of integrated libraries reduces the time needed to create FPGA-based image processing applications" said Ralph Buechner, Impulse Vice President of Engineering. He continued "Using proven, pre-tested components in an environment that encourages an iterative, agile method of design ensures a higher likelihood of first-project success. Starting with known good IP reduces schedule risks while improving product performance."
Impulse provides library blocks with standard C-language function prototypes, facilitating software-level testing using standard C tools. Components can be connected together and combined with other C code to create complex image processing algorithms. Function prototypes represent optimized image processing hardware processes that are instantiated (through the use of synthesis and place-and-route tools) in the target FPGA.
This library leverages Impulse development experience in FPGA-based processing for national security, industrial automation, financial processing and other high-throughput applications. Impulse users include eight of the top ten defense contractors, half the major automakers and many Fortune 500 consumer electronics organizations. Impulse Image processing library elements and tools have been used in military vision enhancement, object detection systems, and other applications that combine FPGAs, DSPs and Intel or AMD processors for high-throughput video and signal processing.
Impulse specializes in software-to-FPGA tools, training, and IP for embedded and high-performance computing. Impulse provides C-to-FPGA programming solutions for a wide variety of embedded and high performance computing platforms. Impulse solutions allow application developers to combine traditional workstation and embedded processors with application-optimized, software-programmable FPGA coprocessors.
The Impulse C compiler and libraries support rapid design iteration and algorithm refactoring, providing visibility and control to software programmers targeting hardware-accelerated systems. Impulse also provides customized FPGA libraries, reference applications, training and FPGA design services.
For more information, visit www.ImpulseC.com.