Vous êtes sur la page 1sur 68

MODULE : Architecture des systèmes embarqués

CHAPITRE 1
INTRODUCTION AU
SYSTÈMES EMBARQUÉS

PROFESSEUR : ilias EN-NAOUI


TRANSMETTEUR RS-232
4

INTRODUCTION

BUT DU COURS :
❑ Architecture des systèmes embarqués
❑ Synthèse des circuits numériques
❑ Langage de Description Matérielle

PLAN DU CHAPITRE 1 :
❑ Généralités
❑ Etapes de conception des circuits numériques
❑ Introduction au HDL
INTRODUCTION
6

INTRODUCTION
❑ Un système embarqué est un système complexe qui intègre du logiciel et du matériel
conçus ensemble afin de fournir des fonctionnalités données.
❑ Il contient généralement un ou plusieurs calculateurs destinés à exécuter un
ensemble de processus
❑ un dispositif à usage général, tel qu'un smartphone, un ordinateur portable peuvent
être utilisés pour écrire des articles, lire des nouvelles, jouer à des jeux ou réaliser des
expériences scientifiques…
❑ Dans les systèmes embarqués autonomes, la consommation d'énergie est un point
critique pour le coût. une consommation excessive augmente le prix du système
embarqué, car il faut alors des batteries de forte capacité
❑ chaque fonction est associée à une contrainte de calcul en temps réel.
❑ En fonction de la gravité du dépassement de la date limite d'une tâche, une contrainte
temporelle peut être :
❖ HARD
❖ SOFT
7

Soft Real-Time Systems


❑ il répond presque toujours à une demande dans un délai déterminé, mais Il peut manquer une
échéance, ce qui est généralement considéré comme tolérable et qui n'a pas d'effets catastrophiques

Exemples Contraintes de temps Conséquences


GPS Lorsqu'il identifie un point de passage, il peut Le conducteur manque
le rappeler au conducteur avec une latence de le point de passage
1,5 seconde

Robot-soccer Une fois qu'il attrape le ballon, le robot doit Son équipe peut perdre
player frapper le ballon en moins de 2 s le match
Routeur sans fil Le nombre moyen de trames en L'utilisateur a une
retard/perdues est inférieur à moins de 2/min mauvaise expérience de
la navigation sur
Internet
8

Hard Real-Time Systems


❑ Dans un système à temps réel Hard, le non-respect de certaines échéances est totalement
inacceptable, car cela pourrait avoir des effets catastrophiques, tels que des risques pour la sécurité ou
de graves conséquences financières

Exemples Contraintes de temps Conséquences


Antilock braking system Le système de freinage Pertes en vies
antiblocage doit appliquer/libérer humaines
la pression de freinage 15 fois
par seconde.
Système antimissile Il faut intercepter rapidement un Pertes en vies
missile après sa rentrée dans humaines, pertes
l'atmosphère financières
considérables
Stimulateur cardiaque Le stimulateur cardiaque permet Pertes en vies
d’accélérer la pulsation du cœur humaines
lorsqu’il est trop lent
9

Real-Time Systems

EXEMPLE : TPMS « Tire Pressure Monitoring System »


10

Real-Time Systems

EXEMPLE : Contrôleur de gouvernes


GÉNÉRALITÉS SUR LES SIGNAUX
12

GÉNÉRALITÉS

❑ Un signal est la représentation physique de l'information

Une variable :
13

GÉNÉRALITÉS
Deux variables :

trois variables :
14

CLASSIFICATION MORPHOLOGIQUE
15

Classification morphologique

SIGNAL ANALOGIQUE SIGNAL ECHANTILLONÉ

❑ Toutes les valeurs de t (abscisses) sont permises. ❑ Toutes les valeurs de t ne sont pas permises.
❑ A chaque instant, toutes les valeurs de cette ❑ A chaque instant, toutes les valeurs de cette
grandeur (ordonnées) sont permises. grandeur sont permises.
16

Classification morphologique

SIGNAL QUANTIFIÉ SIGNAL NUMÉRIQUE

❑ Toutes les valeurs de t sont permises. ❑ Toutes les valeurs de t ne sont pas permises.
❑ Toutes les valeurs de cette grandeur ne sont pas ❑ Toutes les valeurs de cette grandeur ne sont pas
permises. permises.
17

Classification morphologique

SIGNAL NUMÉRIQUE Amplitude[k]


Temps[i]
𝟎 𝟐. 𝟓
𝑻𝒆 𝟒
𝟐. 𝑻𝒆 𝟓
𝟑. 𝑻𝒆 𝟓. 𝟓
𝟒. 𝑻𝒆 𝟓. 𝟓
⋮ ⋮
𝒏. 𝑻𝒆 𝒙(𝒏. 𝑻𝒆 )
18

