Cours de Systèmes Logiques 1Systèmes séquentiels: Registres et compteurs
Etienne Messerli & Yann Thoma
Reconfigurable and Embedded Digital Systems InstituteHaute Ecole d’Ingénierie et de Gestion du Canton de Vaud
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Septembre 2019
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 1 / 50
Plan
1 Introduction
2 Registres
3 Compteurs
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 2 / 50
Introduction
Qu’appelle-t-on fonctions standards ?
Modules logiques renfermant une fonctionnalité simpleCes fonctionnalités correspondent à des éléments logiques fréquemment utilisésCes modules se retrouvent fréquemment sous une forme simple ou combinée dansles circuits
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 3 / 50
Introduction
Fonctions standards séquentielles
Registresparallèle - parallèlesérie - parallèleparallèle - sériemélange des fonctions série et parallèle
CompteursSéquence : binaire, BCD, modulo N, ...Mode : chargement parallèle, compte, décompte, ...
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 4 / 50
Introduction
Système séquentiel : types d’entrées
Un système séquentiel comprend 3 types d’entrées :Les entrées à action synchrone :
action au flanc d’horloge sur les sortiesnous parlerons d’actions synchronessignaux connectés sur le décodeur d’états futurs
Les entrées à action asynchrone :action immédiate sur le registre etat présent (reset, set)
⇒ Action immédiate sur les sortiesUne entrée à action dynamique :
entrée nommée horloge (active sur un flanc)définit l’instant où l’état interne change (cf. actions synchrones)entrée connectée sur l’entrée horloge du registre
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 5 / 50
Introduction
Système séquentiel : schéma bloc
état_present
REG
D Q
Entrées
état_futur
clockSortiesDécodeur
d'étatsfutur
Décodeurde
sorties
Reset/ SetActions
synchrones
Actionsasynchrones
Actiondynamique
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 6 / 50
Registres Introduction
Registres synchrones
Fonctions :Mémorisation d’une informationDécalage d’un flip-flop à l’autre
Utilisé comme :MémorisationConversion série-parallèleGénérateur de séquenceDiviseur de fréquenceCompteur...
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 7 / 50
Registres Registre parallèle
Registre simple
Le registre simple est un ensemble de bascules en parallèle
Symbole CEI
REG4R
C1
1 D Q
Horloge
Reset
Q3..0D3..0
Il est à la base des systèmes séquentielsLa conception des systèmes consistera principalement à définir quelle donnée placeren D
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 8 / 50
Registres Registre parallèle
Registre simple : Chronogramme
C
R
D(0)
D(1)
Q(0)
Q(1)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 9 / 50
Registres Registre à décalage
Registre à décalage : Schéma
Le registre à décalage décale son contenu à chaque cycle d’horloge
D Q D Q D Q
Horloge
QA QB QC
Ser_In D Q
QD
Ser_Out
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 10 / 50
Registres Registre à décalage
Registre à décalage : chronogramme
Horloge
Ser_in
QA
QB
QC
QD
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 11 / 50
Registres Registre à décalage
Exercice
Concevoir un registre à décalage de 4 bits ayant les fonctionnalités suivantes :Si En_Shift est actif : contenu du registre décalé à droiteSi En_Shift est inactif : état du registre maintenu
1 commencez par concevoir une cellule (1 bit),2 ensuite réalisez un registre 4 bits en cascadant 4 cellules3 finalement réalisez celui-ci avec un registre //-// de 4 bits et un bloc logique
combinatoire (décodeur d’états futur)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 12 / 50
Registres Registre à décalage
Exercice
Donner le schéma d’une cellule, puis cascader 4 cellules
1D
C1
RHorloge
Q
Ser_In Ser_Out
En_Shift
Reset
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 13 / 50
Registres Registre à décalage
Exercice
Réaliser le registre à décalage de 4 bits selon la décomposition d’un décodeur d’étatfutur et d’un registre // - // de 4 bits
Donner le schéma du décodeur d’état futur
REG4R
C1
1 D QReg_Futur
Horloge
Reset
Q3..0
En_Shift
Ser_Out
Ser_In
Décodeurd'états futur
Reg_Present
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 14 / 50
Registres Registre universel
Registres synchrones : caractéristiques
Nombre de bitsModes de fonctionnement
Entrée Sortie Fonctionparallèle parallèle mémorisationparallèle série convers. parallèle-série
série parallèle convers. série-parallèlesérie série peu d’utilité, sauf FIFO
+ modes de fonctionnement combinés
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 15 / 50
Registres Registre universel
Registres synchrones : symboles
SRGm registre à décalage m bits (shift register)entrée LOAD Chargement parallèle (prioritaire)entrée Shift Décalage à droite (poids fort vers poids faible)entrée Shift
Décalage à gauche (poids faible vers poids fort)entrée EN autorisation (enable)entrée R Remise à zéro asynchroneentrée entrée de contrôle (horloge)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 16 / 50
Registres Registre universel
Registre SRG4 : symbole
Symbole
SRG4
RLoadShiftEN
[Shift]
D [Load]
sr_ser
nResetnLoad
enclock
val(3..0)4 4
reg(3..0)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 17 / 50
Registres Registre universel
Lecture du symbole
SRG4 ⇒ registre à décalage de 4 bitsR ⇒ remise à 0 asynchrone
Load ⇒ chargement synchrone (prioritaire)Shift ⇒ mode de décalage, mutuellement exclusif avec
le chargement, actif seulement si enableEN ⇒ autorise la fonction décalage à droite
⇒ entrée d’horloge, action dynamique [Shift] ⇒ entrée série, insérée dans MSB lors du déca-
lageD[Load] ⇒ entrée de chargement parallèle
SRG4
RLoadShiftEN
[Shift]
D [Load]
sr_ser
nResetnLoad
enclock
val(3..0)4 4
reg(3..0)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 18 / 50
Registres Registre universel
Schéma bloc : registre synchrone
Schéma bloc
REG
C1
1 D Qreg_futur
clock
Actions_Asynchrone
reg
loaden
Actionssynchrone :
ser_out
sr_ser
valeur
Décodeurd'états futur
reg_present
R
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 19 / 50
Registres Registre universel
SRG4 : analyse du fonctionnement
Fonctions asynchrones :nReset : remise à zéro asynchrone (R)
Fonctions synchrones :Si load actif⇒ chargement parallèle de valSinon si en en actif⇒ décalage à droite avec sr_selSinon⇒ maintien
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 20 / 50
Registres Registre universel
SRG4 : table des fonctions
Table de fonctions synchrones :
load en sr_en Fonction
1 - - reg = val; chargement
0 1 - reg = sr_ser & reg(3..1); décalage à droite
0 0 - reg = reg; maintien
En explicitant reg_fut et reg_pres, sr_ser n’est pas nécessaire :
load en reg_fut Fonction
1 - val chargement
0 1 sr_ser & reg(3..1) décalage à droite
0 0 reg maintien
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 21 / 50
Registres Registre universel
Schéma de la décompostion du SRG4
Décomposition
REG4R
C1
1 D reg_futur
clock
nReset
Reg(3..0)
En
Ser_Out (= Reg(0))
sr_ser
valeur
reg_presentDec.droite
nLoad
0
1
0
1
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 22 / 50
Registres Registre universel
Conception de registres : Méthodologie
1 Identifier les fonctions du registre à décalalge2 Lister ces fonctions (classer synchrones et asynchrones)3 Définir les fonctions asynchrones (prioritaires)4 Fixer les priorités des fonctions synchrones5 Etablir la table des fonctions synchrones
Ctrl1 Ctrl2 ... reg_pres Fonction (reg_fut)1 - ... - chargement0 1 ... - Une certaine fonction0 0 ... = 10 Une autre fonction... ... ... ... ...
autres cas Maintien
6 Etablir le schéma du registre (conseil : utiliser des mux)7 Réaliser la description VHDL du registre
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 23 / 50
Registres Exercices
Exercices
Concevoir deux systèmes séquentiels, utilisant un registre à décalage SRG4 (Slide17) et des portes logiques, générant soit la séquence a) soit la séquence b). Voici lesdeux séquences à réaliser :
a)000 100 110 011 001
b)0000 1000 1100 1110 1111
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 24 / 50
Registres Exercices
Exercices
Concevoir un système séquentiel qui suit la décomposition d’une machineséquentielle simple qui répond au cahier des charges suivants :
Si Enable est actif alors :Si Seq_B_nC est actif alors le système parcourt la séquence suivante :0000 1000 1100 1110 1111
sinon le système parcourt cette autre séquence0000 1000 0100 0010 0001
sinon le système reste dans l’état actuel (maintien)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 25 / 50
Compteurs Introduction
Qu’appelle-t-on un compteur ?
On appelle compteur un module logique séquentiel capable de faire évoluer sessorties en fonction des entrées et d’une séquence prédéfinie.
Il s’agit souvent d’un comptage standard (+1 ou -1)
L’instant où a lieu le changement des sorties dépend d’une entrée appelée horloge
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 26 / 50
Compteurs Introduction
Types de compteurs
Asynchrone (ou pseudo-synchrone)Horloge d’un flip-flop dépend du ou des flip-flops précédents
Full synchroneLe même signal d’horloge est connecté sur tous les flip-flops⇒ tous synchronisés avecmême horloge : d’où le terme de Full synchrone
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 27 / 50
Compteurs Compteur asynchrone
Compteur asynchrone (ripple counter)
Q
Q
D Q
Q
D Q
Q
D Q
Q
D
CLK
Q1
Q0
Q3
Q2
Compteur à structure asynchroneNommé parfois "Compteur pseudo-synchrone"
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 28 / 50
Compteurs Compteur asynchrone
Chronogramme compteur asynchrone
CLK
Q1
Q0
Q3
Q2
tp
tp
tp
10 2 3 4 5 76Q3Q2Q1Q0
0 12 4
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 29 / 50
Compteurs Compteur asynchrone
Analyse du compteur asynchrone
Construction très simplePas synchrone
Retard variable pour chaque sortieRetard cellule N : Tn = N × tpTrès difficile à tester (vérification timing)Il est possible que la sortie change après le flanc suivant de l’horloge
Très mauvaise intégration dans des PLDsUtilisation NON recommandée avec circuits logiques programmables (CPLD etFPGA)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 30 / 50
Compteurs Compteur synchrone
Compteur "full synchrone"
T Q T Q T Q
Horloge
Q0 Q1 Q2
'1' T Q
Q3
Compteur à structure "full synchrone" :Tous les flip-flops sont connectés à la même horloge
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 31 / 50
Compteurs Compteur synchrone
Chronogramme compteur "full synchrone"
CLK
Q1
Q0
Q3
Q2
tp
tp
tp
10 2 3 4 5 76Q3Q2Q1Q0
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 32 / 50
Compteurs Compteur synchrone
Analyse du compteur "full synchrone"
Construction plus complexeSynchrone
Retard identique pour chaque sortie, indépendant de la taille du compteurVérification fréquence maximum simple : Fmax =
1tpDFFmax+tpCOMBmax+tset−upDFFmax
Fonctionnement garanti tant que F < Fmax
Très bonne intégration dans des PLDs
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 33 / 50
Compteurs Compteur synchrone
Compteurs synchrones : caractéristiques
Nombre de bitsNombre d’états : "modulo"Séquence des codesModes de fonctionnement
UP, DownLoad (synchrone ou asynchrone )Reset (asynchrone ou synchrone)Set (asynchrone ou synchrone)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 34 / 50
Compteurs Compteur synchrone
Compteurs synchrones : symboles
CTRm compteur binaire m bits, 2m états
CTRDIVm compteur modulo m (m états)
mode sélection du mode de fonctionnement (chargement, initialisation,comptage, maintien)
Enable autorise les fonctions de comptage (up ou down)
clock entrée d’horloge
Actions asynch. commandes asynchrones sur le compteur (reset, ...)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 35 / 50
Compteurs Compteur synchrone
Compteurs synchrones : symbole
Symbole
CTR4
D [Load]
Rct=0 ct=15loadcount +1EN
nResetinit0
nLoad
enclock
val(3..0)4 4
cpt(3..0)
rco
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 36 / 50
Compteurs Compteur synchrone
Compteur 4 bits : fonctionnement
Analyse du fonctionnement :Action asynchrone :
Reset asynchrone (nReset)Actions synchrones :
Initialisation à zéro indiqué par "ct=0" (init0)Chargement parallèle (//) d’une valeur (nLoad)Comptage par incrément de +1 (en avec nLoad inactif)Maintien lorsqu’aucune commande active !
Important de définir l’ordre de priorité des actions synchrones (pas visible sur symbole) :initialisation à zéro, chargement //, comptage, maintien
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 37 / 50
Compteurs Compteur synchrone
Schéma bloc : compteur synchrone
cpt_pres
REG4
C1
1 D
Décodeurd'états futur
SLCVal(3..0)cpt_fut
clock
cpt(3..0)
init0en
nLoad
Décodeurreport
SLC
rco
nReset
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 38 / 50
Compteurs Compteur synchrone
Compteur 4 bits : table des fonctions synchrones
Table des fonctions synchronesOrdre des priorités :
Initialisation à zéro, chargement parallèle, comptage, maintien
Init0 Load en cpt_fut Fonction1 - - 0 Initialisation à 00 1 - val Chargement parallèle0 0 1 cpt_pres + 1 Comptage0 0 0 cpt_pres Maintien
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 39 / 50
Compteurs Compteur synchrone
Compteur 4 bits : Schéma bloc à compléter
cpt_pres
REG4
C1
1 D
Val(3..0)cpt_fut
clock
cpt(3..0)
init0en
nLoad
rco
nReset
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 40 / 50
Compteurs Compteur synchrone
Conception de compteurs : Méthodologie
1 Identifier les fonctions du compteur2 Lister ces fonctions (classer synchrones et asynchrones)3 Définir les fonctions asynchrones (prioritaires)4 Fixer les priorités des fonctions synchrones5 Etablir la table de transition synchrone
Ctrl1 Ctrl2 ... cpt_pres Fonction1 - ... - chargement0 1 ... - Une certaine fonction0 0 ... = 10 Une autre fonction... ... ... ... ...
autres cas Maintien
6 Etablir le schéma du compteur (conseil : utiliser des MUXs)7 Réaliser le compteur
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 41 / 50
Compteurs Compteur synchrone
Compteur standard
Exemple de compteur très populaire : 74× 163
Symbole CEI
CTRDIV16
5CT=0
M1 [load]
M2 [count]
G3 3 CT=15
G4
C5/ 2,3,4 +
1,5D [1]
[2]
[4]
[8]
74ALS163A
(1)
(9)
(10)
(7)
(2)
(3)
(4)
(5)
(6)
(15)
(14)
(13)
(12)
(11)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 42 / 50
Compteurs Compteur synchrone
Compteurs standard : lecture du symbole
CTRDIV16 ⇒ compteur modulo 16
5CT=0 ⇒ remise à 0 synchrone, car dépendant de la relation 5, qui est une rela-tion C dynamique
M1 ⇒ mode de fonctionnement 1, charge synchrone
M2 ⇒ mode de comptage, mutuellement exclusif avec le chargement (uneseule entrée physique)
G3 ⇒ permet ce qui dépend de la relation 3 : le comptage et l’activation de lasortie de report
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 43 / 50
Compteurs Compteur synchrone
Compteurs standard : lecture du symbole
G4 ⇒ idem 4 : permet le comptage, est sans effet sur le report
C5 ⇒ relation de commande, dynamique à cause du symbole > , entrée d’horlogedes bascules
/ ⇒ cette entrée (ou sortie) a d’autres fonctions
2,3,4 + ⇒ comptage lorsque les relations 2, 3 et 4 sont satisfaites
1,5D ⇒ en mode 1, entrée D (synchrone car dépendant de la relation 5) de la bas-cule du module de poids 1
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 44 / 50
Compteurs Compteur synchrone
74x163 : Schéma de principe
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 45 / 50
Compteurs Compteur synchrone
Exercice
D’après le symbole et le schéma du 74x163 :Listez les modes de fonctionnement de ce compteurQuel mode de fonctionnement est le plus prioritaire ?Le décodeur d’état futur est-il décomposé en cascade ?Pourquoi avoir 2 entrées de permission de compter ?Faites une décomposition fonctionnelle du schémaDécrivez textuellement le fonctionnement d’un module (ne pas confondre avec un blocfonctionnel)
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 46 / 50
Compteurs Compteur synchrone
Exercice
Réalisez un compteur modulo 12 à l’aide d’un PLD selon la décomposition d’unsystème séquentiel. Le compteur dispose des fonctions suivantes :
load : chargement parallèle de valen : active le comptage
Donner le schéma bloc de la décomposition
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 47 / 50
Compteurs Compteur synchrone
Exercice
Réalisez un compteur modulo 16 ayant les fonctions suivantes :Chargement parallèle (load)Mode de comptage et décomptage (Up_nDn)2 entrées enable : enp et ent
Actions comptage/décomptage exécutée si les 2 enable sont actifs
Sortie rco indiquant que le compteur est à max/min pour respectivement le modecomptage/décomptage (entrée Up_nDn). La sortie rco est activée si l’enable ent estactif.
Concevoir celui-ci selon la décomposition d’un système séquentiel. Donner leschéma bloc de la décomposition
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 48 / 50
Compteurs Compteur synchrone
Modification du modulo
Que faire pour un compteur modulo n où n n’est pas une puissance de 2 ?détecter la valeur maximale puis charger une nouvelle valeurN’agire que sur les entrées synchrones !
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 49 / 50
Compteurs Compteur synchrone
Exercice
Réalisez un compteur qui réalise la séquence 2,3,...,7 lorsque l’entrée long estinactive, et la séquence 0,1,...,10 lorsque l’entrée long est active. De plus, cecompteur s’arrête à l’état 4 tant que l’entrée stop_4 est active.Donnez le schéma bloc du compteur selon la décomposition d’un système séquentiel
E. Messerli, Y. Thoma (HES-SO / HEIG-VD / REDS) Systèmes séquentiels: Registres et compteurs Septembre 2019 50 / 50