Vous êtes sur la page 1sur 41

Spécification et conception conjointe des

systèmes matériel/logiciel

Méthodologie et outil

Jean-Paul CALVEZ
Equipe de Recherche
« Modélisation et Conception des Systèmes Electroniques »

Polytech ’ Nantes, France


jean-paul.calvez@polytech.univ-nantes.fr

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 1

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 2
Concevoir : c’est quoi?
Carte ou
Système
sur
silicium

Comment
faire ?

Logiciel Matériel
embarqué (bas-niveau)
Coût Delai
Performances
• Conception des circuits
• Conception des systèmes à microprocesseurs
Compétences • Maîtrise des domaines (électronique, signal…)
• Logiciels temps-réel
• Méthodologie de conception

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 3

Quelques définitions (1/2)


• Système:
– Toute "chose" constituée de parties organisées pour assurer une fonction
ou un ensemble de fonctions dans son environnement
• Architecture:
– La structure fondamentale et unifiante du système définie en terme de
ses constituants, interfaces, liens, comportements et contraintes
– basée sur un ensemble de concepts
– décrite par un ensemble de vues (perspectives) liées entre elles
• Propriétés émergentes: propriétés résultant du couplage entre les
constituants et pas uniquement de chaque composant (+ que somme des parties)
– propriétés observés, voulues, exigées
– propriétés inattendues, interdites…
– Importance de l’environnement (incertain, réactif…..)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 4
Quelques définitions (2/2)

• Méthode:
– technique de résolution de problème caractérisée par un ensemble de
règles bien définies qui conduisent à une solution correcte
• Méthodologie:
– un ensemble structuré et cohérent de modèles, méthodes, guides et outils
permettant de déduire la manière de résoudre un problème
• Modèle:
– une représentation d'un aspect partiel et cohérent du « monde » réel
– précède toute décision ou formulation d’une opinion
– est élaboré pour répondre à la question qui conduit au développement du
modèle
– n’est donc pas une fin en soi

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 5

Rôle d’un modèle pour les systèmes


• Abstraction
– Eliminer des détails, focaliser sur un point de vue du système
– Travailler à différentes échelles de complexité et de temps
• Analyse
– Etude des propriétés du modèle (vérification de propriétés)
– Extrapolation au système réel représenté
• Communication
– Discussion et échanges avec d’autres personnes
– Echanges entre outils
• Génération/Production
– Produire une représentation d’un autre niveau (autre modèle)
– Produire le système réel
=> Modèle à retenir: fonction de l’objectif visé

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 6
Modèle de cycle de développement en V
Besoin Produit
Validation, certification
Cahier des charges Test opérationnel

Spécification Validation système Test d’intégration


système système

Spécification Vérification performances Test


des performances de performances
Spécification
Vérification
Intégration
Conception fonctionnalités Test
préliminaire d’intégration

Conception Tests
Conception détaillée unitaires
Réalisation
Corrections Réalisation
par retours
constituants
arrière
Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 7

Constat aujourd'hui: Technology/Design Gap

Capacité
Complexité des circuits de conception
Conception de
niveau système
Platform-based travail- collaboratif
Complexité des circuits et multi-disciplinaire

IP-based Utilisation d'IPs


Saut: Changement
de paradigme
Hw/Sw CoDesign
CoDesign

Synthèse RTL
Démarche RTL
vers layout

94 95 96 97 98 99 2000

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 8
Evolution des méthodologies coté circuits
SRAM
uP core
ROM

SRAM ATM ROM Cache


uP core
ROM
Serial I/F
Logic MPEG RAM
Logic
Logic block I/F IP
ASIC - FPGA Complex ASIC with few IPs Plug & play System-on-a-Chip

Timing-Driven Methodology Block-Based Methodology Platform-Based Methodology


(TDD) (BBD) (PBD)

Personal Source Personal Virtual component


Reuse Portofolio Reuse Portofolio Reuse Portofolio Reuse Portofolio
Designer-specific + Functional starting + predictable, preverified, + Socketized functions for
reuse practices points for block design core functions plug&play integration

Opportunistic IP Reuse Planned IP Reuse

Source: Surviving the SoC revolution


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 9

Développer les systèmes différemment (1/2)

Systèmes Embarqués

Traditionnel

Intégration Approche matérielle


Approche logicielle
(Objets, Tâches, RTOS)
Test (SoCs, Asics, IPs)
Validation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 10
Développer les systèmes différemment (2/2)

Approche: System-Level Design


