CO-DESIGN

Embedded Systems, Software and Hardware Design · course

Browse all électronique et automatique documents

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

Advertisement

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

Advertisement

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

Advertisement

(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

Advertisement

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