Leçon 13 sur 18

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 NANDles états mémoire, Set, Reset et interdit sont correctement identifiés
distinguer verrou et basculela sensibilité au niveau et au front est expliquée
utiliser une bascule Dla donnée capturée au front actif est déterminée
analyser une bascule JKla suppression de l’état interdit et le mode toggle sont compris
utiliser une bascule Tla division de fréquence et l’emploi dans les compteurs sont expliqués
interpréter Preset et Clearla priorité des commandes asynchrones est appliquée
compléter un chronogrammeles changements de Q sont placés aux bons instants
vérifier les contraintes temporellessetup, hold et propagation sont calculés
expliquer la métastabilitéla cause, le risque et les moyens de réduction sont connus
convertir une basculeles é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.1Verrou RSmémoriser, forcer et analyser les états interdits
13.2Bascule Déchantillonner et stocker une donnée
13.3Bascule JKcommander Set, Reset, mémoire et basculement
13.4Bascule Tdiviser une fréquence et préparer un compteur
13.5Entrées asynchronesinitialiser ou forcer immédiatement une sortie
13.6Contraintes temporellesgarantir une capture fiable et éviter la métastabilité
TD / TPMise en applicationchronogrammes, 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

00Q(t)Q̅(t)mémoire
1010Set : mise à 1
0101Reset : remise à 0
1100é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

t00000état initial
t11001commande Set
t20011état mémorisé
t30110commande Reset
t40000nouvel é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.

Q(t+1)

Q̅(t+1)

Fonction

11Q(t)Q̅(t)mémoire
0110Set
1001Reset
0011é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 actifXQ(t)mémoire
front actif00capture de 0
front actif11capture 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

CommandeEnable ou Gatehorloge CLK
Sensibilitéau niveau actifau front actif
TransparenceQ suit D pendant l’activationQ ne change qu’au front
Risque principalpassage de variations pendant la fenêtre ouverteviolation de setup/hold
Usagemémoires temporaires, latchregistres 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

00Q(t)mémoire
010Reset
101Set
11Q̅(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

1101Set interne
1110Reset 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

000Xconserver 0
011Xpasser de 0 à 1
10X1passer de 1 à 0
11X0conserver 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

000mémoire
011mémoire
101basculement
110basculement

 

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

00 (initialisation)
101
210
301
410
501
610

 

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 frontT0 = 1
Q1quand Q0 = 1T1 = Q0
Q2quand Q1·Q0 = 1T2 = Q1·Q0
Q3quand Q2·Q1·Q0 = 1T3 = 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é

inactifinactiffront actiffonction normalesynchrone
actifinactifX1Preset prioritaire
inactifactifX0Clear prioritaire
actifactifXinterdit / 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

tsetupstabilité avant le front actifde la dernière variation de D au front
tholdstabilité après le front actifdu front à la première variation autorisée de D
tPLHpropagation de Q de 0 vers 1du front à 50 % de la montée de Q
tPHLpropagation de Q de 1 vers 0du front à 50 % de la descente de Q
tpdvaleur représentativesouvent 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

  1. Identifier le type de composant : verrou ou bascule.
  2. Repérer la polarité et le front actif de l’horloge.
  3. Repérer les commandes asynchrones et leur niveau actif.
  4. Déterminer l’état initial de Q.
  5. Traiter d’abord les intervalles où Preset ou Clear est actif.
  6. À chaque front actif restant, relever les entrées juste avant le front.
  7. Appliquer la table caractéristique pour calculer Q(t+1).
  8. Décaler le changement de Q du temps de propagation si le chronogramme est réaliste.
  9. 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

1101
2010
3000
4101
5111

 

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

  1. Réaliser un verrou RS avec deux NOR.
  2. Initialiser Q à 0 puis appliquer une impulsion Set.
  3. Remettre S à 0 et vérifier que Q reste à 1.
  4. Appliquer Reset et vérifier Q = 0.
  5. Tester brièvement la combinaison interdite dans le simulateur uniquement.
  6. Recommencer avec deux NAND et vérifier l’inversion de polarité.

Manipulation B — Bascules D, JK et T

  1. Placer une bascule D déclenchée sur front montant.
  2. Modifier D entre les fronts et observer que Q ne change pas.
  3. Mesurer le délai entre le front et le changement de Q si le simulateur le permet.
  4. Tester les entrées Preset et Clear sans horloge.
  5. Configurer une JK avec J = K = 1 et mesurer la fréquence de Q.
  6. 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

1RS NOR     
2RS NAND     
3D     
4JK     
5T     
6Preset/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 NORS et R actifs à 1 ; 00 = mémoire ; 11 = interdit
Verrou RS NANDS̅ et R̅ actifs à 0 ; 11 = mémoire ; 00 = interdit
Bascule DQ(t+1) = D au front actif
Bascule JK00 mémoire, 01 reset, 10 set, 11 toggle
Bascule TT = 0 mémoire ; T = 1 basculement
Division de fréquenceune T active divise la fréquence par 2
Presetforce Q à 1 sans attendre l’horloge
Clearforce Q à 0 sans attendre l’horloge
Setupstabilité requise avant le front
Holdstabilité requise après le front
Propagationdé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
Setcommande qui impose Q = 1
Resetcommande qui impose Q = 0
Togglecomplément de l’état mémorisé
Presetentrée asynchrone de mise à 1
Clearentrée asynchrone de remise à 0
Setuptemps de stabilité requis avant le front
Holdtemps de stabilité requis après le front
Clock-to-Qdélai entre le front et la nouvelle sortie
Race-aroundbasculements multiples pendant une impulsion active
Métastabilitéétat temporaire non résolu entre 0 et 1
Synchroniseurchaîne de bascules réduisant le risque de métastabilité
Table d’excitationentré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

Question

Réponse attendue

1Quel état du RS-NOR correspond à la mémoire ?S = R = 0
2Quel état du RS-NAND correspond à la mémoire ?S̅ = R̅ = 1
3Quelle est l’équation de la bascule D ?Q(t+1) = D
4Que fait une JK pour J = K = 1 ?elle bascule
5Que fait une T pour T = 0 ?elle mémorise
6Quel est l’effet d’un Clear actif ?Q est forcé à 0
7Que mesure tsetup ?la stabilité avant le front
8Que mesure thold ?la stabilité après le front
9Pourquoi Q change-t-il après le front ?à cause du délai de propagation
10Comment 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.