Chapitre 13 — Verrous et bascules
Niveau conseillé : Bac+1 / Bac+2 — Cycle préparatoire, BTS, BUT, Licence
Idée centrale Une bascule mémorise un bit à un instant précis. La valeur mémorisée dépend des entrées, de l’état précédent et, pour une bascule synchrone, du front actif de l’horloge. |
Présentation du chapitre
Les systèmes séquentiels ont besoin d’éléments capables de mémoriser une information binaire. Les verrous et les bascules constituent ces briques fondamentales. Ils permettent de stocker un bit, de synchroniser des données, de compter des événements, de diviser une fréquence et de construire des registres, des compteurs ou des machines à états.
Ce chapitre commence par le verrou RS, qui illustre la mémoire obtenue par rétroaction. Il présente ensuite les bascules D, JK et T, les entrées asynchrones Preset et Clear, ainsi que les contraintes temporelles qui conditionnent le fonctionnement fiable d’un système synchrone.
Objectifs pédagogiques
À la fin du chapitre, l’étudiant sera capable de… | Indicateur de maîtrise |
|---|---|
| analyser un verrou RS à portes NOR ou NAND | les états mémoire, Set, Reset et interdit sont correctement identifiés |
| distinguer verrou et bascule | la sensibilité au niveau et au front est expliquée |
| utiliser une bascule D | la donnée capturée au front actif est déterminée |
| analyser une bascule JK | la suppression de l’état interdit et le mode toggle sont compris |
| utiliser une bascule T | la division de fréquence et l’emploi dans les compteurs sont expliqués |
| interpréter Preset et Clear | la priorité des commandes asynchrones est appliquée |
| compléter un chronogramme | les changements de Q sont placés aux bons instants |
| vérifier les contraintes temporelles | setup, hold et propagation sont calculés |
| expliquer la métastabilité | la cause, le risque et les moyens de réduction sont connus |
| convertir une bascule | les équations d’excitation permettent d’obtenir une D ou une T à partir d’une JK |
Prérequis
- connaître les portes NON, ET, OU, NAND et NOR ;
- savoir lire une table de vérité et un chronogramme ;
- comprendre la notion d’état présent et d’état futur ;
- connaître le fonctionnement synchrone et le rôle du front actif ;
- savoir utiliser les lois fondamentales de l’algèbre de Boole.
Organisation du chapitre
Partie | Thème | Compétence principale |
|---|---|---|
| 13.1 | Verrou RS | mémoriser, forcer et analyser les états interdits |
| 13.2 | Bascule D | échantillonner et stocker une donnée |
| 13.3 | Bascule JK | commander Set, Reset, mémoire et basculement |
| 13.4 | Bascule T | diviser une fréquence et préparer un compteur |
| 13.5 | Entrées asynchrones | initialiser ou forcer immédiatement une sortie |
| 13.6 | Contraintes temporelles | garantir une capture fiable et éviter la métastabilité |
| TD / TP | Mise en application | chronogrammes, conversions et mesures |
13.1. Verrou RS
Le verrou RS, parfois appelé latch RS, est l’un des éléments de mémoire les plus simples. Les lettres R et S signifient Reset et Set. Deux portes logiques sont croisées de manière à ce que la sortie de chacune influence l’autre. Cette rétroaction crée deux états stables et permet de conserver une information même lorsque les entrées de commande redeviennent inactives.
Verrou ou bascule ? Un verrou est généralement sensible au niveau d’une commande : il peut évoluer pendant toute la durée où cette commande est active. Une bascule est généralement sensible à un front : elle ne capture l’information qu’au moment de la transition active de l’horloge. |
13.1.1. Verrou RS à portes NOR
Dans la réalisation à portes NOR, les entrées S et R sont actives à l’état 1. S = 1 demande la mise à 1 de Q. R = 1 demande la remise à 0 de Q. Lorsque S = R = 0, aucune commande n’est active et la rétroaction maintient l’état précédent.

Figure 1 — Verrou RS à portes NOR et rétroactions croisées.
S | R | Q(t+1) | Q̅(t+1) | Fonction |
|---|---|---|---|---|
| 0 | 0 | Q(t) | Q̅(t) | mémoire |
| 1 | 0 | 1 | 0 | Set : mise à 1 |
| 0 | 1 | 0 | 1 | Reset : remise à 0 |
| 1 | 1 | 0 | 0 | état interdit |
L’état S = R = 1 force simultanément les deux sorties à 0. Les sorties ne sont alors plus complémentaires. Lorsque S et R reviennent ensemble à 0, l’état final peut dépendre des retards internes des portes. Cette combinaison doit donc être évitée.
NOR-RS : S = 1 ⇒ Q = 1 ; R = 1 ⇒ Q = 0 ; S = R = 0 ⇒ mémoire |
13.1.2. Séquence Set, mémoire et Reset
Instant | S | R | Q avant | Q après | Commentaire |
|---|---|---|---|---|---|
| t0 | 0 | 0 | 0 | 0 | état initial |
| t1 | 1 | 0 | 0 | 1 | commande Set |
| t2 | 0 | 0 | 1 | 1 | état mémorisé |
| t3 | 0 | 1 | 1 | 0 | commande Reset |
| t4 | 0 | 0 | 0 | 0 | nouvel état mémorisé |
13.1.3. Verrou RS à portes NAND
Dans la réalisation à portes NAND, les entrées sont actives à 0 et sont souvent notées S̅ et R̅. La commande Set est obtenue avec S̅ = 0 et R̅ = 1. La commande Reset est obtenue avec S̅ = 1 et R̅ = 0. La mémoire correspond à S̅ = R̅ = 1.

