Vous êtes sur la page 1sur 22

Circuits et architectures logiques

séquentielle
V. Logique

V. Logique séquentielle
Registres, compteurs, machines d’états

1 1
M. Denoual

Logique séquentielle – Généralités


séquentielle
V. Logique

Généralités

A+B+C+D+…

calcul les uns après les autres


Notion de séquentialité

V. Logique séquentielle
-1-
Circuits et architectures logiques

Logique séquentielle – Généralités (cont.)

séquentielle
V. Logique

compteur : état N => état N+1

Logique séquentielle – Généralités (cont.)


séquentielle
V. Logique

Les portes logiques combinatoires n’ont pas de « mémoire », la valeur de leurs


sorties ne dépend que de l’état des entrées.

Ces portes adaptées au décodage ou aux opérations arithmétiques ne


permettent pas seule de décrire un système dont l’état évolue.

Un état : une configuration possible du système.


lampe allumée, éteinte, cassée
Exemples :
feu tricolore rouge, vert, orange clignotant, hors service
ordinateur allumé, en veille, en veille prolongé, éteint
machine à laver prélavage, lavage, rinçage, essorage, arrêt
compteur 0, 1, 2, 3, …, N
smartphone verrouillé, déverrouillé
des événements font évoluer le système (passage d’un état à un autre).
Exemples : signaux logiques activés (capteurs, boutons), durée écoulée (Timer)
4

V. Logique séquentielle
-2-
Circuits et architectures logiques

Logique séquentielle – Généralités (cont.)

séquentielle
V. Logique
Besoin d’un autre type de structures logiques :
portes logiques séquentielles → bascules
points mémoires

1. Bascules

Réalisées à partir de portes logiques élémentaires (ensembles de transistors).


Eléments fondamentaux permettant de mémoriser et de modifier l’information.

Utilisées pour le stockage temporaire de données et la réalisation d’automates


pour le contrôle de l’évolution des systèmes.

Remarque : les compteurs sont un cas particulier d’automate.

Logique séquentielle – 1. Bascules


séquentielle
V. Logique

1. Bascules

Opérateurs élémentaires de mémorisation.

Leur état dépend de celui de leurs entrées mais également de leur état
précédent.

état(i+1) = f(état(i), entrées)


(verrouillé + touche écran => déverrouillé)

On distingue les bascules asynchrones sensibles au niveau des entrées et les


bascules synchrones sensibles au front d’un signal spécial cadençant le système
(typiquement un signal d’horloge).

V. Logique séquentielle
-3-
Circuits et architectures logiques

Logique séquentielle – 1. Bascules – a. Bascule RS

séquentielle
V. Logique
a. Bascule RS
S : entrée de d’enclenchement : Set
R : entrée de déclenchement : Reset
Q : état présent
Q+ : état suivant
Table de vérité de la bascule RS
S R Q+
0 0 Q mémorisation; maintien
0 1 0 reset, mise à 0
1 0 1 set, mise à 1
1 1 indéterminé, dépend de
la structure de la bascule

La bascule RS ne distingue pas les entrées d’état et les commandes.


7

Logique séquentielle – 1. Bascules – a. Bascule JK


séquentielle
V. Logique

b. Bascule JK

Bascule synchrone. Les changements de niveaux se font sur front d’horloge.


Q : état présent
Q+ : état suivant

Table de vérité de la bascule JK

J K Q+
0 0 Q mémorisation; maintien
0 1 0 reset, mise à 0
1 0 1 set, mise à 1
1 1 Q complémentation

V. Logique séquentielle
-4-
Circuits et architectures logiques

Logique séquentielle – 1. Bascules – c. Bascule latch

séquentielle
V. Logique
c. Bascule latch

Distinction entre entrée d’état D (donnée) et entrée de commande (LE latch enable).
Q : état présent
Q+ : état suivant

Table de vérité de la bascule latch

LE D Q+
0 0 Q mode verrouillée,
0 1 Q mémorisation
1 0 0
mode transparent
1 1 1

Logique séquentielle – 1. Bascules – c. Bascule latch (cont.)


séquentielle
V. Logique

pas possible avec ce type de bascule

10

V. Logique séquentielle
-5-
Circuits et architectures logiques

Logique séquentielle – 1. Bascules – d. Bascule D à front

séquentielle
V. Logique
d. Bascule D à front

La bascule D est non transparente. Pas de liaison directe entre l’entrée et la


