\begin{taskinfo} \let\UBS\leader \let\UPMC\enable \let\TIMA\enable \end{taskinfo} % \begin{objectif} This objectives of this task are to provides the 2 HAS back-ends of the COACH project and a tool that adapt the coprocessor frequency to the FPGA-SoC frequency. This later is given by the processors and the BUS. \\ The HAS back-ends as shown figure~\ref{archi-hls} reads \xcoach data and provides \xcoachplus data that is \xcoach format annotated with hardware information such as variable binded on register, operation binded on cell and sheduled. The \xcoach format being generated by {\STcTOxcoach} \ST and \xcoachplus being treated by {\STxcoachTOsystemc} and {\STxcoachTOvhdl} \STs, this task is very dependent of task-1 task. \par For the two HAS front-end, this task is based on the already existing HLS tools GAUT and tools. These tools are complementary and not competitor because they cover irespectively data and control dominated orthogonal domain. The organization of the task is firstly to integrate quickly 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 treatment for UGH. This will enlarge the domain the HLS can cover. \end{objectif} % \begin{workpackage}{D4} \item The goal of this \ST is to integrate the UGH HLS tool to the COACH framework. It consists of suppressing the C commpiler and the SystemC and VHDL drivers and replacing them by \xcoach and \xcoachplus drivers. \begin{livrable} \item{-V1}{6}{12}{x}{\tima}{UGH integration} An executable that is able to read \xcoach format. \item{-VF}{12}{18}{x}{\tima}{UGH integration} An executable that is able to read \xcoach format and to write \xcoachplus format. \end{livrable} \item The goal of this \ST is to integrate the GAUT HLS tool to the COACH framework. It consists of suppressing the C commpiler and the SystemC and VHDL drivers and replacing them by \xcoach and \xcoachplus drivers. \begin{livrable} \item{-V1}{6}{12}{x}{\tima}{GAUT integration} An executable that is able to read \xcoach format. \item{-VF}{12}{18}{x}{\tima}{GAUT integration} An executable that is able to read \xcoach format and to write \xcoachplus format. \end{livrable} \item The goal of this \ST is to improve the UGH and GAUT HLS tools. UGH and GAUT experimentations have shown respectively 2 and \mustbecompleted{FIXME:2} usefull enhancements \begin{livrable} \item{-1-VF}{18}{24}{x}{\tima}{UGH enhancement 1} A UGH excutable that is able to treat automatically data dominated sections included into a control dominated application. \item{-2-VF}{21}{27}{x}{\tima}{UGH enhancement 2} A UGH executable that is able to generate an micro-architecture without the varaiable binding currently done by the designer. \item{-3-VF}{18}{24}{x}{\upmc}{GAUT enhancement 1} A GAUT excutable that is able to \mustbecompleted{FIXME:UBS: ........}. \item{-4-VF}{21}{27}{x}{\upmc}{GAUT enhancement 2} A GAUT excutable that is able to \mustbecompleted{FIXME:UBS: ........}. \item{-5-VF}{21}{27}{x}{\upmc}{GAUT enhancement 2} A GAUT excutable that is able to \mustbecompleted{FIXME:UBS: ........}. \end{livrable} \item In FPGA-SoC, the frequency is given by the processors and the BUS. The coprocessors generated by HLS synthesis must respect this frequency. However, the HLS tools can not guarantee that the micro-architectures they generate, respect accurately 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 imprecis. The goal of this \ST is to provide a feature to adapt the coprocessors frequency to the FPGA-SoC frequency after the coprocessor RTL synthesis. \begin{livrable} \item{-V1}{0}{6}{d}{\upmc}{frequency calibration} A document describing the set up of the coprocessor frequency calibration. \item{-V2}{6}{12}{x}{\upmc}{frequency calibration} A VHDL description of hardware added to the coprocessor to enable the calibration. \item{-V3}{12}{20}{x}{\upmc}{frequency calibration} The frequency calibration software consists of a driver in the FPGA-SoC operating system and of a control software on a PC. \end{livrable} \end{workpackage}