source: anr/section-3.2.tex @ 271

Last change on this file since 271 was 269, checked in by coach, 14 years ago

IA: finale

File size: 6.1 KB
Line 
1% les objectifs scientifiques/techniques du projet.
2The design steps are presented figure~\ref{coach-flow}.
3\begin{figure}[hbtp]\leavevmode\center
4  \includegraphics[width=.8\linewidth]{flow}
5  \caption{\label{coach-flow} COACH design flow}
6\end{figure}
7\begin{description}
8\item[HPC setup:] During this step, the user splits the application into 2 parts: the host application
9which remains on the PC and the SoC application which is mapped on the FPGA.
10COACH will provide a complete simulation model of the whole system (PC+communication+FPGA-SoC)
11which will allow performance evaluation.
12\item[SoC design:] In this phase,
13COACH will allow the user to obtain virtual prototypes for the SoC at different abstraction levels.
14The user input will consist of a process network describing the coarse grain parallelism
15of the application, an instance of a generic hardware platform
16and a mapping of processes on the platform components.
17COACH will offer different targets to map the processes: 
18software (the process runs as a software task on a SoC processor),
19ASIP (the process runs as a software task on a SoC processor enhanced with dedicated instructions),
20and hardware (the process is implemented as a synthesized hardware coprocessor).
21\item[Application compilation:] Once the SoC architecture is validated through performances
22analysis, COACH will generate automatically an executable containing the host application and
23the FPGA bitstream. This bitstream contains
24both the hardware architecture and the SoC application software.
25The user will be able to launch the application by
26loading the bitstream on an FPGA and running the executable on PC.
27\end{description}
28 
29% l'avancee scientifique attendue. Preciser l'originalite et le caractere
30% ambitieux du projet.
31%FIXME == {NON ceci n'est pas une contribution scientifique. A re-ecrire}
32
33%The main scientific contribution of the project is to unify various synthesis techniques
34%(same input and output formats) allowing the user to swap without engineering effort
35%from one to another and even to chain them. For instance, it will be possible to run loop transformations before synthesis.
36%Another advantage of this framework is to provide different abstraction levels from
37%a single description.
38%Finally, this description is device family independent and its hardware implementation
39%is automatically generated.
40
41% Detailler les verrous scientifiques et techniques a lever par la realisation du projet.
42Hardware/Software co-design is a very complex task. To simplify it, COACH will address the
43following scientific and technological barriers:
44\begin{description}
45\item[\textit{Design Space Exploration by Virtual Prototyping}]:
46    The COACH environment will allow to easily map a parallel application described as a process
47        network Model of Computation (MoC) on a shared-memory, MPSoC architecture. COACH will
48        permit to explore the design space by allowing system designer to select and
49        parameterize the target architecture, and to define the best hardware/software
50        partitioning of the application.
51\item[\textit{High-Level Synthesis}]:
52    COACH will allow the automatic generation of hardware accelerators when required
53        by using High-Level Synthesis (HLS) tools. These HLS tools will be
54        fully integrated into a complete system-level design environment.
55        Moreover, COACH will support both data and control dominated applications,
56    and the HLS tools of COACH will support a common language and coding style
57        to avoid re-engineering by the designer.
58    COACH will provide a tool which will automatically explore the micro-architectural
59        design space of coprocessor.
60\item[\textit{High-level code transformation}]:
61    COACH will allow to optimize the memory usage, to enhance the parallelism through
62        loop transformations and parallelization. The challenge is to identify the coarse
63        grained parallelism and to generate,
64        from a sequential algorithm, application containing multiple communicating
65        tasks. To this aim, one may adapt techniques which were developed in the 1990 for
66        the construction of distributed programs. However, in the context of HLS, there are
67        still several original problems to be solved, mainly to do with the construction of
68        FIFO communication channels and with memory optimization.
69        Additionnal preprocessing, source-level transformations, are thus
70        required to improve the process.
71        Particularly, this includes parallelism exposure and efficient memory mapping.
72        COACH will support code transformation by providing a source to source C2C tool.
73\item[\textit{Hardware/Software communication middleware}]:
74    COACH will implement an homogeneous HW/SW communication infrastructure and
75    communication APIs (Application Programming Interface), that will be used for
76    communications between software tasks running on embedded processors and
77    dedicated hardware coprocessors. This will allow explore the design space by
78        mapping the tasks of the application (described as a process network) on a
79        shared-memory, MPSoC architecture.
80\item[\textit{Processor customization}]:
81ASIP design will be addressed by the COACH project. COACH will allow system designers to explore
82the various level of interactions between the original CPU micro-architecture and its
83  extension. It will also allow to retarget the compiler instruction-selection pass. Finally,
84 COACH will integrate ASIP design in a complete System-level design framework.
85\end{description}
86
87%Presenter les resultats escomptes en proposant si possible des criteres de reussite
88%et d'evaluation adaptes au type de projet, permettant d'evaluer les resultats en
89%fin de projet.
90The main result is the framework. It is composed concretely of:
91a communication middleware for HPC,
925 HAS tools (control dominated HLS, data dominated HLS, Coarse grained HLS,
93Memory optimisation HLS and ASIP),
943 architectural templates that are synthesizable and that can be prototyped,
95one design space exploration tool,
962 operating systems (DNA/OS and MUTEKH).
97\\
98The framework fonctionality will be demonstrated with the demonstrators
99(see task-7 page~\pageref{task-7}) and the tutorial example (see task-8
100page~\ref{subtask-tutorial}).
Note: See TracBrowser for help on using the repository browser.