ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Cours 6Cours 6Logique séquentielle (2)Logique séquentielle (2)
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
R
Q*
Q
S
Bascule RS
asynchrone
D
Q*
Q
E
Bascule D latch ou à verrouillage
synchronisation sur niveau
D
Q*
Q
CK
Bascule D flip-flop ou à déclenchement
sur fronts
synchronisation sur fronts
Bascules étudiées au cours 5
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Qu'est-ce qu'un registre ?
§ Ensemble de bascules permettantu de stocker une information sous forme de mots binaires
de n bitsu et, pour certains types de registres, d'effectuer des
translations ou décalages sur ces mots,
§ Les registres de mémorisationu stockage
§ Les registres à décalageu stockage et décalage
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Le registre de mémorisation ou registre tampon
En-1
H
EnE2E1
Qn-1 QnQ2Q1
D
CK
Q
bascule1
D
CK
Q
bascule2
D
CK
Q
bascule n-1
D
CK
Q
basculen
Réalisation avec des bascules D latches ou D flip-flops
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres à décalage (I)
§ Les bascules sont interconnectées=> Utilisation exclusive de flip-flops (cf. PC 6-7)
§ Fonction décalage à droite
D
CK
Q D
CK
Q D
CK
QE
H
D
CK
Q
bascul e1
basculei-1
basculei
bascule i+1
D
CK
Q
basculen
QnE
H
D Qi i= −1
=> E sur Qn après n fronts actifs de H
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
D
CK
Q
basculei-1
D
CK
Q
bascul ei
D
CK
Q
bascule i+1
E
H
D
CK
Q
basculen
D
CK
Q
bascule1
Les registres à décalage (II)
§ Fonction décalage à gauche
Q1
E
H
D Qi i= +1
=> E sur Q1 après n fronts actifs de H
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres à décalage (III)
§ Fonction de chargement parallèle
EP3
H
EP4EP2EP1
D
CK
Q
bascule4
D
CK
Q
bascule 3
LOAD LOAD LOADLOAD
ES D
CK
Q
bascule1
D
CK
Q
bascule2
10
10
10
10
u LOAD = 1 , (EP1, ... , EPn) est chargé dans le registreu LOAD = 0, mode décalage
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres à décalage (IV)
§ Initialisation du registre
E
H
D
CK
Q
bascule1
bascule2
D
CK
Q D
CK
Q
bascule3
D
CK
Q
bascule4
1 1
11
INIT
CL*
PR* PR* PR* PR*
CL* CL* CL*
registreinitialisé à
0101si INIT = 0
u Rappel : entrées prioritaires asynchrones des bascules§ CLEAR ou RESET : Q est forcé à 0§ SET ou PRESET : Q est forcé à 1
u La commande d'initialisation ne doit pas être activée pendant le fonctionnement normal (synchrone) du circuit
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Le registre "universel"
§ Dans les catalogues de circuits standard : registres multi-fonctions
H
En-1 EnE2E1
Qn-1 QnQ2Q1
SSGsortie série gauche
SSDsortie série droi te
ESGentrée série gauche
ESDentrée série droite
REGISTRE UNIVERSEL
INIT
MODESENS
} entrées parallèles
} sorties parallèles
u chargement série ou parallèle (MODE, ESD, ESG, Ei)u décalage à droite et à gauche (SENS)u lecture série ou parallèle (SSD, SSG, ou Qi)u initialisation (INIT)
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Le registre "universel" : structure
§ Exemple de réalisation de la cellule de base d'un registre universel
D
CK
Q
basculei
11
00Qi+1
Q i -1
Q i
(Q ESG)n+1 =
(Q ESD)0 =
INIT
MODESENS
H
E i
u MODE = 0, chargement parallèleu MODE = 1, décalage§ SENS = 1, décalage droite§ SENS = 0, décalage gauche
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (I)
§ Mémorisation temporaire d'une information
§ Conversion parallèle-série de mots binairesu chargement parallèle puis décalage
En-1 EnE2E1
H S
n = 4
YiXi ZiEi(i =1, 2, 3, 4)
S X2 Y4 Y3 Y2X1 Z4Y1
H
MODE
f
f / 4
f
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (II)
§ Conversion série-parallèle d'un train binaireu mode décalage et récupération des mots binaires sur Q1 ... Qn
H
E
Qn-1 QnQ2Q1n = 4
E Y4Y3Y2 Z1Y1
H
Q1 X2 Y4Y3Y2
Y1Q2 Y3Y2
Q3
X3
W3
Y2
X1
Q4
X2
X4
X3 X4 Y1
X3 X4
Y1
Y1
X4
X4
X3
X3X2
X2
X1
X1W4
W4
f
f / 4
X Y
f
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (III)
§ Ligne à retard numériqueu permet de retarder un train binaire de n périodes d'horloge
HE S
§ Division et multiplication par 2n
u décalage à droite de n bits : division par 2n
0 1 0 1 1 0 → 22 : état initial
æ æ æ æ æ
0 → 0 0 1 0 1 1 → 11 : après 1 front actif de H
æ æ æ æ æ
0 → 0 0 0 1 0 1 → 5 : après 2 fronts actifs de H
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (IV)
u décalage à gauche de n bits : multiplication par 2n
0 0 0 1 1 1 → 7 : état initial
å å å å å å
0 0 1 1 1 0 ← 0 → 14 : après 1 front actif de H
å å å å å å
0 1 1 1 0 0 ← 0 → 28 : après 2 fronts actifs de H
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (V)
§ Réalisation de générateurs de séquences pseudo-aléatoiresu registre à décalage + OU exclusifs
D D D D D
CK CK CK CK CK
Q Q Q Q Q
h2 h3 hn-1 hnh1
ck
Polynôme générateur
{ }P X h X h X h X h X hnn
nn
i( ) , ;= + + + + + ∈−−1 011 2
21
1L
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les registres : applications (VI)
u Exemple de générateur pseudo-aléatoire
D D D D
CK CK CK CK
Q Q Q Q
ck
Q1 Q2 Q3 Q4
P X X X( ) = + +1 4
1111 1010 1001 10000111 1101 0100 11001011 0110 0010 11100101 0011 0001 1111 ...
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Les compteurs § Définition
u Un compteur est un circuit dont la valeur des sorties est directement liée au nombre d'impulsions appliquées sur son entrée d'horloge
u Le plus souvent, énumération du code binaire naturel
§ Deux catégories de compteursu compteurs asynchronesu compteurs synchrones
§ Un système séquentiel est synchrone (sur fronts) <=> les changements d'état du système (hors initialisation) sont conditionnés par les fronts actifs du signal d'horlogeu Exemple : les registres sont des circuits synchrones
§ Sinon, il est asynchrone
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Le diviseur (de fréquence) par 2
§ C'est le compteur le plus simple : comptage binaire modulo 2
H
D
CK
Q
H
Q
D = Q
Q*
Q
ff / 2
f / 2
contrainte : t CK Q tp hold( )→ >∗ (toujours vérifié)
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Compteurs asynchrones modulo 2n
§ Compteur asynchrone modulo 8
H
Q1 Q2
D
CK
Q D
CK
Q D
CK
Q
Q3
H
Q1
Q2
Q3
001000 010 011 101100 110 111(Q3 Q2 Q1) 000 001
Q* Q* Q*
MSB
LSB
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Décompteurs asynchrones modulo 2n
§ Décompteur asynchrone modulo 8
H
Q1 Q2
D
CK
Q D
CK
Q D
CK
Q
Q3
H
Q1
Q2
Q3
001000 010011101 100110111(Q3 Q2 Q1) 000 111
Q* Q* Q*
MSB
LSB
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Analyse temporelle des sorties d'un compteur / décompteur asynchrone
§ Cumul des temps de propagation des bascules
011 010 100000
H
Q1
Q3
Q2
Passage de l'état 011 à 100du compteur modulo 8t CK Qp basc( )→ 1
t CK Q t CK Qp basc p basc( ) ( )→ + →∗1 2
t CK Q t CK Q
t CK Qp basc p basc
p basc
( ) ( )
( )
→ + →
+ →
∗ ∗1 2
3
t nptotalαu les compteurs de grande taille sont lentsu états transitoires parasites
ELP 304 : ÉLECTRONIQUE NUMÉRIQUEELP 304 : ÉLECTRONIQUE NUMÉRIQUE
Bilan sur l'utilisation des compteurs asynchrones
§ Intérêt principalu leur simplicité
§ Leurs (nombreux) inconvénients u vitesse de fonctionnement limitée pour les compteurs de grande
tailleu présence d'états transitoires indésirables sur les sorties après
chaque front de l'horlogeu pas de méthode fiable pour réaliser des cycles incomplets ( )
ou d’autres énumérations que le code binaire naturel≠ 2n
Top Related