Traitement numérique
19

Traitement numérique
GÉNÉRALITÉS SUR LES SYSTÈMES
NUMÉRIQUES
21

GÉNÉRALITÉS
❑ La réalisation de circuits numériques à l’époque été limitée aux fonctions offertes par les circuits
intégrés des familles 74xx ou CD4000.
▪ Fonction ET
▪ Fonction tampon
▪ Fonction NON
▪ Fonction NON-ET (ou NAND)
▪ Fonction OU
▪ Fonction OU EXCLUSIF ( = XOR)
▪ Fonction NON-OU (ou NOR)
▪ Mémoire
▪ Décodage et conversion
▪ Bascules
▪ Calcul et comptage
▪ Verrou
▪ Délai
▪ Divers
22

GÉNÉRALITÉS
23

GÉNÉRALITÉS
24

GÉNÉRALITÉS

❑ La réalisation d’un montage en électronique numérique, utilise un grand nombre de circuits intégrés.
25

GÉNÉRALITÉS

❑ La différence d’un système numérique par rapport à un système analogique réside dont
la nature de l’information à traiter.

Phénomènes discrets Phénomènes continus

le nombre de population dans un territoire les phénomènes naturels

le solde d’un compte bancaire la voix, la musique

L’état d’une porte (Fermée / Ouverte) les signaux électriques provenant du cerveau
26

GÉNÉRALITÉS

❑ Un système numérique traite un nombre fini d’états


27

GÉNÉRALITÉS

❑ On peut identifier quatre niveaux d’abstraction Pour la synthèse des circuits numériques
✓ 1er Niveau : Circuits de base (transistors, résistances).
28

GÉNÉRALITÉS

❑ A partir des éléments de base on peut construire les différents portes logiques

PORTE NON « NOT »


29

GÉNÉRALITÉS

PORTE ET « AND »
30

GÉNÉRALITÉS

PORTE OU « OR »
31

GÉNÉRALITÉS
32

GÉNÉRALITÉS

A=0 B=0 A=1 B=0 A=0 B=1 A=1 B=1


33

GÉNÉRALITÉS

PORTE OU EXCLUSIVE « XOR »


34

GÉNÉRALITÉS

Multiplexeur
35

GÉNÉRALITÉS

✓ 2ème Niveau : Utilisation des portes logiques


36

GÉNÉRALITÉS

Conception d’un multiplexeur 1 bit.


37

GÉNÉRALITÉS

✓ 3ème Niveau : Utilisation des Modules (multiplexeurs, encodeurs, additionneurs,


multiplicateurs, bascules)
38

GÉNÉRALITÉS

✓ 4ème Niveau : Utilisation d’un Système (microprocesseur, mémoire, unités


d’entrée-sortie, bus)
39

GÉNÉRALITÉS

❑ Contraintes à prendre en compte : ❑ Options de réalisation d’une fonction donnée:


✓ La précision des calculs. ✓ Réalisation logicielle
✓ La puissance consommée ✓ Réalisation matérielle
✓ La taille du système
✓ Le taux de traitement
40

GÉNÉRALITÉS
41

GÉNÉRALITÉS

❑ Type de circuits
✓ Circuits intégrés à application spécifique « ASIC »
▪ Circuits de petite taille
▪ Application particulière
▪ Taux de traitement élevé
✓ Circuits intégrés à base de processeur à usage général
▪ Processeur + modules supplémentaires
▪ Flexibilité de programmation
▪ Faible coût
▪ Taux de traitement beaucoup plus faible qu’un ASIC.

❑ Options d’implémentation
✓ La Logique fixe
✓ La Logique programmable
42

GÉNÉRALITÉS

❑ Technologies d’ASIC
✓ La Logique fixe : le circuit implémenté sur la puce est fixe
✓ La Logique programmable : le circuit peut être modifié par l’utilisateur
▪ Programmer des fonctions logiques arbitraires.
▪ Adapter les ports d’entrée et de sortie selon ses besoins.
Technologies de circuits intégrés à application spécifique (ASIC)

Logique fixe Logique programmable


• Mémoires mortes
• Réseau de logique programmable PLA
• ASIC sur mesure Full-custom ASIC • Circuit PAL
• ASIC à cellules normalisées Cell-based ASIC • Circuit GAL
• Réseau pré-diffusé de portes Gate Array • Circuit logique programmable complexe CPLD
• Réseau prédiffusé programmable par l’utilisateur
Field-Programmable Gate Array – FPGA
ÉTAPES DE CONCEPTION D’UN
CIRCUIT NUMÉRIQUE
44

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE

