HomePage
About ALSE
Services
Training
Tech Corner
Products
Conferences
C -> FPGA
IPs
Utilities
C -> FPGA
ApNotes
Examples
Boards
Self-Test
Quiz
Bibliography
Cool Links

At ALSE, we are always looking for affordable tools that can help design and verify complex systems.

The idea of implementing algorithms (expressed in C code) into hardware (FPGAs) is not new, but several tools that came up did, in our opinion, fail to bring a comfortable and affordable solution.

We have then evaluated the ImpulseC technology, and this generation of tools change drastically the paradigm, in that they are both affordable, FPGA flow friendly, and SoC compatible.

We still don’t believe future digital chips will be developped entirely in C !
But we believe now that many complex applications can take advantage of direct and optimized C to RTL conversion for some well-identified parts.
As a complementary technology, we think C-based implementation can help.

Here is a quick presentation of the concepts behind the Impulse C Technology.

CoDeveloper C to Hardware Compiler Tools

Impulse CoDeveloper is a C-based design and debugging tool provided by Impulse Accelerated Technologies. The Impulse CoDeveloper tools are compatible with standard C development tools such as Microsoft Visual Studio and GCC, and produce outputs compatible with widely-available FPGA development tools.

Impulse C, a key technology behind CoDeveloper, supports the development of highly parallel, mixed hardware/software algorithms and applications by providing a set of library functions compatible with standard C. Impulse C can be used to describe a wide variety of functions that are appropriate for compiling to FPGA hardware, including algorithms for image processing, data conversion, data compression, security, pattern recognition and many others.

The CoDeveloper tools include advanced, C to hardware compilation capabilities. The compiler converts individual C processes to functionally-equivalent hardware descriptions and generates the necessary process-to-process interface logic.

Using C for High Performance, Parallel Applications

Impulse C allows the C language to be used to describe multiple, independently synchronized units of processing and connect these units together to form a complete parallel application that may reside entirely in hardware (as low-level logic mapped to an FPGA) or be spread across hardware and software resources including embedded microprocessors and DSPs. This multi-process, parallel approach is highly appropriate for FPGA-based embedded systems, as well as for larger platforms that consist of a many (perhaps hundreds) of FPGAs interconnected with traditional processors to create a high-performance computing platform.

The ability to create mixed hardware/software applications in a common language is also helpful for creating in-system, software-driven test benches for hardware modules. In this use model, specific hardware modules (whether originally described in C or hand-crafted using HDLs) are tested using software and/or hardware test modules written in C and compiled to the embedded processor, to available FPGA resources or to both, creating a mixed software/hardware test system.

From C language to FPGA hardware

Impulse CoDeveloper allows you to design, test and implement mixed hardware/software applications in ANSI C. Use standard C development tools such as Visual Studio™, CodeWarrior™ or GCC for design entry and simulation, then generate FPGA hardware from your C language descriptions, automatically.

CoDeveloper allows you to target popular FPGA devices, with or without embedded microprocessors. Applications may be optimized (through a combination of automated compiler features and library features that allow parallel programming) to take advantage of the extreme parallelism inherent in FPGAs. The generated hardware and software can be exported to popular FPGA synthesis and simulation tools.

CoDeveloper pricing ranges from $3500 to $10,000. Annual license (subscription) pricing is also available. For more information and to request free evaluation software visit www.ImpulseC.com.

 

[HomePage] [About ALSE] [Services] [Training] [Tech Corner] [Products] [Conferences]