Chap. 5 : LOGIQUE SEQUENTIELLE Notions fondamentales

L
Module SIN1: Analyse et Synthèse des Systèmes Logiques
Chap. 5 : LOGIQUE SEQUENTIELLE
>> Bascules
>> Registres
>> Compteurs
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Notions fondamentales
A une combinaison des variables d ’entrées
correspond une seule combinaison des
variables de sortie.
La sortie ne dépend donc que de la valeur
des entrées
Exemple : l ’interrupteur commandant une lampe
1
Interrupteur
Lampe
Inter
Lampe
0
0
1
1
0
1
0
M. BENDAHAN et T. CONTARET
1
L
Chap. 5 : Logique séquentielle
Notions fondamentales
En logique séquentielle, l’état de la sortie dépend
non seulement de l’état des entrées, mais aussi de
l’état précédent de la sortie.
Apparition de la notion de mémoire
Exemple : le bouton-poussoir commandant une lampe
BP
Lampe
Problème:
0
1
pour une même valeur de l ’entrée
BP=0, on peut avoir la sortie Lampe a
0 ou 1.
0
Idem pour BP=1.
1
Bouton-poussoir
0
Lampe
0
1
1
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Notions fondamentales
A une même combinaison de l ’entrée correspond une sortie différente
suivant la manière dont se sont succédés les événements.
On peut déjà dire que nous n ’avons pas un système combinatoire.
On constate que l ’évolution de la lumière dépend de la position du
bouton-poussoir mais aussi du fait que la lampe soit allumée ou pas.
Donc le système conserve la mémoire de l ’état de la lumière avant
que l ’on agisse sur le bouton-poussoir.
C’est un système séquentiel.
M. BENDAHAN et T. CONTARET
2
L
Chap. 5 : Logique séquentielle
Notions fondamentales
SOLUTION :
Rajouter une variable appelée « variable d ’état » car elle informe sur l ’état
du système. Cette variable d’état correspond à l ’information
« lumière allumée ou éteinte ».
On rajoute donc la variable EM (Etat Mémoire) = mémoire de Lampe qui
prend la valeur de Lampe à la combinaison suivante.
BP
EM
0
0
1
0
0
1
1
1
Lampe
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Notions fondamentales
Sur notre exemple :
BP
XOR
EM
OUI
L
Mémoire
M. BENDAHAN et T. CONTARET
3
L
Chap. 5 : Logique séquentielle
Notions fondamentales
GENERALISATION : SYSTEME SEQUENTIEL SYNCHRONE :
LA MACHINE A ETATS DE MOORE
E
n
Fonction
combinatoire :
Évolution des
états futurs
EM
EF
p
Mémoire
p
Fonction
combinatoire:
Évolution des
sorties
m
S
H
EM = p variables d ’États Mémorisés
E = n variables d ’entrées
EF = p variables d ’États Futurs
S = m variables de sorties
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Notions fondamentales
GENERALISATION : SYSTEME SEQUENTIEL ASYNCHRONE :
LA MACHINE A ETATS DE MEALY
E
EM
n
Fonction
combinatoire :
Évolution des
états futurs
EF
p
Mémoire
p
Fonction
combinatoire:
Évolution des
sorties
m
S
H
M. BENDAHAN et T. CONTARET
4
L
Chap. 5 : Logique séquentielle
Notions fondamentales
LOGIQUE SEQUENTIELLE ASYNCHRONE
La sortie d ’un circuit logique séquentiel asynchrone
répond immédiatement a toute modification de l ’entrée.
Sur notre exemple d ’allumage de lampe par bouton poussoir : dès que
l ’on agit sur le bouton, la lampe s’allume immédiatement.
C ’est une logique séquentielle asynchrone.
LOGIQUE SEQUENTIELLE SYNCHRONE
La sortie d ’un système séquentiel synchrone réagit à la
modification des entrées seulement quand un signal
supplémentaire H (horloge) est actif.
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Notions fondamentales
Inconvénients des systèmes asynchrones
:
Réaction immédiate : très sensibles aux parasites externes.
Ils sont également très sensibles aux temps de propagation des couches
logiques internes.
Il suffit que ces temps soient mal adaptés, seulement par dispersion des
caractéristiques du fabricant, pour qu ’il y ait des aléas de commutation.
Avantages des systèmes asynchrones :
Ces circuits consomment moins de puissance que le séquentiel synchrone.
Réponse très rapide.
M. BENDAHAN et T. CONTARET
5
L
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
La logique séquentielle est un mélange de fonctions combinatoires et de mémoires. Les
mémoires sont réalisées par des composants appelés « bascules ».
>> LA BASCULE RS
R = Reset : si R=1 Mise à 0 de la sortie
S= Set : si S=1 Mise à 1 de la sortie
R
S
0
0
0
1
1
0
1
1
R
Q
S
Q
Q
R
S
≥1
Q
≥1
Q'
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> BASCULE SYNCHRONE : RSH
R
Q
H
S
Q
H est le signal
d’horloge qui
synchronise la
modification de la
sortie.
H
R
S
Active
0
0
Active
0
1
Active
1
0
Active
1
1
Non Active
x
x
Déclenchement sur
Q
NIVEAU HAUT
``
NIVEAU BAS
``
FRONT MONTANT
``
FRONT DESCENDANT
M. BENDAHAN et T. CONTARET
6
L
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
R
Q
H
S
H active sur niveau
haut ou front montant
R
H active sur niveau bas
ou front descendant
Q
H
S
Q
Q
Exemple d ’une bascule RSH active sur front montant:
H
S
R
Q
H
1
0
1
0
1
Non Active
R
S
Q
0
0
Mémoire
0
1
1
1
0
0
1
1
Interdit
x
x
Mémoire
0
1
0
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE D (Delay) : Bascule synchrone
D
Q
H
Q
H
D
Active
0
Active
1
Non Active
x
Q
Il existe deux types de bascules « D » :
La D latch dont l’horloge est active sur niveau (haut ou bas)
La D flip-flop dont l’horloge est active sur front (montant ou descendant)
M. BENDAHAN et T. CONTARET
7
L
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE D (Delay) : Bascule synchrone
1
Dlatch 0
H
1
0
Q
1
0
Chronogrammes
1
Dflipflop 0
Chronogrammes
H
1
0
Q
1
0
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE D (Delay) : Description VHDL
Description VHDL d’une bascule D flip flop avec RAZ asynchrone et RAZ synchrone
Remise à zéro
ASYNCHRONE
Q
D
Clk
RAZ
La remise à zéro (active à
zéro) est prioritaire et
indépendante de l’horloge : son
action est immédiate
Remise à zéro
SYNCHRONE
La remise à zéro (active à
zéro) est prioritaire mais
synchronisée sur un front
d’horloge.
Utilisation de l’instruction conditionnelle : IF __THEN __ ELSE
Cette instruction permet de gérer les priorités d’action de plusieurs
signaux, la priorité s’implémente par l’instruction IF
M. BENDAHAN et T. CONTARET
IF
ELSIF
ELSE
END IF
condition
THEN
condition
THEN
instructions
instructions;
instructions
8
L
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE D (Delay) : Description VHDL
Avec remise à zéro ASYNCHRONE
Avec remise à zéro SYNCHRONE
entity BDRA is
entity BDRS is
port (D, RAZ, CLK : in std_logic;
port (D, RAZ, CLK : in std_logic;
Q : out std_logic);
Q : out std_logic);
end BDRA;
end BDRS;
Architecture COMP_DBRA of DBRA is
Architecture COMP_DBRS of DBRS is
begin
begin
process(CLK,RAZ)
process(CLK,RAZ)
begin
begin
if RAZ = ‘0’ then Q <= « 0 » ;
if CLK’EVENT and CLK = ‘1’ then
elsif CLK’EVENT and CLK = ‘1’
if RAZ = ‘0’ then Q <= ‘0’;
then Q <= D;
else Q <= D;
end if;
end Process;
end if;
End COMP_DBRA;
M. BENDAHAN et T. CONTARET
end if;
Sur front montant
end Process;
End COMP_DBRA;
Autre instruction :rising_edge(clock)
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE T (Toggle) : Bascule synchrone
T
H
H
1
0
T
1
0
Q
1
0
Q
Q
Horloge
T
Active
0
Active
1
Non Active
x
Qn
M. BENDAHAN et T. CONTARET
9
L
Chap. 5 : Logique séquentielle
Les bascules : éléments mémoires
>> LA BASCULE JK (Jack King) : Bascule synchrone
J
Q
H
K
Q
H
J
K
Active
0
0
Active
0
1
Active
1
0
Active
1
1
Non Active
x
x
Q
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les bascules :
caractéristiques dynamiques
ts
th
Entrées
Horloge
tw
Sortie
t pHL
tpLH
ou
tpHL : temps de propagation pour que la sortie commute de l'état haut à l'état bas
tpLH : temps de propagation pour que la sortie commute de l'état bas à l'état haut
ts : temps de prépositionnement des données
th : temps de maintien des données
M. BENDAHAN et T. CONTARET
tw : durée minimum des impulsions d'horloge
10
L
Chap. 5 : Logique séquentielle
Les bascules :
caractéristiques dynamiques
La donnée doit rester stable pendant un intervalle de
temps au moins égal à ts + th autour du front de l'horloge.
paramètre (ns)
TTL LS
TTL FAST
CMOS 4000
D
JK
D
JK
74
112
74
112
ts
25
25
2
4
60
100
20
25
th
0
5
1
0
0
0
3
3
tw de l'horloge
25
25
4
4,5
100
150
15
20
fmax (en MHz)
33
45
125
130
5
4
24
24
tpLH de H → Q
23
18
5,3
5
200
200
25
31
de H → Q
26
21
6,2
5
200
200
25
31
tpHL
D
JK
CMOS HC
D
4013B 4027B 74A
JK
112
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les registres
APPLICATIONS :
1 – Mettre en mémoire un mot binaire de n bits.
2 - Transmettre des données en série
3 - Transmettre des données en parallèle
Les registres sont constitués d ’éléments mémoires élémentaires que
sont les bascules D. Une bascule par bit.
Toutes ces bascules sont commandées par la même horloge. Nous
avons donc une logique séquentielle synchrone.
M. BENDAHAN et T. CONTARET
11
L
Chap. 5 : Logique séquentielle
Les registres
REGISTRE UNIVERSEL
exemple : 74LS194 (4 bits)
E3 E2 E1 E0
ESD
ESG
H
S0
S1
RAZ
SSG
SSD
Q3 Q2 Q1 Q0
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les registres
Les entrées de sélections S0 et S1 permettent de choisir le mode de
fonctionnement du registre suivant la table de vérité :
RAZ
S0
S1
H
1
0
0
x
mémoire
1
0
1
↑
chargement série et décalage à gauche
1
1
0
↑
chargement série et décalage à droite
1
1
1
↑
chargement parallèle
0
x
x
x
mise à 0 asynchrone
fonctionnement
M. BENDAHAN et T. CONTARET
12
L
Chap. 5 : Logique séquentielle
entrées
Les registres
H
>> Etude du mode chargement parallèle
sorties
A chaque top d ’horloge, les n sorties du registre
sont remplacées par les n entrées d’un seul coup.
Constitution interne
Registre 4 bits
E3
E2
D3
E1
D2
R
E0
D1
R
= 4 bascules
L ’entrée RAZ
(asynchrone) permet
de remettre à zéro les
sorties du registre
D0
R
R
H
RAZ
Q3
Q2
Q1
Q0
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Entrée série
Les registres
H
Sortie série
>> Etude du mode décalage à droite
Les n bits constituants le mot binaire sont présentés au
registre les uns après les autres (en série).
Ils se propagent ensuite à chaque coup d ’horloge par
décalage successif (décalage à droite) .
Constitution interne
Les bascules sont connectées
en cascade.
A chaque coup d ’horloge, la
bascule n° p prend la valeur
de la bascule n° p+1.
L ’information se propage
donc de gauche à droite.
ESD
p+1
p
D3 Q3
D2 Q2
D1 Q1
D0 Q0
R
R
R
R
SSD
H
RAZ
D0 =
D1 =
D2 =
D3 =
Q1
Q2
Q3
ESD
M. BENDAHAN et T. CONTARET
13
L
Chap. 5 : Logique séquentielle
Les registres
>> Exemple de décalage à droite d’un mot de 4 bits : E3 E2 E1 E0
Avant le coups
d’horloge
ES
H
Registre à
décalage
Q3 Q2 Q1 Q0
SS
RAZ
ES
Q3
Q2
Q1
Q0 =SS
E0
0
0
0
0
H
E0
E0
0
0
0
t0
E1
E1
E0
0
0
t1
E2
E2
E1
E0
0
t2
E3
E3
E2
E1
E0
t3
Le mot de 4 bits est
mémorisé.
Il faut 4 coups
d ’horloge pour 4 bits.
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les registres
>> APPLICATION AU TRANSFERT SYNCHRONE D'INFORMATION :
1 - TRANSFERT PARALLELE :
Utilisation de deux registres, l'un sert d'émetteur, l'autre de récepteur.
Une donnée D=A1B1C1D1, est chargée parallèlement à travers les entrées ABCD, dans le
registre 1, puis transférée en mode // dans le registre 2.
Schéma structurel
A1
B1
C1
D1
R
E
G
I
S
T
R
E
H
E
A1
B1
C1
D1
Au premier coup d’horloge
R
E
G
I
S
T
R
E
A1
B1
C1
D1
R
S0
S1
Au deuxième coup d’horloge
M. BENDAHAN et T. CONTARET
14
L
Chap. 5 : Logique séquentielle
Les registres
>> APPLICATION AU TRANSFERT SYNCHRONE D'INFORMATION :
2 - TRANSMISSION SERIE :
Ce type de transfert permet d'échanger des informations entre deux systèmes logiques par
l'intermédiaire d'une seule ligne.
Exemple : connexion série du périphérique ECRAN/CLAVIER sur un ordinateur.
CLAVIER
UNITE CENTRALE
ECRAN
Une donnée D=D1C1B1A1, est chargée parallèlement dans le registre 1, puis transférer en
mode série (droite par ex.) dans le registre 2.
D1 C 1 B 1 A 1
H
Schéma structurel
D2 C 2 B 2 A 2
Esd
S0
S1
Esd
S0
S1
QD2 QC2 QB2 QA2
QA1
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les registres
REGISTRE 2
REGISTRE 1
entrées
1101
MODE Chargement //
1101
X110
XX11
XXX1
XXXX
MODE Décalage à droite
Esd
QD2 QC2 QB2 QA2
1
XXXX
0
1XXX
1
1
X
01XX
101X
1101
M. BENDAHAN et T. CONTARET
15
L
Chap. 5 : Logique séquentielle
Les compteurs
Un compteur est un circuit logique séquentiel qui permet de
dénombrer les impulsions électriques reçues sur une entrée dite
entrée horloge à partir d'un instant origine.
Le contenu du compteur reste stable entre chaque impulsion
d'horloge.
Il est donc essentiellement constitué d’éléments mémoires,
c’est à dire de bascules dont l'interconnexion est fonction du
type de comptage prévu.
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> Exemple : n = 4 , code binaire naturel ou code DCB
0
1
2
3
4
5
Code DCB
6
7
8
9
10
11
12
13
14
15
Code binaire naturel
Le compteur en code binaire naturel est un compteur modulo 16 à
séquence complète.
Le compteur en code DCB est un compteur modulo 10 (ou décade)
à séquence incomplète.
M. BENDAHAN et T. CONTARET
16
L
Chap. 5 : Logique séquentielle
Les compteurs
Compteurs synchrones et compteurs asynchrones
Dans un compteur synchrone, les n bascules qui constituent le compteur
changent d'état au moment d'un coup d'horloge.
Dans un compteur asynchrone, la première bascule change d'état quand un
signal est appliqué sur l'entrée horloge, puis la sortie de cette bascule
entraîne le changement d'état de la bascule suivante et ainsi de suite.
C / D : entrée de sélection du comptage/décomptage.
CH : ordre de chargement des entrées de prépositionnement
CH
H : entrée impulsion de comptage
Entrées de
prépositionnement
...
H
C/D
Il existe de nombreux compteurs en circuit
intégré, mais il est intéressant de savoir
synthétiser un compteur avec des bascules.
compteur modulo
2n ou M ≤ 2n
...
RAZ
Qn-1
Q0
sorties
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS ASYNCHRONES A SEQUENCE COMPLETE (BASCULES JK)
1
Q
J
Q
J
J
n = 3 :
Q
H
capacité compteur 23 = 8
K
K
K
Compteur Modulo 8
RAZ
Q0
Q1
Q2
H
Q0
Q1
Q2
000
0
001 010 011 100 101 110 111 000 001 010 011
1
2
3
4
5
6
7
0
1
2
3
M. BENDAHAN et T. CONTARET
17
L
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS ASYNCHRONES A SEQUENCE COMPLETE (BASCULES JK)
Remarque 1:
Les bascules sont raccordées en cascade. Chaque bascule doit attendre que la
précédente ait commutée.
On a un raccordement série, donc les temps de propagation tp s ’ajoutent. Si il y a n
bascules, le temps de propagation le plus défavorable est de n.tp.
la fréquence maxi des impulsions à compter :
f
max
= 1/(n.tp)
Remarque 2:
Chaque bascule divise par 2 la fréquence du signal qu ’elle reçoit. En choisissant la bonne
sortie Qi, on peut avoir un montage diviseur de fréquence par 2i.
fQ0 = fH / 2,
fQ1 = fQ0 / 2 = fH/4,
fQ2 = fQ1 / 2 = fQ0/4 = fH/8
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS SYNCHRONES A SEQUENCE QUELCONQUE
Les bascules changent d’état simultanément car l’horloge est commune à toutes
les bascules (JK ou D).
A chaque coup d ’horloge, chaque bascule doit, en fonction de la séquence désirée,
soit rester dans son état précédent, soit inverser sa sortie. Il faut donc mettre
les bonnes valeurs en entrée.
Q0 Q1
Schéma
synoptique d’un
compteur
synchrone
...
Qn-1
circuit combinatoire
J0
Q0
J1
Q1
Jn-1
Qn-1
...
K0
K1
Kn-1
H
M. BENDAHAN et T. CONTARET
18
L
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS SYNCHRONES A SEQUENCE QUELCONQUE
Exemple : synthèse d’un compteur binaire synchrone
modulo 6
Utilisation possible de bascules de types JK ou Dflipflop
000
001
010
011
100
101
J
K
0
0
Qn+1 = Qn
0
1
0
1
0
1
1
1
Qn+1 = Qn
x x
H
x
Q
Qn+1 = Qn
Tableau de transition
SORTIES
Q2Q1 Q0
0
SI BASCULES JK
J2 K2
J1 K1
SI BASCULES D
J0 K0
D2 D1 D0
000
1
001
2
010
3
011
4
100
5
101
0
000
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS SYNCHRONES A SEQUENCE QUELCONQUE
Exemple : synthèse d’un compteur binaire synchrone modulo 6
Fonctions
Avec bascules JK
Avec bascules D
Solution la plus performante
pour une réalisation avec des
circuits intégrés classiques
Solution la plus performante pour une
réalisation avec des circuits
programmables PAL qui intègrent des
bascules de type D en sortie
M. BENDAHAN et T. CONTARET
19
L
Chap. 5 : Logique séquentielle
Les compteurs
>> SYNTHESE DE COMPTEURS SYNCHRONES A SEQUENCE QUELCONQUE
Exemple : synthèse d’un compteur binaire synchrone modulo 6
Schéma logique avec bascules de type JK
J0 = K0 =1
J1 = Q2 . Q0
&
1
K1 = Q0
J2 = Q1 . Q0
K2 = Q0
&
J0 Q0
J1 Q1
J2 Q2
K0
K1
K2 Q2
H
Q0
Q1
Q2
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> REALISATION D’UN COMPTEUR MODULO 6 EN UTILISANT UN COMPTEUR
SYNCHRONE MODULO 10
0
1
2
3
5
4
GRAPHE DE TRANSITION
H
Q0
Q1
Q2
000
0
001 010 011 100 101 000 001 010 011
1
2
3
4
5
0
1
2
3
M. BENDAHAN et T. CONTARET
20
L
Chap. 5 : Logique séquentielle
Les compteurs
>> REALISATION D’UN COMPTEUR MODULO 6 EN UTILISANT UN COMPTEUR
SYNCHRONE MODULO 10
UTILISATION DE L’ENTREE RAZ DU COMPTEUR
Deux cas peuvent se présenter (Cf TD 11, ex.3)
RAZ synchrone
(sur front d’horloge)
RAZ asynchrone
(immédiate)
Il faudra utiliser l'état 6
càd (110) pour actionner la
Il faudra utiliser l'état 5
càd (101) pour actionner la
RAZ
RAZ
RAZ
compteur
RAZ
compteur
CLk
Q2 Q1 Q0
CLk
Q2 Q1 Q0
&
&
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
DESCRIPTION VHDL N°1: COMPTEUR BINAIRE MODULO 6
(PRISE EN COMPTE DES COMBINAISONS PARASITES)
Diagramme d’état
111
H
H
000
H
H
010
001
110
H
011
H
Cpt Mod 6
CLK
Q2
Q1
Description comportementale : case - when
Q0
H
100
101
entity COMPTEUR is
Port (CLK:in std_logic;
Q:out std_logic_vector(2 downto 0));
end COMPTEUR;
Architecture COM_COMPTEUR of
begin
process (CLK)
begin
if rising_edge(CLK) then
case Q is
when «000»
=> Q
when «001»
=> Q
when «010»
=> Q
when «011»
=> Q
when «100»
=> Q
when others
=> Q
end case;
end if;
end process;
end COM_COMPTEUR;
COMPTEUR is
<=
<=
<=
<=
<=
<=
«001»;
«010»;
«011»;
«100»;
«101»;
«000»;
M. BENDAHAN et T. CONTARET
21
L
Chap. 5 : Logique séquentielle
Les compteurs
DESCRIPTION VHDL N°2 : COMPTEUR BINAIRE MODULO 60 avec RAZ Asynchrone
entity COMPTM60 is
Port (CLK,RAZ:in std_logic;
Q:out std_logic vector(5 downto 0));
end COMPTEUR;
Introduction d’un signal
intermédiaire sur lequel nous
allons pouvoir travailler
Attention on ne peut plus utiliser l’instruction
«case» comme précédemment, le nombre de
lignes serait trop grand
La sortie prend la valeur
du signal X
architecture COM_COMPTM60 of COMPTM60 is
Signal X : std_logic_vector(5 downto 0);
begin
process (CLK, RAZ)
begin
if RAZ=‘0’ then X<=«000000»
elsif rising_edge(CLK) then
if X>=59 then X<= « 000000 »
else X<=X+1;
end if;
end if;
end process;
Q <= X
end COM_COMPTEUR;
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
Bascules D avec même H
Compteur synchrone
>> EXEMPLE : LE COMPTEUR 74LS163
M. BENDAHAN et T. CONTARET
22
L
Chap. 5 : Logique séquentielle
Les compteurs
>> EXEMPLE : LE COMPTEUR 74LS163 → chronogrammes
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
>> EXEMPLE : LE COMPTEUR 74LS163
→ montage en cascade synchrone avec deux circuits
ENP et ENT : entrées de validations du compteur :doivent être à 1 pour compter !
RCO
M. BENDAHAN et T. CONTARET
15
0
Ripple Carry Output passe à 1 à chaque fois que le
compteur passe de 15 à 0, et active donc le
compteur suivant.
23
L
Chap. 5 : Logique séquentielle
Les compteurs
>> LE COMPTEUR 74LS163 : cycle de comptage particulier :
→ exemple : 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3, 4 ………..
DCBA : 0011
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Les compteurs
TABLEAU COMPARATIF ENTRE PLUSIEURS COMPTEURS
M. BENDAHAN et T. CONTARET
24
L
Chap. 5 : Logique séquentielle
Diviseur de fréquence
On veut une horloge de fréquence f = 1Hz
On dispose :
- d’un quartz (horloge extrêmement précise) de fréquence f = 65,536 kHz,
- de compteurs modulo 16
Diviseur de fréquence / 65536
f = 1 Hz
→ Compteur Modulo 65536
f0 = 65,536 kHz
f0 = 65,536 kHz
M16
M16
M16
M16
f = 1 Hz
f0/161
f0/162
f0/163
f0/164
4096 Hz
256 Hz
16 Hz
1 Hz
M. BENDAHAN et T. CONTARET
Chap. 5 : Logique séquentielle
Diviseur de fréquence
Réalisation pratique en utilisant les sorties RCO de compteurs
synchrones modulo 16 (ex.: compteur 74LS163)
1
EN P
1
EN T
EN T
65,536 kHz
RCO
EN T
f0/164
EN P
EN P
EN P
RCO
f0/163
f0/162
f0/161
RCO
EN T
f = 1 Hz
CLK
RCO
RCO
15
0
Ripple Carry Output passe à 1 à chaque
fois que le compteur passe de 15 à 0,
et active donc le compteur suivant.
M. BENDAHAN et T. CONTARET
25