

The project is split into 8 tasks described in short below:

T1) Project management

This task relates to the monitoring of the COACH project. It includes a monthy meeting of the steering committee.

T2) Backbone 

This task tackles the fundamental points of the project that are the defintion of the COACH inputs and outputs, the inter-tools exchange formats, the three supported architectural templates, the hardware/software communication middleware, and the general design flow. This task contains also the development of the associated tools.

T3) System generation

This task addresses the virtual prototyping and the generation of the final bitstream (including hardware and
embedded software).

T4) Hardware accelerator synthesis front-end 

This task mainly focusses on four functionalities: optimization of the memory usage, parallelism enhancement through loop transformations, coarse grain parallelization and ASIP generation.

T5) Hardware accelerator synthesis back-end 

This task groups two functionalities: High-Level Synthesis of data dominated coprocessors and High Level Synthesis of control dominated coprocessors.  It contains also the development of a a generic retiming mechanism
to adapt the coprocessors to the system frequency.

T6) PC/FPGA communication middleware

This task is mainly dedicated to HPC. Subtasks are mainly the partitioning evaluation tool, the software drivers for both PC and FPGA-SoC sides, the hardware communication components and the support for dynamic partial reconfiguration.

T7) Industrial demonstrators

This task groups the demonstrators of the COACH project. Most subtasks are industrial applications that will be used to evaluate the COACH framework. Another subtask is to evaluate the interfacing between the COACH framework and a proprietary system-level design tool (Thales). A third subtask is to evaluate the COACH framework on a third embedded FPGA architecture (Flexras).

T8) Dissemination 

This task is related to the dissemination of the project results. It mainly consists of the production of the 4 COACH releases and the publication on the WEB server, the production of tutorials and user manuals, the publication of research papers in international journals and conferences and the organization of workshops and tutorials in international conferences.

