source: anr/task-3.tex @ 123

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

IA: 1) enter thales + zied 2) m.a.p

File size: 4.6 KB
RevLine 
[26]1\begin{taskinfo}
2\let\LIP\leader
3\let\IRISA\enable
4\end{taskinfo}
5%
6\begin{objectif}
[41]7The objective of this task is to convert the input specification of
8an hardware accelerator, which must be written in a familiar language
9(C/C++) with as few constraints as possible, into a form suitable for
[109]10the HLS tools (i.e. HAS back-end tools of the COACH project). If the
11target is an ASIP, the frontend has to extract
[41]12patterns from the source code and convert them into the definition
13of an extensible processor. If the target is a process network, the
14front end has to distribute the workload and the data sets as fairly
15as possible, identify communication channels, and output an \xcoach
16description.
[112]17\mustbecompleted {FIXME :: Impossible d'utiliser les transformations de boucles pour amélierer la partie SW ??? }
[26]18\end{objectif}
19%
[52]20\begin{workpackage}
[123]21  \subtask This sub-task aims at providing compiler support for custom instructions
[85]22  within the HAS front-end. It will take as input the COACH intermediate
[86]23  representation, and will output an annotated COACH IR containing the custom
24  instructions definitions along with their occurrence in the application.
[26]25    \begin{livrable}
[114]26      \itemV{0}{18}{X}{\Sirisa}{ASIP compilation flow}
[85]27        In this first version of the software, the computations patterns corresponding to
[121]28        custom instructions are specified by the user, and then automatically extracted (when
[86]29        beneficial) from the application intermediate representation.
[85]30        %\mustbecompleted{FIXME .....}
[121]31      \itemL{18}{24}{X}{\Sirisa}{ASIP compilation flow}{6:9:0}
[86]32        In this second version, the software will also be able to automatically identify
[85]33        interesting pattern candidates in the application code, and use them as custom
34        instructions. 
[26]35    \end{livrable}
[85]36 
[123]37 \subtask In this sub-task, we provide micro-architectural template models for the two target
[121]38 processor architectures (NIOS-II and MIPS) supported within the COACH-ASIP design flow.
[85]39 For each processor, we provide a simulation model (System-C) and a synthesizable model (VHDL)
40 of the architecture, along with its architectural extensions
[26]41    \begin{livrable}
[114]42      \itemV{0}{12}{X}{\Sirisa}{SystemC for extensible MIPS }
[121]43      { A SystemC simulation model for a simple extensible MIPS architectural template }
44      \itemL{12}{20}{X}{\Sirisa}{SystemC for extensible MIPS}{2:3:0}
45      {A SystemC simulation model for an extensible MIPS with a tight architectural integration of
[93]46      its instruction set extensions}
[121]47      \itemL{0}{12}{X}{\Sirisa}{SystemC for NIOS processor}{2:0:0}
[95]48          { A SystemC simulation model for an extensible NIOS processor template, the VHDL model being
49          already available from Altera}
[114]50      \itemV{12}{18}{H}{\Sirisa}{VHDL for an extensible MIPS}
[121]51      {A synthesizable VHDL model for a simple extensible MIPS architectural template}
52      \itemL{18}{24}{H}{\Sirisa}{VHDL for an extensible MIPS}{9:12:0}
53      {A synthesizable VHDL model for an extensible MIPS with a tight architectural integration of
[93]54      its instruction set extensions}
[121]55      \itemL{24}{36}{D}{\Sirisa}{Evaluation report }{0:0:2}
56      {An evaluation report with quantitative analysis of the performance/area trade-off induced by
[93]57      the different approaches}
[26]58    \end{livrable}
[85]59
[123]60  \subtask Extraction of parallelism in polyhedral loops and conversion into a process network.
[85]61
[41]62   \begin{livrable}
[52]63    \itemV{0}{6}{d}{\Slip}{Method, Preliminary Definition}
[87]64      Description of the process network construction method for programs with
[110]65      polyhedral loops. User manual.
[112]66      \mustbecompleted{ FIXME :: User manual ou Specification. Si user manual alors le mettre en dissemination}
[87]67    \itemL{30}{36}{d}{\Slip}{Process generation method}{0:0:0}
[42]68      Final assessment of the method and improved version of the user manual.
[112]69      \mustbecompleted {FIXME :: User manual ou Specification. Si user manual alors le mettre en dissemination}
[110]70    \itemV{6}{12}{x}{\Slip}{Process construction}
[83]71      Preliminary implementation in the Syntol framework.
[86]72      At this step the software will just implement a single constructor.
[83]73    \itemV{12}{18}{x}{\Slip} {Arrays and FIFO}
74      Implementation of the array contraction and FIFO construction algorithm.
75      Conversion of the input and output to the \xcoach format.
[87]76    \itemV{18}{30}{d+x}{\Slip}{Non-polyhedral extension}
[84]77      Extension of automatic parallelization and array contraction
[87]78      to non-polyhedral loops. Implementation in the Bee framework.
[114]79    \itemL{30}{36}{x}{\Slip} {Process and FIFO construction}{0:0:0}
[83]80      Final release taking into account the feedbacks from the
81      demonstrator \STs.
[41]82   \end{livrable}
[83]83
[41]84\end{workpackage}
85   
Note: See TracBrowser for help on using the repository browser.