Figure 2 — Verrou RS à portes NAND avec entrées actives à 0.
S̅ | R̅ | Q(t+1) | Q̅(t+1) | Fonction |
|---|---|---|---|---|
| 1 | 1 | Q(t) | Q̅(t) | mémoire |
| 0 | 1 | 1 | 0 | Set |
| 1 | 0 | 0 | 1 | Reset |
| 0 | 0 | 1 | 1 | état interdit |
Attention à la polarité Deux tables RS différentes peuvent être correctes : celle du verrou NOR avec commandes actives à 1, et celle du verrou NAND avec commandes actives à 0. Il faut toujours observer les bulles d’inversion ou les barres sur les noms des entrées. |
13.1.4. État mémoire et état interdit
L’état mémoire est rendu possible par la rétroaction positive : la sortie Q contribue à maintenir Q̅, et réciproquement. L’état interdit ne signifie pas nécessairement que le composant est détruit. Il signifie que le modèle logique ne garantit plus des sorties complémentaires ni un état final déterministe après le retrait simultané des commandes.
- éviter d’activer Set et Reset simultanément ;
- respecter les durées minimales des impulsions de commande ;
- prévoir une priorité explicite si les deux commandes peuvent être demandées ;
- initialiser le verrou dans un état connu avant utilisation ;
- tenir compte des rebonds si S ou R proviennent d’un bouton mécanique.
13.2. Bascule D
La bascule D, appelée Data ou Delay flip-flop, mémorise la valeur présente sur son entrée D au moment du front actif de l’horloge. Elle est la bascule la plus utilisée pour construire les registres et mémoriser les états d’une machine séquentielle.
13.2.1. Principe de fonctionnement
Au front actif, Q prend la valeur de D. Entre deux fronts actifs, Q conserve sa valeur, même si D change. La bascule réalise ainsi un échantillonnage temporel de la donnée.
Bascule D : Q(t+1) = D au front actif |

Figure 3 — Symbole et chronogramme simplifié d’une bascule D.
13.2.2. Table de fonctionnement
Événement sur CLK | D | Q(t+1) | Interprétation |
|---|---|---|---|
| aucun front actif | X | Q(t) | mémoire |
| front actif | 0 | 0 | capture de 0 |
| front actif | 1 | 1 | capture de 1 |
La notation X signifie que la valeur de D est indifférente lorsqu’aucun front actif ne se produit. La sortie ne change pas, sous réserve que Preset et Clear restent inactifs.
13.2.3. Réalisation à partir d’un verrou RS
Une entrée D peut être transformée en deux commandes complémentaires : S = D et R = D̅. Ainsi, les commandes Set et Reset ne sont jamais actives simultanément dans le fonctionnement normal. Une commande d’activation ou un étage maître-esclave permet ensuite de contrôler l’instant de mémorisation.
Pour un RS actif à 1 : S = D·E et R = D̅·E |
13.2.4. Utilisation comme élément mémoire
- registre : plusieurs bascules D stockent un mot binaire ;
- machine à états : chaque bascule mémorise un bit de l’état ;
- pipeline : une donnée est transférée d’un étage au suivant ;
- synchronisation : un signal externe est aligné sur l’horloge locale ;
- temporisation : la sortie reproduit la donnée avec un retard d’un cycle ;
- détection de front : comparaison entre une donnée et sa version retardée.
13.2.5. Verrou D et bascule D
Caractéristique | Verrou D | Bascule D |
|---|---|---|
| Commande | Enable ou Gate | horloge CLK |
| Sensibilité | au niveau actif | au front actif |
| Transparence | Q suit D pendant l’activation | Q ne change qu’au front |
| Risque principal | passage de variations pendant la fenêtre ouverte | violation de setup/hold |
| Usage | mémoires temporaires, latch | registres synchrones, machines à états |
13.3. Bascule JK
La bascule JK généralise la bascule RS. Ses entrées J et K jouent des rôles similaires à Set et Reset, mais la combinaison J = K = 1 n’est pas interdite : elle provoque le complément de l’état mémorisé. Cette propriété rend la JK particulièrement utile dans la conception de compteurs.
13.3.1. Table de fonctionnement
J | K | Q(t+1) | Fonction |
|---|---|---|---|
| 0 | 0 | Q(t) | mémoire |
| 0 | 1 | 0 | Reset |
| 1 | 0 | 1 | Set |
| 1 | 1 | Q̅(t) | basculement ou toggle |
Équation caractéristique : Q(t+1) = J·Q̅(t) + K̅·Q(t) |

