Академический Документы
Профессиональный Документы
Культура Документы
Chapitre 5
HW/SW codesign
AU : 2014/2015
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
2
Introduction
3
Introduction
4
Besoin dun flot de conception des SoC
5
Co-conception Hardware Software
La co-conception (codesign) dans la mthodologie de
conception dun systme embarqu est de plus en plus utilis
6
Conception/Co-conception
Co-conception (flot
Conception (traditionnelle)
concurrent)
System
Application Formal SoC
+ specification
Requirements validated by user
(VCC, SC Studio)
SoC Architect
IP Copro.
Architecture
Exploration
SW profile evaluation CPU HW modules
Case uses M B abstract models
CPU
worst-case analysis
IP IP
CPU IP
Architecture
Design
HW IP
API Interface
ISA RTL
SW Designer HW Designer
9
La co-conception des SoCs
Specification
System
Application Formal SoC
+ specification
Requirements validated by user
(VCC, SC Studio)
SoC Architect
IP Copro.
Architecture
Exploration
SW profile evaluation CPU HW modules
Case uses M B abstract models
CPU
worst-case analysis
IP IP
CPU IP
Architecture
Design
HW IP
Programmable IP HW IP
API SW Comm.
Interface
HW Comm. HW Comm
11
Les dfis de conception des SoC
Est-ce que a marche?
Spcifications correctes?
Implmentation conforme aux spcifications?
Comment tester les caractristiques temps-rel?
Comment tester avec de vraies donnes?
Architectures spcifiques:
Quantit de hardware ncessaire?
Performance du(es) CPU(s)? Mmoires?
multiprocesseurs htrognes;
organisation mmoire spcifique.
Comment respecter les chances?
Hardware plus rapide ou software plus intelligent?
Comment minimiser la consommation?
Mise hors fonction de la logique inutile? Rduire les accs mmoires?
Vrification:
Dure ditration longue;
Impossibilit de sonder les signaux internes.
12
Flot de conception des SoC
13
Avantages de la co-conception
14
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
15
Expression des besoins
Toute activit commence gnralement par une spcification informelle
(rapport de projets, etc.)
Il faut dgager une description prcise de ce que veut lutilisateur (le client) et
de ce quil espre obtenir
Besoins fonctionnels
Sorties en fonction des entres et des paramtres
Si le systme est temps rel dure, temps ncessaire pour calculer la sortie
16
Exemple : Systme GPS
La carte rcupre la
position partir du GPS
La base de donnes est
locale pour la carte
17
Besoins pour le systme GPS
Fonctionnalit : pour lautomobile, il faut montrer les axes principaux et les
repres
Interface utilisateur :
Au moins 400 x 600 pixels pour lcran
3 boutons au maximum
Menus droulants
18
Formulation des besoins pour le systme
GPS
Nom : Carte GPS
Objectifs: Carte routire GPS pour conducteur
Entres: 1 bouton on/off, 2 de contrle
Sorties: LCD 400X 600 rtro clair
Fonctions : rcepteur GPS; 3 rsolutions; affichage
de la latitude et de la longitude
Performances: Mise jour de lcran en 0.25s
Cot de fabrication : 100$ (fournitures)
Consommation : 100 mW
Taille : 5cm x 12 cm
Poids : 100g
19
Spcifications
20
Besoins des techniques de spcification
Reprsentation du temps
Reprsentation du flot de contrle pour les systmes
ractifs
Reprsentation du flot de donnes
21
Choix du modle
Simple
Expressif, flexible (couvre tous les cas de conception)
Ne doit pas tre trs gnral
Excutable (pour la simulation)
Synthtisable
Non influence par une implmentation spcifique
(matrielle/logicielle)
Le comportement
Machine dtats finis (FSM)
Flot de donnes (Data flow model)
Rseau de Ptri
Modle vnement discrets
Modle Von Neumann
23
Spcification pour le GPS
Doit comprendre :
Ce qui est reu du GPS
Les donnes de la carte
Linterface utilisateur
Les oprations ncessaires pour satisfaire la demande du
client
Les oprations darrire plan permettant au systme de
continuer fonctionner
24
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
25
Conception de larchitecture
Composants matriels :
CPU, priphriques, etc.
Composants logiciels
Programmes principaux et leurs oprations
27
Architecture matrielle du GPS
28
Architecture logicielle du GPS
29
Contraintes de partitionnement
De quel matriel a-t-on besoin ?
Quel processeur choisir ? Quelle puissance CPU ?
De quels type de mmoire et taille mmoire a-t-on besoin ?
Choix entre hardware rapide ou software intelligent ?
La consommation ? Minimiser les accs mmoire ? Choisir les
instructions assembleur en fonction de leur consommation ?
Les contraintes de temps de conception seront-elles respectes ?
Le TTM ?
Est-ce que le systme final marche correctement ?
Est-ce que les spcifications fonctionnelles ont t respectes ?
Comment doit-on tester les caractristiques Temps Rel du
systme? Doit-on le tester avec des donnes relles ? Quelle
plateforme de tests doit-on utiliser ?
30
Partitionnement L/M
dimplmentation P1 P2 P3 P4
Objectif du partitionnement
Le partitionnement doit rsoudre au moins 3 problmes
Trouver le meilleur choix de ralisation pour chaque tche
Choisir les dates dexcution des tches (ordonnancement)
Choisir des ressources pour raliser les tches (allocation)
32
Exemple dun qualiseur numrique 4
bandes
Choix de ralisation
n1, n2, n3 et n4 en matriel
n1 n2 n3 n4 Les autres en logiciel
e1 e2 e3 e4
n5 n6 n7 n8 Ordonnancement
n1 et n2, puis n3 et n4
n9 n10 Dans lordre n5, n6, n7, n8,
n9, n10, n11
n11
Allocation des ressources
HW1 SW1 2 filtres FIR
Fonction MUL( )
FIR1 FIR2 Communications
Fonction ADD( )
e1, e2, e3, e4
33
Exercice
x
Soit le graphe de tches suivant :
Ordre de production de z1 et z2 quelconque N1 OpA
Temps dexcution en logiciel 1,5 fois celui en matriel
y1 y2
OpB N2 N3 OpB
N1 N1 N1 N1
N2 N3 N2 N3
N2 N2
N3
N3
34
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
35
Synthse logicielle/matrielle classique
Sparation trs tt du
logiciel/matriel
Inefficace et exploration
darchitecture couteuses
36
Synthse logicielle/matrielle : nouvelle
approche
Ncessit davoir des niveaux
intermdiaires
Exploration darchitecture
efficace
37
Abstraction dans la modlisation et
conception
L'abstraction est un des piliers de la modlisation et de la
conception :
Identifie les caractristiques intressantes d'une entit en vue d'une
utilisation prcise.
Dsigne aussi l'ensemble des caractristiques essentielles d'une entit
Rduit la complexit et facilite ainsi la comprhension du systme tudi.
Dcompose la ralit pour disposer des lments de travail exploitables par
des moyens mathmatiques ou informatiques.
Il est impossible dapprhender tous les aspects dun systme complexe sans
faire des abstractions
38
Abstraction temporelle
L'abstraction temporelle reprsente le niveau de dtail avec lequel les
vnements sont reprsents sur une chelle de temps
Vision chronologique du temps. Notion de causalit entre vnements
Temps ordre Evnements ordonns de faon partielle ou totale en terme de leur
partiel (temps lancement et leur terminaison (aucune unit de temps)
Ni dure, ni date. Seulement la comparaison entre deux dates < & >
logique) Deux vnements sont lis par relations de prcdence, simultanit.
39
Abstraction structurelle
Reprsente le niveau du dtail avec lequel on dcrit la structure dun composant ou
dun systme.
Un circuit intgr numrique peut tre reprsent dun point de vue structurel
plusieurs niveaux dabstraction :
Une simple
boite noire (un
grand bloc)
Un diagramme de
macro blocs (ALUs,
ports E/S, )
Une liste dinterconnexion
(netlist) des composants de
base (registres, multiplieurs,
).
Schmatique transistors.
40
Niveaux dabstraction logiciel
41
Niveaux dabstraction matriel
Le niveau fonctionnel :
la description au niveau fonctionnel exprime le premier niveau interne de la solution, sous
la forme dun ensemble de fonctions +/- interdpendantes et de complexit varie. Cette
description est oriente application ou objectif satisfaire.
42
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
43
Techniques de validation des SoC
Vrification formelle
Co-simulation
mulation
Prototypage rapide
44
Validation par vrification formelle
Validation par preuve formelle.
utilisation des notations prdfinies comme le modle et les contraintes
vrifier
Dfinition de proprits logico-temporelles => pas denvironnement de test.
Perfectible pour un modle abstrait car ncessite une description de type
machine tats.
Complmentaire la simulation pour des cas longs simuler
Avantage :
exactitude
Inconvnient :
Difficile utiliser pour les systmes complexes et pour la vrification
logiciel/matriel
45
Validation par co-simulation
Utilisation de modles de calcul sur lordinateur (lectrique, logique,
comportemental)
Avantage :
trs flexible
Inconvnient :
vitesse rduite pour une simulation un bas niveau dabstraction
46
Validation par mulation
Utilisation dun matriel qui se comporte comme le systme vrifier
Le code logiciel est excut soit sur un vrai processeur ou sur un processeur mul
Le code matriel est synthtis dans une technologie de matrices FPGA spcialises o
tous les nuds sont accessibles
Avantages :
Laccs tous les nuds
Lacclration de la co-simulation
Inconvnients :
Peu flexible
Le cot
Ncessit dun code synthtisable
Lexcution non temps rel
47
Validation par prototypage
Construction de prototypes en utilisant les FPGAs (real time analysis)
Avantages :
La vrification nettement plus rapide que la co-simulation
le logiciel peut tourner en temps rel ou presque
Inconvnients :
Laccs aux nuds internes est restreint
Ncessit dun code matriel synthtisable
La taille du FPGA, des ressources mmoires et des E/S sont limites
Lenvironnement de validation est plus long mettre en uvre
48
Plan
Introduction
Spcification et modlisation
Partitionnement Matriel/Logiciel
Synthse
Validation
49
Intgration
50
Complexit de la communication HW/SW
Accs Mmoires
Application
Architecture
processeurs
protocoles
Architectures
des SE
DMA, HW I/O
Comm. Conception
HW-SW
Code SW / OS Interrupt IO A
B Hardware
ADR HW C
micro-processeur Data D
51
Interface Logicielle/Matrielle
52