ACE: Your long term strategic partner for advanced system software solutions

CoSy White Papers

Documents behind the scene

Retargetable Code Optimization for Predicated Execution This paper results from a joint research project between RWTH Aachenuniversity, NXP and ACE. It was presented at the conference Design,Automation and Test in Europe in 2008 and received a DATE 08 BestPaper Award. Retargetable C compilers are key components of today'sembedded processor design platforms for quickly obtainingcompiler support and performing early processor architectureexploration. The inherent problem of the retargetablecompilation approach, though, is the well known trade-offbetween the compiler's flexibility and the quality of generatedcode. However, it can be circumvented by designingflexible, configurable code optimization techniques applicableto a certain range of target architectures. This paper focuseson target machines with predicated execution supportwhich is wide-spread in deeply pipelined and highly parallelembedded processors used in next generation high-endvideo, multimedia and wireless devices. We present an efficientand quickly retargetable code optimization techniquefor predicated execution that is integrated into an industrialretargetable C compiler. Experimental results for severalembedded processors demonstrate that the proposed techniqueis applicable to real-life target machines and that itproduces significant code quality improvements for controlintensive applications.PDF

Parallelization using Polyhedral Analysis Multicore architectures are being introduced more and more to meet the compute power required by applications. The automatic parallelization and mapping of sequential applications onto multi-core architectures is an important research topic for which a general compiler-oriented solution does not yet exist. There are however compilation techniques and analyses that greatly help application engineers in solving this difficult problem. This paper discusses the Polyhedral and Kahn ProcessNetwork models that are being integrated into the CoSy compiler framework.It describes our experiments in semi-automatic coarse-grain parallelization of an MJPEG application and its mapping to the CELL architecture. Based on the polyhedral model that is used to calculate exact data dependences and to create a Polyhedral Reduced Dependence Graph (PRDG), the Kahn Process Network (KPN) is automatically derived from a PRDG and the extensions are made to CoSy’s Intermediate Representation (IR) in order to facilitate network restructuring transformations....PDF

Exploring Possibilities with Embedded C Emulation CoSy offers DSP developers the opportunity to access the market faster using its emulation capability. Embedded C emulation lets application development teams develop arithmetically accurate DSP applications on standard workstations. It can be applied when the target architecture has not yet fully crystallized, but it is also just more convenient than development on a simulator....PDF

DSP-C Extensions to DWARF Although the DSP-C language extension allows DSP programs to be writtenin a high level language ensuring portability while being able to be compiledefficiently, it does not cater for debugging programs in the development stage.For this, it was needed to define how to represent the language extensions insymbolic debug information formats of DWARF...PDF

CoSy Compilers, an Overview of Constructionand Operation CoSy is used for constructing compilers. These compilers share varioustools and common procedures in the environment in which they are constructed.The compilers themselves share components and interfaces that allow the compilerwriter to focus on target code quality instead of on bookkeeping tasks.Furthermore, these compilers are unique for their scalability to hostrequirements, and the innovative techniques available for their construction...PDF

Programming DSPs in High-Level Languages If you’re thinking of programming your DSP in a high-level languageinstead of assembler, that high-level language will almost certainlybe a C-type language. It’s unlikely to be standard C, however, becausestandard C was never designed to handle the fixed point arithmetic,divided memory spaces and circular buffers that are typical of DSParchitectures. Of the several C variants that are available to you,the one you choose will have a significant impact on both the portabilityand efficiency of the generated code...PDF

Compiler Technology and its Relationship toDSP Performance High level languages reduce programming effort, facilitate programmaintenance and encourage IP re-use - three factors that are critical tosoftware development success in fast-moving consumer electronics markets.Yet despite this fact, most of the DSP processors at the heart ofconsumer products such as mobile phones, MP3 players and DVD players arestill laboriously programmed in assembly language...PDF

DSP-C An extension to ISO/IEC 9899:1990 This document defines an extension to the ISO/IEC 9899:1990 ("ISO C")standard to support the specific hardware features of Digital Signal Processors(DSP’s). The most important basic language elements added are a fixed point datatype (in various forms), memory spaces and circular pointers. Some features ofthis extension, most notably the memory spaces, may also be applicable toembedded processors which are not DSP’s, such as microcontrollers...PDF