μSpider
Environnement de Conception de Réseaux sur Puce
Samuel Evain
Soutenance de Thèse de Doctorat
LESTER-UBS
Vendredi 24 novembre 2006, Lorient
Samuel Evain
Plan
I.
Contexte de l’étude
II.
Outil de CAO
III. Garantir le temps réel par un TDMA
IV. TDMA dans le contexte d’horloges hétérogènes
V.
Sécurité
VI. Applications et résultats
VII. Conclusion, perspectives
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Plan
I.
Contexte de l’étude
II.
Outil de CAO
III. Garantir le temps réel par un TDMA
IV. TDMA dans le contexte d’horloges hétérogènes
V.
Sécurité
VI. Applications et résultats
VII. Conclusion, perspectives
Samuel Evain
I.
Contexte de l’étude
•CAO pour l’électronique embarquée
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
CAO pour l’électronique embarquée
Problématique de la conception
Degré d’intégration,
Nombre grandissant d’applications,
Manipuler d’important volume de données.
Moyen pour mtriser la complexité.
Réutilisation de l’existant (IP),
Augmentation du niveau d’abstraction.
Un outil de CAO pour l’électronique prend en compte:
Logiciel,
Application,
Architecture.
Samuel Evain
I.
Contexte de l’étude
•CAO pour l’électronique embarquée
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
CAO pour l’électronique embarquée
Client : utilisateur du système embarqué
Performance (capacité de traitement et consommation faible),
Évolution, pérennité,
Sécurité,
Prix.
Constructeur de circuits
Réduire la surface,
Réduire la consommation,
Satisfaire des contraintes de temps réel (bande passante,
latence).
Réduire le temps de conception et de mise sur le marché.
Constructeur d’un outil de CAO
Abstraire le problème,
Automatiser des taches fastidieuses et sources d’erreurs,
Réduire le temps d’exploration de l’espace de conception,
Chercher à maximiser des critères pour aboutir à une solution qui
convient.
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Les communications
La communication devient dominante
par rapport au traitement en termes
de temps,
de consommation,
et de surface.
IP
IP
IP
IP
?
IP
IP
IP
Nécessité
D’un moyen de communication adapté
aux futures systèmes.
???
Problématique
Apporter une solution pour
appréhender la complexité de l’espace
de conception.
Samuel Evain
IP
IP
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Un NoC (Network on Chip)
Un réseau
Un paquet
Lien
Routeur
Routeur
Routeur
NI
NI
W
W
IP
IP
Instructions
mot
mot
Routeur
NI
NI
W
W
Charge
utile
IP: Intellectual Property
IP
IP
Entête
mot
Flit
Phit
mot
mot
NI: Network Interface
Samuel Evain
Queue
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC (Network on Chip)
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Un NoC (Network on Chip)
Les avantages du réseau :
Interconnexion : Flexibles, Extensibles, grand débit cumulé.
Pas d’arbitrage central.
Tous les types de trafics peuvent être mélangés.
Les inconvénients du réseau :
Latence (fonction du nombre de routeurs traversés).
Risque de contention.
Nécessite des règles pour garantir le trafic.
Pourquoi le NoC devient incontournable?
Complexité des schémas d’interconnexion entre les IPs.
Niveau d’abstraction: une offre unifiée de services de communications.
Formalisation: mtrise de l’espace de solution.
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Espace de conception : vue générale d’un NoC
Large espace de conception
Topologie,
Choix des chemins,
Configuration pour satisfaire la
QoS,
Profondeur des FIFOs.
NI
Nécessite
NI
Méthode de décision,
Outil de décision.
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Espace de conception: Approche de parcours retenue
Problème d’optimisation
Approche heuristique.
Fonction de coût
Maximiser l’utilisation du NoC.
Réduire la surface en faisant la meilleure utilisation du réseau en réduisant la
quantité de FIFO requise.
Contraintes
QoS / Applications : Latence, Débit, Sécurité, Coût, Sûreté de fonctionnement.
QoS / Concepteur : Temps de conception.
Nos choix:
Commutation par paquet.
Routage par la source.
Applications en partie statiques.
Temps réel par TDMA pour les communications critiques.
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Contributions et positionnement des travaux
Outil de CAO pour la conception automatique de NOC
Exploration.
Décision.
Synthèse.
Algorithme de décision
Extraction des contraintes de communication depuis les contraintes
applicatives.
Méthode de décision pour configurer le réseau et assurer le service.
Solution pour garantir la QoS en présence d’horloges hétérogènes
Technique faible coût de sécurisation.
Validation
Cas réels pour la décisions.
Synthèse testée sur FPGA Xilinx.
Samuel Evain
I.
Contexte de l’étude
II.
III.
IV.
V.
VI.
VII.
Outil de CAO
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•CAO pour l’électronique embarquée
•Les communications
•Un NoC
•Espace de conception
•Contributions et positionnement des travaux
•Avancée des travaux au cours du temps
Avancée des travaux au cours du temps
Flot de conception
1) Etape de spécification
1) Etape dedespécification
Spécification
l’application
Spécification
de l’application
Choix
des paramètres
du NoC
Choix des paramètres du NoC
2) Dérivation automatique des
2) Dérivation
automatique des
contraintes
de communication
contraintes de communication
3) Configuration automatique du NoC
3) Configuration
automatique
Minimise
la profondeurs
des FIFOs du NoC
Minimise la profondeurs des FIFOs
4) Génération automatique du code
4) Génération
automatique
code
•Code
VHDL RTL pour
la synthèsedu
logique
•Code VHDL RTL pour la synthèse logique
(NIs, Routeurs, Table d’instruction de chemin,
(NIs, Routeurs, Table d’instruction de chemin,
…)
…) C (pilotes)
•Code
•Code C (pilotes)
Couches OSI
Domaines de recherche
Système
IP
source
Messages/transactions
IP
destination
Wrapper
Paquet/Flux
réseau
routeur
source
Liaison
Ctrl flux
Physique
Présentation
Wrapper
Adaptateur
réseau
Interface
Réseau
Application/
Flit
Interface
réseau
routeur
intermédiaire
routeur
destination
Ctrl flux Ctrl flux
Ctrl flux
Phit
Lien
Lien
Samuel Evain
Session/
Transport
Réseau
Liaison
Physique
I.
Contexte de l’étude
II.
Outil de CAO
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Caractéristiques
•Le flot de loutil àSpider
ãAdaptateur de protocole NoC bus OPB
ãMise en uvre sur plate forme FPGA Xilinx
Plan
I.
Contexte de l’étude
II. Outil de CAO
III. Garantir le temps réel par un TDMA
IV. TDMA dans le contexte d’horloges hétérogènes
V.
Sécurité
VI. Applications et résultats
VII. Conclusion, perspectives
Samuel Evain
I.
Contexte de l’étude
II.
Outil de CAO
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Caractéristiques
•Le flot de loutil àSpider
ãAdaptateur de protocole NoC bus OPB
ãMise en uvre sur plate forme FPGA Xilinx
Caractéristiques
Approche objet
Technologies logicielles
Langage de programmation: Java,
Environnement de développement: Eclipse,
Fichiers d’échange standard: XML.
Génération
du code VHDL RTL du NoC (routeurs, NIs, wrappers, liens),
des pilotes C pour le microprocesseur µBlaze,
des fichiers pour ajouter le Noc en tant que composant de la
bibliothèque de EDK de Xilinx.
Samuel Evain
I.
Contexte de lộtude
ãCaractộristiques
II.
Outil de CAO
ãLe flot de loutil àSpider
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Adaptateur de protocole NoC – bus OPB
•Mise en œuvre sur plate forme FPGA Xilinx
Le flot de l’outil µSpider
Génération / Importation d’une architecture
Contraintes de communication (.xls)
Topologie du NoC (.xml)
Graphe de l’application (.xml)
Dimensionnement du TDMA en nombre de slots
Dérivation des contraintes
Exploration,
décision
Calcul du nombre
de slots
nécessaires
à chaque
communication
library
noc_v1_00_e;
use noc_v1_00_e.generique_parameter_pck.all;
Exploration spatio-temporelle
pour chaque communication
use noc_v1_00_e.archi_noc3mb4RGT_noc_parameter_pck.all;
Pour chaque communication, sélection d’un chemins et des slots
entity archi_noc_entity is
Dimensionnement des FIFOs
port (
Description de l’architecture
du NoC (.xml)
Configuration,
noc_clock:
in Génération
std_logic;
Génération
Codes VHDL RTL du NoC (.vhd)
Code C pour les pilotes du µBlaze
Samuel Evain
I.
Contexte de l’étude
II.
Outil de CAO
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Caractéristiques
•Le flot de loutil àSpider
ãAdaptateur de protocole NoC bus OPB
ãMise en uvre sur plate forme FPGA Xilinx
Adaptateur de protocole NoC – bus OPB
Transaction lecture/ộcriture
Adaptateur NoC-OPB
NoC
àBlaze 1
(Maợtre)
WRS1
Bus OPB 1 (Esclave)
NIport NI1
R
R
R
R
NI2 NIport
WRM2
(Maợtre)
Bus OPB 2
RAM ctrl
(Esclave)
Envoi de message
NoC
àBlaze 1
(Maợtre)
WRS1
Bus OPB 1 (Esclave)
NIport NI1
R
R
R
R
NI2 NIport
WRS2
Bus OPB 2
(Esclave)
Samuel Evain
àBlaze 2
(Maợtre)
I.
Contexte de l’étude
II.
Outil de CAO
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Caractéristiques
•Le flot de loutil àSpider
ãAdaptateur de protocole NoC bus OPB
ãMise en uvre sur plate forme FPGA Xilinx
Adaptateur de protocole NoC – bus OPB
Adaptateur matộriel (wrapper) et logiciel (pilote)
NoC
àBlaze 1
(Maợtre)
Programme
Pilote
HAL
WRS1
Bus OPB 1 (Esclave)
NIport NI1
R
R
R
R
NI2 NIport
WRM2
(Mtre)
HAL: Hardware Abstraction Layer
@ de l’adaptateur
WRS1 sur le bus OPB1
@ pointée par le
programme du
processeur dans
son espace
mémoire
Numéro de connexion
@ de la RAM sur
le bus OPB2
Samuel Evain
Bus OPB 2
RAM ctrl
(Esclave)
I.
Contexte de l’étude
II.
Outil de CAO
III.
IV.
V.
VI.
VII.
Garantir le temps réel par un TDMA
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Caractéristiques
•Le flot de loutil àSpider
ãAdaptateur de protocole NoC bus OPB
ãMise en uvre sur plate forme FPGA Xilinx
Mise en œuvre sur plate forme FPGA Xilinx
Plateforme de prototypage: Xilinx Virtex-II Pro FF1152 PROTO
BOARD.
FPGA Xilinx Virtex-II Pro FF1152 VP-50-5.
Logiciel: Xilinx ISE 8.2 SP3.
FPGA: Xilinx Virtex-II Pro
FF1152 VP50-5
Samuel Evain
I.
II.
Contexte de l’étude
Outil de CAO
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
•Extraction des contraintes de communication depuis les contraintes
applicatives
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Plan
I.
Contexte de l’étude
II.
Outil de CAO
III. Garantir le temps réel par un TDMA
IV. TDMA dans le contexte d’horloges hétérogènes
V.
Sécurité
VI. Applications et résultats
VII. Conclusion, perspectives
Samuel Evain
I.
II.
Contexte de l’étude
Outil de CAO
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
•Extraction des contraintes de communication depuis les contraintes
applicatives
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Des slots de temps pour répartir le trafic
L’utilisation des liens est répartie dans le temps entre les
communications.
L’envoi des paquets depuis les interfaces d’entrée du réseau est
rythmé par des réservations de slots de temps dans des tables
TDMA.
Le pré-ordonnancement du TDMA
Garantit l’absence de conflit,
Assure la bande passante,
Assure la latence.
IP 1
IP 2
IP 3
NI_0
NI_1
R1
NI_2
Samuel Evain
R2
•Des slots de temps pour répartir le trafic
I.
II.
Contexte de l’étude
Outil de CAO
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Routage spatio-temporel
•Extraction des contraintes de communication depuis les contraintes
applicatives
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Routage spatio-temporel
Vue topologique
t
Vue Spatio-temporelle
Exploration sur les dimensions espace et temps
Slots de temps
BE
GT
FIFO
y
x
Samuel Evain
I.
II.
Contexte de l’étude
Outil de CAO
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Extraction des contraintes de
communication
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Routage spatio-temporel
Définir le nombre de slots de la table TDMA: N.
Bande passante d’un slot=1/N de la bande passante du
lien.
Répartition de l’utilisation du lien
Influe sur:
delai
la latence
la taille des FIFOs
Définir le nombre de slots à réserver dans la table TDMA
Bande passante de la communication
Décider du chemin spatio-temporel
Chemin
Slots occupés dans la table TDMA
NI_1
R00
R01
R10
R11
Samuel Evain
NI_2
I.
II.
Contexte de l’étude
Outil de CAO
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Extraction des contraintes de
communication
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Extraction des contraintes de communication depuis
les contraintes applicatives
Contraintes applicatives
entrée
Tâche
1
Tâche
2
Tâche
3
Tâche
4
Contraintes de communication
(latence, bande-passante)
Samuel Evain
sortie
I.
II.
Contexte de l’étude
Outil de CAO
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Extraction des contraintes de
communication
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Extraction des contraintes de communication depuis
les contraintes applicatives
Contraintes applicatives
Comment dériver les
contraintes de
communication
depuis les
contraintes applicatives?
entrée
Tâche
1
Tâche
2
Tâche
3
Tâche
4
Contraintes de communication
(latence, bande-passante)
Les interdépendances du problème
Il faut casser les dépendances
Latence
Bande passante
Samuel Evain
sortie
I.
II.
Contexte de l’étude
Outil de CAO
•Des slots de temps pour répartir le trafic
•Routage spatio-temporel
III.
Garantir le temps réel par un TDMA
IV.
V.
VI.
VII.
TDMA avec des horloges hétérogènes
Sécurité
Applications et résultats
Conclusion, perspectives
•Extraction des contraintes de
communication
•Principe pour décider les chemins
•Algorithme de routage
•Communications mutuellement exclusives
Extraction des contraintes de communication depuis
les contraintes applicatives
OK
Règles de cadence et d’initialisation
5
=f(L,Bw)
Non OK
3
Comi
1
Latence
4
2
Bande passante
i=1 à N
Samuel Evain
TDMA
min