Vous êtes sur la page 1sur 19

14/09/2021

Université Tunis El Manar


Institut Supérieur d’Informatique

Conception des
Systèmes Embarqués
(codesign) Mariem FEKI
3SE

Année Universitaire 2021-2022

Information concernant le cours

 Volume horaire :
21h cours
3h/semaine (tout le long du semestre)
21h TD
 Unité d’enseignement : Systèmes embarqués et temps réel
 Crédit : 3
 Coefficient : 1.5
 Evaluation: CC (30%) + Examen(70%)
 Contact :
E-mail : mariem.feki@isi.utm.tn
Espace de cours sur https://utm.uvt.tn

M. FEKI - Conception des systèmes embarqués 2

1
14/09/2021

Pré-requis et objectif du cours

 Pré-requis:
- Architecture des microprocesseurs et des microcontroleurs (le
langage assembleur)
- Système sur puce (SoC)
- Conception des circuits numériques & synthèse VHDL
- Algorithmique et programmation (le langage C)

 Objectif :
Acquérir les compétences nécessaires pour la conception mixte
(logiciel/ matériel) des systèmes embarqués à base de FPGA et en
utilisant des processeurs embarqués softcore et hardcore.

M. FEKI - Conception des systèmes embarqués 3

Plan du cours

 Introduction générale :
Présenter des généralités sur les systèmes embarqués: caractéristiques,
contraintes, architecture, exemples, méthode de conception, codesign,
cibles matérielles, FPGA, les différents niveaux d'abstraction etc.

 Chapitre 1: Blocs IP et processeurs embarqués dans les FPGA


- Définir la notion d'IP (intellectual Property) et leur classification (soft,
hard et firm IP), notion de "Design-Reuse".
- Présenter les processeurs embarqués dans les FPGA: types (hardcore,
softcore), spécificités, avantages et inconvénients, exemples etc.

M. FEKI - Conception des systèmes embarqués 4

2
14/09/2021

Plan du cours

 Chapitre 2: Etude de cas d’un processeur softcore - Le picoBlaze de


Xilinx -
Etudier l’architecture du processeur et détailler la démarche de
codesign sur cette cible.

Chapitre 3: Etude de cas d’un processeur hardcore


Etudier l’architecture du processeur embarqué du Zynq et détailler la
démarche de codesign sur cette cible.

M. FEKI - Conception des systèmes embarqués 5

Syllabus
Semaine Contenu
S1 Introduction générale

S2 Chapitre 1: blocs IP et processeurs embarqués


S3
S4
Chapitre 2: Etude de cas d’un processeur softcore - Le
S5 picoBlaze de Xilinx
S6
S7 DS
S8
S9
S10
Chapitre 3: Etude de cas d’un processeur hardcore
S11
S12
S13
S14 6

3
14/09/2021

Introduction aux
Systèmes Embarqués

Année Universitaire 2021-2022

1. Généralités sur les systèmes embarqués


1. Définition

 Un système embarqué (Embedded system en anglais) désigne un système


dont les moyens de calcul (processeur, microcontroleur etc.) sont
embarqués sur le procédé contrôlé.

 Il comprend au moins un microprocesseur (ou microcontrôleur) et un


logiciel dédié à sa gestion.

+
Architecture Outil Logiciel

M. FEKI - Conception des systèmes embarqués 8

4
14/09/2021

1. Généralités sur les systèmes embarqués


2. Caractéristiques

 Systèmes principalement numériques,

 Le support matériel et l’application sont intimement liées, le logiciel est noyé


dans le matériel,

 Systèmes autonomes : ils ne possèdent pas des E/S standards (clavier, écran
etc.)

 L’affichage est limitée ou n’existe pas du tout,

 Systèmes fiables (avion, système de freinage ABS etc.) à cause de leurs


utilisations dans des domaines avec fortes contraintes mais également parce
que l’accès au logiciel est souvent difficile une fois le système fabriqué.
M. FEKI - Conception des systèmes embarqués 9

1. Généralités sur les systèmes embarqués


3. Structure d’un système embarqué

Logiciel
FPGA/ASIC Mémoire

Capteurs CAN CPU CNA Actionneurs

IHM Alimentation
Ports E/S auxilliaire

Environnement
extérieur
M. FEKI - Conception des systèmes embarqués
1
0

5
14/09/2021

1. Généralités sur les systèmes embarqués


4. Domaines d’application

Téléphonie Aéronautique
mobile

Astronautique

Médical Systèmes embarqués


