CEVA-Toolbox™ constitutes a framework for software development
for CEVA DSP Cores. CEVA-Toolbox includes a complete set of development,
debug and optimization tools for each of CEVA's DSP product families.
All tools can be operated and configured via the integrated development
environment (IDE) using a Graphic User Interface, supporting the
user through his entire embedded application development flow.
Recently, the CEVA-Toolbox was extended with an innovative Application
Optimizer toolchain that enables pure-C level application optimization
for DSP applications. With the addition of this tool chain, CEVA
offers a complete, end-to-end C-level software development environment
significantly improving application performance and reducing time-to-market.
Live Webinar - January 12, 2010
"Optimize your Software Development Flow -
An intelligent C-level development process for modern
embedded processors"
Date: January 12, 2010 Time: 8:00 a.m. PST / 11:00 a.m. EST /
16:00 GMT
CEVA-Toolbox
Software Development Tools
CEVA-Toolbox consists of the following development tools, all developed
and maintained by CEVA, leveraging on years of experience since the inception
of the first CEVA DSP in 1991:
Integrated Development Environment (IDE)
Supports all CEVA DSP cores
Fully featured editor
Complete software-development-tools connectivity
Project management, including project space for multiple projects
and a project tree
Project settings of the various tools
C Compiler
An up-to-date compiler technology targeting modern embedded processors
Optimized specifically for CEVA DSP-core architectures
Equipped with a complete package of library functions and architecture
specific extensions
Debugger
Integrated CEVA DSP-cores simulators
Several emulation modes, including on-the-fly connection
Standard C stream I/O in simulation and emulation modes
Extensive scripting capabilities
Modular, open architecture including user-customizable DLLs
Run-time violation detection by the simulator
Assembler
Supports the native instruction sets of CEVA's DSP cores
Powerful C-like operators, directives, and numeric expressions
support
Modular programming capabilities
Complete core-specific architectural restriction-checking and
correction
Overcomes sequential-restrictions mechanism of the cores
Linker
Modular and flexible mapping capabilities to precisely match customer
system architecture
Rich set of directives and operators
Application Optimizer
Full tool chain enabling C-level optimizations for CEVA's DSP
cores (see below)
CEVA Application Optimizer
- A Complete Optimizing Toolchain
The CEVA Application Optimizer allows application developers to easily
develop software for CEVA's DSPs purely in C-Level, eliminating any hand-written
assembly coding. This results in significantly better overall performance
and a shorter design cycle for SoC designs.
CEVA Application Optimizer Toolchain
Key Elements of the Application Optimizer include:
Project build optimizer
Builds, simulates, and profiles multiple application scenarios
Matches customer exact application and system conditions
Creates ready-to-use near optimal project configuration(s) Based
on pure C-code without having to use hand-written assembly
Achieves near optimal results in C-level
The entire process is fully automatic
Smooth algorithm migration
Connectivity with external tools enables smooth algorithm migration
As an example, MATLAB can be connected to CEVA Debugger allowing
parts of the code to run on MATLAB and parts on the Debugger
DSP and Communication Libraries
C-callable assembly optimized functions target the DSP architecture
Native part of compilers standard libraries
Can be automatically utilized by the compiler
Enables near optimal performance using verified off-the-shelf
code
Application profiler
Cycle accurate C-level application and memory profiler
Takes into considerations full memory subsystem
Scoring based compilation
Multiple iterative compilation levels for cycle count and code
size
The compiler automatically checks and selects the best option
based on speed/size scoring
Post linker optimizer
Linker level optimizations take into account a global view of
the application
Resolves cases that cannot be optimized at compile time
Achieves significant reduction of application code size
Test automation
CEVA-Toolbox graphic operations can be recorded into scripts
Enables automatic generation of full test suite
Control of full IDE environment with standard Perl script
With the addition of the Application Optimizer, the enhanced development
environment for CEVA's DSP cores dramatically simplifies the software
development process and improves the absolute performance of the target
application. This is illustrated in the following example figures:
Algorithm
OOB
C code*
C-optimized*
Assembly
optimized *
Competitors
OOB C code
AMR-NB
19 MHz
15 MHz
12.5 MHz
27.7 MHz
AMR-WB**
41.7 MHz
30 MHz
22 MHz
N/A
G.729AB
14 MHz
10.3 MHz
9.2 MHz
N/A
* Numbers relate to worst-case frames and streams, using
standard ITU / 3GPP C reference code
** AMR-WB using 8.85Kbps bit-rate