Nouveau et Co-Design •Application complète
(Système + Environnement)
•Technologie &
langage indépendants

Seamless Sw IPs Hw IPs


Design
Systèmes embarqués
Flow

Intégration Résultat matériel


Résultat logiciel
(Objets, Tâches, RTOS) Test (SoCs, Asics, IPs)
Validation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 11

Flot de Conception Aujourd'hui


Besoin

Specification du système Quoi (What) 10 Klignes


de C

Partitionnement matériel/logiciel Comment (How)

Spécification matériel Co-simulation Spécification Logiciel 50 Klignes


de C / VHDL

Synthèse du Co-simulation Compilation du


matériel détaillée logiciel

Placement & routage


Chargement 500 Klignes
Vérification exécution de netlist/code
validation debug

Fabrication
Hardware/Software Co-Design

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 12
Démarche de CoDesign
Spécification de
niveau système
Spécifications fonctionnelles et contraintes
Interactif
Architecture Partitionnement Hw/Sw Moyens
générique et allocation d'estimations

Génération modèle Génération modèle Génération modèle


logiciel(s) interfaces matériel

(Prototype virtuel) Automatique


Vérification par Co-Simulation

Librairies Librairies
Synthèse logicielle
Drivers Synthèse matérielle
Drivers + RTOS IPs
RTOS (Software Targetting) (Hardware Targetting)

Prototype réel: Evaluation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 13

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 14
Niveaux d’abstraction d’une plate-forme

API Services
pour un domaine L4 - CORBA-RT, HTTP, JINI, J2ME-CLDC
=>UTF (UnTimed Functional)

Niveau Message L3 - RPC, RMI, Modèle MCSE, UML-RT


Architecture
de =>TF (Timed Functional)
- Spécialisation ressources Niveau transaction L2 - Transaction-Level Modeling
- Ajout d’APIs =>BCA (Bus CycleAccurate)

Niveau Transfert L1 - VSIA-SLI - VCI =>CA (Cycle Accurate)

Niveau cycle horloge L0 - Description RTL =>PA (Pin Accurate)


- Synthèse
- génération
- réutilisation Niveaux réalisation - Descriptions structurelles: netlist …...

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 15

Niveaux d’abstraction d’une application

Cahier des charges: fonctionnalités et exigences


Expression du besoin associées => description textuelle
Vue
externe Description répondant au cahier des charges:
Spécification système spécifications et contraintes => StateCharts,
SA/RT, UML (Use Case, scénarios)

Service Solution du système répondant au besoin


- services pour le domaine
Vue Architecture
interne Message - RMI, Modèle MCSE, UML-RT, SpecC
fonctionnelle

- TLM
Transactions

Critère d’arrêt: Dépendance par rapport à la technologie de réalisation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 16
Intégration des 2 points de vue
Approche descendante dirigée par l’application

Modèle mixte résultant


Zone de recouvrement
Expression du besoin Expression du besoin
Approche ascendante
Spécification système Spécification système orientée plate-forme
API Services
Service L4 Niveau fonctionnel/services
pour un domaine
Architecture
Message L3 Niveau Messages Niveau Message Architecture
fonctionnelle
de
Transaction L2 Niveau Transaction Niveau ressources
Transaction

L1 Niveau Transfert Niveau


Transfert

L0 Niveau RTL Niveau cycle horloge

Niveaux réalisation Niveaux réalisation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 17

Exemple d’une architecture hétérogène


CPU conventionnel Processeur DSP
FPGA ASIC
Application

Mémoire
M1 M2 M3 M4 M5 M6 M7
Ci
Ci D1 Dk
L3
Primitives OS Adaptation Niveaux Adaptation
L2
Noyau temps-réel
de la
L1 plate-forme
Adaptation (HAL) Communication bas-niveau
Solution
AdaptationVCI complète
Contrôleur mémoire spécifique
CPU Mémoire E/S DSP Mémoire E/S Contrôleur bus optimisée
L0
Adaptation bus Adaptation bus Adaptation bus

Réseau
Arbitrage Passerelle inter-bus d’interconnexion

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 18
Modèle en Y
Architecture fonctionnelle Architecture physique
P0 Réseau de
MsQ2 Communication
F2
N0
F1
V1 Ev N1
MsQ1 P2
V3 P1
F0 F31 F32
F3 M Mémoire
(a) (b)
Mapping
Modèle Architectural (c)
Interfaces et réseau de Communication
P0 P1 P2
MsQ2 MsQ2
F2
MsQ1 N0 MsQ1 N1 IntP2
F0 IntP0 F1 IntP1 Ev
IntP01 V1 V1
V3
F31 F32
F3

