************************************************************************************************************** Work package 1 : Specification de l'architecture logicielle de COACH et outils communs: TASK-1 LIP6+ALL Specification de COACH au niveau du concepteur de systeme: COACH est une boite noire, les entrées, les sorties, le flot de conception préconisé, Définition de l'architecture du MP-SoC et ses 3 mappings 0+6 LIP6 Livrable-1: un document TASK-2 LIP6+ALL Structure interne de COACH. 0+6 LIP6 Livrable: un document TASK-3 LAB-STIC+ALL Définition du language commun annoté. 0+6 LIP Livrable 1: un document, une ddt 0+12 LAB-STIC Livrable 2: gcc2coach, coach2c 0+18 LIP6 Livrable 3: coach2systemc 0+18 TIMA Livrable 4: coach2vhdl TASK-4 LAB-STIC+ALL Définition et description des cellules de base et de leur caractéristques. 0+6 LAB-STIC Livrable 1: un document 0+12 LAB-STIC Livrable 2: ????? ************************************************************************************************************** Work package 2 : Outils de conception systemes: TASK-1 LIP6 Mutek Operating sytem 0+12 LIP6 Livrable 1: OS pour Embedded System 0+30 LIP6 Livrable 2: OS pour HPC (driver PCI/X) et reconfiguration dynamique TASK-2 TIMA DNA Operating sytem 0+12 TIMA Livrable 1: OS pour Embedded System 0+30 TIMA Livrable 2: OS pour HPC (driver PCI/X) et reconfiguration dynamique TASK-3 LIP6+ALL Definition de l'entrée de CSG (Coach System Generator): la syntaxe d'entrée TCG, architecture, les primitives de communication entre tache (variable globale, canaux, tampon ping-pong). 0+6 LIP6 Livrable 1: document 0+12 LIP6 Livrable 2: Executable sans reconfiguration: gestion des 3 architectures. 0+30 TIMA+LIP6 Livrable 3: CSG avec reconfiguration +++++ Ajouter CDP-2-3 TASK-4 LIP6 Composants matériels de l'architecture SOCLIB 0+18 LIP6 Livrable 1: VHDL synthetisable des composants MWMR, IRQ. TASK-5 TIMA Composants matériels de l'architecture Xilinx 0+18 TIMA Livrable 1: modele systemC des composants MWMR, IRQ. 0+20 TIMA Livrable 2: VHDL synthetisable des composants MWMR, IRQ. TASK-6 IRISA Composants matériels de l'architecture Altera 0+18 IRISA Livrable 1: modele systemC des composants MWMR, IRQ. 0+20 IRISA Livrable 2: VHDL synthetisable des composants MWMR, IRQ. ************************************************************************************************************** Work package 3 : Outils de synthese front-end (polyedrique et ASIP) TASK-1 IRISA Un compilateur reciblable pour MIPS etendu (software) TASK-2 IRISA Definition d'un modele simplifie de micro-architecture MIPS extensible (sofware) TASK-3 IRISA Définition d'un modele complexe de micro-architecture MIPS extensible (rapport/software ?) TASK-4 IRISA Définition d'un modele complexe de micro-architecture MIPS extensible (exploratoire, rapport) ************************************************************************************************************** Work package 4 : Outils de synthese back-end (UGH, GAUT) TASK-1 LIP6/TIMA Adaptation de UGH a COACH (lire du xcoach ecrire du xcoach annote) 0+18 TIMA Livrable 1: executable TASK-2 LIP6/TIMA Amélioration de UGH. 0+18 LIP6 Livrable 1: executable UGH qui tient compte des primitives d'IO definies dans le WP2-T3 0+?? TIMA Livrable 2: executable UGH qui peut generer une architecture sans que les assignations des variables sur les registres soient explicites. TASK-3 LIP6 Calibrage de la fréquence des coprocesseurs 0+6 LIP6 Livrable 1: document 0+12 LIP6 Livrable 2: VHDL synthetisable de la FSM calibrable dynamiquement 0+20 LIP6 Livrable 3: logiciel de calibrage (cote OS et cote PC). ************************************************************************************************************** Work package 5 : Interlogiciel de communication PC/Accélérateur: TASK-1 LIP6+ALL Définition des protocoles de communication entre l'application qui tourne sur le PC et le TCG qui tourne sur l'accélérateur. 0+6 LIP6 Livrable 1: Document. TASK-2 LIP6 Outils d'aide au bi-partitionnement (mesure de l'efficacité) 0+12 LIP6 Livrable 1: Librairie C de communication contenant du code permettant d'estimer l'efficacite. TASK-3 ???? HW pour l'architecture SOCLIB 0+?? ???? Livrable: VHDL synthetisable d'un pont VCI/Avalon 0+?? TIMA Livrable: VHDL synthetisable d'un pont VCI/Bus-xilinx TASK-4 ???? Sofware pour HPC 0+?? ???? Livrable 1: driver PCI/X de IP Altera 0+?? TIMA Livrable 2: driver PCI/X de IP Xilinx 0+20 LIP6 Livrable 3: Implantation du protocole deifini en TASK-1 du cote PC/Linux et SOC. ************************************************************************************************************** --------------------------------------------------------------------------------- Annexe 1 Actions de base determinees lors d'une reunion LIP6/TIMA --------------------------------------------------------------------------------- HLS : UBS+TOUS *1) Définition des cellules et calibrage en fonction des cibles (WP1-T4) LIP6 *2) Calibrage de la fréquence des coprocesseurs TOUS *3) Définition de la représentation intermédiaire commune (WP1-T3) TOUS *4) Définition de la représentation intermédiaire annotée, en vue (WP1-T3) de génération de SystemC et VHDL UBS *5) gcc2xml-coach, xml-coach2c (WP1-3) - pilotage du front-end gcc LIP6 *6) xml-coach2SystemC (WP1-3) TIMA *7) xml-coach2VHDL (WP1-3) UGH: LIP6+TIMA *1) Extension des primitives de communication (WP2-T3) - variables globales, scalaires et tableaux - pipeline lecture/calcul/écriture en utilisant des primitives genre aio_read/aio_write/aio_return TIMA *2) génération automatique du DDP en fonction du comportement relacher un peu les contraintes syntaxiques (WP4-T2) 3) n'apparait pas dans les WP inclus implicite dans (WP4-T2 ou T1). TIMA+LIP6 *3) alléger la dépendance syntaxique entre le C et le DDP - associer un ensemble de variables à un RGF - ajout automatique des registres TIMA *4) Utilisation du xml à la place du front-end gcc actuel (WP4-T1) donc en pratique du xml-coach2vpn LIP6 *5) Génération du xml-coach annoté (WP4-T1) CONFIGURATION DYNAMIQUE PARTIELLE: LIP6+TIMA *1) Introduction de la notion de conteneur : définition, (WP2-T3) structuration, fusion, ... Bitstream correspondants TIMA *2) Gestion de la reconfiguration dynamique partielle pour optimiser l'utilisation des ressources FPGA TIMA *3) Définition de la gestion des bitstreams avec des copies locales et stockage dans les hiérarchies mémoires LIP6+TIMA *4) Implantation sur DSX : connaissance de la notion de conteneur (WP2-T3-L3) TIMA+LIP6 *5) Impact sur l'OS (chargement dynamique d'applications ou de tâches) (WP2-T1/T2-L2) TOOLING FOR EMBEDDED CSG (Coach System Generator) : TOUS *1) Définition d'un gabarit architectural (WP1-T1) TOUS *2) Définition de 3 mappings possibles : (WP1-T1) soclib vhdl, xilinx et altera (en DSX) LIP6 *3) Introduire la notion de variables partagées dans DSX (WP2-T3) - qui a le droit d'écrire une variable partagée ? LIP6+TIMA *4) Choix et fourniture des OS (WP2-T1/2-L1) et HW (WP2-T4/5/5) qui va avec +TOUS - Etude des RAMLOCKS vs LL/SC - Controleur d'interruption - ... TOOLING FOR HPC LIP6 *1) Définition des protocoles entre l'OS du PC et l'OS du SoC (W5-T1) LIP6 *2) Outil de mesure de l'efficacité d'un bi-partitionnement de (W5-T2) l'application LIP6+TIMA+ *3) Connexion hw entre PC et SoC : pci-express (WP5-T3) IRISA bridge os/pci-express/avalon-plb/vci (nécessite différentes implantations pour les différentes cartes + drivers correspondant) LIP6 *4) Implantation du protocole et du loader : (WP2-T1/2-L2), WP5-T4-L3 lib unix, driver linux, driver os-soc --------------------------------------------------------------------------------- Annexe 2 --------------------------------------------------------------------------------- ____________________________________________________________________________________________________ |ICU Avalon |ICU Xilinx |MWMR Avalon |MWMR Xilinx |NIOS |MICROBLAZE | ________|_______________|_______________|_______________|_______________|_______________|___________| SystemC |IRISA |TIMA |IRISA |TIMA |? |? | ________|_______________|_______________|_______________|_______________|_______________|___________| VHDL |IRISA |TIMA |IRISA |TIMA |Altera |Xilinx | ________|_______________|_______________|_______________|_______________|_______________|___________| François charot (IRISA) : développeur des composants soclib compatibles Avalon ---------------------------------------------------------------------------------