\begin{taskinfo}
\let\UPMC\leader
\let\ALL\enable
\end{taskinfo}
%
\begin{objectif}
This task relies to the main features for embedded system.
Its objective consists of the specification of designer input, of the
definition of the hardware architectural templates and of all the features
that the HAS tools share.
\end{objectif}
%
\begin{workpackage}{D1}
\item This \ST specifies COACH for the system designer. At this
    level COACH is a black box. The deliverables aredocuments allowing the system
    designers to use COACH: feeding it (inputs), how to use it (design flow),
    what COACH can generate (definition of the generic architecture of the
    MPSoC and its 3 targets hardware mapping).
    \begin{livrable}
    \item{V1}{0}{6}{d}{\Supmc}{COACH user manual} \setMacroInAuxFile{specGenManualI}
        It is the first milestone of the COACH user manual that will allow demonstrator
        \STs to start.
        It contains the general description of the framework, the design flow and the
        description of the architectural templates.
        It refers to the HAS user manual (delivrable {\specHasManual}) and 
        to the CSG manual (delivrable \specCsgManual) for the COACH input
        descriptions.
    \item{VF}{6}{12}{d}{\Supmc}{COACH user manual} \setMacroInAuxFile{specGenManual}
        The COACH user manual of the \specGenManualI delivrable updated with the feed-backs
        of the demonstrator \STs.
    \item{V1}{0}{6}{d}{\Stima}{CSG user manual} \setMacroInAuxFile{specCsgManualI}
        It is the first milestone of the CSG user manual that will allow demonstrator
        \STs to start.
        It describes how the task graph is described, the communication schems and its
        associated API (Application  Programming Interface).
        The base is the SRL library and MWMR communication component defined by the SocLib
        ANR project.
        Nevertheless, these basic schems will be enhanced to allow more efficent
        synthesis.
    \item{VF}{6}{12}{d}{\Stima}{CSG user manual} \setMacroInAuxFile{specCsgManual}
        The CSG user manual of the \specGenManualI delivrable updated with the feed-backs
        of the demonstrator \STs.
    \item{V1}{0}{6}{d}{\Subs}{HAS user manual} \setMacroInAuxFile{specHasManualI}
        It is the first milestone of the HAS user manual that will allow demonstrator
        \STs to start.
        It describes how tasks of task graph must be written (C/C++ subset) and how
        communication schems defined in the {\specCsgManual} delivrable must be described for
        coprocessor synthesis.
    \item{VF}{6}{12}{d}{\Subs}{HAS user manual} \setMacroInAuxFile{specHasManual}
        The HAS user manual of the \specGenManualI delivrable updated with the feed-backs of
        the demonstrator \STs.
    \end{livrable}
\item This \ST specifies the software COACH structure. The deliverable is a
    document listing all the COACH software components and how they cooperate.
    \begin{livrable}
    \item{}{0}{6}{d}{\Supmc}{decription of \ganttlf software architecture}
        It contains the software list and the data flow among them.
    \end{livrable}
\item This \ST specifies the \xcoach format.
    \begin{livrable}
    \item{V1}{0}{6}{d+x}{\Slip}{specification of \xcoach format} 
        \setMacroInAuxFile{specXcoachDocI}
        First release of the XML specification of the \xcoach format (DTD)
        and its associated documentation allowing to start HLS tools development.
    \item{V2}{6}{12}{d+x}{\Slip}{specification of \xcoach format}
        \setMacroInAuxFile{specXcoachDocII}
        Second release of XML specification of the \xcoach format
        taking into account the corrections and modifications that the
        developers of HAS tools rised.
    \item{VF}{12}{18}{d+x}{\Slip}{specification of \xcoach format}
        \setMacroInAuxFile{specXcoachDoc}
        Last release of XML specification of the \xcoach format enhanced with
        the expression of loop potential.
    \item{V1}{6}{12}{x}{\Subs}{C++ to/from \xcoach format}
        \setMacroInAuxFile{specXcoachToCI}
        This delivrable is composed of 2 softwares.
        The first software is a GCC plugin that generates a \xcoach description
        (defined in \specXcoachDocI deliverable) from a C++ task description
        (defined in \specHasManual deliverable).
        The second software regenerates a C description from a \xcoach
        description.
    \item{VF}{12}{18}{x}{\Subs}{C++ to/from \xcoach format}
        \setMacroInAuxFile{specXcoachToC}
        The same softwares as the former (\specXcoachToCI) but for \xcoach format defined
        in the {\specXcoachDoc} deliverable and HAS input defined in the {\specHasManual}
        deliverable.
    \item{V1}{12}{18}{x}{\Supmc}{\xcoachplus format to SystemC}
        \setMacroInAuxFile{specXcoachToSystemCI}
        The first release of a program that translates \xcoachplus description to CABA
        and TLM-DT SystemC module.
    \item{VF}{18}{24}{x}{\Supmc}{\xcoachplus format to SystemC}
        \setMacroInAuxFile{specXcoachToSystemC}
        Maintenance work of the former software (\specXcoachToSystemCI).
    \item{V1}{12}{18}{x}{\Subs}{\xcoachplus format to VHDL}
        \setMacroInAuxFile{specXcoachToVhdlI}
        The first release of a program that translates \xcoachplus description to
        synthesizable VHDL description.
    \item{VF}{18}{24}{x}{\Subs}{\xcoachplus format to VHDL}
        \setMacroInAuxFile{specXcoachToVhdl}
        Maintenance work of the former software (\specXcoachToVhdlI).
    \end{livrable}
\item Backend HLS tools use a characterized macro-cell library to build the
    micro-architecture of a coprocessor. The characterisation of a cell dépends
    on the target device. The role of this \ST is to define the macro-cells and
    to provite a tool that characterizes them automatically by synthesizing them
    and by extracting their delays. This is done by using RTL synthesis.
    \begin{livrable}
    \item{}{0}{6}{d}{\Subs}{macro-cell definition}
        The document define the macro cell and the file format describing them.
    \item{}{6}{12}{x}{\Subs}{macro-cell library generator}
        A progam that generates automatically the characterized macro-cell library
        for a FPGA device.
    \end{livrable}
\end{workpackage}