sortie. Elle résulte de l’association en série de deux bascules latch.

master slave

Une bascule maître et une bascule esclave. Lorsque l’une est transparente,
l’autre est verrouillée.
Pour garantir un fonctionnement correct, il faut des signaux de commandes
LE1 et LE2 sans recouvrement.
11

Logique séquentielle – 1. Bascules – d. Bascule D (cont.)


séquentielle
V. Logique

Table de vérité de la
bascule D à front

La bascule D à front fonctionne sur la D C Q+


transition montante (ou descendante) du 0 0
signal de commande. 1 1

1
1 0
0 0 1

0 1
1
0

0 1

12

V. Logique séquentielle
-6-
Circuits et architectures logiques

Logique séquentielle – 1. Bascules – d. Bascule D (cont.)

séquentielle
V. Logique
Table de vérité de la
bascule D à front

Autre structure interne possible de la bascule D à front. D C Q+


0 0
1 1
D D

1
1 0
0 0 1

0
C=0 1
1
0
D

0 1
C:0→1
13

Logique séquentielle – 1. Bascules – Remarques générales


séquentielle
V. Logique

Remarques générales en pratique :

Les bascules comprennent des entrées


supplémentaires.
Il faut respecter des temps de mise en place et
de maintien des niveaux logiques pour garantir
un bon fonctionnement des bascules.

14
datasheet 74HC175 Edge Triggered Flip-Flop

V. Logique séquentielle
-7-
Circuits et architectures logiques

Logique séquentielle – 2. Registres

séquentielle
V. Logique
Registres
registre : ensemble de bascules
pour le stockage temporaire d’information
donnée état

registre de donnée registre d’état

15

Logique séquentielle – 2. Registres (cont.)


séquentielle
V. Logique

Autres types de registres

 registre à chargement parallèle

 registre à décalage
les données sont
traitées sous forme  conversion série-parallèle
parallèle par les
opérateurs
arithmétiques.  conversion parallèle-série
Les données lors de quelles communications
communications
 génération SBPA série connaissez-vous ?
entre équipements
peuvent être sous
forme série
16

V. Logique séquentielle
-8-
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis

séquentielle
V. Logique
3. Machines à états finis (MAEF)

Finite State Machine (FSM) ou automate synchrones.


Une machine d’état est un opérateur séquentiel dont la sortie est fonction des
entrées et de l’état précédent de la machine d’état. Elle utilise des bascules
pour mémoriser l’état présent et des blocs de logique combinatoire pour
générer les sorties et l’état futur.

Il existe 2 types de structure de machine d’état:

1. Machine de Mealy : les sorties dépendent de l’état et des entrées


2. Machine de Moore : les sorties dépendent exclusivement de l’état

Remarque : les compteurs sont un cas particulier de machine à états finis.


17

Logique séquentielle – 3. Machines à états finis – 3.1. Type Mealy


séquentielle
V. Logique

3.1 Machines à états finis (MAEF) type Mealy

les sorties peuvent changer


de manière asynchrone.
18

V. Logique séquentielle
-9-
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.1. Type Moore

séquentielle
V. Logique
3.2 Machines à états finis (MAEF) type Moore

Le type Moore garantit des signaux logiques synchrones. Il est privilégié dans
les applications intégrées et cœur de calculateur pour le séquenceur.

19

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse


séquentielle
V. Logique

3.4 Machines à états finis (MAEF), synthèse

En 6 étapes :

1. déterminer le diagramme d’état en fonction du cahier des charges


identifier les entrées, les sorties et le nombre d’états. binaire, Gray, One hot, … ?
2. choisir un codage pour la représentation des états (par défaut binaire)

3. établir la table d’évolution des états entrées état présent état suivant
xxxx xxxx xxxx
4. synthétiser les blocs logiques d’évolution des états xxxx xxxx xxxx
xxxx xxxx xxxx
5. établir la table de vérité des sorties

6. synthétiser le bloc logique de décodage des sorties état présent sorties


xxxx xx

xxxx xx
xxxx xx 20

V. Logique séquentielle
- 10 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)

séquentielle
V. Logique

Exemple : compteur-décompteur 4, avec m actif pour la valeur maximum


2. choix d’un codage pour les états
1. diagramme d’états ici exemple avec binaire, Gray, one hot
une entrée c, une sortie m, 4 états
c état présent état suivant
1 0 xxxx 1 xxxx