Figure 4 — Résumé fonctionnel des bascules JK et T.
13.3.2. Suppression de l’état interdit
La rétroaction de Q et Q̅ vers la logique d’entrée garantit que J = K = 1 ne force pas simultanément Set et Reset. Selon l’état présent, une seule action utile est produite : si Q = 0, la bascule est mise à 1 ; si Q = 1, elle est remise à 0.
J | K | Q(t) | Q(t+1) | Interprétation |
|---|---|---|---|---|
| 1 | 1 | 0 | 1 | Set interne |
| 1 | 1 | 1 | 0 | Reset interne |
13.3.3. Mode basculement et race-around
Lorsque J = K = 1, Q change de valeur à chaque front actif. Dans une réalisation sensible au niveau et avec une impulsion d’horloge trop longue, plusieurs basculements peuvent se produire pendant la même impulsion : c’est le phénomène de race-around. Il est évité par une structure maître-esclave, une bascule déclenchée sur front ou une largeur d’impulsion suffisamment courte.
Condition pratique Dans les circuits modernes, on utilise surtout des bascules JK déclenchées sur front. La table de fonctionnement reste la même, mais la sortie ne bascule qu’une fois par front actif. |
13.3.4. Table d’excitation de la bascule JK
La table d’excitation répond à la question inverse : quelles valeurs de J et K faut-il appliquer pour passer de Q(t) à Q(t+1) ? Elle est très utile pour synthétiser des compteurs et des machines à états.
Q(t) | Q(t+1) | J requis | K requis | Transition |
|---|---|---|---|---|
| 0 | 0 | 0 | X | conserver 0 |
| 0 | 1 | 1 | X | passer de 0 à 1 |
| 1 | 0 | X | 1 | passer de 1 à 0 |
| 1 | 1 | X | 0 | conserver 1 |
13.3.5. Conversion d’une JK en bascule D
Pour obtenir Q(t+1) = D, on peut choisir J = D et K = D̅. Lorsque D = 1, la JK est forcée en mode Set ; lorsque D = 0, elle est forcée en mode Reset.
JK utilisée comme D : J = D et K = D̅ |
13.3.6. Conversion d’une JK en bascule T
Pour obtenir une bascule T, il suffit de relier ensemble J et K. Avec T = 0, J = K = 0 et l’état est conservé. Avec T = 1, J = K = 1 et la sortie bascule.
JK utilisée comme T : J = K = T |
13.4. Bascule T
La bascule T, pour Toggle, possède une seule entrée de commande. Elle conserve son état si T = 0 et le complémente si T = 1. Elle constitue l’élément naturel des compteurs binaires.
13.4.1. Table et équation caractéristiques
T | Q(t) | Q(t+1) | Fonction |
|---|---|---|---|
| 0 | 0 | 0 | mémoire |
| 0 | 1 | 1 | mémoire |
| 1 | 0 | 1 | basculement |
| 1 | 1 | 0 | basculement |
Bascule T : Q(t+1) = T ⊕ Q(t) |
13.4.2. Division de fréquence
Si T reste à 1, Q change d’état à chaque front actif. Un cycle complet de Q nécessite donc deux fronts d’horloge. La fréquence de sortie est divisée par deux, à condition que le rapport cyclique de fonctionnement soit compatible avec le composant.
Avec T = 1 : fQ = fCLK / 2 |
Numéro du front | Q avant | Q après |
|---|---|---|
| 0 | — | 0 (initialisation) |
| 1 | 0 | 1 |
| 2 | 1 | 0 |
| 3 | 0 | 1 |
| 4 | 1 | 0 |
| 5 | 0 | 1 |
| 6 | 1 | 0 |
13.4.3. Utilisation dans les compteurs
Dans un compteur asynchrone, la sortie d’une bascule T peut piloter l’horloge de la suivante. Chaque étage divise la fréquence par deux. Dans un compteur synchrone, toutes les bascules reçoivent la même horloge et les entrées T sont calculées pour déterminer quels bits doivent basculer.
Bit du compteur synchrone | Condition de basculement | Entrée T |
|---|---|---|
| Q0, bit de poids faible | à chaque front | T0 = 1 |
| Q1 | quand Q0 = 1 | T1 = Q0 |
| Q2 | quand Q1·Q0 = 1 | T2 = Q1·Q0 |
| Q3 | quand Q2·Q1·Q0 = 1 | T3 = Q2·Q1·Q0 |
13.4.4. Réalisation d’une T avec une D
Une bascule D peut reproduire le comportement T en appliquant à D le XOR entre T et Q. Avec T = 0, D = Q ; avec T = 1, D = Q̅.
D utilisée comme T : D = T ⊕ Q |
13.5. Entrées asynchrones
De nombreuses bascules possèdent des entrées asynchrones capables de forcer immédiatement la sortie, indépendamment de l’horloge et des entrées synchrones. Elles sont utilisées pour l’initialisation, la sécurité ou la mise dans un état connu au démarrage.

