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.![]()
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....![]()
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....![]()
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...![]()
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...![]()
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...![]()
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...![]()
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...![]()