comptage
1 1 xxxx 2 xxxx
1 2 xxxx 3 xxxx
1 3 xxxx 0 xxxx
0 0 xxxx 3 xxxx
décomptage

0 1 xxxx 0 xxxx
0 2 xxxx 1 xxxx

c=1 : comptage 0 3 xxxx 2 xxxx


c=0 : décomptage 21

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)


séquentielle
V. Logique

3. établir la table d’évolution des états

Exemple : compteur-décompteur 4

table d’évolution avec codage binaire


c état présent état suivant
Q1 Q0 D1 D0
1 0 0 0 1 0 1
1 1 0 1 2 1 0
1 2 1 0 3 1 1
1 3 1 1 0 0 0
0 0 0 0 3 1 1
0 1 0 1 0 0 0
0 2 1 0 1 0 1
0 3 1 1 2 1 0
22

V. Logique séquentielle
- 11 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)

séquentielle
V. Logique
4. synthétiser le bloc logique d’évolution des états
Exemple : compteur-décompteur 4

table d’évolution avec codage binaire


c état présent état suivant
Q1 Q0 D1 D0
1 0 0 0 1 0 1
1 1 0 1 2 1 0
1 2 1 0 3 1 1
1 3 1 1 0 0 0
0 0 0 0 3 1 1
0 1 0 1 0 0 0
0 2 1 0 1 0 1
0 3 1 1 2 1 0
23

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)


séquentielle
V. Logique

5. établir la table de vérité des sorties


Exemple : compteur-décompteur 4

avec codage binaire


état présent m
Q1 Q0
0 0 0 0
1 0 1 0
2 1 0 0
3 1 1 1

ne dépend que de l’état présent (machine de type Moore)

6. synthétiser le bloc logique de décodage des sorties


24

V. Logique séquentielle
- 12 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)

séquentielle
V. Logique

Exemple : compteur-décompteur 4

avec codage binaire

bloc logique
décodage
bloc logique
registre sortie
d’évolution des
états détat

25

Logique séquentielle – 3. Machines à états finis – 3.4. Synthèse (cont.)


séquentielle
V. Logique

Chronogramme : compteur-décompteur 4 binaire


horloge

Q1

Q0

état présent

D1

D0

m
26

V. Logique séquentielle
- 13 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.3. Remarque

séquentielle
V. Logique

Remarque : fréquence de fonctionnement, cadencement de l’horloge

1 1
Fmax  
Thorloge t pbascule  t pbloc logique  tset  up
min

27

Logique séquentielle – 3. Machines à états finis – 3.3. Remarque


séquentielle
V. Logique

Description d’une machine à états finis de type Moore en VHDL

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;

entity RegistreEtat is
Port (D : in STD_LOGIC_VECTOR(N downto 0);
clk : in STD_LOGIC;
Q : out STD_LOGIC_VECTOR(N downto 0));
end RegistreEtat;

architecture Behavioral of RegistreEtat is


signal Q_sig : STD_LOGIC_VECTOR(N downto 0);
begin
Registre d’état de taille N+1
process(clk)
begin
Blocs logique combinatoire if rising_edge(clk) then
Q_sig<=D;
(voir III. Logique combinatoire) Sur front d’horloge, end if;
le registre charge la end process;
valeur en entrée Q<=Q_sig;
end Behaviroral;
28

V. Logique séquentielle
- 14 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.5. Compteurs

séquentielle
V. Logique

Remarque : Les compteurs sont un cas particulier (simple) de machine à états finis

On peut dans certains cas utiliser un autre type de bascule pour les réaliser : des
bascules T (Toogle) Table de vérité de la
bascule T
T C Q+
1 Q
0 _ Q

Comment faire une bascule T à partir d’une bascule D à front ?

29

Logique séquentielle – 3. Machines à états finis – 3.5. Compteurs (cont.)


séquentielle
V. Logique

actif à
niveau
bas

Exemple de compteur à
partir de bascule T :
composant discret 4029

30

V. Logique séquentielle
- 15 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.5. Compteurs (cont.)

séquentielle
V. Logique
Structure à éviter

Les signaux de sortie des bascules de cette structure ne sont pas


synchrone. On ne peut pas s’en servir pour générer des signaux à cause
des aléas (états transitoires non souhaités).

Exemple : on souhaite générer une impulsion toutes les 64 périodes (fin


de comptage (cf Timer 0 du PIC18)).

31

Logique séquentielle – 3. Machines à états finis – 3.5. Compteurs (cont.)


séquentielle
V. Logique

