As processor architectures enable developers to build ever-more-complex applications, the software-development tools that speed and improve the process increase in value. For example, CEVA Inc.’s Toolbox software-development environment now includes an application-optimizer tool chain that provides software-optimization for code targeting CEVA’s DSP cores. The tool enables developers to generate target code completely in C that performs within 20 percent of the performance of hand-optimized assembly. The tool-chain optimizers assist development throughout design and building and include a project optimizer, an application profiler, scoring-based compilation, a postlinker optimizer, and automated test generation. The tool chain is now available.
The project-build optimizer enables you to automatically build multiple configurations based on compiler settings at individual function levels. The tool chain supports the automated simulation, profiling, and down-selection of these multiple configuration scenarios to help find the best match of the application requirements and the system resources. The application profiler includes a cycle-accurate C-level application and memory-subsystem profiler that enables the tool chain to detect application- and system-level bottlenecks by taking into account the full memory subsystem. The scoring-based compilation component supports multiple iterative compilation levels to allow trade-offs between cycle count and code size on a C-level, function-by-function basis. The postlinker optimizer works with a global view of the application within the system and resolves resource scenarios that you cannot completely address during compilation and that further enable smaller application code. The automated test generation provides full test suites and supports standard Perl scripts. The tool chain also supports the inclusion and integration of C-callable assembly-optimized functions as a native part of the compiler’s standard libraries. The debugger supports connectivity features with external tools to simplify migration of algorithms, such as those from The MathWorks Matlab, so that parts of the code can run within Matlab or on the debugger.
CEVA Inc.