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