V1 M

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 19

Flot de conception
Besoin client

Spécification Système
Spécifications fonctionnelles & non-fonctionnelles

Vérification & Validation


Conception fonctionnelle fonctionnelle

Solution fonctionnelle

Architecture Exploration architecture(s)


plate-forme
Conception architecturale Evaluation performances

(Macro-)Architecture physique

Process Dev Vérif & Validation Prototype


Outils Prototype & Implémentation
Qualification performances
Technologies
Architecture détaillée

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 20
Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 21

Expression des Exigences Système

Besoin
Client
Document CdCF

FONCTIONS Performances
principales Exigences Techniques
(Requirements) Economiques
Dérivées

Concepteurs
Fonctionnel
Architecture
+ Tests Physique

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 22
Catégories d’exigences non-fonctionnelles
• Performances
• performances temporelles: durée, latence, débit, …..
• Ressources nécessaires: énergie, mémoire, puissance de calcul ...
• Capacité de traitement, de communication
• Sûreté de fonctionnement
• Fiabilité, Sécurité, innocuité, maintenabilité, disponibilité
• Ergonomie
• Qualité des échanges
• Compétences d’exploitation
• Contraintes
• Physiques: dimensionnement, masse, environnement, …..
• Electriques, conformité à des normes, …..
• Evolutivité, coût et delai, livraison, qualification, ….

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 23

