Impulse Accelerated Technologies have launched a FPGA hardware library supporting C-language math.h functions. Unlike math.h functions that run 'native in embedded processors, the Impulse library is implemented directly in FPGA hardware, and supports refactoring into multiple, pipelined parallel processes.
When used in this way, the math.h functions operate 2 ” 10X faster than on embedded processors. And because they are callable from Impulse C, they are more accessible to software developers and others less familiar with FPGA hardware, saving weeks of HDL hand coding and iteration time. The new math.h library adds more scientific, algorithmic and engineering functions to the existing Impulse C floating point support. The library provides access to single- and double-precision functions such as sin, cosine, log, tan, exp, pow, sqrt, etc.
Library components are provided with standard C-language function prototypes, allowing them to be invoked, using the same function calling methods C programmers are familiar with. These C-callable functions represent optimized math elements that are instantiated, through the use of synthesis and place-and-route tools, in the target FPGA. The Impulse C math.h Library is royalty free.
Impulse C enables software developers to create modules for field programmable gate arrays. These modules may use FPGA hardware, FPGA coprocessors, or the resources of entire FPGA based co-processing development boards.
The Impulse tool suite creates the necessary hardware interconnections from the developer's ANSI C code, and preserves the full ANSI compatibility of the code.
Within the Impulse tools, software developers are able to refactor C code for massive parallelizing to exploit the available FPGA resources. Impulse products work with GCC/GDB or Visual Studio and produces acceleration of 10X to 300X. Development times are typically halved and iteration time reduced by 80 percent.