|
![]() |
| Latest News : | Date: | Bookmark |
|
| In detail...
|
What types of applications are most suitable for Impulse C?
Impulse C is designed to simplify the development of highly parallel, processing-intensive applications, including applications that require a mix of hardware and software processing resources, or applications in which specific processes must be interfaced to other hardware and/or software components to form a complete system. (see the Applications Notes in the Download Area for some sample applications and interfaces.)
In support of these applications, Impulse C provides a streams-oriented approach to data movement, processing and synchronization as well as advanced compiler technologies allowing process-level parallelism to be automatically identified and utilized. By using these automated compiler features in conjunction with the streams-oriented programming features of Impulse C (which allow parallelism at the system level to be easily expressed) it's possible to create high performance applications without the need to write low-level hardware descriptions.

Applications consisting of multiple hardware and software processes
can be easily mapped to FPGA platforms with or without embedded processors.
Efficient application characteristics
Suitable application types
Does Impulse C require an embedded microprocessor?
Although Impulse C is designed with embedded processors in
mind (it can, for example, automatically generate the necessary processor
to FPGA interfaces), it is not actually necessary to use an embedded
processor in order to make use of Impulse C. Instead, you may choose
to use Impulse C for describing and compiling specific processes that
will be interfaced (using traditional hardware design tools and methods)
with other IP components within one or more FPGAs. In this usage, Impulse
C and the CoDeveloper compiler may be thought of as a module generator.
Does Impulse C replace existing hardware description languages?
Impulse C is not intended to replace HDLs for general purpose
logic design. Instead, Impulse C is most useful for quickly moving algorithms
expressed in C language to an FPGA for algorithm acceleration. Impulse
C applications (which may consist of just one hardware process, or many
processes connected to form a parallel system) therefore have well-defined
communication interfaces (including streams, signals and simple registers)
allowing them to communicate with external hardware and software components.
Indeed, for the highest possible application performance you should plan to use Impulse C and the CoDeveloper tools to get more quickly to an application prototype, then apply your existing HDL expertise to further accelerate and optimize key algorithms and processes. The benefit of using Impulse C is that it gives you more opportunities to experiment with alternative algorithmic approaches, a faster path to a working prototype and greater opportunities to improve system-level performance through iterative design methods.
|
Abatron | Adeneo
Embedded | ADI
Engineering | Blackhawk | Corelis | Domain
Technologies | e-con
Systems
EMA
TimingDesigner | Embedded
Planet | Entrek | EPI/Mentor |
FlatOak |
Intel
Software | IntervalZero
Microcross | Microsoft
Embedded | Segger | Signum | Sophia | SwiftModule | Tasking | TRITON
Modules
Products
by Processor | Products
by Supplier | Boards & Modules
| Impulse News |
|
| NEWS: Tools |
|
| Literature Centre |
|
| << Backward | Forward >> | Top of Page |
|
Copyright
© 2001 -
Direct Insight Ltd |