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 integated 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 iteracts 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 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 fonctionnalities enabling the interactions between |
---|
45 | Magillem and the core engine. |
---|
46 | \end{description} |
---|
47 | \itemL{6}{12}{d}{\Supmc}{Use model specification}{3:0:0} |
---|
48 | \setMacroInAuxFile{useModelSpecification} |
---|
49 | The final version of the Use model specification enhanced |
---|
50 | with the feed-backs of the demonstrator \STs. |
---|
51 | \OtherPartner{0}{12}{\Slip} {2:0:0} |
---|
52 | \OtherPartner{0}{12}{\Sirisa} {2:0:0} |
---|
53 | \OtherPartner{0}{12}{\Stima} {3:0:0} |
---|
54 | \OtherPartner{0}{12}{\Subs} {3:0:0} |
---|
55 | \OtherPartner{0}{12}{\Sbull} {2:0:0} |
---|
56 | \OtherPartner{0}{12}{\Sthales}{2:0:0} |
---|
57 | \OtherPartner{0}{12}{\Smds} {2:0:0} |
---|
58 | % \itemV{0}{6}{d}{\Supmc}{Use model specification} \setMacroInAuxFile{specGenManualI} |
---|
59 | % The first version of the COACH specification. |
---|
60 | % This document contains the general description of the framework, the use model and the |
---|
61 | % description of the architectural templates. |
---|
62 | % It refers to the HAS specification (deliverable {\specHasManual}) and |
---|
63 | % to the CSG specifcation (deliverable \specCsgManual) for the COACH input |
---|
64 | % descriptions. |
---|
65 | % \itemL{6}{12}{d}{\Supmc}{COACH specification}{1:0:0} \setMacroInAuxFile{specGenManual} |
---|
66 | % The final version of the {\specGenManualI} deliverable updated with the first |
---|
67 | % feed-backs of the demonstrator \STs. |
---|
68 | % \OtherPartner{0}{12}{\Sbull} {3:0:0} |
---|
69 | % \OtherPartner{0}{12}{\Sthales}{1:0:0} |
---|
70 | % \itemV{0}{6}{d}{\Stima}{CSG specification} \setMacroInAuxFile{specCsgManualI} |
---|
71 | % The first version of the CSG (COACH System Generator) specification. |
---|
72 | % It specifies how the task graph is described, the communication schemes and its |
---|
73 | % associated API (Application Programming Interface). |
---|
74 | % The base is the SRL library and the MWMR communication component defined by the SocLib |
---|
75 | % ANR project. |
---|
76 | % Nevertheless, these basic schemes will be enhanced to allow more efficient |
---|
77 | % synthesis. |
---|
78 | % \itemL{6}{12}{d}{\Stima}{CSG specification}{1:0:0} \setMacroInAuxFile{specCsgManual} |
---|
79 | % The final version of the {\specGenManualI} deliverable updated with the first |
---|
80 | % feed-backs of the demonstrator \STs. |
---|
81 | % \itemV{0}{6}{d}{\Subs}{HAS specification} \setMacroInAuxFile{specHasManualI} |
---|
82 | % The first version of the HAS (Hardware Accelerator Synthesis) specification. |
---|
83 | % It specifies how tasks must be written (C/C++ subset) and how |
---|
84 | % communication schemes defined in the {\specCsgManual} deliverable must be described for |
---|
85 | % coprocessor synthesis. |
---|
86 | % \itemL{6}{12}{d}{\Subs}{HAS specification}{2:0:0} \setMacroInAuxFile{specHasManual} |
---|
87 | % The final version of the {\specGenManualI} deliverable updated with the first |
---|
88 | % feed-backs of the demonstrator \STs. |
---|
89 | \end{livrable} |
---|
90 | \subtask{Internal software structure} |
---|
91 | This \ST specifies the COACH software structure. The deliverable is a |
---|
92 | document listing all the COACH software components and how they cooperate. |
---|
93 | \begin{livrable} |
---|
94 | \itemL{0}{6}{d}{\Supmc}{COACH internal \ganttlf software architecture}{1:0:0} |
---|
95 | Description of the software list and the data flow among the tools. |
---|
96 | \end{livrable} |
---|
97 | \subtask{\xcoach format} |
---|
98 | This \ST specifies the \xcoach and the \xcoachplus formats. |
---|
99 | \begin{livrable} |
---|
100 | \itemV{0}{6}{d+x}{\Slip}{\xcoach format specification} |
---|
101 | \setMacroInAuxFile{specXcoachDocI} |
---|
102 | First release of the XML specification of the \xcoach format (DTD) |
---|
103 | and its associated documentation allowing to start HLS tools development. |
---|
104 | \itemV{6}{12}{d+x}{\Slip}{\xcoach format specification} |
---|
105 | \setMacroInAuxFile{specXcoachDocII} |
---|
106 | Second release of XML specification of the \xcoach format |
---|
107 | taking into account the corrections and modifications that the |
---|
108 | developers of HAS tools suggested. |
---|
109 | \itemL{12}{18}{d+x}{\Slip}{\xcoach format specification}{7:3:0} |
---|
110 | \setMacroInAuxFile{specXcoachDoc} |
---|
111 | Last release of XML specification of the \xcoach format enhanced with |
---|
112 | the expression of loop potential parallelism. |
---|
113 | \itemV{6}{12}{x}{\Subs}{First release of C2X} |
---|
114 | \setMacroInAuxFile{specXcoachToCAI} |
---|
115 | This delivrable groups 2 tools. |
---|
116 | The first one C2X is a GCC plugin that generates a \xcoach description |
---|
117 | (defined in {\specXcoachDocI} deliverable) from a C/C++ task description |
---|
118 | (defined in {\specHasManual} deliverable). |
---|
119 | The second one X2C regenerates a C description from a \xcoach |
---|
120 | description. |
---|
121 | % TACHE INCLUSE mais non decrite; Specification of the GCC driver tool. |
---|
122 | \itemL{12}{18}{x}{\Subs}{C2X tool}{4:2:0} |
---|
123 | \setMacroInAuxFile{specXcoachToCA} |
---|
124 | An updated version of C2X and X2C (\specXcoachToCAI) which supports the \xcoach format defined |
---|
125 | in the {\specXcoachDoc} deliverable and the HAS input format defined in the {\specHasManual} |
---|
126 | deliverable. |
---|
127 | % \itemV{7}{12}{x}{\Subs}{First release of X2C} |
---|
128 | % \setMacroInAuxFile{specXcoachToCBI} |
---|
129 | % This second tool X2C regenerates a C description from a \xcoach |
---|
130 | % description. |
---|
131 | % \itemL{12}{18}{x}{\Subs}{X2C tool}{2:1:0} |
---|
132 | % \setMacroInAuxFile{specXcoachToCB} |
---|
133 | % The same software as the former (\specXcoachToCBI) but for the \xcoach format as defined |
---|
134 | % in the {\specXcoachDoc} deliverable and HAS input as defined in the {\specHasManual} |
---|
135 | % deliverable. |
---|
136 | \itemV{12}{18}{x}{\Supmc}{First release of X2SC} |
---|
137 | \setMacroInAuxFile{specXcoachToSystemCI} |
---|
138 | The first release of the software tool X2SC that translates \xcoachplus description to CABA |
---|
139 | and TLM-DT SystemC module. |
---|
140 | \itemL{18}{24}{x}{\Supmc}{X2SC tool}{0:2:0} |
---|
141 | \setMacroInAuxFile{specXcoachToSystemC} |
---|
142 | Final release of the former software (\specXcoachToSystemCI). |
---|
143 | \itemV{12}{18}{x}{\Subs}{First release of the X2VHDL} |
---|
144 | \setMacroInAuxFile{specXcoachToVhdlI} |
---|
145 | The first release of the software tool X2VHDL that translates \xcoachplus description to |
---|
146 | synthesizable VHDL description. |
---|
147 | \itemL{18}{24}{x}{\Subs}{X2VHDL tool}{0:3:0} |
---|
148 | \setMacroInAuxFile{specXcoachToVhdl} |
---|
149 | Final release of the former software (\specXcoachToVhdlI) and integration |
---|
150 | of enhancements proposed in \novers{\specXilinxOptimization} deliverable. |
---|
151 | \end{livrable} |
---|
152 | |
---|
153 | % TACHE INCLUSE SANS X2C & C2X |
---|
154 | %\subtask This \ST aims to define a tool in order to pilot the GCC/xcoach compiler. |
---|
155 | % \begin{livrable} |
---|
156 | % \itemL{0}{3}{d}{\Subs}{GCC driver specification}{1:0:0} |
---|
157 | % Specification of the GCC driver tool. |
---|
158 | % \itemV{3}{9}{x}{\Subs}{GCC driver} |
---|
159 | % First release of the GCC driver tool. |
---|
160 | % %en T0+18 car va peut etre evoluer en fonction du DSE µ-archi |
---|
161 | % \itemL{9}{12}{x}{\Subs}{GCC driver}{3:0:0} |
---|
162 | % Final release of the GCC driver tool. |
---|
163 | % \end{livrable} |
---|
164 | |
---|
165 | \subtask{Tool for cell library creation} |
---|
166 | Backend HLS tools use a characterized macro-cell library to build the |
---|
167 | micro-architecture of a coprocessor. The characterisation of a cell depends |
---|
168 | on the target device. The role of this \ST is to define the macro-cells and |
---|
169 | to provite a tool that characterizes them automatically by synthesizing them |
---|
170 | and by extracting their delays. This is done by using RTL synthesis. |
---|
171 | \begin{livrable} |
---|
172 | \itemL{0}{6}{d}{\Subs}{Macro-cell definition}{1:0:0} |
---|
173 | \setMacroInAuxFile{specMacroCell} |
---|
174 | Definition of the macro cells and the file format describing them. |
---|
175 | \itemL{6}{12}{x}{\Subs}{Macro-cell library generator}{2:0:0} |
---|
176 | Final release of the software tool that generates automatically the characterized macro-cell library |
---|
177 | for a FPGA device. |
---|
178 | \end{livrable} |
---|
179 | \end{workpackage} |
---|