Transport
ferrovier
Electroménager Electronique
grand public

Automobile

M. FEKI - Conception des systèmes embarqués 11

1. Généralités sur les systèmes embarqués


5. Types

Il existe 4 types de systèmes embarqués qui englobe l’ensemble des domaines


d’application :
 Calcul général
Exemple : Jeu vidéo, récepteur TV numérique

 Contrôle de système en temps réel


Exemple : Système de freinage ABS, système de navigation aérien, contrôle
d’un process chimique ou nucléaire

 Traitement de signal et de vidéo


Exemple : Radar, sonar, radar de recul de voiture

 Transmission d’information et communication


Exemple : téléphone mobile, GPS, satellite
M. FEKI - Conception des systèmes embarqués 12

6
14/09/2021

1. Généralités sur les systèmes embarqués


6. Exemple : Détecteur de pluie (automobile)
Le détecteur de pluie permet le cadencement automatique des
essuie-glace : Il est associé à des détecteurs de luminosité chargés
de la commande des essuie-glace.

Le capteur est basé sur la réflexion de la lumière : la diode


émettrice envoie un signal lumineux qui subit une ou plusieurs
réflexions avant qu’il soit mesuré par la diode réceptrice.

La vitesse des essuie-glace est fixée selon la quantité de lumière reçue par la photodiode.

M. FEKI - Conception des systèmes embarqués 13

2. Conception des systèmes embarqués


1. Cycle d’un produit (ASIC)

Le coût du circuit dépend de


la surface de silicium occupé.

M. FEKI - Conception des systèmes embarqués 14

7
14/09/2021

2. Conception des systèmes embarqués


2. Contraintes à prendre en compte

 Pluridisciplinaire (électronique, informatique, réseaux, mécanique etc.)

 Robuste aux aléas de l’environnement (chocs, température, humidité, feu,


eau, corrosion etc.)

 Fonctionnel et performant

 Sureté surtout si la sécurité des personnes est en jeu

 Encombrement

 Poids

 Coût
M. FEKI - Conception des systèmes embarqués 15

2. Conception des systèmes embarqués


2. Contraintes à prendre en compte

 Packaging : difficile de faire cohabiter dans un faible volume électronique


analogique, électronique numérique et réseaux sans interférence.

 Consommation électrique : un système embarqué nomade doit avoir une


faible consommation car une consommation excessive augmente le prix et le
volume du système (à cause des batteries de plus forte capacité).

 Temps de développement : le système doit être le plus rapidement possible


sur le marché (Time to market).

 Augmentation de fonctionnalités et intégration des microsystèmes (capteurs


et actionneurs intégrés).

M. FEKI - Conception des systèmes embarqués 16

8
14/09/2021

2. Conception des systèmes embarqués


3. Niveaux d’abstraction

Niveau système Le plus haut niveau

Niveau algorithmique
A chaque niveau d’abstraction, on
doit analyser le système pour
Niveau transfert déterminer ses caractéristiques
registre RTL actuelles et l’améliorer pour
prendre en compte les détails
manquants.
Niveau Logique

Niveau Electrique Le plus bas niveau


M. FEKI - Conception des systèmes embarqués 17

2. Conception des systèmes embarqués


3. Niveaux d’abstraction

Niveau Niveau électrique


optimisation des caractéristiques électriques
bas

Niveau logique
optimisation des équations logiques

Niveau transfert registre


optimisation des traitements et des opérations

Niveau Algorithmique
optimisation des implémentations logicielles

Niveau Système
Niveau optimisation conjointe des implémentations
haut matérielles et logicielles

M. FEKI - Conception des systèmes embarqués 18

9
14/09/2021

2. Conception des systèmes embarqués


4.Méthodologie de conception classique

1. Choix du matériel (composants électroniques, processeur…) pour le système


embarqué.
2. Donner le système ainsi conçu aux programmeurs.
3. Les programmeurs doivent réaliser un logiciel qui « colle » au matériel en
n’exploitant que les ressources offertes.

Problèmes
 Il est de plus en plus difficile de penser à une solution globale optimisée du
premier jet (surtout que les systèmes embarqués sont de plus en plus
complexes).
 Il est de plus en plus difficile de corriger les « bugs ».
 Il est de plus en plus difficile de maintenir le système au cours du temps
(obsolescence des composants…).
 L’approche classique de développement d ’un système embarqué doit évoluer..
M. FEKI - Conception des systèmes embarqués 19

2. Conception des systèmes embarqués


5.Le codesign
 On utilise maintenant des langages de description du matériel (VHDL, Verilog)