❑ Étapes de conception
✓ Description
✓ Vérification fonctionnelle
✓ Synthèse
✓ Implémentation
✓ Extraction de métriques
✓ Programmation
45

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


DESCRIPTION DU CIRCUIT
46

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


DESCRIPTION DU CIRCUIT
47

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


VÉRIFICATION FONCTIONNELLE PAR SIMULATION

❑ Compilation des fichiers


❑ Simulation du circuit

Une simulation correcte ne garantit pas que les autres étapes de


conception vont fonctionner
48

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


VÉRIFICATION FONCTIONNELLE PAR SIMULATION

Une simulation correcte ne garantit pas que les autres étapes de


conception vont fonctionner
49

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


SYNTHÈSE

❑ Interprétation des fichiers


compilés par le synthétiseur
❑ Choix des modules
convenables.
50

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


SYNTHÈSE

Etape de synthèse est validée


51

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


IMPLÉMENTATION
❑ Placement & Routage

❑ Génération du « Netlist »
52

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


VÉRIFICATION PAR SIMULATION

❑ Obtenir une simulation


précise
❑ Temps de réponse
❑ Performances
53

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


EXTRACTION DES MÉTRIQUES D’IMPLÉMENTATION

❑ Comparer deux circuits


✓ Le nombre de blocs logiques
✓ Délai
✓ Puissance consommée
54

ÉTAPES DE CONCEPTION D’UN CIRCUIT NUMÉRIQUE


PROGRAMMATION ET VÉRIFICATION
LANGAGE DE DESCRIPTION
MATÉRIEL
56
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »
❑ Un langage de programmation « Langage C par exemple » est destiné à être traduit en langage machine
pour être exécuté par un microprocesseur

COMPILATION EXECUTION
57
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »
❑ Les instructions sont stockés dans la mémoire.
❑ L’exécution de l’instruction se fait selon le processus ci-dessous.
58
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

❑ Un langage de description matériel comme VHDL décrit une réalité matérielle


❑ Difficile de décrire des circuits complexes à l’aide de schémas
❑ Rôle des HDL :
✓ la modélisation de circuits numériques
✓ Synthèse et réalisation

ETAPES DE
CONCEPTION

Description
Vérification fonctionnelle
Synthèse
Implémentation
Extraction de métriques
Programmation
59
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

❑ Librairies : Définitions de type des signaux et


fonctions
❑ Entité : les ports d’entrée et de sortie du
circuit numérique

𝐍𝐨𝐦 ∶ 𝐃𝐢𝐫𝐞𝐜𝐭𝐢𝐨𝐧 [𝐓𝐲𝐩𝐞]


60
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

❑ Entité : les ports d’entrée et de sortie du


circuit numérique

𝐍𝐨𝐦 ∶ 𝐃𝐢𝐫𝐞𝐜𝐭𝐢𝐨𝐧 [𝐓𝐲𝐩𝐞]

❑ Il y a plusieurs TYPES prédéfinis en VHDL, on utilise


généralement pour les signaux E/S :
✓ « std_logic » pour un signal.
✓ « std_logic_vector » pour un bus de signaux.
✓ Integer
✓ boolean
61
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

Entity 𝐍𝐨𝐦_𝐄𝐧𝐭𝐢𝐭𝐲 𝒊𝒔
Port {
//Définition des ports
};
End 𝐍𝐨𝐦_𝐄𝐧𝐭𝐢𝐭𝐲 ;

❑ Architecture : comportement du circuit numérique

Architecture 𝐍𝐨𝐦_𝐀𝐫𝐜𝐡 𝐨𝐟 𝐞𝐧𝐭𝐢𝐭𝐲 𝐢𝐬


//DECLARATION
Begin
//CORPS
End 𝐍𝐨𝐦_𝐀𝐫𝐜𝐡 ;
62
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

❑ On définit dans la partie déclarative les différents


signaux internes « T1, T2, T3 »
❑ L’ordre dans lequel les lignes sont écrites et sans
importance « Dans le mode concurrent »
63
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »
❑ Il y a certaines règles à respecter :
✓ VHDL est un langage qui « n’est pas sensible à la casse »
✓ Il n’y a pas de différence entre les espaces, tabulations et retours de ligne
✓ Tout texte placé après deux tirets « -- » est un commentaire
✓ Un caractère est placé entre apostrophes « ‘a’ » ou « ‘4’ » par exemple.
✓ Une chaine de caractère est placée entre guillemets « "bonjour" ».
✓ Un identificateur « nom de variable / fonction ou signal » doit commencer par une lettre.
On ne peut pas utiliser les mots réservés du langage comme identificateurs
Les mots réservés de VHDL sont :
abs, access, after, alias, all, and, architecture, array, assert, attribute,
begin, block, body, buffer, bus, case, component, configuration, constant,
disconnect, downto, else, elsif, end, entity, exit, file, for, function,
generate, generic, group, guarded, if, impure, in, inertial, inout, is,
label, library, linkage, literal, loop, map, mod, nand, new, next, nor, not,
null, of, on, open, or, others, out, package, port, postponed, procedural,
procedure, process, protected, pure, range, record, reference, register,
reject, rem, report, return, rol, ror, select, severity, signal, shared, sla,
sll, sra, srl, subtype, then, to, transport, type, unaffected, units, until,
use, variable, wait, when, while, with, xnor, xor
64
LANGAGE DE DESCRIPTION MATÉRIEL
« HDL : Hardware Description Language »

