ÉLECTRONIQUE NUMÉRIQUE AVANCÉE Filière : InfoTronique Chap. 2 : Les bascules Dr. Abdelhakim Khouas Email : akhouas@hotmail.fr Département de Physique Faculté des Sciences
Objectifs de ce chapitre Comprendre le rôle et le fonctionnement des bascules Les circuits séquentiels La notion d élément mémoire Différents types de latch (SR et D) Différents types de bascules (D, T et JK) Caractéristiques temporelles Exemples d utilisation des bascules Registres Compteurs 1
Plan 1. Introduction aux circuits séquentiels 2. Bistable (élément mémoire) 3. Latch (verrou ou loquet) 1. Latch SR 2. Latch SR avec signal d activation ou d horloge 3. Latch D 4. Bascules D «D flip-flop» 1. Bascule D maître-esclave 2. Bascule D avec portes NAND 3. Chronogramme de la bascule D 4. Temps d établissement et de maintien «Setup and Hold time» 5. Contraintes de délais pour les circuits séquentiels 6. Différence de temps de propagation de l horloge «Clock skew» 7. Autres bascules D 5. Autres bascules (T et JK) 6. Registres 7. Compteurs 2
1. Introduction Problématique Est-il possible de réaliser avec les circuits combinatoires : Solution Un circuit permettant d incrémenter la sortie à chaque fois qu on appuie sur une entrée? Un système d alarme qui déclenche une alarme sur détection d un signal d intrusion et qui reste déclenché même après disparition du signal d intrusion? Un bouton poussoir permettant d allumer et d éteindre une lumière en appuyant sur le bouton?. etc. On a besoin d un circuit avec effet mémoire --> circuit séquentiel 3
1. Introduction Définition Les circuits séquentiels ont de la mémoire qui sauvegarde les états du circuit. L état suivant du circuit dépend de l état létat courant et des entrées du circuit Entrées Circuit combinatoire Sorties Registres (mémoire) Schéma d un circuit séquentiel 4
2. Bistable Circuit it bistable bl Caractéristiques du bistable : Le bistable a deux états stables : Q=0 et Q=1 Le bistable peut donc enregistrer les deux valeurs 0 et 1 Problème : On ne peut pas contrôler la valeur contenue dans le bistable Solution : Latch SR qui permet de contrôler et de mémoriser des états. 5
3. Latch (verrou ou loquet) Le latch est un circuit qui a une capacité de mémorisation (comme le bistable) mais permet aussi de fixer un état donné par une méthode d enregistrement Le latch possède deux phases de fonctionnement t : 1.Phase d enregistrement qui permet de modifier l état du circuit 2.Phase de mémorisation ou maintien «Hold» qui permet de sauvegarder l état du circuit 6
3.1 Latch RS Le + indique l état suivant S R Q+ Qn+ 0 0 Q Qn 0 1 0 1 1 0 1 0 1 1 instable État interdit Table de vérité du latch RS Latch RS avec portes NOR Oscillations lorsque SR passe de 11 à 00 S R Q Qn Chronogramme temporelle du latch RS 7
3.1 Latch RS Instant S R Q Qn t 1 1 0 0 t 0 0 0 0 t + δt 0 0 1 1 t + 2 δt 0 0 0 0 t + 3 δt 0 0 1 1 δt représente le délai de propagation de la porte NOR Latch RS avec portes NOR Oscillations des sorties Q et Qn Problème d oscillations du latch RS 8
3.1 Latch RS SR=10 SR=00 SR=01 Q=0 Qn=1 SR=01 Q=1 Qn=0 SR=00 SR=10 SR=11 SR=11 SR=01 SR=01 Q=0 Qn=0 SR=11 SR=10 SR=10 SR=00 SR=11 SR=00 Q=1 Qn=1 Risque d oscillations entre les états 00 et 11 Diagramme d états du latch RS 9
3.1 Latch RS SR=10 SR=00 SR=01 Q=0 Qn=1 Q=1 Qn=0 SR=00 SR=10 SR=01 Remarques : Diagramme d états du latch SR sans la combinaison interdite SR=11 Le latch RS possède 2 états stables QQn=01 et QQn=10 La combinaison SR=10 permet d aller à létat l état 10 La combinaison SR=01 permet d aller à l état 01 La combinaison SR=00 permet et de garder l état courant 10
3.1 Latch RS Caractéristiques du latch RS : Le latch RS possède 2 états stables et peut donc être utilisé comme un élément mémoire L état Létat de la bascule peur être modifié en utilisant les signaux S et R L état de la bascule peut être maintenu avec SR=00 Problème : On ne peut pas contrôler l activation et la désactivation du du fonctionnement du latch Solution : Latch RS avec signal dhorloge d horloge ou d activation 11
3.2 Latch RS avec signal d horloge S R Latch RS avec signal d horloge Fonctionnement du latch RS avec signal d horloge : Pour Clk = 0, on a S =0 et R =0 ==> >le circuit itmaintient tl état tprécédant éd quelque soit itla combinaison i des entrées S et R Pour Clk = 1, on a S =S et R =R ==> le circuit fonctionne comme un latch RS 12
3.2 Latch RS avec signal d horloge S R Clk Q+ Qn+ X X 0 Q Qn 0 0 1 Q Qn 0 1 1 0 1 1 0 1 1 0 1 1 1 instable Latch RS avec signal d horloge Table de vérité du latch RS avec signal d horloge Clk S R Q Qn Chronogramme temporelle du latch RS avec signal d horloge 13
3.2 Latch RS avec signal d horloge Circuit du latch RS avec signal d horloge en utilisant 4 portes NAND 14
3.2 Latch RS avec signal d horloge État interdit Clk S R Q Qn État inconnu : il faut toujours initialiser l élément mémoire avant de l utiliser Chronogramme temporelle du latch RS avec signal d horloge à base de portes NAND 15
3.2 Latch RS avec signal d horloge Problème : Étant donné que le signal dhorloge d horloge Clk permet de maintenir l état courant du circuit (Clk=0), on a plus besoin de la combinaison de maintient (SR=00) ==> Pour utiliser le latch comme élément mémoire, on a seulement besoin de SR=10 et SR=01 ==> Pour utiliser le latch comme mémoire, on na n a pas besoin des deux signaux S et R, un seul signal suffit Solution : Latch D On utilise le latch RS avec signal d horloge et un signal de donnée D et on pose : S = D et R = D 16
3.3 Latch D S R Circuit du latch D en utilisant des portes NAND Fonctionnement du latch D : Pour Clk = 0,on a : S= 0etR= 0 ==> Q = Q et Q = Q + + n Pour Clk = 1, on a : S = D et R = D ==> Q = D et Qn = D n (état de maintien ou de mémorisation) (état de modification ou d'enregistrement) 17
3.3 Latch D Circuit du latch D avec portes NAND Symbole du latch D D Clk Q+ Qn+ X 0 Q Qn 0 1 0 1 1 1 1 0 Table de vérité du latch D Mémorisation o Enregistrement e e t Clk S Q Qn Chronogramme temporelle du latch D 18
3.3 Latch D Considérations temporelles Pour que le latch fonctionne correctement, il faut que la donnée D soit stable Temps d établissement t SU «setup time» Il faut que la donnée D soit stable t SU avant le front de l horloge Temps de maintien t H «hold time» Il faut que la donnée D soit stable t H après le front de l horloge 19
3.3 Latch D t SU t H Temps d établissement Temps de maintien Clk D Q D doit être stable ici t PD Temps de propagation Sortie est valide ici Temps d établissement établissement, de maintien, et de propagation pour un latch D fonctionnant sur état haut 20
3.3 Latch D Il existe deux types de latch D : 1.Latch D sur état haut «Positive Latch»: Q = D pour Clk=1 2.Latch D sur état bas «Negative Latch»: Q = D pour Clk=0 Autres circuits de latch D : Circuit du latch D sur état haut avec multiplexeur Circuit du latch D sur état bas avec multiplexeur 21
3.3 Latch D Circuit combinatoire Problème des latchs D Latch D Le signal rebouclé risque de passer plusieurs fois dans le latch et la partie combinatoire Solution Bascule D «D Flip-Flop» qui utilise le principe de deux barrières dont on n ouvre nouvre qu une une seule barrière à la fois 22
4. Bascule D «D Flip-Flop» Contrairement au latch D qui peut mémoriser l entrée D plusieurs fois pendant un cycle, la bascule D permet de mémoriser l entrée D une seule fois pendant un cycle La bascule D est la cellule mémoire de base utilisée dans les circuits séquentiels Il existe deux types de bascule D : 1.Bascule D maître-escalve 2.Bascule D sur front 23
4. Bascule D «D Flip-Flop» Le latch D fonctionne sur état de l horloge lhorloge La bascule D fonctionne sur front de l horloge La bascule D positive fonctionne sur front montant de l horloge «positive edge D flip-flop» La bascule D négative fonctionne sur front descendant de l horloge «negative edge D flip-flop» Réalisation de bascule D : 1.Bascule D maître-escalve 2.Bascule D avec portes NAND 24
4.1 Bascule D maître-esclave Principe On utilise deux latchs D en cascade contrôlé par deux horloges inversées Ceci indique que la bascule fonctionne sur front descendant Bascule D sur front descendant «negative edge D flip-flop» Front descendantd D Clk Q+ X 0 Q X 1 Q 0 0 1 1 Symbole Table de vérité de la bascule D sur front descendant 25
4.1 Bascule D maître-esclave Bascule D maître-escalve sur front montant «negative edge D flip-flop» Symbole Front montant D Clk Q+ X 0 Q X 1 Q 0 0 1 1 Table de vérité de la bascule D sur front montant 26
4.2 Bascule D avec portes NAND Ce circuit permet de réaliser la bascule D avec moins de portes que la bascule maître-escalve escalve Bascule D sur front montant réalisée avec 6 portes NAND 27
4.3 Chronogramme de la bascule D Zone de changement pour la bascule D Clk D Q Qn Chronogramme de la bascule D sans les délais de propagation 28
4.3 Chronogramme de la bascule D Clk D Q Qn t PD t PD Temps de propagation Chronogramme de la bascule D avec délais de propagation 29
4.3 Chronogramme de la bascule D Zone de changement pour la bascule D Zone de changement pour le latch D Clk D Q_DF Q_LD Bascule D versus Latch D 30
4.4 «Setup time» et «hold time» Pour que la bascule fonctionne correctement, il faut respecter certaines contraintes : Temps d établissement «setup time»t SU :ilfautquela la donnée soit stable t SU avant le front de l horloge Temps de maintien «Hold time» t H : il faut que la donnée soit stable t H après le front de l horloge Délai de propagation t PD C est le délai de réponse de la bascule après le front de l horloge 31
4.4 «Setup time» et «hold time» t SU t H Temps d établissement Temps de maintien «setup time» «hold time» Clk D Q D doit être stable ici t PD Temps de propagation Sortie est valide ici Temps d établissement, de maintien, et de propagation pour une bascule D fonctionnant sur front montant 32
4.5 Contraintes de délai pour les circuits séquentiels t COMB t SU t PD t COMB SU t PD Circuit combinatoire Période T 33
4.5 Contraintes de délai pour les circuits séquentiels Pour qu un circuit séquentiel fonctionne correctement, il faut que : T f t + t + t PD COMB SU avec T : Période de l'horloge t t t PD COMB SU : Délai de réponse de la bascule : Délai de réponse de la partie combinatoire : Temps d'établissement de la bascule 34
4.6 «Clock skew» Le «clock skew» représente la différence de délai entre les différents fronts de l horloge Clk1 Circuit combinatoire Clk2 Clk1 Clock skew Clk2 35
4.7 Autres bascules D : avec reset asynchrone CLR C D Q+ 1 X X 0 0 1 X Q 0 0 X Q 0 0 0 0 1 1 Symbole Table de vérité Bascule D sur front montant avec signal de remise à 0 (CLR) asynchrone 36
4.7 Autres bascules D : avec reset et preset asynchrone CLR PRE C D Q+ 1 X X X 0 0 1 X X 1 0 0 1 X Q 0 0 0 X Q 0 0 0 0 0 0 1 1 Symbole Table de vérité Bascule D sur front montant avec signaux de remise à 0 (CLR) et de remise à 1 (PRE) asynchrones 37
4.7 Autres bascules D : avec reset et preset synchrone CLR PRE C D Q+ 1 X X 0 0 1 X 1 0 0 1 X Q 0 0 0 X Q 0 0 0 0 0 0 1 1 Table de vérité Bascule D sur front montant avec signaux de remise à 0 (CLR) et de remise à 1 (PRE) synchrones 38
5. Autres bascules : Bascule T avec reset Implémentation de la bascule T Symbole T=0 T=1 Q=0 Q=1 T=0 CLR Clk T Q+ 1 X X 0 0 1 X Q 0 0 X Q T=1 Diagramme d état de la bascule T (sans reset) 0 0 Q 0 1 Q Table de vérité 39
5. Autres bascules : Bascule JK Implémentation de la bascule JK Symbole JK=00 JK=01 JK=10 JK=11 JK=00 JK=10 CLR Clk J K Q+ 1 X X X 0 0 0 0 Q Q=0 Q=1 JK=01 JK=11 Diagramme d état de la bascule JK (sans reset) 0 0 1 0 0 1 0 1 0 1 1 Q Table de vérité 40
6. Registres Définition Un registre est un ensemble de N bascules permettant de sauvegarder et manipuler N bits Types de registres 1.Registre à décalage «Shift Register» : le chargement du registre se fait en série 2.Registre à mémorisation : Le chargement du registre se fait en parallèle 3.Registre universel : permet un décalage droite et gauche, et un chargement série et parallèle 41
6.1 Registre à décalage Équations : Q ( t+ 1) = Q ( t) 0 1 Q ( t+ 1) = Q ( t ) 1 2 Q ( t+ 1) = Q ( t) 2 3 Front de Clk D Q3 Q2 Q1 Q0 0 1 U U U U 1 0 1 U U U 2 0 0 1 U U 3 1 0 0 1 U 4 0 1 0 0 1 Q ( t + 3 1) = D ( t ) 5 0 0 1 0 0 42
6.1 Registre à décalage Symbole du registre à décalage 4 bits (entrée/série et sortie/parallèle) avec signaux de mise à 0 et de désactivation 43
6.2 registre à chargement parallèle 44
6.2 registre à chargement parallèle Symbole du registre à décalage 4 bits (entrée/parallèle-série et sortie/parallèle) avec signaux de mise à 0 et de désactivation 45
6.3 Registre universel Symbole du registre universel 4 bits (entrée/parallèle-série, sortie/parallèle, décalage droite et gauche) avec signaux de mise à 0 et de désactivation 46
7. Compteurs Définition : Le compteur est un circuit permettant de compter le nombre de transitions d un signal d entrée (signal d horloge) Modulo du compteur : C est la période du compteur ou le nombre maximum que le compteur peut compter Types de compteurs : Compteur asynchrone : Toutes les bascules du compteur ne sont pas contrôlées par le même signal d horloge Compteur synchrone : Toutes les bascules du compteur sont contrôlées par le même signal d horloge 47
7.1 Compteur asynchrone Inconvénient : Compteur asynchrone 3 bits (modulo 8) avec bascules T le temps de propagation cumulative limite la vitesse du compteur asynchrone. 48
7.1 Compteur asynchrone Agrandissement Clk Reset Q[2:0] Q(2) Q(1) Q(0) Problématique des compteurs asynchrones Chronogramme temporelle du compteur asynchrone 3 bits (modulo 8) 49
7.2 Compteur synchrone : Ring Bascules initialisées à 0 (avec clear) Bascule initialisée à 1 (avec pre-set) Équations : Q ( t+ 1) = Q ( t) 0 1 Q ( t+ 1) = Q ( t) 1 2 Q ( t+ 1) = Q ( t) 2 0 Copie sans inversion Front de Clk Q2 Q1 Q0 1 0 0 1 2 1 0 0 3 0 1 0 4 0 0 1 Compteur en anneau «Ring» modulo n (n=nbre bascules) 50
7.2 Compteur synchrone : Ring Modulo du compteur (3) Clk Reset Q2 Q1 Q0 Phase d initialisation du compteur (Q2Q1Q0 = 001) = Copie sans inversion Chronogramme du compteur ring modulo 3 51
7.2 Compteur synchrone : Johnson Équations : Q ( t+ 1) = Q ( t) 0 1 Q ( t+ 1) = Q ( t) 1 2 Q ( t+ 1) = Q ( t) 2 0 Clk Q2 Q1 Q0 1 0 0 0 2 1 0 0 Copie sans inversion Copie avec inversion 3 1 1 0 4 1 1 1 5 0 1 1 6 0 0 1 7 1 1 0 Compteur Johnson modulo 2*n (n=nbre bascules) 52
7.2 Compteur synchrone : Johnson Clk Reset Q2 Q1 Q0 Modulo du compteur (6) Phase d initialisation du compteur (Q2Q1Q0 = 000) = Copie sans inversion = Copie avec inversion Chronogramme du compteur Johnson modulo 6 53
7.2 Compteur synchrone : modulo 2 n Q2 Q1 Q0 Q2 + Q1 + Q0 + 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 Compteur 3 bits (modulo 8) Équations : Q ( t+ 1) = Q ( t) 0 0 Q ( t+ 1) = Q ( t) Q ( t) 1 0 1 Q ( t+ 1) = Q ( t). Q ( t) Q ( t) 2 0 1 2 54
7.2 Compteur synchrone : modulo 2 n Clk Reset Q[2:0] Q(2) Q(1) Q(0) Phase d initialisation du compteur Chronogramme du compteur 3 bits (modulo 8) 55
7.2 Compteur synchrone : up/down avec chargement Symbole du compteur synchrone up/down 4 bits avec chargement parallèle et signaux de mise à 0 et de désactivation 56
Conclusion Ce qu il faut retenir : Caractéristiques et utilités des circuits séquentiels La notion de mémorisation dans les circuits numériques Le fonctionnement des latchs Le fonctionnement des bascules D Caractéristiques et contraintes temporelles des bascules La réalisation et le fonctionnement des registres et des compteurs 57