pour synthétiser et aussi tester les circuits numériques. On a ainsi une
approche logicielle pour concevoir du matériel.

 Avec une frontière de plus en plus floue entre matériel et logiciel, le codesign
est apparu.

 Le codesign permet de concevoir à la fois le matériel et le logiciel pour une


fonctionnalité à implémenter. Il est de plus en plus utilisé dans la
méthodologie de conception.

 Le codesign permet de repousser le plus loin possible dans la conception du


système les choix matériels contrairement à l’approche classique où les choix
matériels sont faits en premier lieu.
M. FEKI - Conception des systèmes embarqués 20

10
14/09/2021

2. Conception des systèmes embarqués


5.Le codesign

Conception traditionnelle Codesign

M. FEKI - Conception des systèmes embarqués 21

2. Conception des systèmes embarqués


5.Le codesign

Durant le processus de codesign, on distingue les étapes suivantes :

 Spécifications : liste des fonctionnalités du système de façon abstraite.

 Modélisation : affinement des spécifications et production d’un modèle du


matériel et du logiciel.

 Partitionnement : partage matériel/logiciel.

 Synthèse et optimisation : synthèse matérielle et compilation logicielle.

 Intégration système : rassemblement des différents modules

 Validation : co-simulation et tests d’intégration.


M. FEKI - Conception des systèmes embarqués 22

11
14/09/2021

2. Conception des systèmes embarqués


5. Le codesign

VHDL Language
Spécifications système

Modélisation
Partitionnement
Matériel/Logiciel

Synthèse Compilation
Matériel Logiciel

Intégration
Co-simulation Tests d’intégration
Matériel/Logiciel
23

3.Systèmes embarqués et cibles matérielles


1.Classification

Cibles matérielles

Semi- Personnalisé Personnalisé Circuits fixes


(Semi-Custom) (Custom) (ASIC )
Circuits
configurables
(PLD ) Configurable sur mesure
Prédiffusé
(Full-custom)

PAL CPLD FPGA Précaractérisé


(Standard cells)

Dans le cadre de ce cours, on s’intéresse au circuits configurables et plus


spécifiquement au FPGA.
M. FEKI - Conception des systèmes embarqués 24 24

12
14/09/2021

3.Systèmes embarqués et cibles matérielles


2.FPGA : Introduction

 Un FPGA (Field Programmable Gate Array) est un circuit intégré programmable


contenant un très grand nombre de blocs logiques configurables et
interconnectables.

 Technologie de configuration: Antifusible, SRAM, EEPROM - Flash

 Les principaux fabricants :


Xilinx, Altera, Lattice (technologie SRAM)
Actel, QuickLogic (technologie Flash)

La figure ci-contre traduit la part de marché


de chaque fabricant.

M. FEKI - Conception des systèmes embarqués 25

3. Systèmes embarqués et cibles matérielles


2.FPGA : Introduction

 Les principales familles :

 Les outils logiciels spécifiques


- Simulation : ModelSim….
- Synthèse : Xilinx ISE, vivado
Altera Quartus II
Actel Libero

M. FEKI - Conception des systèmes embarqués 26

13
14/09/2021

Systèmes embarqués et cibles matérielles


2.FPGA : Structure

 Un réseau de blocs logiques


programmable (Configurable Logic
Block -CLB), chaque bloc pouvant
réaliser des fonction et comportant
des éléments à mémoire.

 Un réseau d’interconnexions
programmables entre les blocs

 Des blocs d’entrée et de sortie


(Input/Output Block –IOB).

M. FEKI - Conception des systèmes embarqués 27

3.Systèmes embarqués et cibles matérielles


3. FPGA : Flot de conception

Le flot de conception est la combinaison des outils CAO pour réaliser la conception
d'un circuit intégré.

Génération
de la Netlist

M. FEKI - Conception des systèmes embarqués 28

14
14/09/2021

3.Systèmes embarqués et cibles matérielles


3.FPGA : Flot de conception

Placement et routage

Génération du bitsream
(fichier binaire)

M. FEKI - Conception des systèmes embarqués 29

3. Systèmes embarqués et cibles matérielles


4.FPGA : la carte Basys 1 (Spartan3E de Xilinx))

M. FEKI - Conception des systèmes embarqués 30

15
14/09/2021

3. Systèmes embarqués et cibles matérielles


4.FPGA : la carte Basys 1 (Spartan3E de Xilinx)

 La carte Basys1 possède les principales caractéristiques suivantes:

- 100 000 portes logiques,


