[291] | 1 | \begin{taskinfo} |
---|
| 2 | \let\UPMC\leader |
---|
| 3 | \let\ALL\enable |
---|
| 4 | \end{taskinfo} |
---|
| 5 | % |
---|
| 6 | \begin{objectif} |
---|
| 7 | The objectives of this task are the specification of the designer input, the |
---|
| 8 | definition of the hardware architectural templates and of all the features |
---|
| 9 | that the HAS tools will share. |
---|
| 10 | An other objective is the specification of the framework used to facilitate the |
---|
| 11 | exploitation and the integration of the core engine into an industrial flow. |
---|
| 12 | \end{objectif} |
---|
| 13 | % |
---|
| 14 | \begin{workpackage} |
---|
| 15 | \subtask{Specification of the COACH environment} |
---|
| 16 | This \ST specifies the global COACH environment for the system designer: |
---|
| 17 | the core engine which is seen as a black box associated |
---|
| 18 | with a configuration framework based on Eclipse. |
---|
| 19 | This framework will be integrated into Magillem tool suite. |
---|
| 20 | The deliverables specify |
---|
| 21 | how to feed COACH (the inputs), |
---|
| 22 | how to use COACH (use model), |
---|
| 23 | what is generated (the outputs) |
---|
| 24 | and how the Magillem framework interacts with the core engine. |
---|
| 25 | \begin{livrable} |
---|
| 26 | \itemV{0}{6}{d}{\Supmc}{Use model specification} |
---|
| 27 | This document describes the use model of COACH. It will be a cooperative work. |
---|
| 28 | Its main parts are: |
---|
| 29 | \begin{description} |
---|
| 30 | \item[General overview] (\Supmc) |
---|
| 31 | \item[CSG specification] (\Stima): |
---|
| 32 | here the COACH System Generator is specified: |
---|
| 33 | how the task graph is described, the communication schemes and |
---|
| 34 | its associated API (Application Programming Interface). |
---|
| 35 | The base is the SRL library and the MWMR communication component defined |
---|
| 36 | by the SocLib ANR project. |
---|
| 37 | Nevertheless, these basic schemes will be enhanced to allow more efficient |
---|
| 38 | synthesis. |
---|
| 39 | \item[HAS specification] (\Subs): |
---|
| 40 | this part focuses to the Hardware Accelerator Synthesis. |
---|
| 41 | It specifies how tasks must be written (C/C++ subset) and how |
---|
| 42 | communication schemes must be described for coprocessor synthesis. |
---|
| 43 | \item[Magillem framework specification] (\Smds): |
---|
| 44 | this part specifies the functionalities enabling the interactions between |
---|
| 45 | Magillem and the core engine. |
---|
| 46 | \end{description} |
---|
[300] | 47 | \itemL{6}{12}{d}{\Supmc}{Use model specification}{2:0:0} |
---|
[291] | 48 | \setMacroInAuxFile{useModelSpecification} |
---|
| 49 | The final version of the Use model specification enhanced |
---|
| 50 | with the feed-backs of the demonstrator \STs. |
---|
[300] | 51 | \OtherPartner{0}{12}{\Slip} {1:0:0} |
---|
| 52 | \OtherPartner{0}{12}{\Sirisa} {1:0:0} |
---|
| 53 | \OtherPartner{0}{12}{\Stima} {2:0:0} |
---|
| 54 | \OtherPartner{0}{12}{\Subs} {2:0:0} |
---|
| 55 | \OtherPartner{0}{12}{\Sbull} {1:0:0} |
---|
| 56 | \OtherPartner{0}{12}{\Sthales}{1:0:0} |
---|
[291] | 57 | \OtherPartner{0}{12}{\Smds} {2:0:0} |
---|
| 58 | \end{livrable} |
---|
| 59 | % |
---|
| 60 | \subtask{Internal software structure} |
---|
| 61 | \begin{livrable} |
---|
| 62 | \itemL{0}{6}{d}{\Supmc}{COACH internal \ganttlf software architecture}{1:0:0} |
---|
[298] | 63 | \OtherPartner{0}{6}{\Stima} {.5:0:0} |
---|
[291] | 64 | This document lists all the COACH software components and how they cooperate. |
---|
[298] | 65 | It will refine the software architecture presented in |
---|
| 66 | Figures~\ref{archi-hls} and~\ref{archi-hpc}. |
---|
[291] | 67 | \end{livrable} |
---|
| 68 | % |
---|
| 69 | \subtask{\xcoach format} |
---|
| 70 | This \ST specifies the \xcoach and the \xcoachplus formats. |
---|
| 71 | \begin{livrable} |
---|
| 72 | \itemV{0}{6}{d+x}{\Slip}{\xcoach format specification} |
---|
| 73 | \setMacroInAuxFile{specXcoachDocI} |
---|
| 74 | First release of the XML specification of the \xcoach format (DTD) |
---|
| 75 | and its associated documentation allowing to start HLS tools development. |
---|
| 76 | \itemV{6}{12}{d+x}{\Slip}{\xcoach format specification} |
---|
| 77 | \setMacroInAuxFile{specXcoachDocII} |
---|
| 78 | Second release of XML specification of the \xcoach format |
---|
| 79 | taking into account the corrections and modifications that the |
---|
| 80 | developers of HAS tools suggested. |
---|
| 81 | \itemL{12}{18}{d+x}{\Slip}{\xcoach format specification}{7:3:0} |
---|
[304] | 82 | \OtherPartner{0}{18}{\Supmc} {.5:.5:0} |
---|
| 83 | \OtherPartner{0}{18}{\Stima} {.5:.5:0} |
---|
[291] | 84 | \setMacroInAuxFile{specXcoachDoc} |
---|
| 85 | Last release of XML specification of the \xcoach format enhanced with |
---|
| 86 | the expression of loop potential parallelism. |
---|
| 87 | % |
---|
| 88 | \itemV{6}{12}{x}{\Subs}{C2X tool} |
---|
| 89 | \setMacroInAuxFile{specXcoachToCAI} |
---|
| 90 | This deliverable groups 2 tools. |
---|
| 91 | The first one C2X is a GCC plugin that generates a \xcoach description |
---|
| 92 | (defined in {\specXcoachDocI} deliverable) from a C/C++ task description. |
---|
| 93 | The second one X2C regenerates a C description from a \xcoach description. |
---|
| 94 | \itemL{12}{18}{x}{\Subs}{C2X tool}{4:2:0} |
---|
| 95 | \setMacroInAuxFile{specXcoachToCA} |
---|
| 96 | An updated version of C2X and X2C (\specXcoachToCAI) which supports the |
---|
| 97 | \xcoach format defined in the {\specXcoachDoc} deliverable. |
---|
| 98 | % |
---|
| 99 | \itemV{12}{18}{x}{\Supmc}{First release of X2SC} |
---|
| 100 | \setMacroInAuxFile{specXcoachToSystemCI} |
---|
| 101 | The first release of the software tool X2SC that translates \xcoachplus |
---|
| 102 | description to CABA and TLM-DT SystemC module. |
---|
[304] | 103 | \itemL{18}{27}{x}{\Supmc}{X2SC tool}{0:1:.5} |
---|
[291] | 104 | \setMacroInAuxFile{specXcoachToSystemC} |
---|
| 105 | Final release of the former software (\specXcoachToSystemCI). |
---|
| 106 | \itemV{12}{18}{x}{\Subs}{First release of the X2VHDL} |
---|
| 107 | \setMacroInAuxFile{specXcoachToVhdlI} |
---|
| 108 | The first release of the software tool X2VHDL that translates \xcoachplus |
---|
| 109 | description to synthesizable VHDL description. |
---|
[304] | 110 | \itemL{18}{27}{x}{\Subs}{X2VHDL tool}{0:2:1} |
---|
[291] | 111 | \setMacroInAuxFile{specXcoachToVhdl} |
---|
| 112 | Final release of the former software (\specXcoachToVhdlI). |
---|
| 113 | \end{livrable} |
---|
| 114 | % |
---|
| 115 | \subtask{Tool for cell library creation} |
---|
| 116 | Back-end HLS tools use a characterized macro-cell library to build the |
---|
| 117 | micro-architecture of a coprocessor. The characterization of a cell depends |
---|
| 118 | on the target device. The role of this \ST is to define the macro-cells and |
---|
| 119 | to provide a tool that characterizes them automatically by synthesizing them |
---|
| 120 | and by extracting their delays. This is done by using RTL synthesis. |
---|
| 121 | \begin{livrable} |
---|
| 122 | \itemL{0}{6}{d}{\Subs}{Macro-cell definition}{1:0:0} |
---|
[298] | 123 | \OtherPartner{0}{6}{\Supmc} {.5:0:0} |
---|
| 124 | \OtherPartner{0}{6}{\Stima} {.5:0:0} |
---|
[291] | 125 | \setMacroInAuxFile{specMacroCell} |
---|
| 126 | Definition of the macro cells and the file format describing them. |
---|
| 127 | \itemL{6}{12}{x}{\Subs}{Macro-cell library generator}{2:0:0} |
---|
| 128 | Final release of the software tool that generates automatically the |
---|
| 129 | characterized macro-cell library for a FPGA device. |
---|
| 130 | \end{livrable} |
---|
| 131 | \end{workpackage} |
---|