Etape 1 - (Co-)Spécification
• Modèles de spécification
– Une grande variété de modèles de spécification
• (Statechart, SDL, SpecChart, MatLab, MatriXx, C, VHDL, SystemC…….;
– Modèle unique (Lequel?) ou modèle hétérogène multi-langage
(Lesquels et couplages?)
– Difficultés d'exprimer tous les points de vue et
les spécifications non-fonctionnelles (contraintes)

• Techniques de vérification
– Simulation homogène: nécessité d'un simulateur ou conversion en un langage
donné
• StateMate, MCSE, SystemC….
– Simulation hétérogène:
• Ptolemy: encapsulation de modèles "d'univers différents" (Classes C++)
• Couplage de simulateurs par protocole TCP/IP ou sockets (VCI)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 24
Le système à spécifier et son environnement

Entité 2

Interactions

Point de vue
Observations Client Actions
Entité 1 Entité N

Système
Point de vue
concepteur Environnement

Entité k
Application

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 25

Approche pour la spécification Système


Comportement FSM
(temps) StateChart
Quand ? Réseau de Petri

1
Comment ?
Objet Activités
ou
Système

Data Flow Diagram


2 Activity Charts

Quoi ?
SYSTEM-LEVEL MODELING ?
Objets / Données /Evénements Informations
- Modèle hiérarchique de composition de données Notion de TEMPS essentiel pour les systèmes RT
- Modèle Entité/association
- Modèlel Objet (OMT, OOA)
Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 26
Analyse fonctionnelle
• Modèle SADT (Ross-77)
– Actigramme
– Datagramme A0

Global
Contrôle(s)

A1
A2
Flux entrant Flux sortant
Activité

Détaillé
Ressource(s)
Mécanismes

Limiter la décomposition
Outil SADT ou IDEF0 à 5 à 7 éléments

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 27

Spécification SA/RT (Ward/Mellor)

Outil StateMate Diagramme de Contexte


(Ilogix)
I1 A1 A2 O1

Data Flow Diagram


D
ou
Activity diagram

I2 O2
A3

StateChart
Méthode:
- diagramme de contexte
A3
- décomposition DFD
- introduction Statechart raffinement
- spécification activités ou
Difficultés Spécification textuelle
critère d’arrêt décomposition

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 28
Spécification du comportement (états discrets)
• Automate à états finis (FSM)
• GRAFCET
Description hiérarchique
• StateChart
• Réseau de Petri
A11
A21

Reset Réinitialisation
de A1 et A2
Arrêt en A11 et A21
A121

A22 Reset
Défaut
A122
Sortie de A1 et A2 et
retour en Arrêt A1 Activation parallèle A2
A

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 29

Specification and Description Language


pour les systèmes de Communication
Module 1 Module 2 Similitude
de notation
FSMD
Req St1 St2
MSend
Process 11
Resp
Connect Data Data

Cntl Data Cond


Decision Eval
Proc

MAck
Ack Close
Process 12 St1

St1
St2

Canal: File d ’attente de capacité infinie Outil de TELELOGIC

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 30
Specification: Approche Orientée Objet
Cas d’utilisation (Use cases) Sequence Charts (scénarios)
U1 F1 F2
U1 F1 D1

F3
U2
F2

Modes - Behaviors Contraintes

Requirement Target Measure


Environment
Safety
History
Reliability

Source: Artisan “real-time perpective”


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 31

Rhapsody (Ilogix)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 32
Matlab-Simulink et Matrixx

10
Géné s+10 +
Gain + 1 1 Modèle
- s s
-
Animation

2*Ki

StateFlow

• Modélisation de systèmes dynamiques sous forme de schémas-blocs


• Bibliothèque riche de blocs de base pré-programmés
• Méthodes d’intégration, simulation, linéarisation, etc.
• Génération de code C

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 33

Spécification avec MCSE


3
Activity Diagram
1 Run & Level<Lmin
CmdVT
Idle Filling
Tank
Run + Level>Lmax Level
Wait Tank Behavior

Order
Run 2
Order

Order ? Head Behavior


Start Stop Stop CmdCover
/run /run LimitDate
User CmdVB
Run Run Head
FT CmdHeadSpd
Input Behavior Running
HeadPosition
Idle Back
BottlePosition = 0
t:=0;
NbBottles
Cover
CmdHeadSpd such as Filling BottlePosition
HeadPosition=BottlePosition
waiting Conveyor
t>FT Belt &
bottles
Système spécifié

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 34
Spécification des performances
Quantification des propriétés d’un système selon des critères d ’observation

Performance
Performance
Exigences sur
le comportement
Statique
Statique Dynamique du système
Dynamique

Externe Interne
Interne
Externe

Exigences statiques Comportement du système en relation avec son environment


• Capacité Mémoire z Temps de réponse Comportement interne du système
• Consommation
z Débit (Throughput) z Utilisation d’une ressource
z Temps d ’execution d ’une tâche

z Débit d’un bus


Indices de Performance

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 35

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 36
Méthode globale de conception
Modélisation
Analyse des spécifications de la
plate-forme
Création du modèle fonctionnel
(Structure et macro-comportements) Analyse de la plate-forme
Ajout des
Création du modèle
Modélisation propriétés temporelles
fonctionnelle
de plate-forme

Allocation Fonctions->processeurs
(Analyse performances & sélection processeurs)
Exploration
d ’architecture
Etude des communications
& (Analyse communications & sélection des liens physiques)
Etude des
performances
Résultats

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 37

Les concepts pour la modélisation fonctionnelle


• 2 points de vue complémentaires:
– Organisation => structure
– rôle => comportement
• Structure
– constituants: signification et leurs propriétés
– interconnexions: nature et règles
– => modèle graphique et hiérarchique
• Comportement
– activités, actions opérations, états, transactions, conditions
– règles de construction: séquence, répétition, alternance, parallélisme,
conditions d’évolution

• => Difficultés: - Prévoir le comportement global dynamique


- Modèle indépendant de la technologie

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 38
Exemple de modèle fonctionnel
Functional Block Diagram (FBD)

Problème:
Sémantique des
F1 F2 liens de couplage

F3
F4 F5

F1

automate F3 F4
Procédure
modèle C ou VHDL
Mini Spec

Outil Foresight Systems


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 39

Modèle fonctionnel de MCSE (Technologie-independant)


Synchronisation
Architecture fonctionnelle
- Fonctions Fi Fn
- Liens Ev
F1 F2
Event
Fi Fn
Echange de données

Fi Fn
F1 F2
L V
F1 F2
Shar-Var

Transfert de données
limité
et Fi Fn
sémantique implicite Pt
F1 F2
Difficultés des liens multi-points Message
queue (port)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 40
Exemples de modèles fonctionnels

a) Modèle SpecChart b) Modèle MCSE

B1 Architecture fonctionnelle
V1

F1 (Fonction)
Canal de communication
C1 MsQ2 F2
Variable V2 Init

File de
message *

MsQ1 Ev (événement)
B2 B3
F0 Traitement V1
V3
C2 F31 F32

Macro-comportement F3
Variable partagée
Comportements parallèles B1 et B2

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 41

Modèle MCSE: Structure & comportement


Fonction
raffinée

Opération

Canal
Fonction de
élémentaire communication

Boucle
inconditionnelle
Attente d’un
événement

Variable
partagée

Attente simultanée sur 2 entrées


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 42
Exemple d’illustration: Codeur MPEG

