\begin{taskinfo} \let\UBS\leader \let\UPMC\enable \let\TIMA\enable \let\XILINX\enable \end{taskinfo} % \begin{objectif} The objectives of this task are to provide the two HAS back-ends of the COACH project and a tool that adapt the coprocessor frequency to the FPGA-SoC frequency as required by the processors and the system BUS. %pourquoi en majuscule? \\ The HAS back-ends as shown in figure~\ref{archi-hls} reads an \xcoach description and provides an \xcoachplus description, i.e. an \xcoach description annotated with hardware information such as variables binding to registers, operations bindings to cells/fonctional units, operation scheduling... 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 are complementary and not in competition because they cover respectively data and control dominated designs. The organization of the task is firstly to quickly integrate the existing HLS to the COACH framework. Secondly these tools will be improved to allows to treat data dominated application with a few control for GAUT and control dominated application with a few data processing for UGH. This will enlarge the domain the HLS can cover which is a strong limitation of the tools currently avilable \cite{HLSBOOK} \cite{IEEEDT} \cite{CATRENE}. \end{objectif} %FIXMA == {il faudrait fusionner les taches ST5-1 et ST5-2, non ???} \begin{workpackage} \subtask The goal of this \ST is to integrate the UGH HLS tool to the COACH framework. It consists of suppressing the C compiler and the SystemC and VHDL drivers and replacing them by \xcoach and \xcoachplus drivers i.e. C2X, X2SC and X2VHDL. \begin{livrable} \itemL{6}{12}{x}{\Stima}{UGH integration}{12:0:0} Release of the UGH software that reads \xcoach format. \itemV{12}{18}{x}{\Supmc}{UGH integration} Release of the UGH software that writes \xcoachplus format. \itemL{18}{33}{x}{\Supmc}{UGH integration}{0:2:4.0} Final release of the UGH software. \end{livrable} \subtask The goal of this \ST is to integrate the GAUT HLS tool to the COACH framework. It consists of suppressing the C compiler and the SystemC and VHDL drivers and replacing them by \xcoach and \xcoachplus drivers. \begin{livrable} \itemL{6}{12}{x}{\Subs}{GAUT release reading \xcoach}{6:0:0} Release of the GAUT software that is able to read \xcoach format. \itemL{12}{18}{x}{\Subs}{GAUT release writing \xcoachplus}{0:6:0} Release of the GAUT software that is able to read \xcoach format and to write \xcoachplus format. %\itemL{18}{33}{x}{\Subs}{Final release of GAUT}{0:1:6} % Final release of the GAUT software. \end{livrable} \subtask The goal of this \ST is to improve the UGH and GAUT HLS tools. UGH and GAUT experimentations have shown respectively usefull enhancements. \begin{livrable} \itemL{18}{24}{x}{\Stima}{UGH enhancement 1}{0:9:0} Release of the UGH software with support for treating automatically data dominated sections included into a control dominated application. \itemL{21}{27}{x}{\Stima}{UGH enhancement 2}{0:3:6} Release of the UGH software able to generate a micro-architecture without the variable binding currently done by the designer. \itemL{12}{24}{x}{\Subs}{Release of GAUT with \ganttlf enhanced synthesis steps}{0:9:0} Release of the GAUT software that supports the \xcoach model during the binding and the scheduling steps. \itemL{24}{33}{x}{\Subs}{Release of GAUT supporting \ganttlf new const./obj.}{0:0:7} Release of the GAUT software that supports the \xcoach model during the binding and the scheduling steps and also supports new constraints and objectives. \itemV{18}{24}{d}{\Subs}{Micro-architecture Exploration}\setMacroInAuxFile{MAE} Specification of a Design Space Exploration framework for the HAS Back-end: The high level specification tools, such as GAUT, have to be able to use synthesis feed-back informations in order to explore the design space and to generate optimized architectures. \itemL{24}{36}{x}{\Subs}{Micro-architecture Exploration}{0:0:8} Release of the GAUT software that supports the features defined in \MAE \end{livrable} \subtask 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}{24}{x}{\Supmc}{Frequency calibration} \setMacroInAuxFile{freqCalibrationVhdl} A VHDL description of hardware added to the coprocessor to enable the calibration. \itemL{24}{33}{x}{\Supmc}{Frequency calibration}{2:.5:3.5} The frequency calibration software consists of a driver in the FPGA-SoC operating system and of a control software. \itemL{24}{27}{d}{\Sxilinx}{Optimisation for \ganttlf \xilinx RTL tools (5)}{0:0:1.5} This deliverable consists in optimizing the VHDL description provided in \novers{\freqCalibrationVhdl}. \upmc will provide the VHDL description, \xilinx will provide back a documentation listing that proposes VHDL generation enhancements. \end{livrable} \end{workpackage}