\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 \mustbecompleted {FIXME :: or defined}
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 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 processing
for UGH. This will enlarge the domain the HLS can cover which is a strong limitation of the 
tools currently avilable. \mustbecompleted {FIXME :: ajouter ref LIVRE, Design and Test, CATRENE Roadmap}
\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}
        Maintenance work 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}
    \itemV{6}{12}{x}{\Subs}{GAUT integration}
        Release of the GAUT software that is able to read \xcoach format.
    \itemV{12}{18}{x}{\Subs}{GAUT integration}
        Release of the GAUT software that is able to read \xcoach format and to write \xcoachplus format.
    \itemL{18}{33}{x}{\Subs}{GAUT integration}{0:0:0}
        Maintenance work 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{6}{18}{x}{\Subs}{GAUT enhancement 1}{0:0:0}
        Release of the GAUT software that supports the control and data flow formal model.
\mustbecompleted{FIXME:USB ca ne va pas avec l'intro de la tache, UGH n'a
plus aucune utilite si ceci reste}
    \itemL{18}{30}{x}{\Subs}{GAUT enhancement 2}{0:0:0}
        Release of the GAUT software that supports the control and data flow formal model
        and also supports new constraints and objectives defined in
        \mustbecompleted{FIXME:USB utilise une macro svp: \ST1-1}
        \mustbecompleted{FIXME:UBS: quel delivrable ??}.
    \itemV{6}{18}{d}{\Subs}{Design Space Exploration}{0:0:0}
        \mustbecompleted{FIXME:UBS  GAUT enhancement 3 serait peut-etre meilleur}
        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{18}{30}{x}{\Subs}{Design Space Exploration}{0:0:0}
        Release of the GAUT software that supports the features defined in \ST ????.
    \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 on a PC. \mustbecompleted {FIXME :: Pas clair pour le HPC. Comprends pas}
    \itemL{24}{27}{d}{\Sxilinx}{optimisation for \ganttlf \xilinx RTL tools (5)}{0:0:1}
       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}
