source: anr/wp.txt @ 344

Last change on this file since 344 was 9, checked in by coach, 15 years ago

WP après la réunion du 3 dec 2009

File size: 12.9 KB
Line 
1
2**************************************************************************************************************
3Work package 1 : Specification de l'architecture logicielle de COACH et outils communs:
4
5TASK-1  LIP6+ALL     Specification de COACH au niveau du concepteur de systeme:
6                     COACH est une boite noire, les entrées, les sorties, le flot
7                     de conception préconisé, Définition de l'architecture du MP-SoC et ses 3 mappings
8   0+6  LIP6         Livrable-1: un document
9
10TASK-2  LIP6+ALL     Structure interne de COACH.
11   0+6  LIP6         Livrable: un document
12
13TASK-3  LAB-STIC+ALL Définition du language commun annoté (xfg: xlm flow graph)
14   0+6  LIP          Livrable 1: V0 un document, une dtd
15   0+12 LIP          Livrable 1: V1 un document, une dtd
16   0+18              Livrable 1: V2 expression du potentiel des boucles
17
18   0+12 LAB-STIC     Livrable 2: VO gcc2coach, coach2c
19   0+18 LAB-STIC                 FI gcc2coach, coach2c
20   0+18 LIP6         Livrable 3: VO coach2systemc
21   0+24 LIP6                     FI coach2systemc
22        LAB-STIC : Livrable 4: V0  0+18 coach2vhdl
23                 V1 : 0+24
24                 FI : 0+32
25
26TASK-4  LAB-STIC+ALL Définition et description des cellules de base et de leur caractéristques.
27   0+6  LAB-STIC     Livrable 1: un document
28   0+12 LAB-STIC     Livrable 2: outil de caractéristion automatique
29
30**************************************************************************************************************
31Work package 2 : Outils de conception systemes:
32
33TASK-1  LIP6         Mutek Operating sytem
34   0+12 LIP6         Livrable 1: OS pour Embedded System
35   0+30 LIP6         Livrable 2: OS pour HPC (driver PCI/X) et reconfiguration dynamique
36
37TASK-2  TIMA         DNA Operating sytem
38   0+12 TIMA         Livrable 1: OS pour Embedded System
39   0+30 TIMA         Livrable 2: OS pour HPC (driver PCI/X) et reconfiguration dynamique
40
41TASK-3  LIP6+ALL     Definition de l'entrée de CSG (Coach System Generator):
42                                         la syntaxe d'entrée TCG, architecture,
43                                        les primitives de communication entre taches
44                     (variable globale, canaux, tampon ping-pong).
45   0+6  LIP6         Livrable 1: document
46   0+12 LIP6         Livrable 2: Executable sans reconfiguration: gestion des 3 architectures.
47   0+30 TIMA+LIP6    Livrable 3: CSG avec reconfiguration +++++ Ajouter CDP-2-3
48
49TASK-4 LIP6          Composants matériels de l'architecture SOCLIB + composants génériques
50   0+18 LIP6         Livrable 1: VHDL synthetisable des composants VCI : MWMR, IRQ.
51wrapper
52   0+18 IRISA?       Livrable 2: wrapper SystemC VCI/AVALON
53   0+18 IRISA?       Livrable 3: wrapper VHDL synthé VCI/AVALON
54   0+18 TIMA?        Livrable 4: wrapper SystemC VCI/PLB
55   0+18 TIMA?        Livrable 5: wrapper VHDL synthé VCI/PLB
56 
57   0+18 CITI         Livrable 6: VHDL synthetisable d'un composant VCI MWMR++ (DMA intelligent)
58   0+18 CITI         Livrable 7: modèle SystemC d'un composant MWMR++ VCI(DMA intelligent)
59   0+18 LAB-STICC    Livrable 8: VHDL synthetisable d'un composant spatio-temporel
60
61
62sans wrapper
63   0+18 TIMA         Livrable 2: VHDL synthetisable des composants PLB :MWMR, IRQ.
64   0+18 TIMA             Livrable 3: modèle SystemC des composants PLB :MWMR, IRQ.
65   0+18 IRISA?       Livrable 4: VHDL synthetisable des composants AVALON : MWMR, IRQ.
66   0+18 IRISA?       Livrable 5: modèle SystemC des composants AVALON :MWMR, IRQ.
67
68   0+18 CITI         Livrable 6: VHDL synthetisable d'un composant VCI MWMR++ (DMA intelligent)
69   0+18 CITI         Livrable 6: VHDL synthetisable d'un composant PLB MWMR++ (DMA intelligent)
70   0+18 CITI         Livrable 6: VHDL synthetisable d'un composant AVALON MWMR++ (DMA intelligent)
71   0+18 CITI         Livrable 6: modèle SystemC d'un composant MWMR++ VCI(DMA intelligent)
72   0+18 CITI         Livrable 6: modèle SystemC d'un composant MWMR++ PLB (DMA intelligent)
73   0+18 CITI         Livrable 6: modèle SystemC d'un composant MWMR++ AVALON(DMA intelligent)
74
75   0+18 LAB-STICC    Livrable 7: VHDL synthetisable d'un composant spatio-temporel
76
77TASK-5  TIMA         Composants matériels de l'architecture Xilinx
78   0+18 TIMA         Livrable 1: modele systemC des composants MWMR, IRQ.
79   0+20 TIMA         Livrable 2: VHDL synthetisable des composants MWMR, IRQ.
80
81TASK-6  IRISA        Composants matériels de l'architecture Altera
82   0+18 IRISA        Livrable 1: modele systemC des composants MWMR, IRQ.
83   0+20 IRISA        Livrable 2: VHDL synthetisable des composants MWMR, IRQ.
84
85**************************************************************************************************************
86Work package 3 : Outils de synthese front-end (polyedrique et ASIP)
87
88TASK-1 IRISA  Extraction de motifs et regénération au format COACH annoté
89        0+18                    Livrable 1: V0 Intégration manuelle des motifs
90    0+24                                                FI Intégration automatique des motifs (architecture-dépendant)
91
92TASK-2 IRISA  Définition d'un modele simplifie de micro-architecture capable d'éxecuter des motifs issues de la tâche 1
93        0+12            Livrable 1: Modèle SystemC du MIPS extensible
94        0+18            Livrable 1: Modèle VHDL du MIPS extensible
95
96        0+12            Livrable 2: Modèle SystemC du NIOS extensible
97        0+18            Livrable 2: Modèle VHDL NIOS extensible
98       
99        0+12            Livrable 3: Modèle SystemC du µblaze extensible ??
100        0+18            Livrable 3: Modèle µBlaze extensible ???
101       
102       
103TASK-3 IRISA  Définition d'un modele complexe de micro-architecture
104        0+24            Livrable 1: Modèle SystemC du MIPS extensible
105        0+24            Livrable 1: Modèle VHDL du MIPS extensible
106    0+36        Livrable 2: Rapport d'evaluation
107
108
109TASK-4 LIP-ALL   Exploitation des boucles Polyedriques
110    0+12     Outil d'ordonnancement
111    0+18     Outil d'exploration des transformations
112    0+24     generation du code xfg etendu V1
113    0+30     gestion de la memoire et contraction des tableaux
114    0+34     generation du code xfg etendu V2
115
116**************************************************************************************************************
117Work package 4 : Outils de synthese back-end (UGH, GAUT)
118
119TASK-1  LIP6/TIMA    Adaptation de UGH a COACH
120   0+18 TIMA         Livrable 1: executable(lire du xcoach)
121   0+18 TIMA         Livrable 2: executable(ecrire du xcoach annote)
122
123TASK-2  LIP6/TIMA   évolution de UGH.
124   0+18 LIP6         Livrable 1: executable UGH qui tient compte des primitives d'IO definies
125                                 dans le WP2-T3
126   0+?? TIMA         Livrable 2: executable UGH qui peut generer une architecture sans que les assignations
127                                 des variables sur les registres soient explicites.
128
129TASK-3  LAB-STICC    Adaptation de GAUT a COACH
130   0+18                         Livrable 1: executable(lire du xcoach)
131   0+18                         Livrable 2: executable(ecrire du xcoach annote)
132
133TASK-4  LAB-STICC   évolution de GAUT
134   0+18             Livrable 1: prise en compte du modèle CDFG
135   0+??             Livrable 2: génération d'architecture multi-clock.
136   0+??             Livrable 3: synthése hierachique
137
138TTASK-5  LIP6        Calibrage de la fréquence des coprocesseurs
139   0+6  LIP6         Livrable 1: document
140   0+12 LIP6         Livrable 2: VHDL synthetisable de la FSM calibrable dynamiquement
141   0+20 LIP6         Livrable 3: logiciel de calibrage (cote OS et cote PC).
142
143
144**************************************************************************************************************
145Work package 5 : Interlogiciel de communication PC/Accélérateur:
146
147TASK-1  LIP6+ALL     Définition des protocoles de communication entre l'application qui
148                     tourne sur le PC et le TCG qui tourne sur l'accélérateur.
149   0+6  LIP6         Livrable 1: Document.
150
151TASK-2  LIP6         Outils d'aide au bi-partitionnement (mesure de l'efficacité)
152   0+12 LIP6         Livrable 1: Librairie C de communication contenant du code permettant
153                       d'estimer l'efficacite.
154
155(TASK inutile si bridge)
156TASK-3  ????         HW pour l'architecture SOCLIB
157   0+?? ????         Livrable: VHDL synthetisable d'un pont VCI/Avalon
158   0+?? TIMA         Livrable: VHDL synthetisable d'un pont VCI/Bus-xilinx
159
160TASK-4  ????         Sofware pour HPC
161   0+?? ????         Livrable 1: driver PCI/X de IP Altera
162   0+?? TIMA         Livrable 2: driver PCI/X de IP Xilinx
163   0+20 LIP6         Livrable 3: Implantation du protocole deifini en TASK-1 du cote PC/Linux
164                                 et SOC.
165 
166
167**************************************************************************************************************
168
169---------------------------------------------------------------------------------
170Annexe 1
171Actions de base determinees lors d'une reunion LIP6/TIMA
172---------------------------------------------------------------------------------
173
174            HLS :
175UBS+TOUS     *1) Définition des cellules et calibrage en fonction des cibles (WP1-T4)
176LIP6         *2) Calibrage de la fréquence des coprocesseurs
177TOUS         *3) Définition de la représentation intermédiaire commune (WP1-T3)
178TOUS         *4) Définition de la représentation intermédiaire annotée, en vue (WP1-T3)
179                 de génération de SystemC et VHDL
180UBS          *5) gcc2xml-coach, xml-coach2c (WP1-3)
181                 - pilotage du front-end gcc
182LIP6         *6) xml-coach2SystemC (WP1-3)
183TIMA         *7) xml-coach2VHDL (WP1-3)
184
185            UGH:
186LIP6+TIMA    *1) Extension des primitives de communication (WP2-T3)
187                 - variables globales, scalaires et tableaux
188                 - pipeline lecture/calcul/écriture en utilisant des
189                   primitives genre aio_read/aio_write/aio_return
190
191TIMA         *2) génération automatique du DDP en fonction du comportement
192                 relacher un peu les contraintes syntaxiques (WP4-T2)
193
194              3) n'apparait pas dans les WP inclus implicite dans (WP4-T2 ou T1).
195TIMA+LIP6     *3) alléger la dépendance syntaxique entre le C et le DDP
196                 - associer un ensemble de variables à un RGF
197                 - ajout automatique des registres
198TIMA         *4) Utilisation du xml à la place du front-end gcc actuel (WP4-T1)
199                 donc en pratique du xml-coach2vpn
200LIP6         *5) Génération du xml-coach annoté (WP4-T1)
201
202            RECONFIGURATION DYNAMIQUE PARTIELLE:
203LIP6+TIMA    *1) Introduction de la notion de conteneur : définition, (WP2-T3)
204                 structuration, fusion, ...
205                 Bitstream correspondants
206TIMA         *2) Gestion de la reconfiguration dynamique partielle pour
207                 optimiser l'utilisation des ressources FPGA
208TIMA         *3) Définition de la gestion des bitstreams avec des copies
209                 locales et stockage dans les hiérarchies mémoires
210LIP6+TIMA    *4) Implantation sur DSX : connaissance de la notion de conteneur (WP2-T3-L3)
211TIMA+LIP6    *5) Impact sur l'OS (chargement dynamique d'applications ou de
212                 tâches) (WP2-T1/T2-L2)
213
214            TOOLING FOR EMBEDDED
215            CSG (Coach System Generator) :
216TOUS         *1) Définition d'un gabarit architectural (WP1-T1)
217TOUS         *2) Définition de 3 mappings possibles : (WP1-T1)
218                 soclib vhdl, xilinx et altera (en DSX)
219LIP6         *3) Introduire la notion de variables partagées dans DSX (WP2-T3)
220                 - qui a le droit d'écrire une variable partagée ?
221LIP6+TIMA    *4) Choix et fourniture des OS (WP2-T1/2-L1) et HW (WP2-T4/5/5) qui va avec
222+TOUS            - Etude des RAMLOCKS vs LL/SC
223                 - Controleur d'interruption
224                 - ...
225
226            TOOLING FOR HPC
227LIP6         *1) Définition des protocoles entre l'OS du PC et l'OS du SoC (W5-T1)
228LIP6         *2) Outil de mesure de l'efficacité d'un bi-partitionnement de (W5-T2)
229                 l'application
230LIP6+TIMA+   *3) Connexion hw entre PC et SoC : pci-express (WP5-T3)
231IRISA               bridge os/pci-express/avalon-plb/vci
232                    (nécessite différentes implantations pour les
233                     différentes cartes + drivers correspondant)
234LIP6         *4) Implantation du protocole et du loader : (WP2-T1/2-L2), WP5-T4-L3
235                 lib unix, driver linux, driver os-soc
236
237
238---------------------------------------------------------------------------------
239Annexe 2
240---------------------------------------------------------------------------------
241____________________________________________________________________________________________________
242        |ICU Avalon     |ICU Xilinx     |MWMR Avalon    |MWMR Xilinx    |NIOS           |MICROBLAZE |
243________|_______________|_______________|_______________|_______________|_______________|___________|
244SystemC |IRISA          |TIMA           |IRISA          |TIMA           |?              |?          |
245________|_______________|_______________|_______________|_______________|_______________|___________|   
246VHDL    |IRISA          |TIMA           |IRISA          |TIMA           |Altera         |Xilinx     |
247________|_______________|_______________|_______________|_______________|_______________|___________|
248
249
250François charot (IRISA) : développeur des composants soclib compatibles Avalon
251
252---------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.