Contrôle
quantification

Image Coded
courante + MB VLC & Tx
DCT Quant Transmit
framing Buffer Canal de
- transmission
Décisions d ’encodage
MC Partie Décodage pour
l’estimation de mouvement MC: Motion Compensation
+ DCT: Discrete Cosinus Transform
Précédent + Quant: Quantization
Courant IDCT IQuant VLC: Variable Length Coding
Mémoire Tx Frame IDCT: Inverse DCT
VLD: Variable Length Decoding
ME: Motion Estimation
ME Iquant: Inverse Quantization
Vecteur Tx Motion

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 43

Etape 2 - Création du modèle fonctionnel


A) Description procédurale B) Modèle fonctionnel

IDCT Correction (Add_pred)

PutSeq()
IDCTinit

PutPic *
*
InMB Prec
IQuant OutMB

Blocs itransform
idct Cur IDCTexec
Pred Add_pred Cur
Add_pred

16x16

Header
Parallélisme (Style pipeline)
Y0 Y2 Cr
C) Format du MacroBloc
Y1 Y3 Cb

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 44
Exemple: partie codage et estimation
Partie codage
Quantization
Control

Image d’entrée
ligne Coded
par ligne MBbis
provenant de
la caméra

Partie décodage pour l’estimation de mouvement


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 45

Exemple: partie compression et transmission

Variable d’asservissement du remplissage du buffer

Buffer de la bit stream


Simulation du canal
de transmission

Réseau de
transmission

CodedMBbis vers estimation du mouvement

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 46
Paramétrage temporel du modèle
Attribut de la condition
(3)(Valeurs par défaut) Attribut de l’opération
(1) GetTime
PutTime
GetTime OpDuration
F Attribut du port
*
(2) WriteTime

MsQ
OpN
V
(2) GetTime
Attributs de la relation
Attribut du port Attribut de l’action
(3)(Valeurs par défaut)
(1) WriteTime WriteTime
ReadTime
Get Time
MsQ
OpDuration Time
F
V
Write Time

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 47

Types d’attributs temporels

• Constante, Min/Nom/Max
• Toute expression mathématique (exprimable en C/C++)
• Valeurs en …Sec ou en cycles (t = NbCy x CyclePeriod)
• Mots clés prédéfinis pour les communications:
• DATASIZE,
• FCTCOMPUTETIME (méthode définie par l’utilisateur)

• Temps d’exécution pour chaque Opération


• Prédéfini, Profilé, fonctions aléatoires
• dépendant des données => Evalué durant l’exécution de l’algorithme

• Utilisation de paramètres générique dans toute expression


• Surcharge d’attributs de temps

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 48
Vérification par simulation: exemple de résultats
Image source Image en LoopMB (image 2 en différence)
Après DCT et quantification
Zoom sur l’exécution pipeline
Déroulement temporel détaillé

Image 1 en Intra Test à 1024 Kbits/s


Image 2 en Inter

Test à 384 Kbits/s (QuantizationControl ~ 24)

Premier paquet émis à 2520 us

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 49

Estimation des temps d’exécution


• Evaluation sur un CPU: modèle de CPU et/ou ISS
• Evaluation en matériel: synthèse architecturale
• Profiling des algorithmes

Copie PreviousFrame

Traitement de 11 macroblocs
Image 1 en Inter
Bords d’image Image 1 en Intra

Estimation de mouvement
pour Image 2 en Inter

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 50
Conception fonctionnelle : Méthode

• Approche indépendante de la technologie


• Raffinement et Déduction à partir des spécifications
et pas assemblage de composants
• Arrêt du raffinement lorsque les fonctions se décrivent par
un algorithme séquentiel
• Utiliser des modèles génériques ou design patterns comme
guide
• Vérifier et valider la conception par simulation (si possible)
• Commencer à calibrer le modèle en le « timant » au mieux

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 51

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 52
Problèmes de la conception architecturale
• Types d'architectures
• Architecture imposée ou à déterminer
• Architecture simple (CPU + Asic) ou architecture hétérogène
distribuée, maître/esclave ou multi-maître
• Niveaux de granularité
• Tâche ou process ou fonction
• Bloc
• Instruction
• Difficultés du problème
• Partitionnement Hw/Sw
• Sélection d'architecture(s)
• Sélection de composants
• Estimation des propriétés (What-If-Analysis)

==> Partitionnement Interactif plutôt qu'automatique

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 53

Problèmes de l’exploration d’architectures


