\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}
