1 | \begin{taskinfo} |
---|
2 | \let\IRISA\enable |
---|
3 | \let\BULL\enable |
---|
4 | \let\THALES\leader |
---|
5 | \let\NAVTEL\enable |
---|
6 | \let\ZIED\enable |
---|
7 | \end{taskinfo} |
---|
8 | % |
---|
9 | \begin{objectif} |
---|
10 | This task groups the demonstrators of the COACH project. |
---|
11 | The demonstrators cover various domains and application types to drive |
---|
12 | the specification choices and to check most of the COACH features. |
---|
13 | \end{objectif} |
---|
14 | % |
---|
15 | \begin{workpackage} |
---|
16 | \subtask |
---|
17 | The application that \bull proposes is HPC oriented. |
---|
18 | The domain of the application is the treatment of medical images (e.g. image noise |
---|
19 | reduction and camera calibration). |
---|
20 | Our expectation from COACH project is to enhance the \bull HPC solutions that |
---|
21 | are currently based on multi-cores and GPUs with fine grain parallelism on FPGA. |
---|
22 | \begin{livrable} |
---|
23 | \itemV{0}{6}{d}{\Sbull}{\bull demonstrator} |
---|
24 | The deliverable is a document that describes the application that will be use as |
---|
25 | demonstrator. |
---|
26 | \itemV{6}{12}{x}{\Sbull}{\bull demonstrator} |
---|
27 | The deliverable is the specification of the demonstrator in COACH input format |
---|
28 | defined in the {\specGenManual} deliverable. |
---|
29 | \itemL{12}{36}{d}{\Sbull}{\bull demonstrator}{5:7:10} |
---|
30 | Validation of the demonstrator, the deliverable is a document |
---|
31 | describing the result of the experimentations. |
---|
32 | \end{livrable} |
---|
33 | |
---|
34 | \subtask The objective of this sub-task is to specify the application and to develop the |
---|
35 | high level code. The application is in the domain of surveillance of critical |
---|
36 | infrastructures. |
---|
37 | The objective is to detect and classify the presence of humans in the restricted area. |
---|
38 | The algorithm is based on the work of Viola and Jones\cite{thales-viola}. |
---|
39 | It implements in particular a cascade of classifiers operating on Haar like features, |
---|
40 | where simple weak classifiers at the beginning of the cascade reject a majority of |
---|
41 | void sub-windows, before more complex classifiers concentrate on potential regions of |
---|
42 | interest. |
---|
43 | This application is computation intensive and also makes an intensive use of binary |
---|
44 | decision trees to cascade the filters, which makes it a good candidate to assess the |
---|
45 | association of CAL with parallelizing tools.\\ |
---|
46 | Moreover, the higher levels of computing can involve tracking and data fusion between |
---|
47 | several camera streams and some other informations. |
---|
48 | The targeted system will be composed of one camera connected to a PC. |
---|
49 | All the computing part of the application is executed on a FPGA board connected to the |
---|
50 | PC. |
---|
51 | \begin{livrable} |
---|
52 | \itemV{0}{6}{d}{\Sthales}{\thales demonstrator (step 1)} |
---|
53 | \setMacroInAuxFile{trtAppSpecification} |
---|
54 | This delivrable is a document that specifies the application. |
---|
55 | \itemL{6}{12}{x}{\Sthales}{\thales demonstrator (step 1)}{4:0:0} |
---|
56 | This delivrable is the code of the application spcecified former |
---|
57 | delivrable (\trtAppSpecification). |
---|
58 | \end{livrable} |
---|
59 | |
---|
60 | \subtask \TRT will use its internal software environment tool SPEAR DE to describe the |
---|
61 | application. The tool is able to partition and to generate the code for the target. \\ |
---|
62 | In this task, we will adapt SPEAR DE to generate the application description input of |
---|
63 | COACH framework. We will also describe the three templates of architecture in order to |
---|
64 | be able to partition the application on the architecture. |
---|
65 | \begin{livrable} |
---|
66 | \itemL{6}{18}{x}{\Sthales}{SPEAR-DE adaptation}{6:7:0} |
---|
67 | \setMacroInAuxFile{trtSpearde} |
---|
68 | Adaptation of SPEAR-DE for COACH framework. |
---|
69 | \end{livrable} |
---|
70 | |
---|
71 | \subtask |
---|
72 | In this task, \TRT will evaluate the COACH platform. In particular, \TRT will verify |
---|
73 | its ability to generate a whole VHDL of an embedded system on FPGA for an application |
---|
74 | mixing control and data flow aspects. \TRT will evaluate the performance of the |
---|
75 | generated system in terms of GOPS, and the design time from a high level description. |
---|
76 | \begin{livrable} |
---|
77 | \itemV{18}{24}{d+x}{\Sthales}{\thales demonstrator (step 2)} |
---|
78 | This delivrable is a document describing the result got for the application |
---|
79 | (\trtAppSpecification) with SPEAR-DE (\trtSpearde) using COACH milestone of T0+18. |
---|
80 | The updated code of the application will be also provide. |
---|
81 | \itemV{24}{30}{d+x}{\Sthales}{\thales demonstrator (step 2)} |
---|
82 | This delivrable is a document describing the result got for the application |
---|
83 | (\trtAppSpecification) with SPEAR-DE (\trtSpearde) using COACH milestone of T0+24. |
---|
84 | The updated code of the application will be also provide. |
---|
85 | \itemL{30}{36}{d+x}{\Sthales}{\thales demonstrator (step 2)}{0:5:5} |
---|
86 | This delivrable is a document that validates and evaluates COACH (final release) |
---|
87 | for the \thales demonstrators (\trtAppSpecification). |
---|
88 | The updated code of the application will be also provide. |
---|
89 | \end{livrable} |
---|
90 | |
---|
91 | \subtask FLEXRAS proposes a SoC architecture integrating an embedded FPGA (eFPGA). |
---|
92 | The architecture is composed essentially of a processor, a bus and several RAMs. |
---|
93 | The embedded FPGA is connected to the bus and communicates with the other components. |
---|
94 | The (eFPGA) works in 2 modes: |
---|
95 | \begin{description} |
---|
96 | \item[Slave mode] |
---|
97 | As a DMA, the processor will send the configuration bitstream |
---|
98 | stored on the RAM to the eFPGA. In this mode, the eFPGA is considered as a |
---|
99 | writeable memory and is configured by the processor. |
---|
100 | \item[Master mode] |
---|
101 | Once the FPGA is programmed, it becomes a coprocessor achieving the aimed task. |
---|
102 | \end{description} |
---|
103 | The top architecture of this SoC based-platform will be generated using COACH |
---|
104 | framework. The application that will be run on the SoC corresponds initially to a |
---|
105 | graph of software tasks. Critical tasks will be identified and transformed |
---|
106 | automatically to hardware tasks using COACH high level synthesis feature. While |
---|
107 | software tasks will be run on the processor, hardware ones will be mapped on eFPGA |
---|
108 | to take advantage of its optimized resources and parallelism. FLEXRAS provides all |
---|
109 | the flow from RTL synthesis to bitstream generation. |
---|
110 | \begin{livrable} |
---|
111 | \itemL{0}{6}{d}{\Szied}{\zied architecture}{2.4:0:0} |
---|
112 | FLEXRAS will use IPs provided by LIP6 (vhdl models of SoCLIB) and its eFPGA IP to |
---|
113 | generate the SoC architecture. |
---|
114 | This delivrable is a document that describes this architecture. |
---|
115 | \itemL{6}{18}{h}{\Szied}{eFPGA/VCI component}{3.6:3.6:0} |
---|
116 | FLEXRAS has to adapt the eFPGA interface to connect it to the VCI bus. |
---|
117 | This delivrable is a VHDL description. |
---|
118 | % \itemL{12}{18}{x}{\Szied}{bitstream loader port}{0:3.6:0} |
---|
119 | % Port of the bitstream loader to the MUTEKH operating system. |
---|
120 | \itemL{18}{24}{x}{\Szied}{\zied demonstrators}{0:2.4:0} |
---|
121 | \zied will propose to test COACH framework and the \zied architecture template |
---|
122 | throught a basic application. |
---|
123 | This applicattion will containt 3 communicating tasks under the COACH format specified |
---|
124 | in {\novers{\specGenManual}} delivrable. |
---|
125 | The first one is a hardware task generated by the HAS tools and transformed into |
---|
126 | a bit stream by the \zied tools. |
---|
127 | The second is a bitstream loader that will load the bitstream of the first task on |
---|
128 | the eFPGA. |
---|
129 | The third is a software task that communicates with the hw task for testing it. |
---|
130 | \itemL{24}{30}{x}{\Szied}{eFPGA characterisation}{0:0:2.4} |
---|
131 | This delivrable is a file under the format defined by the delivrable |
---|
132 | {\specMacroCell} that characterizes the eFPGA. This will allow the COACH HLS tools |
---|
133 | to take into account the eFPGA delays. |
---|
134 | \itemL{30}{36}{d}{\Szied}{\zied evaluation}{0:0:3.6} |
---|
135 | This delivrable is a document that describes the tests, the validation and the |
---|
136 | evaluation of COACH with the \zied architecture and tools. |
---|
137 | \end{livrable} |
---|
138 | |
---|
139 | \subtask |
---|
140 | The \navtel Embedded Supper Computing (ESC) project is based on simple hardware but tightly |
---|
141 | coupled module between ARM processor and FPGA. |
---|
142 | The ESC can function on different topologies: Single, parallel or Grid computing modes for |
---|
143 | industrial and scientific applications. |
---|
144 | The ARM and FPGA configuration also facilitate the co-simulation which allows to gain |
---|
145 | time on the development and integration phase. |
---|
146 | The architecture consists of a wrapper that encapsules computing units depending on the |
---|
147 | application and a real time kernal for task switching and partial reconfiguration of FPGA |
---|
148 | on run time environment. |
---|
149 | \parlf |
---|
150 | To day \navtel develops these computing units manually. |
---|
151 | \navtel expects to benefit from the COACH project especially the HLS tools for |
---|
152 | generating the computing unit. |
---|
153 | \begin{livrable} |
---|
154 | \itemL{0}{6}{d}{\Snavtel}{\navtel \ganttlf demonstrator specification}{4:0:0} |
---|
155 | \setMacroInAuxFile{navtelSpecification} |
---|
156 | A document that will define the requirements for automatic RTL generation for |
---|
157 | signal processing units of our market sector such as digital communication, |
---|
158 | imaging and industrial control. |
---|
159 | This document will include the description of some already handmade processing units. |
---|
160 | \itemL{6}{18}{h}{\Snavtel}{\navtel \ganttlf wrapper adaptation}{1:1:0} |
---|
161 | The adaptation of our wrapper to support coprocessor generated by COACH. |
---|
162 | \itemL{18}{36}{d}{\Snavtel}{\navtel evaluation}{0:2:4} |
---|
163 | \navtel will test the COACH HLS tools on the processing units that are described |
---|
164 | in the {\navtelSpecification} delivrable. |
---|
165 | A document will be written that describes the results obtained taking into |
---|
166 | account: 1) the performance in terms of space, 2) the performance in terms of |
---|
167 | time, 3) the friendlyness of the environment. |
---|
168 | \end{livrable} |
---|
169 | \end{workpackage} |
---|