• Estimation en matériel
• synthèse architecturale de la fonction (algorithme)
• résultat: temps d’exécution ( Nb cycles), surface, consommation
• Estimation en logiciel
• calcul des performances par analyse du source (jeu d’instructions)
• résultat: temps d’exécution max, taille code, taille données (cache?)
• Estimation en mémoire
• détermination des tailles mémoire, hiérarchie des mémoires
• résultat: architecture mémoire, capacités, bus d’interconnexion
• Estimation des communications
• sélection des protocoles de communication et performances
• résultat: mécanismes de communication, latence, débit

• ==> Nécessité d’un bon modèle d’estimation pour l’exploration


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 54
Méthode pour la conception architecturale
Modélisation
Analyse des spécifications de la
plate-forme
Création du modèle fonctionnel
(Structure et macro-comportements) Analyse de la plate-forme
Ajout des
Création du modèle
Modélisation propriétés temporelles
fonctionnelle
de plate-forme

Allocation Fonctions->processeurs
(Analyse performances & sélection processeurs)
Exploration
d ’architecture
Etude des communications
& (Analyse communications & sélection des liens physiques)
Etude des
performances
Résultats

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 55

Modélisation d’une plate-forme


Mémoire partagée Processeur
- ReadTime Mem matériel
Mémoire commune - WriteTime

Bus1

Proc2 Bus1 Proc3 Processeur Proc2 Int Processeur Proc3

Int
Noeud de
communication Signal
- SetTime
Link1 -ResetTime

Link1 Processeur logiciel


ProcessorType = Hardware
RelativeSpeed = AsicSpeed

uContrôleur SendTime
ReceiveTime
Mem Periph Proc3
RTK locale local
ProcessorType = Software SchedulingPolicy = PSP
Concurrency = 1 OverHead = 10 us
RelativeSpeed = SwSpeed

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 56
Modèle d’interconnexion physique
Pt1-to-Pt2

P0 P1 P2 Memory P0 P1 P2 P3 P4 Memory

Bus1

Pt1-to-Pt2 Bus1
Node 3
Bridge Node 1
Router 1 Router 1
Bus2 Node 2 Bridge
Node 4
Bus2
Interconnection Network
P3 P4 Behavior &
timing properties
(a) (b)

Proc
Bridge Node

(c) (d) Bus Router Pt-to-Pt

Paramétrage d’un noeud


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 57

Attributs pour un processeur logiciel


Priority = 10
Processeur logiciel Processeur P1

F1 Noeud (par défaut)


MsQ SendTime
ProcessorType = Software ReceiveTime
Concurrency = 1
RelativeSpeed = SwSpeed
CyclePeriod = 0.2 us Attributs
Ev
fonctionnels Interface

V1 Bus

F2
E/S du processeur
SendTime
SchedulingPolicy = PSP
OverHead = 10 us Priority = 20
Priority = 5

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 58
Comportement pour un processeur logiciel

Commutation de tâche
Overhead OpDuration dans F1
F1 Fin d’exécution de F1

Activation de F2
Ev
Set time Reset time Overhead
F2
Préemption du processeur pour F2 par F1

• Texec sur Sw/Hw = OpDuration [* CyclePeriod] / RelativeSpeed


• Attributs fonctionnels surchargés par ceux du processeur

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 59

Etape 3 - Partitionnement et Allocation


Structure fonctionnelle
Structure d’exécution

Carte
F1
Mapping
(allocation) N
P1 P2
V Pt

F31

Ev
F2
V3

F32
Coût de la communication
F3
et des interfaces
Performances résultantes

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 60
Analyse des contraintes de temps
• Pour chaque action temporaire:
• Fréquence maximale d’activation FAi = 1/TAi
• Temps d’exécution maximum TEi
• Taux d’occupation processeur: Tocc max = Σ FAi * TEi
• Pour tâche de fond: TEmax = TE / (1 - Tocc max)
TA 1 Tocc = TE1/TA1
Tâche 1
TE 1
TA 2
Tâche 2
TE 2
Priorité Contrainte logicielle : Tocc = TE1/TA1 + TA2/TE 2 < 1
Ev1 Ev2 Ev1
Tâche 1

Tâche 2
T Deadline
Background

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 61

Architecture résultante: exemple

MotionProc (matériel) CodingProc (logiciel) ControlProc (logiciel)

Grabbing DCT
TxMBinfo
VLCframing
TxSlice
Caméra Quant
TxBuffPtr LinkT
ErrorPrediction CodedMBbis

