\begin{taskinfo} \let\UPMC\leader \let\ALL\enable \end{taskinfo} % \begin{objectif} This task deals with the main features of digital systems. Its objectives are the specification of the designer input, the definition of the hardware architectural templates and of all the features that the HAS tools will share. \end{objectif} % \begin{workpackage} \item This \ST specifies the COACH environment for the system designer. At this level the COACH framework is a black box. The deliverables are documents specifying: how to feed COACH (the inputs), how to use COACH (the design flow), what is generated (the outputs). %(definition of the generic architecture of the %MPSoC and its 3 targets hardware mapping). \begin{livrable} \itemV{0}{6}{d}{\Supmc}{COACH specification} \setMacroInAuxFile{specGenManualI} The first version of the COACH specification. This document contains the general description of the framework, the design flow and the description of the architectural templates. It refers to the HAS specification (delivrable {\specHasManual}) and to the CSG specifcation (delivrable \specCsgManual) for the COACH input descriptions. \itemL{6}{12}{d}{\Supmc}{COACH specification}{1:0:0} \setMacroInAuxFile{specGenManual} The final version of the {\specGenManualI} delivrable updated with the \mustbecompleted{FIXME:: first ?} feed-backs of the demonstrator \STs. \itemV{0}{6}{d}{\Stima}{CSG specification} \setMacroInAuxFile{specCsgManualI} The first version of the CSG (COACH System Generator) specification. It specifies how the task graph is described, the communication schemes and its associated API (Application Programming Interface). The base is the SRL library and the MWMR communication component defined by the SocLib ANR project. Nevertheless, these basic schemes will be enhanced to allow more efficient synthesis. \itemL{6}{12}{d}{\Stima}{CSG specification}{1:0:0} \setMacroInAuxFile{specCsgManual} The final version of the {\specGenManualI} delivrable updated with the \mustbecompleted{FIXME:: first ?} feed-backs of the demonstrator \STs. \itemV{0}{6}{d}{\Subs}{HAS specification} \setMacroInAuxFile{specHasManualI} The first version of the HAS (Hardware Accelerator Synthesis) specification. It specifies how tasks must be written (C/C++ subset) and how communication schemes defined in the {\specCsgManual} delivrable must be described for coprocessor synthesis. \itemL{6}{12}{d}{\Subs}{HAS specification}{1:0:0} \setMacroInAuxFile{specHasManual} The final version of the {\specGenManualI} delivrable updated with the \mustbecompleted{FIXME:: first ?} 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} \itemL{0}{6}{d}{\Supmc}{decription of \ganttlf software architecture}{1:0:0} It contains the software list and the data flow among them. \end{livrable} \item This \ST specifies the \xcoach format. \begin{livrable} \itemV{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. \itemV{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 suggested. \itemL{12}{18}{d+x}{\Slip}{specification of \xcoach format}{0:0:0} \setMacroInAuxFile{specXcoachDoc} Last release of XML specification of the \xcoach format enhanced with the expression of loop potential parallelism. \itemV{6}{12}{x}{\Subs}{C/C++ to/from \xcoach format (1)} \setMacroInAuxFile{specXcoachToCAI} A GCC plugin C2X that generates a \xcoach description (defined in {\specXcoachDocI} deliverable) from a C/C++ task description (defined in {\specHasManual} deliverable). \itemL{12}{18}{x}{\Subs}{C++ to/from \xcoach format (1)}{0:0:0} \setMacroInAuxFile{specXcoachToCA} The same software as the former (\specXcoachToCAI) but for \xcoach format defined in the {\specXcoachDoc} deliverable and HAS input defined in the {\specHasManual} deliverable. \itemV{7}{12}{x}{\Subs}{C/C++ $\leftrightarrow$ \xcoach format (2)} \setMacroInAuxFile{specXcoachToCBI} This second tool X2C regenerates a C description from a \xcoach description. \itemL{12}{18}{x}{\Subs}{C++ $\leftrightarrow$ \xcoach format (2)}{0:0:0} \setMacroInAuxFile{specXcoachToCB} The same software as the former (\specXcoachToCBI) but for the \xcoach format as defined in the {\specXcoachDoc} deliverable and HAS input as defined in the {\specHasManual} deliverable. \itemV{12}{18}{x}{\Supmc}{\xcoachplus format to SystemC} \setMacroInAuxFile{specXcoachToSystemCI} The first release of the software tool X2SC that translates \xcoachplus description to CABA and TLM-DT SystemC module. \itemL{18}{24}{x}{\Supmc}{\xcoachplus format to SystemC}{0:2:0} \setMacroInAuxFile{specXcoachToSystemC} Maintenance work of the former software (\specXcoachToSystemCI). \itemV{12}{18}{x}{\Subs}{\xcoachplus format to VHDL} \setMacroInAuxFile{specXcoachToVhdlI} The first release of the softwaretool X2VHDL that translates \xcoachplus description to synthesizable VHDL description. \itemL{18}{24}{x}{\Subs}{\xcoachplus format to VHDL}{0:0:0} \setMacroInAuxFile{specXcoachToVhdl} Maintenance work of the former software (\specXcoachToVhdlI) and integration of enhancements proposed in \novers{\specXilinxOptimization} deliverable. \itemL{18}{21}{d}{\Sxilinx}{\xilinx RTL optimisation (1)}{0:3:0} \setMacroInAuxFile{specXilinxOptimization} This deliverable consists in optimizing the VHDL generated from \xcoachplus format (deliverable \novers{\specXcoachToVhdl}) to the \xilinx RTL synthesis tools. \ubs will provide several examples of VHDL source files generated from \xcoachplus, with explanations about generation process of main data structures used in VHDL sources, \xilinx will provide back a documentation listing that proposes VHDL generation enhancements. \end{livrable} \item This \ST aims to define a tool in order to pilot the GCC/xcoach compiler. \mustbecompleted{FIXME: UBS :: Cette section et ses livrables doivent etre retouches} \begin{livrable} \itemL{0}{3}{d}{\Subs}{GCC/xcoach driver definition}{0:0:0} This document specifies the way the GCC driver tool drives GCC. \itemL{3}{9}{x}{\Subs}{GCC/xcoach driver generator}{0:0:0} Release of the GCC driver tool. \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 depends 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} \itemL{0}{6}{d}{\Subs}{macro-cell definition}{0:0:0} The document defines the macro cell and the file format describing them. \itemL{6}{12}{x}{\Subs}{macro-cell library generator}{0:0:0} A software tool that generates automatically the characterized macro-cell library for a FPGA device. \end{livrable} \end{workpackage}