\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 deliverable ??}. \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 \mustbecompleted{FIXME:UBS: macro ????} deliverable. \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}