Figure 5 — Action conceptuelle des entrées Preset et Clear.
13.5.1. Preset
Preset, parfois noté PRE, SET ou PR, force Q à 1. Selon le composant, il peut être actif à 1 ou actif à 0. Une bulle sur le symbole ou une barre sur le nom indique une activation à l’état bas.
13.5.2. Clear
Clear, parfois noté CLR, RESET ou R, force Q à 0. Il est souvent utilisé pour initialiser un registre ou remettre un compteur à zéro au démarrage.
13.5.3. Priorité des commandes
La priorité exacte dépend de la fiche technique. En général, les entrées asynchrones dominent l’horloge et les entrées D, J, K ou T. L’activation simultanée de Preset et Clear est généralement interdite ou produit un état non garanti.
Preset | Clear | Horloge / données | Q résultant | Priorité |
|---|---|---|---|---|
| inactif | inactif | front actif | fonction normale | synchrone |
| actif | inactif | X | 1 | Preset prioritaire |
| inactif | actif | X | 0 | Clear prioritaire |
| actif | actif | X | interdit / dépend du composant | à éviter |
Lecture de fiche technique Il faut vérifier : polarité active, durée minimale de l’impulsion, délai de propagation de Preset/Clear vers Q, comportement lors de l’activation simultanée et contraintes de relâchement par rapport à l’horloge. |
13.5.4. Activation et désactivation asynchrones
Dans de nombreux systèmes, l’activation du Reset peut être asynchrone afin de réagir immédiatement, mais sa désactivation doit être synchronisée avec l’horloge. Une libération proche d’un front peut violer les temps de recovery et removal, analogues aux contraintes setup et hold des données.
13.6. Contraintes temporelles
Une table logique décrit les valeurs idéales, mais une bascule réelle possède des délais et des fenêtres temporelles à respecter. La donnée doit être stable avant et après le front actif, et la sortie n’est valide qu’après un certain temps de propagation.

Figure 6 — Temps de setup, de hold et de propagation.
13.6.1. Temps de préparation ou setup
Le temps de setup tsetup est la durée minimale pendant laquelle l’entrée de donnée doit être stable avant le front actif. Si D change trop tard, la bascule peut capturer l’ancienne valeur, la nouvelle valeur ou entrer en métastabilité.
13.6.2. Temps de maintien ou hold
Le temps de hold thold est la durée minimale pendant laquelle la donnée doit rester stable après le front actif. Une variation trop rapide après le front peut perturber la capture interne.
13.6.3. Temps de propagation
Le temps de propagation tpd, souvent séparé en tPLH et tPHL, est le délai entre l’événement déclencheur et la disponibilité de la nouvelle sortie Q. Les deux directions de commutation peuvent avoir des délais différents.
Paramètre | Définition | Mesure |
|---|---|---|
| tsetup | stabilité avant le front actif | de la dernière variation de D au front |
| thold | stabilité après le front actif | du front à la première variation autorisée de D |
| tPLH | propagation de Q de 0 vers 1 | du front à 50 % de la montée de Q |
| tPHL | propagation de Q de 1 vers 0 | du front à 50 % de la descente de Q |
| tpd | valeur représentative | souvent max(tPLH, tPHL) |
13.6.4. Fréquence maximale d’un chemin synchrone
Pour transférer une donnée d’une bascule source à une bascule destination, la période doit couvrir le délai clock-to-Q de la source, le délai maximal de la logique combinatoire et le setup de la destination. Le skew et les marges de sécurité doivent également être pris en compte.
TCLK ≥ tCQ(max) + tLOGIQUE(max) + tSETUP + marge de skew |
fMAX ≤ 1 / TCLK(min) |
Exemple Si tCQ = 2 ns, tLOGIQUE = 7 ns, tSETUP = 1,5 ns et la marge de skew = 0,5 ns, alors TCLK doit être au moins 11 ns et fMAX est environ 90,9 MHz. |
13.6.5. Vérification de hold
La vérification de hold concerne le chemin le plus rapide. Une condition simplifiée est : tCQ(min) + tLOGIQUE(min) doit être supérieur ou égal au temps de hold, après prise en compte du skew. Une violation de hold ne se corrige pas simplement en diminuant la fréquence ; elle nécessite souvent d’ajouter du délai sur le chemin rapide ou d’améliorer la distribution de l’horloge.
Condition simplifiée de hold : tCQ(min) + tLOGIQUE(min) ≥ tHOLD + skew défavorable |
13.6.6. Métastabilité
La métastabilité apparaît lorsqu’une bascule reçoit une transition de donnée trop proche du front actif, ou lorsqu’un signal asynchrone est directement échantillonné. La sortie peut rester temporairement dans une zone intermédiaire avant de se résoudre vers 0 ou 1. La durée de résolution n’est pas déterministe.

