Académique Documents
Professionnel Documents
Culture Documents
Pour concevoir un système on part d’un cahier des charges à une réalisation:
On débute par une description comportementale
Puis, suite à des simulations et de mesures de performances, on identifie les
grands blocs.
La description devient alors mixte : une partie structurelle donnant la liste des
blocs et la façon dont ils sont interconnectés entre eux. Les blocs eux sont
encore représentés sous forme comportementale.
On réapplique ensuite ce procédé récursivement à chaque bloc (décomposition
en sous-blocs, sous-sous-blocs), jusqu’à l’obtention d’une description presque
totalement structurelle à base de bascules D et de fonctions logiques simples.
Des outils se chargent alors de traduire tout ça automatiquement en portes
logiques qui enfin seront réalisés physiquement.
Conception classique des systèmes
embarquées
Conception traditionnelle des systèmes embarqués
Intégration Intégration
Test Test
Validation Validation
Systèmes
Embarqué SoC
Approche traditionnelle
Flexibilité de conception
Possibilité d’effectuer des modifications lors de la phase de conception
en raison du changement d’orientation du systèmes ou des contraintes.
Limitation des erreurs de conception
Le co-design évite les mauvaises surprises lors de la phase d’intégration
des différents sous systèmes et les tests du système global.
Solutions moins couteuses et plus performantes
Phase d’intégration et de test réduites
Délai de mise sur le marché réduit (restreint)
Avantages du co-design
Objectif du partitionnement
Regrouper les comportements fortement dépendants, puis de
décider pour chaque regroupement le type de réalisation : logicielle
ou matérielle.
Approche
Afin de permettre le partitionnement, des estimateurs de
performance rapides et précis doivent prédire les performances et le
coût d’une réalisation architecturale.
o Choix du modèle de spécification en fonction du type de l'application
Cette étape regroupe les synthèses de la partie logicielle, de la partie matérielle et des
interfaces et protocoles de communication.
Synthèse logicielle : correspond à la conversion d’une description décrite dans
un langage fonctionnel en un code exécutable par un processeur.
Phase de développement
Phase de vérification
Debugger
Linker
Library
Profiler
Exec. File
Synthèse matérielle
Niveau
Spécification d’abstraction
Synthèse architecturale : comportementale
catapullt C: vérification et Description
comportementale
synthèse haute niveau Synthèse
architecturale
Description RTL
Synthèse
(register transfer level)
logique
Description logique
Synthèse (portes)
physique
Outils de synthèse logique : Fiabilité des
VHDL. Layout prédictions
Catapult est la principale solution HLS (High-Level Synthesis) pour ASIC
et FPGA, il supporte le C++/SystemC
Co-simulation
Machine à état fini
Une FSM est définie par des états et des transitions (conditions)
Feux de circulation
Digicodes
Ascenseur
Un état est la description de la configuration d’un système en attente
d’exécuter une transition.
Une transition est un ensemble d’actions à exécuter lorsqu’une
condition est remplie ou lorsqu’un évènement est reçu.
Dans l’état déverrouillé, ajouter des jetons supplémentaires n’a pas d’effet.
Mais dès qu’un usager tourne le bras du portillon, donc fournit un
pousser, la machine retourne à l’état verrouillé.
Représentation de la machine à état par un graphe orienté