Tech Support | Generator Login | Careers | Contact Us
PRODUCTS

  Overview

  Technology

  Diamond Standard

  Xtensa

    Configurable

    Config & Extensible

    Xtensa 7

    Xtensa LX2

  DSPs

    HiFi 2 Audio

    Video

    Communications

  HW/SW Dev Tools

  + For Processor
     Designers

    – Xplorer IDE

    – TIE Compiler

    – Create TIE

    – Develop Configs

    – Analyze Configs

    – XPRES Compiler

      + Optimizations

      + Quality of Results

      + FAQ

    – ISS & TurboXim

    – System Modeling

    – Chip Tools

  + For Software
     Developers

    – Xplorer IDE

    – XCC Compiler

    – ISS & TurboXim

    – System Modeling

    – Real-time Trace

  + IDE & RTOS Support

  + HW Emulation

  Literature & Doc

XPRES Compiler

Automatically Generate Processors from Standard C Code

The Tensilica XPRES (Xtensa PRocessor Extension Synthesis) Compiler is a powerful TIE language synthesis tool that creates tailored Xtensa processors from native C/C++ code. You can use the XPRES Compiler, coupled with Tensilica’s proven Xtensa Processor Generator technology, to generate highly optimized processor hardware RTL directly from the C/C++ reference code or algorithmic specifications, eliminating the need to have an intimate knowledge of TIE.

XPRES enables the rapid development of optimized SOC hardware blocks and associated software tools. You can input the original algorithm into the XPRES compiler, written in standard ANSI C/C++, and the XPRES compiler automatically determines which functions should be accelerated in hardware.

Various area, performance, and power trade-offs can be quickly evaluated using the graphical output from the XPRES Compiler. The XPRES Compiler automates the analysis and creation of TIE descriptions, dramatically shortening the design time needed to transform an algorithmic concept into an optimized, pre-verified, software-programmable hardware element.

 

Application

Speed-up

Configurations Visited

Run Time to Generate Configurations

Radix-4 FFT

10.5x

175,796

3 minutes

GSM Encoder

3.9x

576,722

15 minutes

MPEG-4 Encoder

3.0x

1,830,796

30 minutes

Xtensa Xplorer dramatically shortens the design time to speed up critical algorithms.

Automated Processor Optimization without C Code Modifications

The XPRES compiler works with the Xtensa XCC compiler to analyze the performance critical regions of your application software or algorithm specification. The XPRES Compiler uses this analysis information to generate one or more alternative TIE files designed to increase the performance of your code. The generated TIE files represent a range of customized Xtensa processors that trade-off improvements in application
performance versus hardware (area) costs.

The new TIE instructions and registers generated by the XPRES Compiler are utilized automatically when your original program or any other program is recompiled. No source code modifications are required. Also, since the XPRES Compiler creates TIE source files, the system designer is free to modify the TIE for further optimizations.

Optimized Hardware Directly from Source C Code

The C programming language is the natural language of choice for algorithm developers and systems architects to capture and model system behavior. For more than a decade, the embedded design industry has struggled to find a path that takes those C specifications of algorithms and automatically or systematically transforms them into efficient hardware designs. A variety of approaches - with buzzwords like behavioral synthesis, C language hardware synthesis, and ESL - have fallen short because they all have tried to conquer a nearly intractable problem - transforming a language designed to be executed in a sequential manner on a microprocessor into a highly parallel system of interoperating, non-programmable hardware elements.

Tensilica’s XPRES Compiler takes a different approach. The XPRES Compiler does not transform the C code. It automatically tailors the Xtensa microprocessor into an efficient machine that executes the original C code faster. The tailoring process takes only minutes.

Using the XPRES Compiler, designers often find that the automatically generated Xtensa processor is fast enough to meet their system’s specifications. In other cases, engineers can further extend the processor with custom I/O ports (Xtensa LX2 only) and custom execution units to get even higher performance.


The XPRES Compiler automates the creation of extensions for
Tenslica’s Xtensa processors. It works with Tensilica’s proven
Xtensa Processor Generator technology to rapidly create optimized hardware blocks for advanced SOC designs.

Automated Processor Optimization without C Code Modifications

The XPRES compiler works with the Xtensa XCC compiler to analyze the performance critical regions of your application software or algorithm specification. The XPRES Compiler uses this analysis information to generate one or more alternative TIE files designed to increase the performance of your code. The generated TIE files represent a range of customized Xtensa processors that trade-off improvements in application
performance versus hardware (area) costs.

The new TIE instructions and registers generated by the XPRES Compiler are utilized automatically when your original program or any other program is recompiled. No source code modifications are required. Also, since the XPRES Compiler creates TIE source files, the system designer is free to modify the TIE for further optimizations.


Performance acceleration versus hardware cost trade-off analysis

Rapid Design with Full Automation for Fine-Tuned Manual Control

For small algorithmic kernels, the XPRES Compiler performs exploration of potential configuration in just minutes. For very large application programs, such as full video codecs, the XPRES Compiler can explore millions of potential combinations of processor configurations in less than an hour. This very rapid exploration allows the system designer to quickly and exhaustively explore a variety of both automatically generated as well as manually generated TIE techniques.

In addition, the XPRES Compiler offers a range of fine-tuning control options fully integrated into the Xtensa Xplorer design environment.. The designer can exercise as much or as little intervention as desired into where and how optimization techniques are employed to create the optimal design of an application-specific Xtensa processor.
Read the XPRES white paper: Rapid SOC Development using Automatically Generated Processors.

PRODUCT RESOURCES
Xtensa Processor Developer's Toolkit Product Brief
Demo of XPRES Compiler
WHITE PAPERS
XPRES Compiler: Triple-Threat Solution to Code Performance Challenges
Automated Configurable Processor Design Flow
XPRES White Paper: Rapid SOC Development using Automatically Generated Processors
ARTICLES
Tensilica’s Automaton Arrives by Microprocessor Report
Compiler Leverages Automation Power of CPU Core
Tensilica Compiler Automates RTL Generation
QUOTABLE

“It’s not just that XPRES can automatically generate custom hardware from C/C++ code…. Rather, it’s the whole tool chain and design flow that sets Tensilica’s technology apart. Tensilica is closer than any other company to realizing a vision of software-driven automated hardware design that for decades has mesmerized engineers, academic researchers, and entrepreneurs.”

Tom R. Halfhill,
Senior Analyst, Microprocessor Report

get more info