- port de programmation JTAG,
- Fréquence maximale à l’entrée : 240MHz,
- 1 port PS/2,
- 1port USB,
- 1 port de sortie VGA,
- 4 afficheurs 7 segments,
- 8 Leds,
- 8 interrupteurs et 4 boutons-poussoir,
- 4 connecteurs d’extension
- etc.

M. FEKI - Conception des systèmes embarqués 31

3.Systèmes embarqués et cibles matérielles


5. FPGA : technologie & performance actuelles

 Jusqu’à 5.5 millions de cellules logiques élémentaires, une cellule = Look-up-


Table + registres.

 35 milliards de transistors (Xilinx Virtex Ultrascale+ VU19P

 Blocs mémoire configurables.

 Plusieurs processeurs embarqués : hardcore (jusqu’à 16) et peut supporter


plusieurs softcore.

 Réduction de la consommation d’énergie.

 Multiplication des périphériques d’E/S.


M. FEKI - Conception des systèmes embarqués 32

16
14/09/2021

3. Systèmes embarqués et cibles matérielles


6. FPGA : Zynq XC7Z020 de Xilinx

M. FEKI - Conception des systèmes embarqués 33

3. Systèmes embarqués et cibles matérielles


6.FPGA : Zynq XC7Z020 de Xilinx

 Zynq 7020 possède les principales caractéristiques suivantes:

- Mémoire: 512 MB DDR3 - 256 MB Quad-SPI Flash,


- Support de carte SD,
- Programmateur USB-JTAG intégré,
- Fréquence maximale à l’entrée : 866MHz,
- Port Ethernet 10/100/1000,
- Port USB OGT 2.0 et USB-UART,
- Extension I/O (FMC, Pmod™, XADC),
- Sortie vidéo: HDMI (1080p) et VGA (8-bits),
- Afficheur OLED intégré (128 x 32),
- 5 boutons et 8 interrupteurs,
- 8 LEDs
- Codec Audio I²S
- etc.
M. FEKI - Conception des systèmes embarqués 34

17
14/09/2021

3. Systèmes embarqués et cibles matérielles


7.FPGA vs Microcontrôleur

FPGA Microcontrôleur
peut être reprogrammé pour faire ont déjà leurs propres circuits et jeu
Flexibilité n'importe quelle tâche logique qui d'instructions que le programmeur doit
peut être adaptée au nombre de suivre pour écrire du code pour ce
portes qu'il possède. microcontrôleur.

- la logique programmable assure sur chaque cœur de processeur, une


Parallélisme une exécution véritablement seule instruction peut s'exécuter à la fois
parallèle.

- à partir du moment où on
n’implémente pas des montages
séquentiels, le transfert des
signaux ne dépend que du temps
de propagation et pas de l'horloge

M. FEKI - Conception des systèmes embarqués 35

3. Systèmes embarqués et cibles matérielles


7.FPGA vs Microcontrôleur
FPGA Microcontrôleur
Les FPGA prennent beaucoup plus - vous pouvez acheter des paquets
de temps à configurer et ce, est adaptés à une certaine tâche et les
dû à la conception matérielle et programmer à votre cahier des
Temps de
logicielle et aux différentes étapes charges relativement rapidement.
configuration
du flot de conception (synthèse et
placement et routage). - les modifications de code peuvent
souvent être ajoutées après la
compilation comme un patch, sans
recompilation.
- les circuits FPGA sont évolutifs et
donc ils permettent d’épargner la
Viabilité à dépense de temps et d'argent. Les - Or les interfaces de communication
long terme spécifications des protocoles de implémentés sur les microcontrôleurs
communication numériques, par peuvent poser des problèmes de
exemple, évoluent avec le temps. maintenance et de compatibilité
36
M. FEKI - Conception des systèmes embarqués

18
14/09/2021

3. Systèmes embarqués et cibles matérielles


7.FPGA vs Microcontrôleur
FPGA Microcontrôleur
- Comme ils sont reconfigurables,
les circuits FPGA sont capables de
s'adapter aux modifications
éventuellement nécessaires.
À mesure qu'un produit ou qu'un
système évolue, vous pouvez y
intégrer des améliorations
fonctionnelles.

consomme plus d'énergie que les consommation d’énergie


Consommation microcontrôleurs, ce qui les rend relativement réduite.
d’énergie inadaptés à certaines applications.

Prix Assez cher Prix plus raisonnable

M. FEKI - Conception des systèmes embarqués 37

19

Vous aimerez peut-être aussi