Bascule SR horlogée : Fonctionnement, table de vérité, et essentiels conception synchrone
Qu'est-ce qu'une bascule SR horlogée ?
Une bascule SR horlogée (aussi appelée verrou SR commandé) ajoute une entrée horloge (validation) à un verrou SR basique, permettant changements d'état seulement quand l'horloge est active. Cette synchronisation est fondamentale pour construire logique séquentielle fiable — compteurs, registres, machines d'état — où toutes transitions s'alignent sur front d'horloge commun.
Structure interne
- Verrou cœur : Deux portes NOR croisées (actif haut) ou portes NAND (actif bas).
- Commande horloge : Deux portes supplémentaires (ET pour verrou NOR, OU pour verrou NAND) qui passent S et R au cœur seulement quand CLK = 1 (ou front montant pour versions front-déclenchées).
- Entrées : S (Set), R (Reset), CLK (Horloge/Validation).
- Sorties : Q (état), Q̅ (complément).
Fonctionnement niveau-sensible (Verrou commandé)
| CLK | S | R | Qsuivant | Q̅suivant | Action |
|---|---|---|---|---|---|
| 0 | X | X | Qprécédent | Q̅précédent | Maintien (verrouillé) |
| 1 | 0 | 0 | Qprécédent | Q̅précédent | Maintien |
| 1 | 1 | 0 | 1 | 0 | Set |
| 1 | 0 | 1 | 0 | 1 | Reset |
| 1 | 1 | 1 | ? | ? | Interdit (métastable/indéfini) |
X = sans importance. L'état interdit (S=R=1) doit être empêché par conception.
Variantes front-déclenchées
Versions maître-esclave ou vrai front-déclenché (type D dérivé) échantillonnent S/R seulement sur front montant (ou descendant) d'horloge, éliminant fenêtre transparence et conditions de course. Préférées en systèmes synchrones haute vitesse.
Pourquoi utiliser une bascule SR horlogée ?
- Synchronisation : Toutes mises à jour état ocorrent à temps d'horloge connus, permettant analyse temporelle et gestion métastabilité.
- Rétention état : Sorties maintiennent indéfiniment tant que CLK=0, indépendamment bruit S/R.
- Bloc construction : Base pour bascules JK, T, D ; registres décalage ; compteurs binaires.
Notes conception pratiques
- Ne jamais permettre S=R=1 simultanément — ajouter logique direction si nécessaire.
- Respecter temps établissement/maintien relatifs front horloge (pour front-déclenché).
- Pour ASIC/FPGA : inférer depuis RTL (always_ff @(posedge clk) ...) plutôt qu'instanciation niveau portes.
- Anti-rebond interrupteurs mécaniques pilotant entrées S/R.
Exemple : Compteur binaire synchrone 4 bits utilise quatre bascules SR (ou D) horlogées avec logique combinatoire prochain état. Chaque bascule bascule quand tous bits inférieurs sont à 1 — comptage propre, sans parasites.
