[26] | 1 | \begin{taskinfo} |
---|
| 2 | \let\LIP\leader |
---|
| 3 | \let\IRISA\enable |
---|
| 4 | \end{taskinfo} |
---|
| 5 | % |
---|
| 6 | \begin{objectif} |
---|
[41] | 7 | The objective of this task is to convert the input specification of |
---|
| 8 | an hardware accelerator, which must be written in a familiar language |
---|
| 9 | (C/C++) with as few constraints as possible, into a form suitable for |
---|
| 10 | the HLS tools. If the target is an ASIP, the frontend has to extract |
---|
| 11 | patterns from the source code and convert them into the definition |
---|
| 12 | of an extensible processor. If the target is a process network, the |
---|
| 13 | front end has to distribute the workload and the data sets as fairly |
---|
| 14 | as possible, identify communication channels, and output an \xcoach |
---|
| 15 | description. |
---|
[26] | 16 | \end{objectif} |
---|
| 17 | % |
---|
[52] | 18 | \begin{workpackage} |
---|
[85] | 19 | \item This sub-task aims at providing compiler support for custom instructions |
---|
| 20 | within the HAS front-end. It will take as input the COACH intermediate |
---|
| 21 | representation, and will output an annotated COACH representation containing the custom |
---|
| 22 | instructions definitions and their occurence in the application. |
---|
| 23 | |
---|
[26] | 24 | \begin{livrable} |
---|
[85] | 25 | \itemV{0}{18}{d}{\Sirisa}{Instruction selection for user defined custom instructions} |
---|
| 26 | In this first version of the software, the computations patterns corresponding to |
---|
| 27 | custom instruction are specified by the user, and then automatically extracted from |
---|
| 28 | the application intermediare representation. |
---|
| 29 | %\mustbecompleted{FIXME .....} |
---|
| 30 | \itemL{18}{24}{d}{\Sirisa}{Automatic extraction of patterns}{0:0:0} |
---|
| 31 | In this second version, the software will also be able to automatically indentify |
---|
| 32 | interesting pattern candidates in the application code, and use them as custom |
---|
| 33 | instructions. |
---|
[26] | 34 | \end{livrable} |
---|
[85] | 35 | |
---|
| 36 | \item In this sub-task, we provide micro-architectural template models for the two target |
---|
| 37 | processor architectures (NIOS-II and MIPS) supported within in the COACH-ASIP design flow. |
---|
| 38 | For each processor, we provide a simulation model (System-C) and a synthesizable model (VHDL) |
---|
| 39 | of the architecture, along with its architectural extensions |
---|
[26] | 40 | \begin{livrable} |
---|
[85] | 41 | \itemV{0}{12}{d}{\Sirisa}{SystemC Model for an simple extensible MIPS architectural template} |
---|
| 42 | \itemV{0}{18}{d}{\Sirisa}{VHDL Model for an simple extensible MIPS architectural template} |
---|
| 43 | %\mustbecompleted{FIXME .....} |
---|
| 44 | \itemL{0}{12}{d}{\Sirisa}{SystemC Model for an extensible NIOS processor template, the VHDL model being already available from Altera}{0:0:0} |
---|
| 45 | |
---|
| 46 | \itemV{0}{24}{d}{\Sirisa}{SystemC Model for a extensible MIPS with tight |
---|
| 47 | architecural integration of its instruction set extensions} |
---|
| 48 | \itemV{0}{24}{d}{\Sirisa}{VHDL Model for a extensible MIPS with tight |
---|
| 49 | architecural integration of its instruction set extensions} |
---|
| 50 | \itemL{0}{36}{d}{\Sirisa}{Evaluation report }{0:0:0} |
---|
| 51 | |
---|
[26] | 52 | \end{livrable} |
---|
[85] | 53 | |
---|
| 54 | \item Extraction of parallelism in polyhedral loops and conversion into a process network. |
---|
| 55 | |
---|
[41] | 56 | \begin{livrable} |
---|
[52] | 57 | \itemV{0}{6}{d}{\Slip}{Method, Preliminary Definition} |
---|
[42] | 58 | Description of the process network construction method. User manual. |
---|
[52] | 59 | \itemL{30}{36}{d}{\Slip}{Method}{0:0:0} |
---|
[42] | 60 | Final assessment of the method and improved version of the user manual. |
---|
[52] | 61 | \itemV{6}{12}{x}{\Slip}{Process Construction)} |
---|
[83] | 62 | Preliminary implementation in the Syntol framework. |
---|
| 63 | At this step the sofware will just implement a single constructor. |
---|
| 64 | \itemV{12}{18}{x}{\Slip} {Arrays and FIFO} |
---|
| 65 | Implementation of the array contraction and FIFO construction algorithm. |
---|
| 66 | Conversion of the input and output to the \xcoach format. |
---|
| 67 | \itemV{18}{30}{x}{\Slip} {Beyond the polytope model} |
---|
[84] | 68 | Extension of automatic parallelization and array contraction |
---|
| 69 | to non-polyhedral loops. |
---|
[83] | 70 | \itemL{30}{36}{x}{\Slip} {Process ans FIFO Construction} {0:0:0} |
---|
| 71 | Final release taking into account the feedbacks from the |
---|
| 72 | demonstrator \STs. |
---|
[41] | 73 | \end{livrable} |
---|
[83] | 74 | |
---|
[41] | 75 | \end{workpackage} |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | |
---|