• CZ
  • ENG

Impulse C

Accelerate C in FPGA

Impulse C™ is a C-language development tool for FPGA-accelerated computing. Use familiar C-language programming methods to create applications targeting a wide range of FPGA-based computing platforms. Impulse CoDeveloper™ tools include a software-to-hardware compiler, interactive parallel optimizer, and Platform Support Packages allowing you to quickly develop high-performance applications for a wide range of FPGA-based boards and systems.

Most DSP, image processing, military, scientific, and financial algorithms are developed and debugged in C.  Impulse C can wrap them and bring them into FPGA in hours. Once in Impulse C, the algorithm can be instrumented to identify intensive processing areas best suited to acceleration through parallelization, optimized and compiled to FPGA.

screen

Impulse provides extensive examples and libraries from our engineers to get you started. There is a 1,400+ member user group and more modules and IP added regularly.

Freedom to Experiment

Quickly experiment with different algorithmic approaches, with alternate hardware and software partitioning, and with multiple FPGA computing platforms. Architecture options include:

  1. A simple C to hardware module;

  2. Add an accelerated and possibly multi-core embedded CPU; or

  3. Add reconfigurable FPGA logic to, and partition processing logic with, an external CPU.

Use the same C source code to evaluate applications and their constituent algorithms using different hardware and software targets. Optimization that would have taken months, takes only weeks.

Accelerate Applications

Slower-clock FPGAs out-perform processors by parallelism. Single- or dual-stream processes are massively parallelized, increasing performance with each split. Parallelism at the system level includes: multiple parallel processes, system-level pipelining, system-level co-processing, and hardware accelerators combined with embedded software. Parallelism at the C statement level includes loop unrolling and pipelining, and instruction scheduling. Cumulatively achieving 2x to > 100x acceleration is within the developer’s reach. And because Impulse C outputs VHDL or Verilog, which gets passed to synthesis, it easily mixes with other design methodologies. Some owners even use Impulse C as a VHDL generator.

Easy Steps From C to FPGA

  1. Use standard C tools and programming methods to accelerate your applications.

  2. Profile and partition between the processor and the FPGA accelerator. Use multiple parallel processes for increased performance.

  3. Verify and debug using familiar C-language development tools. Use the Impulse Application Monitor to analyze parallel dataflow.

  4. Compile and optimize using interactive, graphical tools. Automatically parallelize and pipeline your critical C code.

  5. Automatically generate FPGA hardware ready for use with your selected FPGA-based platform.

  6. Automatically generate host-FPGA interfaces for selected platforms.

  7. Select from dozens of FPGAs, Cores and FPGA and  FPGA/Processor Platforms

flow

Device independent design begins before FPGA selection. Users may later select from dozens of programmable platforms. Many powerful development boards feature a high level of integration enabling developers to program for most board elements, memory, I/O, etc. from C.

Application Types

Parallelism works best for algorithms that feature significant, non-sequential logic; particularly with high-bandwidth requirements for repetitive or recursive computing and many inner code loops that can be parallelized. Impulse provides 60 examples for a wide range of FPGA based platforms. Examples are provided royalty free and many Impulse users successfully adapt these examples to their own applications. Additionally Impulse offers libraries for enhanced Image Processing, Math.h functions and more. See the Impulse web site for a current list.

Services

Professional Services for Custom Products & IP

Impulse FPGA experts can work as part of your team, or independently to meet your project needs. Impulse draws on thousands of hours of FPGA design expertise in all families of programmable platforms. They incorporate hardware and software codesign technologies to quickly bring your concept to silicon.

If you already have an FPGA-based project, experts can work with your team to help make applications run more efficiently. Consultants work with your team on speed, power and resource objectives, and to optimize your code to meet your project goals. They can help you quickly try out different approaches.

Education & Training

Impulse offers customized on-site and remote, web-based training programs. Training can be tailored to meet the needs of your team. Training programs can include significant hands-on lab components, and are led by experienced FPGA application developers.

Solutions

DSP/Image Processing

Military/Aero

Financial

Scientific

Automotive

Edge Detection

Advanced radar processing

Exotic financial instrument analysis

Biomedical computing

Factory automation

FIR

Battlefield analysis

Feed handling

Climate modeling

High Speed Test

FFT

Object recognition

Financial modeling and analytics

Data compression

Robotics

Instrumentation and control

Radar/Sonar/Lidar

Options

Earth sciences

Vehicle telematics

Signal processing

Robotics and machine vision

 

Medical imaging

 

Video and image processing

Software-defined radio

 

Oil and gas exploration

 

 

Threat detection

 

 

 



Impulse C supports FPGA-based computing for module generation, embedded computing or host acceleration. Impulse C allows true software programming of FPGAs, from C language, bringing FPGAs within reach of software developers. Impulse C allows hardware designers a faster path to prototype, while maintaining compatibility with existing tool flows. Impulse C works with standard C development tools for design and debugging and with existing FPGA synthesis tools and design flows. This is the fastest path to accelerating your algorithm in FPGA.

Describe your application and we will get you started on accelerating it in FPGA.

Impulse Accelerated Technologies, Inc.

www.ImpulseC.com

© 2010 Impulse Accelerated Technologies, Inc.

 

Do you need any quick Answers? Call us: +420 511 112 863

Or write us an E-mail: Info@dspfpga.com | We will reply within 24 hours in working days.