Product/Service

DSP World: Software Development Automation

Source: Green Hills Software, Inc.
The MULTI 2000 Integrated Development Environment (IDE) for the StarCore SC100 generation of digital signal processors features a C multiprocessor optimizing compiler and provides a DSP-optimized superset of the editing, debugging, profiling, and project management capabilities ...
The MULTI 2000 Integrated Development Environment (IDE) for the StarCore SC100 generation of digital signal processors features a C multiprocessor optimizing compiler and provides a DSP-optimized superset of the editing, debugging, profiling, and project management capabilities already available in the MULTI development environment.

The product automates all aspects of software development for the StarCore SC100 generation of cores featuring a Window-oriented editor, Real-Time Operating Systems (RTOS)-aware source-level debugger, graphical program builder, run-time error checker, version control system, and performance profiler. It also features an instruction set simulator that allows programmers to develop and test code on a PC or workstation without the need for the target hardware.

The heart of the system is a source-level debugger with incremental debug capability that supports process- and system-level debug. The debugger provides a separate window for each process, supports mixed assembly and high-level language formats, and includes a language-sensitive expression evaluator. The debugger also is fully RTOS aware, which enables designers to debug and tune their applications at a task level.

The optimizing compiler automatically partitions C programs for optimal execution on SC140's MAC, ALU, and BFU processing units. The code generator provides optimizations that are specific to each processor's pipeline and instruction set characteristics.

The compiler provides more than 100 advanced optimizations that boost performance and code efficiency. Reordering VLES instruction groupings, for example, boosts performance and reduces RAM usage by increasing VLES packing efficiency and increasing parallelism. The compiler also increases parallelism by reordering operations within loops, and reduces looping overhead by supporting zero-overhead hardware looping for loops that are nested up to four deep.

To reduce RAM requirements, the compiler places all string literals, constants, and initialized variables that are declared as const (in the C program) in a distinct section that later can be ROMed. The compiler also reduces RAM requirements by collecting frequently used data and placing it in the lower 16 bits of the address space. This enables the data to be accessed using 32-bit instructions that enhance VLES packing efficiency.

Green Hills Software, Inc., 30 West Sola St., Santa Barbara, CA 93101. Tel: 805-965-6044; Fax: 805-965-6343.