\begin{taskinfo} \let\UBS\leader \let\UPMC\enable \let\TIMA\enable \end{taskinfo} % \begin{objectif} The objectives of this task are to provide two HAS back-ends and a tool that adapt the coprocessor frequency to the FPGA-SoC frequency as required by the processors and the system bus. \\ The HAS back-ends as shown in figure~\ref{archi-hls} reads an \xcoach description and provides an \xcoachplus description (a \xcoach description annotated with hardware information such as variables binding to registers, operations bindings to cells/functional units). %The \xcoach format being generated by the \novers{\specXcoachToCA} deliverable %and the \xcoachplus being treated by the \novers{\specXcoachToSystemC} and the %\novers{\specXcoachToVhdl} deliverables, this task strongly depends on task~1. \par For the two HAS front-end, this task is based on the already existing HLS tools GAUT and UGH. These tools \textbf{are complementary and not in competition} because they cover respectively data and control dominated designs. \end{objectif} % \begin{workpackage} \subtask{Integration of UGH \& GAUT HLS tools to COACH} This adaptation will be done incrementally in three steps: \begin{enumerate} \item Make tools to read \xcoach format defined in {\NOVERSspecXcoachDoc} deliverable. \item Make tools to recognize the API of task communication defined in {\NOVERSuseModelSpecification} deliverable. \item Make tools to write \xcoachplus format to let {\NOVERSspecXcoachToSystemC} deliverable generate the SystemC model and {\NOVERSspecXcoachToVhdl} deliverable generate the synthesizable VHDL description. \end{enumerate} \begin{livrable} \itemV{6}{12}{x}{\Stima}{UGH integration} UGH release that reads \xcoach format. \itemV{12}{18}{x}{\Stima}{UGH integration} UGH release that interprets the task communication API. \itemV{18}{27}{x}{\Supmc}{UGH integration} UGH release that writes \xcoachplus format. \itemL{27}{36}{x}{\Stima}{UGH integration}{3:3:1} \OtherPartner{0}{12}{\Supmc}{1:2.5:1} UGH release taking into account demonstrator's feedback. % \itemV{6}{12}{x}{\Subs}{GAUT integration} GAUT release that reads \xcoach format. \itemV{12}{18}{x}{\Subs}{GAUT integration} GAUT release that interprets the task communication API. \itemV{18}{27}{x}{\Subs}{GAUT integration} GAUT release that writes \xcoachplus format. \itemL{27}{36}{x}{\Subs}{GAUT integration}{7:6:3} \setMacroInAuxFile{gautFinal} GAUT release taking into account demonstrator's feedback. \end{livrable} % \subtask{Coprocessor frequency adaptation} In FPGA-SoC, the frequency is given by the processor(s) and the system BUS. The coprocessors generated by HLS synthesis must respect this frequency. However, the HLS tools can not guarantee that the micro-architectures they generate accurately respect this frequency. This is especially the case when the target is a FPGA device, because the delays are really known only after the RTL synthesis and that estimated delays used by the HLS are very inaccurate. The goal of this \ST is to provide a tool that adapts the coprocessors frequency to the FPGA-SoC frequency after the coprocessor RTL synthesis. \begin{livrable} \itemV{0}{12}{d}{\Supmc}{Frequency calibration} A document describing the set up of the coprocessor frequency calibration. \itemV{12}{27}{x}{\Supmc}{Frequency calibration} A VHDL description of hardware added to the coprocessor to enable the calibration. \itemL{27}{33}{x}{\Supmc}{Frequency calibration}{1:1:4} \setMacroInAuxFile{freqCalibrationVhdl} The frequency calibration software consists of a driver in the FPGA-SoC operating system and of a control software. \end{livrable} % \subtask{GAUT enhancement} \begin{livrable} \itemV{18}{27}{d}{\Subs}{GAUT enhancement} Specification of GAUT enhancements. The first ones is to support new constraints and objectives. The second one is a Design Space Exploration framework, GAUT will be able to use synthesis feed-back informations in order to explore the design space and to generate optimized architectures. \itemL{27}{36}{x}{\Subs}{GAUT enhancement}{0:5:4} Integration of these enhancements into the final GAUT release ({\gautFinal} deliverable). \end{livrable} \end{workpackage}