source: anr/section-3.2.tex @ 280

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

Changed design flow figure and corresponding text.

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