• Aucun résultat trouvé

Introduction aux syst

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction aux syst"

Copied!
18
0
0

Texte intégral

(1)

Cours 9 Cours 9

Introduction aux syst

Introduction aux syst è è mes mes s s é é quentiels complexes. quentiels complexes.

Conception de machines

Conception de machines à à

é é tats. tats.

(2)

ELP 304 – Cours 9 Département Electronique

Structure générale d'un système numérique

Partie opérative Partie

contrôle

commandes signaux d'état

Environnement

consignes compte-rendu données

• Partie opérative : traite les données

• Partie contrôle : pilote le traitement

(3)

ELP 304 – Cours 9 Département Electronique

3

Les quatre types d'unités fonctionnelles dans un système numérique

Unité de traitement => Traiter

Unité de mémorisation => Stocker

Unité de contrôle => Piloter

Unité d'interface => Communiquer

(4)

ELP 304 – Cours 9 Département Electronique

4

Assemblage des unités fonctionnelles :

exemple d'un filtre numérique programmable

* 1 +

a a32

a

UM UT

UI UI UI

UC

L , ,

,

, i1 i2 i3

i x x x

x

,L , i1

i y y

ordres

données entrantes

données sortantes

2 3

1 2

1 + +

= i i i

i a x a x a x

y

Partie contrôle Partie opérative

(5)

ELP 304 – Cours 9 Département Electronique

Conception d'une unité de contrôle

• Opérateurs séquentiels spécialisés dans le contrôle

=> machine à états finis (automate)

=> séquenceur

=> microcontrôleur

(6)

ELP 304 – Cours 9 Département Electronique

Les machines à états : machine de Mealy

Machine de Mealy synchrone

SORTIES ENTREES

SYNCHR.

HORLOGE

état présent état

futur

F

G

fonction de sortie

fonction

"état suivant"

registre d'état

(7)

ELP 304 – Cours 9 Département Electronique

Comportement d'une machine de Mealy : graphe d'états

E1 = 0 E2 = 0

E1 = 1

E1 = 0

E1 = 1

A B

C D

E2 = 1 E2 = 0

E1 = 0 E2 = 1

E1 = 0 E2 = 1 E1 = 0

E1 = 1 S = 0

S = 1 <=> E1=1 S = 1

E2 = 0

S = 0 E1 = 0

E2 = 0

E1 = 1

E1 = 0

E1 = 1

A B

C D

S = 0

S = 0

S = 0

S = 1

E2 = 1 E2 = 0

E1 = 0 E2 = 1

E1 = 0 E2 = 1 E1 = 0

E2 = 0

S = 0

S = 0

S = 0

S = 0 S = 1

S = 1

E1 = 1

(8)

ELP 304 – Cours 9 Département Electronique

8

Les machines à états : machine de Moore

Machine de Moore synchrone

registre d'état

SORTIES

ENTREES SYNCHR.

HORLOGE

état présent état

futur

F

G

fonction de sortie

fonction

"état suivant"

(9)

ELP 304 – Cours 9 Département Electronique

9

Graphe d'états d'une machine de Moore

E1 = 0 E2 = 0

E1 = 1

E1 = 0

E1 = 1

A B

C D

E2 = 1 E2 = 0

E1 = 0 E2 = 1

E1 = 0 E2 = 1 E1 = 0

E2 = 0

S = 0 S = 0

S = 0 S = 1

E1 = 1

(10)

ELP 304 – Cours 9 Département Electronique

10

Mise en œuvre des automates

Les fonctions F et G peuvent être réalisées :

• A l'aide d'opérateurs logiques élémentaires

• A l'aide d'une PROM :

PROM

adresse données

Sorties Entrées

Entrées synchronisées

Etat présent

Etat futur CK

registre dtat

(11)

ELP 304 – Cours 9 Département Electronique

11

Limitations des automates d'états finis

Un automate d'états finis ne peut être mis en œuvre que si la spécification de l'unité de contrôle est relativement simple

Les graphes d'états ne sont pas adaptés à la description de comportements complexes (> qqes dizaines d'états) La complexité de réalisation des fonctions F et G croît

comme 2n+p, si n est le nombre d'entrées et p le nombre de variables nécessaires au codage des états.

Différentes stratégies possibles pour gérer la complexité Décomposer l'unité de contrôle en plusieurs automates

communicants

Utiliser un séquenceur

Utiliser un µ-contrôleur du marché (si ∃ assez rapide)

(12)

ELP 304 – Cours 9 Département Electronique

Principe de la conception "à la main"

d'un automate à états finis

La méthode dite de Huffmann

1. Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états.