structure à éviter (asynchrone)

bloc décodage sortie

registre d’état

pour générer l’impulsion, ET


logique entre les signaux de
sortie des bascules

structure (synchrone)

bloc décodage sortie

32

V. Logique séquentielle
- 16 -
Circuits et architectures logiques

Logique séquentielle – 3. Machines à états finis – 3.5. Compteurs (cont.)

séquentielle
V. Logique

structure à éviter (asynchrone)


structure (synchrone)

33

Logique séquentielle – 3. Machines à états finis – 3.6. Dans les CPU/MCU


séquentielle
V. Logique

Dans les CPU/MCU:

Compteurs/décompteurs à préchargement
 Compteur programme
 Timer (signal de fin de comptage/décomptage, IT)

Séquenceur
Les machines à états finis sont une des structures pour réaliser des
séquenceurs (automates) dans les cœurs de calculateur.
L’autre structure est le séquenceur micro-programmé.

34

V. Logique séquentielle
- 17 -
Circuits et architectures logiques

Logique séquentielle – 4. Séquenceur micro-programmé

séquentielle
V. Logique
4. Séquenceur micro-programmé
possibilités d’évolution restreintes, moins flexible, moins grande efficacité
branchement conditionnel, incrémentation implicite

dépend de nb dépend de dépend de


conditions nb états nb sorties

si la condition est vraie, on charge


un nouvel état

n : si (condition) aller à m
n+1 : si ….. 35

Logique séquentielle – 4. Séquenceur micro-programmé (cont.)


séquentielle
V. Logique

Exemple :

sorties micro-instruction
état instruction
S1S0 C2C1C0 A1A0 S1S0
0 si aa bb aller en 0 00 000 00 00
1 si iaabb aller en 3 00 001 11 00
2 si a1 aller en 1 11 100 01 11
3 si aabb aller en 3 10 010 11 10

36

V. Logique séquentielle
- 18 -
Circuits et architectures logiques

Logique séquentielle – 4. Séquenceur micro-programmé (cont.)

séquentielle
V. Logique

Exemple : (cont.)

37

Logique séquentielle – 4. Séquenceur micro-programmé (cont.)


séquentielle
V. Logique

PROSE : PROgrammable SEquencer

38

V. Logique séquentielle
- 19 -
Circuits et architectures logiques

Logique séquentielle – 5. Séquenceur

séquentielle
V. Logique
Séquenceur

Le séquenceur coordonne les sous-opérations nécessaires pour l’exécution des


instructions.

solution câblée :
l’automate du séquenceur est une machine à états finis câblée.
privilégiée pour les processeurs RISC (Reduced Instruction Set Core/Computer );
exemple PIC

solution micro-programmée :
l’automate est un séquenceur micro-programmé (microprogramme contenu
dans une ROM)
privilégiée pour les processeurs CISC (Complex Instruction Set Computer)

39

Logique séquentielle. 6. Point mémoire


séquentielle
V. Logique

Point mémoire statique (bistable)

Point mémoire dynamique

Mémoire flash
grille de commande grille flottante

transistor NMOS

40

V. Logique séquentielle
- 20 -
Circuits et architectures logiques

Logique séquentielle. 6. Point mémoire (cont.)

séquentielle
V. Logique
point mémoire statique
LM0

0,0 0,1 0,2 0,3


LM1

1,0 1,1 1,2 1,3


LM2

2,0 2,1 2,2 2,3


LM3

3,0 3,1 3,2 3,3

LC0 LC1 LC2 LC3

16 mots de 1 bit
41

A l’issue de cette cinquième partie (1/2)


séquentielle
V. Logique

Quelle différence essentielle existe-t-il entre un système asynchrone et un


système synchrone ?

Quels sont les avantages/inconvénients respectifs des systèmes asynchrones


et synchrones ?

De quel type sont la grande majorité des microprocesseurs et


microcontrôleurs (synchrone ou asynchrone) ?

42

V. Logique séquentielle
- 21 -
Circuits et architectures logiques

A l’issue de cette cinquième partie (2/2)

séquentielle
V. Logique

Quels sont les deux types de machine à états finis ?

Quelles sont les étapes de la synthèse d’une machine à états finis ?

Quels sont les avantages/inconvénients relatifs des solutions machine à


états finis et séquenceur microprogrammé pour la synthèse de circuits
logiques séquentiels ?

43

V. Logique séquentielle
- 22 -

Vous aimerez peut-être aussi