CO-DESIGN
Plan
Introduction
Sp cification et mod lisation
Partitionnement Mat riel/Logiciel
Synth se
Validation
Int gration et tests dint gration
2
Flot de conception des SoCs (1)
Application
+
Requirements
Formal SoC
specification
validated by user
3
SW profile evaluation
Case uses
worst-case analysis
CPU
CPU
IP
Copro.
M
IP
B
IP
HW modules
abstract models
m
e
t
s
y
S
e
r
u
t
c
e
t
i
h
c
r
A
n
o
i
t
a
c
i
f
i
c
e
p
S
n
o
i
t
l
a
r
o
p
x
E
Perf. analysis HW/SW trade-off
Golden Architecture Model
SW modules
Com. Network (bus, crossbar, PQRS, &)
CPU
IP
API
ISA
SW Designer
Programmable IP
Sw Comm.
HW Comm.
HW IP
HW Comm
Communication Network
SoC Designer
e
r
u
t
c
e
t
i
h
c
r
A
n
g
i
s
e
D
HW IP
Interface
RTL
HW Designer
t
c
e
t
i
h
c
r
A
C
o
S
i
)
o
Publicité
d
u
t
S
C
S
,
C
C
V
(
Etapes du Codesign
Sp cification et mod lisation :
liste des fonctionnalit s du syst me de fa on abstraite.
conceptualisation et affinement des sp cifications produisant un mod le du
mat riel et du logiciel.
Partitionnement.
Synth se et optimisation : synth se mat rielle et compilation logicielle.
Validation
Int gration.
Tests dint gration.
4
Exemple : Syst me GPS
5
La carte r cup re la position
partir du GPS
La base de donn es est
locale pour la carte
Sp cification pour le GPS
Doit comprendre :
Ce qui est re u du GPS
Les donn es de la carte
Linterface utilisateur
Les op rations n cessaires pour satisfaire la demande du
client
Les op rations darri re plan permettant au syst me de
continuer fonctionner
6
Sp cification pour le GPS
7
Fonctionnalit : pour lautomobile, il faut montrer les axes principaux et les rep res
Interface utilisateur :
Au moins 400 x 600 pixels pour l cran
3 boutons au maximum
Menus d roulants
Performances : la carte doit tre balay e doucement , pas plus de 1 seconde
la mise sous tension, calage sur le GPS en moins de 15 secondes
Co t : prix de vente de 500$ (approximativement). 100$ de co t pour les
fournitures
Taille/poids : doit tenir dans la main
Consommation : doit fonctionner 8 heures avec 4 piles type AA
Sp cification pour le GPS
8
Nom :
Objectifs:
Entr es:
Sorties:
Fonctions :
Performances:
Co t de fabrication :
Consommation :
Taille :
Poids :
Carte GPS
Carte routi re GPS pour conducteur
1 bouton on/off, 2 de contr le
LCD 400X 600 r tro clair
r cepteur GPS; 3 r solutions; affichage de la latitude et de la
longitude
Mise jour de l cran en 0.25s
100$ (fournitures)
100 mW
5cm x 12 cm
100g
Exemple : Sch ma bloc du GPS
9
Plan
Introduction
Sp cification et mod lisation
Partitionnement Mat riel/Logiciel
Synth se
Validation
Int gration et tests dint gration
10
Conception de larchitecture
Quels sont les composants qui satisferont les sp cifications
majeures ?
Composants mat riels :
CPU, p riph riques, etc.
Composants logiciels
Programmes principaux et leurs op rations
Doit prendre en compte les sp cifications fonctionnelles et
non fonctionnelles
11
Architecture mat rielle du GPS
12
Architecture logicielle du GPS
13
Partitionnement
14
Lobjectif du partitionnement est de regrouper les variables et les
comportements fortement d pendants, puis de d cider pour chaque
regroupement dune r alisation logicielle ou mat rielle.
Probl matique
Les performances r elles de la r alisation ne peuvent tre connues
quapr s l tape de Co-simulation.
Approche
Afin de permettre le partitionnement, des estimateurs de performance
rapides et pr cis doivent pr dire les performances et le co t dune
r alisation architecturale.
Contraintes de partitionnement
De quel mat riel a-t-on besoin ?
Quel processeur choisir ? Quelle puissance CPU ?
De quels type de m moire et taille m moire a-t-on besoin ?
Choix entre hardware rapide ou software intelligent ?
La consommation ? Minimiser les acc s m moire ? Choisir les instructions assembleur en fonction
de leur consommation ?
Les contraintes de temps de conception seront-elles respect es ?
Le TTM ?
Est-ce que le syst me final marche correctement ?
Est-ce que les sp cifications fonctionnelles ont t respect es ?
Comment doit-on tester les caract ristiques Temps R el du syst me? Doit-on le tester avec des
donn es r elles ? Quelle plateforme de tests doit-on utiliser ?
15
Processus du Co-design
Publicité
16
Dans les flots conventionnels de conception, la d cision de partage entre
composants logiciels et mat riel est d cid e en amont tr s t t, usuellement
bas e sur des m thodes ad-hoc, cr ant ainsi un probl me commun ment
appel : Probl me de la continuit du mod le.
Probl mes rencontr s :
La possibilit d'explorer le compromis logiciel/mat riel est limit (c d. le
d placement de fonctionnalit entre le logiciel et le mat riel travers la
modification d'interfaces)
Les co ts augmentent et les fabrications sont report es d aux d cisions tardives
dans le cycle de conception (on ne s'aper oit r ellement de l'ad quation qu' la
fin du flot de conception)
Comment partitionner ?
17
Techniques simple
Compilateurs estimateurs, recherche heuristiques, etc.
Inconvenient : impact lourd sur les outils du flot de
conception
Technique base de sp cification h t rog ne
Partionnement Hw/Sw hypoth se
dunique spec
18
Hypoth se commencer par une
unique specification
Typiquement source logicielle
(Prog)
Partitionnement
Trouver les parties critiques de SW
Les mapper en HW
Cette hypoth se est effectuer par
differentes equipes de recherche
et des outils commerciaux
Sw
Compilation
Binaries
Specification
Hw/sw partitioner
Hw
Synthesis
Netlists
Partitionnement Hw/Sw exemple outils
commerciaux
CODES02
Codesign
Extended
Applications
Brian Grattan,
Greg Stitt, Frank
Vahid, Univ. of
California,
Riverside
Produits commerciaux
Synopsys Nimble compiler
(2000) attempt
Proceler
n Microprocessor Reports 2001
Technology of the Year Award
1-19
Approche simple
20
Profilage et Partitionnement
21
B n fices
Acc l ration de 10 200 fois
Acc l ration possible de 800 fois
Beaucoup plus de potentiel que les
optimisations dynamiques logicielles
(internes au processeur, d roulage de
boucle, pipeline logiciel,...)
R duction de la consommation
d' nergie de 25 95%
Profilage
22
Le Profilage permet d'apprendre les endroits, en terme de code, o le
programme passe son temps. Quelle fonction appelle quelle autre
durant son ex cution.
Le profilage s'effectue via des donn es collect e lors de l'ex cution de
l'application. Cette m thode peut donc tre utilis e pour analyser des
programmes trop complexe pour une analyse via la lecture des sources.
Ces informations de profil, montre les bouts de code o le programme
est plus lent qu'attendu.
Ces bouts de code sont de bons candidats :
une r criture optimis es
une transformation mat rielle
Profilage: comment ?
23
Avec gcc, il faut tout d'abord compiler et lier le programme avec les
options de profilage autoris es :
gcc -o myprog.exe myprog.c utils.c g pg
Il faut ensuite ex cuter le programme pour collecter les donn e du profil
d'ex cution
Le programme crit les donn es collect es dans un fichier `gmon.out juste
avant de finir.
Il est possible apr s d'utiliser gprof pour analyser les donn es
collect es :
gprof options myprog.exe gmon.out > outfile
gprof cr un fichier de profil et un graphe d'ex cution
Analyse du Partitionnement
24
Le profileur d termine
les d pendances et
permet une estimation
des performances.
Les r sultat de la
compilation est un
code HDL synth tisable
et un binaire
ex cutable par un
processeur.
Faiblesse de cette premi re approche
25
Certaines fonctions ne sont pas triviales r aliser en
mat riel.
Les d cisions prises trop t t dans le flot risque de ne
pas tre optimales
Aucune consid ration pour la communication et
l'interfa age.
Si l'application change alors il faut r -ex cuter un
profilage et ensuite un partitionnement.
Codesign: Un atelier
26
Repr sentation du Syst me
Evaluation du Syst me
CoDesign
D composition
Publicité
(Raffinement des fonctions du
syst me en une collection de sous-
fonctions
Partitionnement
Mat riel/Logiciel (D termine
quelle sous-fonction doit tre mise
en Suvre en logiciel ou mat riel)
Raffinement
(Production alternative de versions
logicielle ou mat rielle en fonction
de r sultats d' valuation)
Int gration du Syst me
Partitionnement et Ordonnancement
27
Le partitionnement et l'ordonnancement de t che est imp ratif dans beaucoup
d'applications, en codesing de syst me, pour les multi-processeur et les syst mes
reconfigurables.
Les t ches identifi es de la description initiale de l'application doivent tre mise en
oeuvre :
Au bon endroit (partitionnement)
Au bon moment (ordonnanceur)
Ces probl mes bien connus, le partitionnement et l'ordonnancement, ont t
identifi s comme des probl mes NP-Complets.
Les techniques d'optimisations bas es sur des heuristiques sont g n ralement
employ es pour explorer l'espace des possibilit s o des solutions quasi-optimales
peuvent tre trouv es.
Partitionnement
28
Les m canismes optimiser lors d'un partitionnement :
Minimiser les communication travers un bus
Extraire le maximum de parall lisme -> Faire ex cuter simultan ment le mat riel
(FPGA/ASIC) et le logiciel (Processeur)
Extraire le maximum de performances du processeur
Partitionnement L/M
Point de d part : un graphe de t ches
Les nSuds repr sentent les fonctions (les t ches)
Les arcs repr sentent le trajet du flot de donn es
entre les nSuds
P5
P2
P4
P1
P3
R sultat : une architecture et un choix
dimpl mentation
Larchitecture est un ensemble de composants
interconnect es
Le choix dimpl mentation est la d cision de
r alisation pour chaque nSud
HW1
SW1
P1
P2
P3
P4
P5
SW2
29
Allocation de ressources
Parmi toutes les solutions possibles en mat riel et en logiciel,
il faut lister les ressources requises pour r aliser les t ches
Objectif du partitionnement
Le partitionnement doit r soudre au moins 3 probl mes
Trouver le meilleur choix de r alisation pour chaque t che
Choisir les dates dex cution des t ches (ordonnancement)
Choisir des ressources pour r aliser les t ches (allocation)
30
Exemple dun qualiseur num rique 4
bandes
n1
e1
n5
n2
e2
n6
n3
e3
n7
n4
e4
n8
n9
n10
n11
HW1
FIR1
FIR2
Choix de r alisation
n1, n2, n3 et n4 en mat riel
Les autres en logiciel
Ordonnancement
n1 et n2, puis n3 et n4
Dans lordre n5, n6, n7, n8, n9, n10, n11
Allocation des ressources
2 filtres FIR
SW1
Fonction MUL(& )
Fonction ADD(& )
Communications
e1, e2, e3, e4
31
Exercice
Soit le graphe de t ches suivant :
Ordre de production de z1 et z2 quelconque
Temps dex cution en logiciel 1,5 fois celui en mat riel
Pour simplifier, on suppose N1 r alis e en logiciel, et
un seul processeur dans larchitecture finale
Il existe 4 solutions
x
N1 OpA
y2
y1
OpB
N2
N3
OpB
z1
z2
Logiciel Mat riel
Logiciel Mat riel
Logiciel Mat riel
Logiciel Mat riel
N1
N2
N3
Publicité
N1
N2
N3
N1
N2
N1
N3
N2 N3
32
Exemple partitionnement: Compte tours
magn tique
33
N1: G rer les capteurs effet hall (mesure de tours)
N2: D codage de lentr e
N3: R alisation dun filtre FIR pour chaque entr e
N4: Calcul de la vitesse base du nombre de tour
N5: G n ration de la sortie
N6: R alisation
N7: Packaging
N8: TEST et Validation
Exemple partitionnement: Compte tours
magn tique
34
4 - Capteurs effet hall (mesure de tours)
D codage de lentr e
Utilisation processeur g n raliste pouvant g rer un comptage sur
une seul entr e
R alisation dun filtre FIR pour chaque entr e
Calcul de la vitesse base du nombre de tour
G n ration de la sortie
Contraintes du syst mes : Surface 40 unit s, temps 100 cycles
Exemple partitionnement: Compte tours
magn tique
35
Nod
e
N1
N2
N3
N4
N5
Hard
Soft
Choix
4 traitement lectronique
4 processeur une entr chacun
Diviser en 2 sous nSud N11: mutiplexage
de lentr e et N12: g rer le timing de
multiplexage
Temps de
r alisation
-----
Utilisation dune unit de comptage capture
dun MCU
Polling p riodique pour la lecture de lentr e
Hard: Contrainte defficacit et de temps
dex cution
Une semaine
R alisation dun filtre FIR hard
R alisation dun filtre FIR soft
Soft: contrainte de surface et co t
deux semaine
R alisation m canique ou d codeurs
Multiplication par facteur de vitesse
Soft: Contrainte de surface et co t
Une semaine
Affichage analogique
Affichage sur LCD
Soft: Contrainte relatif choix de N4
Deux semaines
N11 Multiplexage hard
---
Hard
N12 G rer le timing par des compteurs
G rer par le soft
Soft: espace temps et co t
N6
----
----
N7
N8
Mohamed MASMOUDI
2012-2013
ENSI
Une semaine
Une semaine
2 mois
1 mois
Deux semaines
Exemple partitionnement: Compte tours
magn tique
36
N11 se fait avant N12
N2 apr s N12
N8 apr s N11, N12, N2,
N3, N4, N5, N6, N7
N11 apr s N6
N7 apr s N6
N3
N4
N5
N6
N11
N7
N12
N2
N8
Exemple partitionnement: Compte tours
magn tique
37
SW HW1 HW2
3
4
5
12
11
2
6
7
8