TxIQuant MuxSend
LinkC
LoopMBinfo Txpacket
Compensation
Quant
TxBuffer

- LoopMB Predicted TxMB TxMB LoopMB CodedMB Telecom


- PreviousFrame Frame

Bus

- TxBuffer
Architecture
- PreviousFrame de la plate-forme
SharedMem
- PredictedFrame

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 62
Résultats de performances attendus

• Précision des grandeurs et temps de réactivité


• Diagramme temporel détaillé (timeline)
• Vérification des échéances temporelles
• Taux d’occupation des ressources et fonctions (tâches)
• Taux d’utilisation des liens d’échange physiques
– Goulot d ’étranglement
– Effet de la latence des communications
• Profiling des algorithmes (optimisation et alloc de perf)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 63

Performances globales: sans lien physique


60 ms: Traitement des
2 premières images

RelativeSpeed = 1

Temps codage image: 25 ms, CodingProc: 79,4% ou 39,7% (speed x 2)


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 64
Modélisation pour les liens physiques
A) Partage du noeud N sans interfaces B) Partage du noeud N avec interfaces

V
V V

PSend NintOut Mémoire


F1 F2 NintIn
PSend PSend
PAck
F1 F2

N
PAck PAck
NIntIn NIntOut
P1 P2

N
P1 P2
Attributs
Attributs des relations
Concurrency = 1 des interfaces
Concurrency = 1
SendTime = DataSize * 20 us SendTime = DataSize * 20 us
ReceiveTime = 20 us ReceiveTime = 20 us

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 65

Performances avec les liens physiques

Interfaces pour
CodingProc
Mémoire

Bus

Temps codage image: 32 ms, CodingProc: 99,3% ou 53,5% (speed x 2)


Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 66
Etape 4 - Prototypage & Implémentation
Solution architecturale
Contraintes technologiques

Conception de la plateforme matérielle

Partie matérielle Partie logicielle

Synthèse Génération des


Génération
des interfaces
du logiciel
circuits Mat/Log

spécifications
Fonctionnelles et non-fonctionnelles
Co-vérification: fonctionnel + performances

Prototype

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 67

Co-Vérification

• Co-Simulation
• Vérification de la conception fonctionnelle puis architecturale
• Simulation du matériel et du logiciel, avant et/ou après la co-synthèse
• Importance des modèles pour le matériel et pour le logiciel:
Compromis: précision /temps de simulation
• Difficulté de l'estimation de performances
puis de la vérification/validation

• Prototype virtuel
• Mono-langage ou multi-langages
• Logiciel seul ou logiciel/matériel

• Emulation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 68
Niveaux de CoSimulation et Prototypage virtuel

VHDL CoSimulation niveau fonctionnel


Programme C Untimed
comportemental
Prototype virtuel de haut-niveau

Jeu d'instructions Compilateur

CoSimulation niveau Instructions Time-approximate


bit-accurate

Seamless
VHDL niveau RTL Modèle du processeur Assembleur
CVE (Mentor)
EagleI
CoSimulation niveau Cycle Prototype virtuel détaillé
(Synopsys) Cycle-accurate
Réalisation du
VHDL niveau portes Code binaire
processeur

Prototype réel

gate-accurate
Matériel Processeur Mémoire

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 69

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 70
Un outil pour la conception système - Objectif

Niveaux d ’abstraction système


Abstrait
Spécification

Conception

Monde Notations Monde


Langages
de de
l’ingénieur l’ordinateur
Implémentations
C++
SystemC
Détaillé
Gap

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 71

Point de vue
• Niveau du «langage»: Apte à l’expression du fonctionnel
– Favorise les solutions de qualité et technologie-independant
– Permet la vérification fonctionnelle et l ’étude des performances
– Facilite la génération des prototypes

• Nature du «langage»: Naturel et efficace pour les concepteurs


– Adapté à la culture des ingénieurs: concepts et notations
– Graphique and textuel
– Séparation des aspects: structure, comportements, propriétés…..
– Traduction automatique dans un langage de l’ordinateur
– Description résultante compréhensible par les concepteurs

• Le langage n’est pas suffisant:


– Méthodes and Méthodologie pour la qualité et l’efficacité

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 72
Function - Architecture CoDesign (VCC Cadence)

Static Discrete
C/C++ SDL/other
Dataflow event

Behavioral libraries Architecture libraries


Functional Level

Capture Verify Capture Verify


behavior behavior Architecture Architecture

