Since 2002 Impulse has solved problems for hundreds of design teams. Along the way we have built up frameworks, sandboxes and reference algorithms which provide the templates for our semi-custom designs. We take your specifications and construct a rapid prototype out of known good modules. This enables you to quickly test out your ideas and shorten your schedule. Modules are well documented, most have full VHDL test suites, and build well into your final application. Look through this partial listing of IP blocks below, or the tutorials, videos and articles and use the contact form to let us know how we can help with your design. Impulse solutions are available on a project or company wide basis. TutorialsVideosArticles

Camera Communications Interface. Many Ethernet cameras ascribe to the GigE Vision and GeniCam protocols. The software APIs and Ethernet protocols create a layer which enables these modules to cross compile to a range of FPGAs and FPGA enabled development boards. ARM processors may also be added. Impulse has a growing set of modules around this. Windows (Intel CPU) or Linux are standard. Impulse can help create links to ARM, NIOS, Microblaze or other. As well as customization for your unique application. The UDP Ethernet protocol enables the data to easily stream to FPGA logic. Wherein the available FPGA processor can be used to handle the protocol. Impulse has many of these building blocks working and is interested in this as an area of expansion.

Image convolution or reconstruction such as this back projection algorithm are developed in half the time and, more importantly, iterate in 1/8th the time as if designed with an HDL. In this design a 256-channel CAT scanner image is reconciled in a single FPGA. This design is available and typically only takes 4-weeks to be modified to your specifications.

Object Capture. Using an embedded processor it is quick to set up a System on Chip, three algorithm system that identifies an object within a HD video stream, “spotlights” the object and smooths tracking. In one of our examples the object definition is captured in a few lines of C code and can be changed in minutes.

Image filters which are quick to modify and experiment with. This particular design utilizes the optional on-board soft microprocessor. It also addresses memory via C controls using the Impulse Platform Support Package for an FPGA based development board. Changes to convolutions or additional filters are as easy as changing a line of code.

Programmable Network Low-latency Prototype “Sandbox” . Impulse provides a great way to experiment with 10 GBPS network interconnectivity. We can provide UDP to UDP connections, low latency trading modules, wire speed filter modules and more. With this integrated development environment your team can quickly move filters, proprietary business logic and more to Ethernet and experiment in a fraction of the time. This particular development system is based on Solarflare’s Application Offload Engine (AOE) and includes 8 hours of training. Extensive documentation can be found at

Streaming interfaces which are easy to construct for a range projects enable individual processes to be created and added as modules. Streams propagate well across FPGA fabric, creating powerful multiple streaming process acceleration systems for compute bound processes. 

Financial systems for compliance, trading or risk. Trading systems can operate at sub-microsecond latency. Analytics can run 50x or more faster. Compliance or risk checks can be inserted parallel to trading logic to minimize impact on trading times. Most importantly, solutions are modular, HLL based and user customizable. This lowers the long term cost of ownership and makes them quicker to migrate to new platforms as they come available.

Encryptors & Decryptors such as 3DES are extremely quick to implement in HLL. On the Impulse “shelf” are examples for DES, 3DES, Blowfish and other encryption engines. Even more useful is combining encryption algorithms with a low-latency framework such as UDP or a financial type model (listed elsewhere on this page).

2- Radix 4 FFT (and custom FFTs) – Impulse offers an in-place iterative Radix 4 FFT, which uses 2 Radix 4 butterflies and 8 memory banks.  The pipelining and memory bank access indexing allows for a doubling of the throughput, compared to a single Radix 4 algorithm. Polar FFTs and many custom value FFTs are also available in a few weeks.

Platform Support Packages (PSPs) – Impulse offers C level support for both embedded processors and for complete FPGA-based development boards. This enables you to easily write to the memory, I/O, buses and other features of your system using C. The PSP then creates the HDL required to drive the specific hardware. Custom PSPs are available for your own hardware.