Design methodology and tools


Research challenge:

Electronic design automation (EDA) methodology and tools are key enablers for many HiPEAC research activities, such as multi-core and NoC architectures, or reconfigurable systems. In the light of moving towards 65nm and 45nm CMOS technologies, and thus the urgent need for higher design productivity, EDA is currently aiming at a new abstraction level: Electronic System Level (ESL). ESL focuses on system design aspects 'beyond RTL', e.g. efficient HW/SW modelling and partitioning, mapping applications to MPSoC architectures, ASIP design, etc. These and other research topics are being addressed in the 'Design methodology and tools' cluster. While ESL is currently mostly driven by the embedded system design community, due to the need to design efficient application specific systems with very limited resources (and thus with a higher acceptance of automation and tools), it can strongly benefit from many recent developments in the high-performance community (such as fast simulation, efficient compilation etc.), and vice versa. Therefore, another important goal of this cluster is to establish a closer link between these communities. Besides the regular cluster meetings, this is being implemented e.g. by coupling of existing platforms and tools, so as to achieve new heights in design productivity.

Scientific issues:

• Design methodology and tools driven by the trend towards multiprocessor system-on-chip (MPSoC) architectures.
Applications include: wireless communications, multimedia, automotive.
• Very high efficiency goals (MIPS/Watt or Joule/bit), therefore programmable, yet application-specific and heterogeneous MPSoCs.
• Currently shift towards Electronic System Level (ESL) design methodologies, will provide the required next productivity boost beyond RTL design.
• Key for managing the complexity of today's and future digital chip designs in advanced CMOS technologies (45nm, 32nm, and beyond).
Research topics:
Embedded processor design: ASIP design, design space exploration, configurable and reconfigurable processors, SW tools generation, retargetable compilation, processor/compiler co-design, loop parallelization, template based ASIP design, instruction set extensions, ultra-low power ASIPs, open source processor cores .
MPSoC modelling and verification: modelling languages, SystemC based modelling, verification and design, high-speed instruction set simulation, virtual platforms, path from model to implementation, NoC simulation.
MPSoC programming: application-to-architecture mapping, RTOS, task graph scheduling, sequential-to-parallel code generation, benchmarking.
MPSoC HW/SW architectures: SW performance estimation, HW/SW integration, tightly coupled processor architectures, memory hierarchy, HW/SW interface synthesis, fault tolerance, loop transformations.

Major cluster activities in year 2009:

Aachen-Edinburgh seminar: A joint seminar on tools and architectures was held in Aachen in Feb 2009.
FORTH-Aachen seminar: A joint seminar on tools and architectures was held in Heraklion in June 2009.
HiPEAC booth at DATE 2009: A booth was organized at DATE, the major annual European EDA event. New contacts have been established, and new members have been acquired.
Student internships: For instance, one master student of Aachen joined Thales research in 2009 to work on an SDR project.
Joint master theses: For instance, a joint ACE/Aachen thesis on compiler technology was performed.
Paper awards: Cluster members received Best Paper Awards at DATE 2009 and the SoC Forum 2009.
DATE special session: A special session on MPSoC programming with invited speakers was organized at DATE 2009.
Collaboration grant: From March-June 2009, R. Velasquez from the ALaRI institute visited Aachen to work on "MPSoCs - Programming Models and Operating Systems". The collaboration continued beyond the HiPEAC grant and was concluded successfully in September with an accepted paper at DATE 2010.
Cooperation with ARTIST-DESIGN NoE: Aachen is active in the SW synthesis cluster of the ARTIST-DESIGN NoE, and provides tool support for benchmarking.

Coordinating partner: RWTH Aachen


cTuningCC (Collective Tuning Compiler Collection)

cTuning CC is a free, open source compiler collection that combines multiple tools and techniques including MILEPOST GCC, Interactive Compilation Interface (ICI), Continuous Collective Compilation framework (CCC), cTuning web-services and Collective Optimization Database and cBench to enable R&D toward self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collecti

SoCLib: an open platform for virtual prototyping of multi-processors system on chip

The SoCLib environment allows system-level virtual prototyping of MPSoC platforms: the system designer defines his target architecture template (number and type of processor, number of memory banks, OS, peripherals, interconnects…) and determines the proper hardware/software partitioning of his application. Then, by running simulations for the set of parameters of interest of his template and a mapping of the software on the platform, the designer can obtain figures of merits.

GAUT: From C to RTL

GAUT is an academic and open source High-Level Synthesis (HLS) tool dedicated to Digital Signal Processing DSP applications. Starting from a pure C/C++ function GAUT extracts the potential parallelism before selecting/allocating operators, scheduling and binding operations. The mandatory design constraints are (1) the throughput (the initiation interval), (2) the clock period and (3) the target technology. The optional design constraints are I/O timing diagram and the memory mapping.

MILEPOST GCC with Interactive Compilation Interface

MILEPOST GCC is an open collaborative plugin infrastructure intended to transform popular, stable, production-quality GCC into a powerful R&D tool. MILEPOST GCC is composed of the Interactive Compilation Interface and a static program feature extractor.The Interactive Compilation Interface (or 'ICI' for short) is a plugin system with a high-level compiler-independent and low-level compiler-dependent API to transform current compilers into collaborative open modular interactive toolsets.

Collective Benchmark

Collective Benchmark is a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking, performance evaluation and research on program and architecture optimization. This benchmark can work directly with the Continuous Collective Compilation Framework and Collective Optimization Database to automate iterative feedback-directed compilation, DSE and enable statistical collective optimization.

Collective Optimization Database

Collective Optimization Database (cDatabase) is a collaborative repository with open API to share, reuse and reference useful/profitable optimization cases from the community including compiler optimizations and architecture configurations to improve code execution time, code and architecture size, compilation time, power consumption among others. Special web-services, plugins and cTools are provided/being developed to automate/predict program optimization, compiler tuning and architecture design using empirical iterative compilation, statistical analysis and machine learning techniques. cDatabase is intended to improve the quality of academic research by avoiding costly duplicate experiments and providing reproducible referable results.

MAMPS

Designing and programming multi-processor systems prove to be a major challenge. Most of the current design methodologies rely on creating the design by hand, and are therefore error-prone and time-consuming. MAMPS - Multi-Application Multi-Processor Synthesis is a tool that allows you to generate and program multi-processor designs targeting Xilinx FPGAs in seconds. The design flow supports multiple use-cases of multiple applications.

ArchExplorer

Computer architects agree that reproducing experimental results of architectural ideas is currently a daunting task as simulators are not systematically disseminated. ArchExplorer is a new web infrastructure that aims at facilitating a fair quantitative comparison of architectural ideas by providing a repository of research implementations and permanently exploring the design space as to tune the available mechanisms.

Syndicate content