source: anr/task-3.tex @ 109

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

pc

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.
[109]17%FIXME == {Impossible d'utiliser les transformations de boucles pour amélierer la partie SW ??? }
[26]18\end{objectif}
19%
[52]20\begin{workpackage}
[85]21  \item This sub-task aims at providing compiler support for custom instructions
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.
[85]25
[26]26    \begin{livrable}
[95]27      \itemV{0}{18}{X}{\Sirisa}{ASIP compilation flow}{0:0:0}
[85]28        In this first version of the software, the computations patterns corresponding to
[86]29        custom instruction are specified by the user, and then automatically extracted (when
30        beneficial) from the application intermediate representation.
[85]31        %\mustbecompleted{FIXME .....}
[95]32      \itemL{18}{24}{X}{\Sirisa}{ASIP compilation flow}{0:0:0}
[86]33        In this second version, the software will also be able to automatically identify
[85]34        interesting pattern candidates in the application code, and use them as custom
35        instructions. 
[26]36    \end{livrable}
[85]37 
38 \item In this sub-task, we provide micro-architectural template models for the two target
39 processor architectures (NIOS-II and MIPS) supported within in the COACH-ASIP design flow.
40 For each processor, we provide a simulation model (System-C) and a synthesizable model (VHDL)
41 of the architecture, along with its architectural extensions
[26]42    \begin{livrable}
[95]43      \itemV{0}{12}{X}{\Sirisa}{SystemC for extensible MIPS }{1:.5:.5} 
[93]44      { A SystemC simulation model for an simple extensible MIPS architectural template }
[95]45      \itemL{12}{20}{X}{\Sirisa}{SystemC for extensible MIPS}{0:0:0}
[93]46      {A SystemC simulation model for a extensible MIPS with a tight architectural integration of
47      its instruction set extensions}
[95]48      \itemL{0}{12}{X}{\Sirisa}{SystemC for NIOS processor}{0:0:0}
49          { A SystemC simulation model for an extensible NIOS processor template, the VHDL model being
50          already available from Altera}
51      \itemV{12}{18}{H}{\Sirisa}{VHDL for an extensible MIPS}{1:.5:.5}
52      {A synthesizable VHDL model for an simple extensible MIPS architectural template}
53      \itemL{18}{24}{H}{\Sirisa}{VHDL for an extensible MIPS}{0:0:0}
[93]54      {A synthesizable VHDL model for a extensible MIPS with a tight architectural integration of
55      its instruction set extensions}
[95]56      \itemV{24}{36}{D}{\Sirisa}{Evaluation report }{0:0:0}
[93]57      {A evaluation report with quantitative analysis of the performance/area trade-off induced by
58      the different approaches}
[26]59    \end{livrable}
[85]60
61  \item Extraction of parallelism in polyhedral loops and conversion into a process network.
62
[41]63   \begin{livrable}
[52]64    \itemV{0}{6}{d}{\Slip}{Method, Preliminary Definition}
[87]65      Description of the process network construction method for programs with
[109]66      polyhedral loops. User manual. %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.
[109]69      %FIXME == {User manual ou Specification. Si user manual alors le mettre en dissemination}
[87]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.
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   
86
87
Note: See TracBrowser for help on using the repository browser.