Performance Map Behavior to Verify


Back-Annotation Architecture Performance Mapping Level

Refine Hw/Sw Link to


uArchitecture uArchitecture
Back-annotation verification
Architectural Level
Link to
HW/Sw
Implementation

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 73

Notre approche : MCSE ToolBox


Board
Pt Comportements Algorithmes
F2 P2
C++
F1
V
Ev *
+ SendEvent
+ VHDL
N M
F31 F32 OpProd

Mess C
F3
Structure P1

Mapping
Attributs fonctionnels des constituants Attributs exécutifs

Paramètres fonctionnels de conception Paramètres exécutifs de conception

Etude des Fonctionnalités et Performances de l’architecture globale


Influence des paramètres de conception

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 74
Cœur d’outils pour les 3 niveaux de conception
modèle de modèle
Trace événementielle
description simulable

Analyse du Résultats
Editeurs Comportement
Générateur Simulateur
Interactifs &
Performances

Boucle Interactive de conception

• Modèle C++ (et SystemC) simulable pour le niveau fonctionnel


• Modèle C++ (et SystemC) simulable pour le niveau architectural
• Prototype => Logiciel: C & RTK + matériel: VHDL synthétisable

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 75

Capture Etape 1
structure & algorithmes Exigences & Spécifications &
et ses propriétés Etape 2
Simulation fonctionnelle

Etape 3 Capture
architecture technique
et ses propriétés
Conception fonctionnelle

Architecture technique

Timeline
Simulation fonctionnelle Etape 4
timée Mapping
Profiling
Co-simulation
Etude Performances
Conception Architecturale Analyses "What-if"
(Partitionnement - Mapping)

MCSE ToolBox Etape 5


Résultats de
Prototypage Performances

Solution matérielle
Solution logicielle

Programmes C VxWorks, VHDL & SystemC

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 76
Caractéristiques de MCSE ToolBox
• Outil interactif simple d’utilisation
• Description séparée des 2 types d’architectures
• Partitionnement et allocation en interactif
• Simulation, observation, des propriétés fonctionnelles et
architecturales
• Capture de différentes architectures pour l’exploration de l’espace
de solutions
• Description à divers niveaux d’abstraction
• Evaluation des performances globales
• Génération de codes source C, SystemC, VHDL

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 77

Plan

• La conception système: c’est quoi


• Les bases de la modélisation et de la conception
• Spécification d’un système
• Conception fonctionnelle
• Conception architecturale
• Un outil comme support
• Conclusions

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 78
Conclusions (1/3)
• Beaucoup d'évolutions attendues dans les 10 ans à venir
– technologies, outils, méthodes, organisations
• Approche système inévitable
– approche par l’application
– pas de séparation culturelle entre Hw et Sw
– changement de technologies simple
– réutilisation world-wide indispensable

• Effort de formation important dans les entreprises


– progression ascendante lente, saut en abstraction

– intérêt des jeunes déjà formés pour assurer la transition

• Outils et IPs: évolution en cours

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 79

Conclusions (2/3)
• Problèmes de méthodologie :
• Séparation des compétences (Spécif. / Design / Hw /Sw)
• Spécifications ne provenant pas (uniquement) des exigences client
• Manque d’interaction ou mélange entre étapes
• Manque d’utilisation d’outils durant la conception, surtout pour les
premières étapes (spécification et conception trop textuelle)
• Vérification des performances trop tardivement sur le prototype
• Très peu d’exploration de l’espace des solutions

• Problèmes des outils


• Outils commerciaux existants mais difficulté de les coupler dans un
flot bien organisé
• La réutilisation d’IPs pas suffisant: Capitalisation aussi et d’abord

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 80
Conclusions (3/3)
• Changement: du physique vers le fonctionnel
– Penser à des niveaux plus conceptuels

• Résultats escomptés d’une méthodologie système:


– Réduire l’effort d’apprentissage
– Augmenter l’efficacité en trouvant des solutions appropriées
– Réutiliser des connaissances et moins « ré-inventer la roue »
– Augmenter et canaliser la compétence de l’entreprise
– Augmenter le dialogue et la confiance des clients

• Difficultés
– « Not enough time » (résistance au changement), est un alibi
– Nécessité d’un « Coaching » pour favoriser le changement
– Investissement de long terme (on-the-job training)

Ecole polytechnique
de l'université de NANTES
ARCHI 03 Roscoff - 4 Avril 2003 - Jean-Paul CALVEZ 81

Vous aimerez peut-être aussi