Optimiser le graphe si nécessaire (réduction du nombre d'états).

2. Coder les états du graphe.

3. Etablir la table de transition de l'automate.

sortie s état

futur état

présent entrée

s

4. Choisir le support matériel de réalisation.

5. Synthétiser les fonctions F et G en les optimisant par rapport au support choisi.

6. Etablir le schéma logique.

7. Réaliser et tester l'automate.

(13)

ELP 304 – Cours 9 Département Electronique

Principe de la conception d'un automate à états finis

à l'aide d'un environnement de CAO

1. Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états.

Optimiser le graphe.

2. Transcrire le graphe d'états optimisé dans un langage accepté par l'environnement de CAO (VHDL).

3. Vérifier la spécification par une simulation fonctionnelle de l'automate.

4. Choisir le support matériel de réalisation. Fixer les paramètres d'optimisation (surface, vitesse,…). Faire la synthèse logique de l'automate. Le synthétiseur fournit automatiquement la "netlist" (description au niveau portes élémentaires) du circuit ou le contenu de la PROM.

5. Simuler le fonctionnement de l'automate après synthèse (simulation fonctionnelle + temporelle).

6. Réaliser et tester l'automate.

(14)

ELP 304 – Cours 9 Département Electronique

14

Exemple de conception "à la main"

d'un automate (I)

1. Graphe d'états de l'automate

A

D B

C

E1.E2=0

E1.E2=1

E1=0

E1=0

E1.E2=1 E1.E2=1

E1.E2=1

E1=0

E1.E2=1

E1=1 VF=DP=1 E1.E2=1

VF=0 DP=1

VF= 1 E1.E2=1 DP=1

VF= 1 E1.E2=1 DP=1 E1=1

Entrées : E1, E2 Sorties : VF, DP

(15)

ELP 304 – Cours 9 Département Electronique

15

Exemple de conception "à la main" d'un automate (II)

Etat Q2 Q1

A 0 0

B 0 1

C 1 1

D 1 0

2. Codage des états

NB: le codage de l'état d'initialisation doit être cohérent avec les commandes d'initialisation des bascules

Q1, Q2 : variables internes ou variables d'état.

(16)

ELP 304 – Cours 9 Département Electronique

16

Exemple de conception "à la main" d'un automate (III)

3. Table de transition

Etat présent Entrées Etat futur Sorties Q2 Q1 E1 E2 Q2+ Q1+ VF DP

0 0 0 X 0 0 0 0

0 0 1 1 0 1 1 1

0 0 1 0 0 0 0 0

0 1 1 X 0 1 0 1

0 1 0 X 1 1 0 1

1 1 0 X 1 1 0 1

1 1 1 1 0 1 1 1

1 1 1 0 1 0 0 1

1 0 0 X 0 0 0 0

1 0 1 1 0 1 1 1

1 0 1 0 1 0 0 1

A

D B

C

E1.E2=0

E1.E2=1

E1=0

E1=0 E1.E2=1 E1.E2=1

E1.E2=1

E1=0

E1.E2=1

E1=1 VF=DP=1 E1.E2=1

VF=0 DP=1

VF= 1 E1.E2=1 DP=1

VF= 1 E1.E2=1 DP=1 E1=1

(17)

ELP 304 – Cours 9 Département Electronique

17

Exemple de conception "à la main" d'un automate (IV)

E1

E2 Q2

Q1

0 0 1 0

1 1 1 1

0 0 1 0

1 1 1 0 Q1

E1

E2 Q2

0 0 0 0

1 1 0 0

1 1 0 1

0 0 0 1

1+

Q Q2+

E1

E2 Q2

Q1

0 0 1 0

0 0 0 0

0 0 1 0

0 0 1 0

E1

E2 Q2

Q1

0 0 1 0

1 1 1 1

1 1 1 1

0 0 1 1

VF DP

4. Synthèse des fonctions F et G

2 2 1 1

1 2

1 1 1

2 2

1 1

Q E E Q

E Q

Q E Q

Q E

E Q

+

=

+ +

=

+ +

2 1 2

1 1

2 2 1 1

2 1

Q E E

E Q

DP

Q E E Q

E E VF

+ +

=

+

=

(18)

ELP 304 – Cours 9 Département Electronique

18

Exemple de conception "à la main"

d'un automate (V)

5. Schéma logique

6. Réalisation et test de l'automate

NR

D Q

CK NQ

E2 E2

E1 E1

basc 1

INIT*

NR

D Q

CK NQ

basc 2

HO

DP

VF

Références

Documents relatifs

Dans cet article, nous proposons une méthode de segmen- tation basée sur les coupes de graphe binaires avec un a priori de forme, se déroulant en deux étapes : d’une part

Dans cet article nous proposons une m´ ethode de r´ eduction par sym´ etrie ap- pliqu´ ee ` a l’abstraction des classes d’´ etats (SCG) pour les r´ eseaux de Petri tem- porels

Cet article propose un algorithme de réduction qui s’attaque à l’une des causes du problème de l’explosion combinatoire du graphe d’états, à savoir la

On cherche à construire un arbre partiel (plus petit graphe connexe contenant tous les sommets) dont la somme des distances soit minimum parmi tous les arbres partiels du

Cependant, on n’aura pas le droit d’utiliser simultan´ ement ces deux arˆ etes lors de la recherche d’un sous-graphe d’ordre maximal?. Ce sont des arˆ etes mutuellement

Etape 3 : Attribuer cette même couleur à tous les sommets qui ne sont pas adjacents avec le premier sommet de la liste et qui ne sont pas adjacents entre eux. Etape 4 : Répéter

(2) VITAVER, dans une note (Cf. [3]) dont nous venons de prendre connaissance au moment de mettre sous presse, fournit une démonstration simple de ce résultat valable seulement dans

Un cycle sera nommé positif si il contient un nombre pair d’arêtes négatives et il sera nommé négatifs si il contient ure. nombre impair d’arêtes