Xtensa Xplorer Integrated Design Environment (IDE)

The Xtensa Xplorer IDE

Tensilica's Software Developer's Toolkit includes the Xplorer IDE (integrated design environment), a complete Graphical User Interface (GUI) based environment to help you create application code for customized, high-performance Xtensa processors. All the code development tools are created using the same exact database as the Xtensa processor, guaranteeing the tools are aware of all Xtensa processor configuration options and instruction extensions. Xtensa Xplorer is your interface to powerful software development tools such as the advanced Xtensa XCC compiler, the cycle and pipeline accurate ISS and TurboXim, and the multiprocessor modeling environment XTMP and XTSC for SystemC.

Xtensa Xplorer provides you a window into Tensilica's software development toolchain, which consists of familiar GNU-based tools such as an optimizing compiler, assembler, linker, debugger, and code profiler. Additionally, easy-to-use source code editor and a project manager to help you create and maintain complex programming projects and eliminate the need to write and maintain makefiles. Tensilica's Software Developer's Toolkit is a complete development environment which eases the creation and testing of application code for Xtensa processors.

Complete solution

The Xtensa Xplorer IDE provides a common platform for all software development tools. Note that the tools for processor and TIE development are available in the Processor Developer's Toolkit.

Project Manager

When you start a new software project or modify an ongoing project, the project manager organizes all related project source files and allows you to create new classes, files, or folders.  New projects can be managed using the built-in project management and version control mechanisms, which eliminate the need to manually maintain makefiles and provides a clean environment for new project builds.  The project manager allows you to set all tool options and flags (build properties) for each build target within each individual project.  Optionally, you can create unmanaged projects that allow total user control over build target properties.

Source Code Editor

The editor allows you to efficiently create and modify your code using rich editing capabilities.  Recognition of language features such as keywords, comments, declarations, and strings are eased through syntax highlighting.  Symbol indexing allows fast program navigation including find declaration, find definition, and find type.  Other features in the editor that speed up coding include code completion, auto indenting, and quick diff.  Block comment/uncomment is useful when debugging or profiling large source files, as is text folding for hiding areas of text that you don't need to view.  Other standard views, such as source outline, make target, and problems are all still available.

Pipeline Viewer

There is also a pipeline view that displays a graphical representation of the instructions in a function as they progress through the processor pipeline. This representation is based on a dynamic trace information gathered when the application is executed on the cycle-accurate ISS. The pipeline viewer thus helps designers understand instruction stalls and latency issues.

Pipeline

The pipeline viewer helps you understand instruction stalls and latency issues

Xtensa Debugger

The debugger allows you to target either the pipeline/cycle accurate Instruction Set Simulator (ISS) when no hardware is available or external probes to connect with hardware development boards.  The GUI based debugger allows full system visibility into your project; it controls program execution and provides views to variables, breakpoints, memory, registers, etc.  Source and assembly code can be made visible simultaneously while debugging an application; either code window can be single stepped.  The debugger interoperates seamlessly with the other development tools (compiler toolchain, instruction set simulator) to allow rapid code development for Xtensa processor systems.

Cores in multi-processor subsystems can be debugged and stepped synchronously or asynchronously with the other cores.

With User Defined Data Formatting, any data value can be re-formatted to display a more user-friendly representation. This is particularly effective when dealing with non-native 'C' types such as fixed point or vector data or when certain bits represent status. This data can be displayed in Xplorer however you want using familiar print formatting. Datatypes that are defined by Tensilica in its DSP engines have default formatting that will show the user friendly representations automatically.

Profiling Tools

Code profiling is an extremely important tool while optimizing the performance of your application code.  The Xplorer IDE enables you to graphically view profiling results generated by Tensilica's pipeline-accurate ISS.  Additionally, for much faster and more accurate profiling, you can generate profiling data from hardware instantiated in an FPGA or ASIC.  You can track performance data such instruction execution count, subroutine calls, subroutine total cycles, cache performance, etc.  While viewing functions in the profiling view, you can also simultaneously view the assembly code in the disassembly view and the source code in the editor.  The call graph view enables you to view the entire application hierarchy caller and callee functions.

Additionally, as an option from Tensilica, Xtensa Modeling Protocol (XTMP) application programming interface (API) is available to simulate systems that consist of multiple processors.  Each core in the multiprocessor system can be debugged separately.

Multi-processor Subsystems

Xplorer provides multi-processor projects that allow the designer to create a subsystem of heterogeneous cores with shared memory. The memory partitioning for each core and the shared memory area are specified in the GUI to make that task simple.

Simulation of the resultant system is launched from within the IDE and allows the software developer to debug, profile and partition their code very quickly.

ECLIPSE Platform

The Xtensa Xplorer IDE is based in part on the open-source ECLIPSE platform for tool integration. More information on the ECLIPSE partnership can be found at www.eclipse.org.

Marketing Agency