Figure 7 — Métastabilité et synchroniseur à deux bascules.
- synchroniser les entrées asynchrones avec deux bascules en série ;
- éviter les chemins de données non synchronisés entre domaines d’horloge ;
- respecter les temps de setup et de hold ;
- utiliser des circuits spécialisés pour les changements de domaine d’horloge ;
- ne pas distribuer la sortie de la première bascule synchronisatrice à plusieurs fonctions ;
- laisser un temps suffisant à la résolution avant l’utilisation du signal.
13.6.7. Chronogrammes : méthode de résolution
- Identifier le type de composant : verrou ou bascule.
- Repérer la polarité et le front actif de l’horloge.
- Repérer les commandes asynchrones et leur niveau actif.
- Déterminer l’état initial de Q.
- Traiter d’abord les intervalles où Preset ou Clear est actif.
- À chaque front actif restant, relever les entrées juste avant le front.
- Appliquer la table caractéristique pour calculer Q(t+1).
- Décaler le changement de Q du temps de propagation si le chronogramme est réaliste.
- Vérifier que les contraintes de setup et de hold sont respectées.
Exemples d’application
Exemple 1 — Bascule D
Front montant | D juste avant | Q avant | Q après |
|---|---|---|---|
| 1 | 1 | 0 | 1 |
| 2 | 0 | 1 | 0 |
| 3 | 0 | 0 | 0 |
| 4 | 1 | 0 | 1 |
| 5 | 1 | 1 | 1 |
Les variations de D entre les fronts ne modifient pas Q. Seule la valeur présente dans la fenêtre de setup/hold autour du front est pertinente.
Exemple 2 — Bascule JK en mode compteur
Avec J = K = 1 et Q initialement à 0, la suite de Q après six fronts actifs est : 1, 0, 1, 0, 1, 0. La période de Q vaut deux périodes d’horloge.
Exemple 3 — Priorité du Clear
Une bascule D a D = 1 et reçoit un front actif, mais Clear est actif. La sortie reste forcée à 0. Lorsque Clear devient inactif, Q ne prend pas immédiatement D : il attend le prochain front actif, sauf indication contraire de la fiche technique.
Travaux dirigés
Exercice 1 — Verrou RS à NOR
Compléter la suite de Q pour les couples (S,R) suivants, avec Q initial = 0 : (1,0), (0,0), (0,1), (0,0), (1,1), (0,0). Identifier la difficulté liée aux deux dernières étapes.
Exercice 2 — Verrou RS à NAND
Avec Q initial = 1, déterminer Q pour (S̅,R̅) = (1,1), (1,0), (1,1), (0,1), (1,1). Indiquer la fonction réalisée à chaque étape.
Exercice 3 — Chronogramme d’une bascule D
Une bascule D est déclenchée sur front montant. Q initial = 0. Les valeurs de D juste avant cinq fronts successifs sont 1, 0, 1, 1 et 0. Déterminer Q après chaque front, puis expliquer ce qui se passe si D change plusieurs fois entre les fronts 2 et 3.
Exercice 4 — État futur d’une JK
Déterminer Q(t+1) pour toutes les combinaisons suivantes : (J,K,Q) = (0,0,1), (0,1,1), (1,0,0), (1,1,0), (1,1,1).
Exercice 5 — Table d’excitation JK
Donner J et K pour réaliser la séquence d’états 0 → 1 → 1 → 0 → 0. Utiliser X lorsque la valeur est indifférente.
Exercice 6 — Conversion JK vers D
Vérifier par une table que J = D et K = D̅ transforme une JK en bascule D. Comparer Q(t+1) à D pour les quatre couples (D,Q).
Exercice 7 — Conversion JK vers T
Vérifier que J = K = T transforme une JK en T. Donner la suite de Q pour T = 1 et Q initial = 0 pendant huit fronts.
Exercice 8 — Entrées asynchrones
Une bascule D possède PRE̅ et CLR̅ actifs à 0. Compléter Q pour : (PRE̅,CLR̅) = (1,1), (0,1), (1,1), (1,0), (1,1), en précisant quand D et l’horloge sont ignorés.
Exercice 9 — Calcul de fréquence
Une bascule T avec T = 1 reçoit une horloge de 12 MHz. Calculer la fréquence de Q. Trois bascules T sont ensuite mises en cascade : donner les fréquences Q0, Q1 et Q2.
Exercice 10 — Contrainte de setup
Le front actif arrive à t = 50 ns. tsetup = 4 ns et thold = 2 ns. Indiquer l’intervalle pendant lequel D doit rester stable. Une transition à 47 ns est-elle autorisée ? Une transition à 51 ns ?
Exercice 11 — Fréquence maximale
Un chemin synchrone possède tCQ(max) = 1,8 ns, tLOGIQUE(max) = 6,2 ns, tsetup = 1,5 ns et une marge de skew de 0,5 ns. Calculer la période minimale et la fréquence maximale.
Exercice 12 — Analyse de métastabilité
Un bouton externe est directement connecté à l’entrée D d’une bascule. Expliquer les deux problèmes possibles et proposer une architecture de correction.
Activité pratique proposée
TP — Étude expérimentale des verrous et bascules
Cette activité peut être réalisée avec Logisim Evolution, Digital, Proteus, Multisim ou une carte logique équipée de circuits 74HC00, 74HC02, 74HC74 et 74HC76.
Objectifs
- réaliser un verrou RS à NOR et à NAND ;
- vérifier les tables de fonctionnement ;
- observer la mémorisation d’une bascule D ;
- étudier le mode toggle des bascules JK et T ;
- mesurer la division de fréquence ;
- tester Preset et Clear ;
- observer l’effet des rebonds et des contraintes temporelles dans un simulateur.
Matériel et sécurité
- alimentation compatible avec la famille logique utilisée ;
- condensateur de découplage de 100 nF près de chaque circuit intégré ;
- résistances de limitation pour les LED ;
- entrées inutilisées reliées à un niveau défini ;
- boutons avec résistances de pull-up ou pull-down ;
- générateur d’horloge et analyseur logique ou oscilloscope.
Manipulation A — Verrou RS
- Réaliser un verrou RS avec deux NOR.
- Initialiser Q à 0 puis appliquer une impulsion Set.
- Remettre S à 0 et vérifier que Q reste à 1.
- Appliquer Reset et vérifier Q = 0.
- Tester brièvement la combinaison interdite dans le simulateur uniquement.
- Recommencer avec deux NAND et vérifier l’inversion de polarité.
Manipulation B — Bascules D, JK et T
- Placer une bascule D déclenchée sur front montant.
- Modifier D entre les fronts et observer que Q ne change pas.
- Mesurer le délai entre le front et le changement de Q si le simulateur le permet.
- Tester les entrées Preset et Clear sans horloge.
- Configurer une JK avec J = K = 1 et mesurer la fréquence de Q.
- Configurer une JK en D puis en T et vérifier les tables attendues.
Tableau de relevés
Essai | Composant | Entrées | État initial | Événement | Q final | Observation |
|---|---|---|---|---|---|---|
| 1 | RS NOR | |||||
| 2 | RS NAND | |||||
| 3 | D | |||||
| 4 | JK | |||||
| 5 | T | |||||
| 6 | Preset/Clear |
Questions d’exploitation
- Pourquoi le verrou conserve-t-il son état lorsque les commandes sont inactives ?
- Quelle différence observez-vous entre une entrée active à 1 et une entrée active à 0 ?
- Pourquoi Q ne suit-il pas D entre les fronts ?
- Quelle relation lie fCLK et fQ pour une bascule T active ?
- Quelle commande a la priorité lorsque Clear est actif ?
- Comment un rebond de bouton affecte-t-il une bascule T ou un compteur ?
- Pourquoi la sortie ne change-t-elle pas exactement au même instant que le front ?
Synthèse du chapitre
Notion | Idée essentielle |
|---|---|
| Verrou RS NOR | S et R actifs à 1 ; 00 = mémoire ; 11 = interdit |
| Verrou RS NAND | S̅ et R̅ actifs à 0 ; 11 = mémoire ; 00 = interdit |
| Bascule D | Q(t+1) = D au front actif |
| Bascule JK | 00 mémoire, 01 reset, 10 set, 11 toggle |
| Bascule T | T = 0 mémoire ; T = 1 basculement |
| Division de fréquence | une T active divise la fréquence par 2 |
| Preset | force Q à 1 sans attendre l’horloge |
| Clear | force Q à 0 sans attendre l’horloge |
| Setup | stabilité requise avant le front |
| Hold | stabilité requise après le front |
| Propagation | délai entre l’événement et la sortie valide |
| Métastabilité | état transitoire non garanti dû à une capture critique |
Glossaire
Terme | Définition |
|---|---|
| Verrou | élément mémoire sensible au niveau d’une commande |
| Bascule | élément mémoire généralement déclenché par un front |
| Set | commande qui impose Q = 1 |
| Reset | commande qui impose Q = 0 |
| Toggle | complément de l’état mémorisé |
| Preset | entrée asynchrone de mise à 1 |
| Clear | entrée asynchrone de remise à 0 |
| Setup | temps de stabilité requis avant le front |
| Hold | temps de stabilité requis après le front |
| Clock-to-Q | délai entre le front et la nouvelle sortie |
| Race-around | basculements multiples pendant une impulsion active |
| Métastabilité | état temporaire non résolu entre 0 et 1 |
| Synchroniseur | chaîne de bascules réduisant le risque de métastabilité |
| Table d’excitation | entrées nécessaires pour obtenir une transition d’état donnée |
Exercices d’entraînement
Exercice 13 — Équation caractéristique JK
Calculer Q(t+1) à partir de Q(t+1) = J·Q̅ + K̅·Q pour les huit combinaisons de J, K et Q. Vérifier la table fonctionnelle.
Exercice 14 — Bascule T à partir d’une D
Construire la table de D = T ⊕ Q et montrer que la bascule D obtenue conserve Q pour T = 0 et le complémente pour T = 1.
Exercice 15 — Compteur par division
Quatre bascules T en cascade reçoivent 16 MHz. Donner la fréquence de chaque sortie et la fréquence du bit de poids fort. Combien d’états différents sont possibles ?
Exercice 16 — Chemin synchrone
Deux bascules sont séparées par une logique de 4,6 ns. tCQ(max) = 1,2 ns, tsetup = 0,9 ns et skew défavorable = 0,3 ns. Calculer fMAX. Vérifier si 150 MHz est possible.
Exercice 17 — Vérification de hold
tCQ(min) = 0,4 ns, tLOGIQUE(min) = 0,3 ns, thold = 0,8 ns et skew défavorable = 0,1 ns. La contrainte de hold est-elle respectée ? Quel délai minimal faut-il ajouter ?
Exercice 18 — Reset asynchrone
Expliquer pourquoi on peut souhaiter une activation asynchrone du Reset mais une désactivation synchronisée. Proposer un schéma fonctionnel utilisant deux bascules.
Exercice 19 — Détection de front avec deux D
Une première bascule mémorise X et une deuxième mémorise la sortie de la première. Proposer une expression XOR permettant de produire une impulsion lors d’un changement de X. Expliquer la durée de l’impulsion.
Exercice 20 — Choix de la bascule
Choisir D, JK ou T pour : registre 8 bits, compteur binaire, mémorisation d’un état de machine, diviseur par 2, réalisation pédagogique d’une table d’excitation. Justifier.
Auto-évaluation
N° | Question | Réponse attendue |
|---|---|---|
| 1 | Quel état du RS-NOR correspond à la mémoire ? | S = R = 0 |
| 2 | Quel état du RS-NAND correspond à la mémoire ? | S̅ = R̅ = 1 |
| 3 | Quelle est l’équation de la bascule D ? | Q(t+1) = D |
| 4 | Que fait une JK pour J = K = 1 ? | elle bascule |
| 5 | Que fait une T pour T = 0 ? | elle mémorise |
| 6 | Quel est l’effet d’un Clear actif ? | Q est forcé à 0 |
| 7 | Que mesure tsetup ? | la stabilité avant le front |
| 8 | Que mesure thold ? | la stabilité après le front |
| 9 | Pourquoi Q change-t-il après le front ? | à cause du délai de propagation |
| 10 | Comment réduire le risque de métastabilité ? | utiliser un synchroniseur, souvent deux bascules |
Corrigés des travaux dirigés et exercices
Corrigé 1 — Verrou RS à NOR
À partir de Q = 0 : (1,0) donne Q = 1 ; (0,0) conserve 1 ; (0,1) donne 0 ; (0,0) conserve 0 ; (1,1) force les deux sorties à 0 et crée l’état interdit. Le retour simultané à (0,0) ne permet pas de garantir l’état final à cause des retards internes.
Corrigé 2 — Verrou RS à NAND
Q initial = 1. (1,1) : mémoire, Q = 1. (1,0) : Reset, Q = 0. (1,1) : mémoire, Q = 0. (0,1) : Set, Q = 1. (1,1) : mémoire, Q = 1.
Corrigé 3 — Chronogramme D
Les valeurs successives de Q sont 1, 0, 1, 1, 0. Les variations entre les fronts 2 et 3 n’ont pas d’effet tant que D est stable pendant la fenêtre setup/hold du troisième front.
Corrigé 4 — État futur JK
(0,0,1) → 1 ; (0,1,1) → 0 ; (1,0,0) → 1 ; (1,1,0) → 1 ; (1,1,1) → 0.
Corrigé 5 — Excitation JK
0→1 : J = 1, K = X ; 1→1 : J = X, K = 0 ; 1→0 : J = X, K = 1 ; 0→0 : J = 0, K = X.
Corrigé 6 — JK vers D
Avec J = D et K = D̅ : D = 0 donne J = 0, K = 1 et donc Q(t+1) = 0 ; D = 1 donne J = 1, K = 0 et donc Q(t+1) = 1. Le résultat est indépendant de Q(t).
Corrigé 7 — JK vers T
J = K = 0 pour T = 0 : mémoire. J = K = 1 pour T = 1 : toggle. Avec Q initial 0, les huit états après les fronts sont 1, 0, 1, 0, 1, 0, 1, 0.
Corrigé 8 — Entrées asynchrones
(1,1) : fonctionnement normal. (0,1) : Preset actif, Q = 1. (1,1) : retour au fonctionnement normal, Q conserve 1 jusqu’au prochain front. (1,0) : Clear actif, Q = 0. (1,1) : fonctionnement normal. D et CLK sont ignorés lorsque Preset ou Clear est actif.
Corrigé 9 — Calcul de fréquence
Une bascule donne 6 MHz. En cascade : Q0 = 6 MHz, Q1 = 3 MHz, Q2 = 1,5 MHz.
Corrigé 10 — Setup et hold
D doit rester stable de 46 ns à 52 ns. Une transition à 47 ns est interdite car elle est dans la fenêtre de setup. Une transition à 51 ns est interdite car elle est dans la fenêtre de hold.
Corrigé 11 — Fréquence maximale
Tmin = 1,8 + 6,2 + 1,5 + 0,5 = 10,0 ns. fMAX = 1 / 10 ns = 100 MHz.
Corrigé 12 — Métastabilité
Le bouton produit des rebonds et il est asynchrone par rapport à l’horloge. Il faut ajouter un anti-rebond, puis un synchroniseur à deux bascules avant d’utiliser le signal dans la logique synchrone.
Corrigé 13 — Équation JK
L’évaluation des huit cas redonne : 00 mémoire, 01 reset, 10 set, 11 complément de Q. L’équation est donc cohérente avec la table caractéristique.
Corrigé 14 — T avec D
D = T ⊕ Q. Pour T = 0, D = Q et l’état est conservé. Pour T = 1, D = Q̅ et l’état bascule.
Corrigé 15 — Compteur par division
Les sorties valent 8 MHz, 4 MHz, 2 MHz et 1 MHz. Le bit de poids fort est à 1 MHz. Quatre bascules représentent 2⁴ = 16 états.
Corrigé 16 — Chemin synchrone
Tmin = 1,2 + 4,6 + 0,9 + 0,3 = 7,0 ns. fMAX ≈ 142,9 MHz. Une horloge à 150 MHz n’est donc pas garantie.
Corrigé 17 — Hold
Délai disponible = 0,4 + 0,3 = 0,7 ns. Délai requis = 0,8 + 0,1 = 0,9 ns. Il manque 0,2 ns ; il faut ajouter au moins 0,2 ns de délai, avec une marge pratique.
Corrigé 18 — Reset asynchrone
L’activation asynchrone met immédiatement le système en sécurité. La libération synchronisée évite une sortie de Reset proche d’un front. On peut envoyer le Reset asynchrone sur Clear de deux bascules et récupérer la sortie de la deuxième comme Reset synchronisé.
Corrigé 19 — Détection de front
Si Q1 est la valeur récente et Q2 la valeur retardée, Xchange = Q1 ⊕ Q2 détecte tout changement pendant environ un cycle. Pour ne détecter qu’un front montant : Q1·Q̅2.
Corrigé 20 — Choix
- Registre 8 bits : D, car chaque bit capture directement sa donnée.
- Compteur binaire : T ou JK en mode toggle.
- État de machine : D, car l’équation de prochain état est directement appliquée.
- Diviseur par 2 : T avec T = 1, ou JK avec J = K = 1.
- Étude d’excitation : JK, car sa table couvre mémoire, Set, Reset et toggle.
Conclusion
Les verrous et les bascules assurent le passage de la logique combinatoire à la logique séquentielle. Le verrou RS montre comment une rétroaction crée une mémoire. La bascule D fournit un moyen direct et fiable d’échantillonner une donnée. Les bascules JK et T facilitent les transitions contrôlées et la construction des compteurs. Enfin, les entrées asynchrones et les contraintes temporelles rappellent qu’un circuit numérique réel ne se réduit pas à une table logique : polarités, délais, setup, hold et métastabilité doivent être maîtrisés pour garantir un fonctionnement fiable.
Compétence finale À l’issue du chapitre, l’étudiant doit pouvoir lire une table ou un chronogramme de bascule, déterminer l’état futur, choisir le type de bascule adapté, réaliser une conversion simple et vérifier les principales contraintes temporelles. |