source: anr/section-objectif.tex @ 385

Last change on this file since 385 was 383, checked in by coach, 14 years ago

ia: qq maj et mise en page finale.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Revision HeadURL Id Date
File size: 6.3 KB
RevLine 
[289]1\anrdoc{\begin{itemize}
2\item Decrire les objectifs du projet et detailler les verrous scientifiques et
3      techniques a lever par la realisation du projet. Insister sur le caractÚre
4          ambitieux et/ou novateur de la proposition.
5\item Decrire eventuellement le ou les produits finaux developpes, presenter les
6      resultats escomptes en proposant si possible des critÚres de reussite et
7      d’evaluation adaptes au type de projet, permettant d’evaluer les resultats en
8      fin de projet.
9\end{itemize}}
10
11% les objectifs scientifiques/techniques du projet.
[377]12The design steps are presented in figure~\ref{coach-flow}.
[289]13The end-user input is
[377]14either an HPC application (an application running on a PC that must be accelerated),
[289]15or an embedded application (a standalone application),
16or a  sub-system application of a larger design.
17The figure shows that the design flow of embedded and sub-system applications does not differ
18except in the generation step and that the design flow of HPC application just adds a
19preliminary step.
20\begin{figure}[hbtp]\leavevmode\center
21  \includegraphics[width=1.0\linewidth]{flow2}
22  \caption{\label{coach-flow} COACH design flow}
23\end{figure}
24\begin{description}
25\item[HPC setup:] During this step, the user splits the application into 2 parts: the host application
26which remains on the PC and the SoC application which is mapped on the FPGA.
27COACH will provide a complete simulation model of the whole system (PC+communication+FPGA-SoC)
28which will allow performance evaluation.
29\item[SoC design:] In this phase,
30COACH will allow the user to obtain virtual prototypes for the SoC at different abstraction levels.
31The user input will consist of a process network describing the coarse grain parallelism
32of the application, an instance of an architectural template
33and a mapping of processes on the architectural template components.
34COACH will offer different targets to map the processes: 
35software (the process runs as a software task on a SoC processor),
36ASIP (the process runs as a software task on a SoC processor enhanced with dedicated instructions),
37and hardware (the process is implemented as a synthesized hardware coprocessor).
38\item[Generation:]
39Once the SoC architecture is validated through performances analysis,
40COACH generates its bitstream in the case of HPC or embedded application,
41or its IP-XACT description for its integration in the case of a sub-system application.
42Both descriptions contain the hardware architecture and the application software.
43Furthermore in the HPC case, an executable containing the host application is
44also generated and the user will be able to launch the application by loading
[340]45the bitstream on an FPGA and running the executable on a PC.
[289]46\end{description}
47% Detailler les verrous scientifiques et techniques a lever par la realisation du projet.
48Hardware/Software co-design is a very complex task. To simplify it, COACH will address the
49following scientific and technological barriers:
50\begin{description}
51\item[\textit{Design Space Exploration by Virtual Prototyping}]:
52    The COACH environment will allow to easily map a parallel application (formally described as
[340]53    an abstract network of process and communication channels). 
[289]54    COACH will permit the system designer to explore the design space, and to define the best
55    hardware/software partitioning of the application.
56\item[\textit{Integration of system level modeling and HLS tools}]:
57    COACH will support the automated generation of hardware accelerators when required
58    by using High-Level Synthesis (HLS) tools. These HLS tools will be
59    fully integrated into a complete system-level design environment.
60    Moreover, COACH will support both data and control dominated applications,
61    and the HLS tools of COACH will support a common language and coding style
62    to avoid re-engineering by the designer.
[340]63    COACH will provide a tool which will automatically explore the coprocessor micro-architectural design space.
[289]64\item[\textit{High-level code transformation}]:
[377]65    COACH will allow optimization of the memory usage, enhancing the parallelism through
[289]66    loop transformations and parallelization. The challenge is to identify the coarse
67    grained parallelism and to generate,
[377]68    from a sequential algorithm, an application containing multiple communicating processes.
69    COACH will adapt techniques which were developed in the 1990 for
[289]70    the construction of distributed programs. However, in the context of HLS, there are
[377]71    several original problems to be solved, related to the  FIFO communication channels and to
[289]72    memory optimization.
73    COACH will support code transformation by providing a source to source C2C tool.
74\item[\textit{Unified Hardware/Software communication middleware}]:
[340]75    COACH will rely on the SoCLib experience to implement an unified hardware/software communication
[289]76    infrastructure and communication APIs (Application Programming Interface), to support 
77    communications between software tasks running on embedded processors and dedicated
78    hardware coprocessors. The main issue here is to support easy migration
79    from a software implementation to an hardware implementation.
80\item[\textit{Processor customization}]:
81    ASIP (Application Specific Instruction Processor) design will be addressed by the COACH project.
82    COACH will allow system designers to explore the various level of interactions between
83    the original CPU micro-architecture and its extension. It will also allow to retarget
84    the compiler instruction-selection pass. Finally, COACH will integrate ASIP synthesis
85    in a complete System-level design framework.
86\end{description}
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 optimization HLS and ASIP),
943 architectural templates that are synthesizable and that can be prototyped,
95one design space exploration tool,
961 operating systems (DNA/OS).
97\\
98The framework functionalities will be demonstrated with the demonstrators
[313]99(see task-7 page~\pageref{task-demonstrator}) and the tutorial example (see task-8
100page~\pageref{subtask-tutorial}).
Note: See TracBrowser for help on using the repository browser.