CATÉGORIE OPÉRATEURS
❑ Le langage VHDL est composé de plusieurs opérateurs : logique and, or, nand, nor, xor, xnor, not
✓ Logique
✓ Relation relation =, /=, <, <=, >, >=
✓ Décalage rol (rotation gauche)
✓ Arithmétique décalage
ror (rotation droite)
✓ Concaténation +, -, *, /,
❑ L’opérateur « /= » équivalent à « != en C »
abs (valeur absolue),
❑ L’égalité est composé d’un seul « = » au lieu de deux
symboles. arithmétique mod (modulo),
❑ L’opérateur « <= » est utilisé à la fois comme « plus rem (reste)
petit ou égale », ainsi qu’en « assignation ». ** (exponentiation)
concaténation &
65

Exemple d’un circuit numérique combinatoire


Quatre responsables d'une société (A, B, C et D) peuvent avoir accès à un coffre.
Ils possèdent chacun une clé différente et il a été convenu que :
➢ A ne peut ouvrir le coffre que si au moins un des responsables B ou C est présent.
➢ B, C et D ne peuvent l'ouvrir que si au moins deux des autres responsables sont présents.
❑ Concevoir un circuit logique qui accepte 4 entrées représentant les votes. La sortie du circuit doit
indiquer si le coffre est ouvert « 1 » ou fermé « 0 ».
Library IEEE;
D C B A S 0 1 1 1 1 Use IEEE,STD_LOGIC_1164.all;
entity vote is
0 0 0 0 0 1 0 0 0 0 port (
1 0 0 1 0 lesvotes : in std_logic_vector(3 downto 0);
0 0 0 1 0 coffre : out std_logic
1 0 1 0 0 );
0 0 1 0 0
1 0 1 1 1 end vote ;
0 0 1 1 1 1 1 0 0 0 architecture decision of vote is
0 1 0 0 0 1 1 0 1 1 Signal A,B,C,D : std_logic;
Begin
0 1 0 1 1 1 1 1 0 1 (D,C,B,A) <= lesvotes;
0 1 1 0 0 1 1 1 1 1 coffre <= (A and B)
or (A and C)
or (B and C and D);
𝑺 = 𝑨𝑩 + 𝑨𝑪 + 𝑩𝑪𝑫 end decision ;
66

Exemple d’un circuit numérique combinatoire

Demi-additionneur : C'est un circuit permettant d'effectuer


l'addition de deux bits A et B pour générer leur somme sout et
leur retenue C (Carry)
67

Exemple d’un circuit numérique combinatoire

On veut concevoir un système numérique contrôlant le store ci-dessous


➢ Si la luminosité du soleil (s) est captée, on descend le store (KM1).
➢ 2 boutons poussoirs permettent la descente (d) ou la montée (m)
du store ; un appui simultané sur les 2 boutons entraîne la entity store is
port (
descente du store ;
v : in std_logic;
➢ Si la vitesse du vent (v), captée par un anémomètre, dépasse un s : in std_logic;
seuil prédéfini (v=1), on remonte le store (KM2). Ce m : in std_logic;
fonctionnement de sécurité est prioritaire sur tous les autres. d : in std_logic;
KM1 : out std_logic;
KM2 : out std_logic
);
end store ;

architecture arch of store is


Begin
KM1 <= not(v) and (s or d);
KM2 <= v or (not(s) and m and not(d));
end arch ;

KM1=ഥv.s +ഥv.d ത
KM2 = v +ഥs.m.d
68

Exemple d’un circuit numérique combinatoire

Trois interrupteurs I1 , I2 , I3 commandent le démarrage de deux moteurs M1 et M2 selon les


conditions suivantes :
▪ le moteur M1 ne doit démarrer que si au moins deux interrupteurs sont fermés (Ii = 1)
▪ dès qu'un ou plusieurs interrupteurs sont activés, le moteur M2 doit démarrer.
Donner les équations logiques de M1 et M2.

Vous aimerez peut-être aussi