Verrou D
Vue d'ensemble
- Objectif : Le verrou D (Data Latch) est un circuit de mémoire sensible au niveau qui stocke un seul bit d'information. Il améliore le verrou SR en utilisant une seule entrée de données (D) pour éliminer les états invalides, tandis qu'une entrée d'activation contrôle quand le verrou accepte de nouvelles données.
- Symbole : Le verrou D est représenté par un bloc rectangulaire avec des entrées pour D (données) et EN (activation), et des sorties complémentaires Q et Q̅.
- Rôle dans DigiSim.io : Sert de bloc de construction fondamental pour le stockage en mémoire dans les circuits numériques, fournissant un maintien temporaire des données et démontrant le comportement sensible au niveau par opposition au fonctionnement déclenché sur front.

Description fonctionnelle
Comportement logique
Le verrou D est transparent lorsqu'il est activé, transmettant la valeur de l'entrée D à la sortie Q. Lorsqu'il est désactivé, il maintient (verrouille) son dernier état indépendamment des changements sur l'entrée D.
Table de vérité :
| Enable (EN) | Data (D) | Q (suivant) | Opération |
|---|---|---|---|
| 0 | X | Q (préc.) | Maintien |
| 1 | 0 | 0 | Reset (chargement de 0) |
| 1 | 1 | 1 | Set (chargement de 1) |
Remarque : X représente la condition « peu importe », « préc. » signifie l'état précédent.
Entrées et sorties
Entrées :
- D (Data) : entrée 1 bit qui fournit la valeur à stocker lorsque le verrou est activé.
- EN (Enable) : entrée de contrôle 1 bit qui détermine quand le verrou est transparent (EN=1) ou en maintien (EN=0).
Sorties :
- Q : sortie 1 bit représentant la valeur stockée.
- Q̅ : sortie complémentaire 1 bit représentant l'inverse de la valeur stockée.
Paramètres configurables
- Niveau actif : si l'entrée d'activation est active à l'état haut ou actif à l'état bas.
- Délai de propagation : le temps que mettent les sorties à changer après une variation des entrées ou de l'activation.
Représentation visuelle dans DigiSim.io
Le verrou D est affiché sous la forme d'un bloc rectangulaire avec des entrées étiquetées sur le côté gauche (D et EN) et des sorties (Q et Q̅) sur le côté droit. Lorsqu'il est connecté dans un circuit, le composant indique visuellement son état actuel via les valeurs affichées sur ses sorties et les changements de couleur sur les fils de connexion. Le comportement de transparence ou de maintien est également indiqué visuellement lorsque l'entrée d'activation change d'état.
Valeur pédagogique
Concepts clés
- Sensibilité au niveau : démontre comment les circuits réagissent aux niveaux de signal plutôt qu'aux fronts.
- Transparence et verrouillage : illustre les concepts de modes transparent (passage direct) et mémoire (maintien).
- Stockage en mémoire : montre comment les circuits numériques peuvent stocker temporairement des informations.
- Timing des signaux : introduit l'importance des temps de préétablissement et de maintien dans les éléments de mémoire numérique.
- Synchronisation des données : démontre comment les données peuvent être capturées à des moments spécifiques à des fins de synchronisation.
Objectifs d'apprentissage
- Comprendre la différence entre les verrous sensibles au niveau et les bascules déclenchées sur front.
- Apprendre comment l'entrée d'activation contrôle quand les données sont capturées par rapport à maintenues.
- Reconnaître les considérations temporelles pour une capture fiable des données dans les verrous.
- Appliquer les verrous D à la conception de circuits de mémoire simples et de registres de maintien de données.
- Comprendre comment les verrous peuvent être utilisés dans les schémas d'horloge à deux phases et les registres transparents.
Exemples d'utilisation / Scénarios
- Registres de données : stockage temporaire de valeurs de données multi-bits lorsque l'activation est déclenchée.
- Capture d'entrée : échantillonnage des données d'entrée à des moments spécifiques en contrôlant le signal d'activation.
- Interfaces de bus : maintien stable des valeurs d'adresse ou de données pendant les transferts de bus.
- Horloge à deux phases : création d'étages de pipeline dans des systèmes à verrous alternés.
- Emprunt de temps (time borrowing) : permettre à des opérations de s'étendre au-delà des limites d'horloge dans les systèmes pipelinés.
- Conception de balayage sensible au niveau (LSSD) : prise en charge des tests de circuits par création de chaînes de balayage contrôlables.
Notes techniques
- Contrairement aux bascules déclenchées sur front, les verrous D sont transparents chaque fois que l'entrée d'activation est active, rendant le contrôle du timing plus critique.
- Plusieurs transitions sur l'entrée D pendant que l'activation est active provoqueront plusieurs transitions sur la sortie, ce qui peut entraîner des conditions de course dans certaines conceptions.
- La « fenêtre de transparence » d'un verrou peut être avantageuse pour l'emprunt de temps dans les conceptions pipelinées, mais nécessite une analyse temporelle minutieuse.
- Les verrous D nécessitent généralement moins de logique que les bascules déclenchées sur front, offrant potentiellement un fonctionnement plus rapide mais avec plus de contraintes temporelles.
- Dans DigiSim.io, le verrou D démontre clairement la différence entre le comportement sensible au niveau et celui déclenché sur front, un concept important en conception numérique.
Caractéristiques
- Propriété de mémoire :
- Stocke la valeur présente à l'entrée D lorsque l'activation passe de l'état haut à l'état bas
- Transparent lorsque l'activation est à l'état haut (sensible au niveau)
- Délai de propagation :
- Délai Data-Q (lorsque activé) : généralement 5-15 ns (selon la technologie)
- Délai Enable-sortie : généralement 5-15 ns (selon la technologie)
- Temps de préétablissement et de maintien :
- Temps de préétablissement : durée pendant laquelle D doit être stable avant que Enable passe à l'état bas
- Temps de maintien : durée pendant laquelle D doit être stable après que Enable est passé à l'état bas
- Consommation électrique :
- Statique : faible (principalement courant de fuite)
- Dynamique : modérée pendant les changements d'état
- Fan-Out :
- Généralement 10-50 portes (selon la technologie)
- Complexité du circuit :
- Moyenne (nécessite un verrou SR plus une logique de gating d'entrée)
- Vitesse :
- Plus rapide que les bascules déclenchées sur front mais nécessite des temps de préétablissement et de maintien plus longs
- Marge de bruit :
- Modérée (dépend de la technologie des portes)
- Modes opérationnels :
- Mode transparent (lorsque Enable est à l'état haut)
- Mode mémoire (lorsque Enable est à l'état bas)
Méthodes d'implémentation
- Avec un verrou SR et un gating d'entrée
graph TB
D[D Input] --> AND1[AND Gate]
EN[Enable] --> AND1
EN --> AND2[AND Gate]
D --> NOT[NOT Gate]
NOT --> AND2
AND1 -->|S| SR[SR Latch]
AND2 -->|R| SR
SR --> Q[Q Output]
SR --> QB[Q̅ Output]
Fonctionnement : lorsque Enable=1, D passe vers Set (si D=1) ou Reset (si D=0). Lorsque Enable=0, le verrou maintient son état.
- Avec des portes NAND
graph TB
D[D Input] --> NAND1[NAND Gate]
EN[Enable] --> NAND1
EN --> NAND2[NAND Gate]
D --> NOT[NOT Gate]
NOT --> NAND2
NAND1 --> NAND3[NAND Latch]
NAND2 --> NAND4[NAND Latch]
NAND3 --> Q[Q Output]
NAND3 --> NAND4
NAND4 --> QB[Q̅ Output]
NAND4 --> NAND3
Fonctionnement : implémentation à base de NAND avec rétroaction à couplage croisé pour la mémoire.
Implémentation au niveau transistor
- CMOS : avec des portes de transmission et des inverseurs
- TTL : avec des transistors bipolaires à jonction
- Peut être optimisée pour la consommation, la vitesse ou la surface
Circuits intégrés
- Disponible dans les familles logiques série 74xx (par exemple, 74HC75, 74LS373)
- Souvent organisés en verrous quadruples ou octuples dans un même boîtier
Applications
Stockage de données
- Registres de stockage temporaire dans les chemins de données
- Verrous de port d'E/S dans les microprocesseurs
- Verrous d'adresse dans les systèmes de mémoire
Synchronisation de données
- Maintien stable des données entre domaines asynchrones
- Capture d'entrée dans les systèmes d'acquisition de données
Conception de balayage sensible au niveau (LSSD)
- Conception pour la testabilité dans les systèmes numériques
- Chaînes de balayage pour la détection de pannes
Registres de pipeline
- Verrous transparents dans les systèmes d'horloge à deux phases
- Emprunt de temps entre les étages de pipeline
Démultiplexage de données
- Maintien des données démultiplexées dans les systèmes à division temporelle
- Circuits d'échantillonnage-blocage dans les systèmes numériques
Circuits d'interface de bus
- Verrous de bus de données
- Verrous d'adresse dans les interfaces mémoire
Limitations
Fenêtre de transparence
- Sensible aux transitions multiples pendant la période d'activation haute
- Ne peut pas capturer de manière fiable des impulsions courtes
Sensibilité au niveau
- Les changements à l'entrée pendant la période d'activation haute passent à la sortie
- Risque de rétroaction et d'oscillation indésirables
Contraintes temporelles
- Les exigences de temps de préétablissement et de maintien peuvent être difficiles à satisfaire
- Risque de métastabilité si les données changent près de la transition d'activation
Sensibilité au décalage d'horloge (clock skew)
- Dans les systèmes à plusieurs verrous, le décalage d'activation peut provoquer des conditions de course
- Plus difficile à gérer dans les systèmes complexes que les circuits déclenchés sur front
Protection limitée contre le bruit
- Les parasites de données pendant la période d'activation haute se propagent à la sortie
- Plus sensible au bruit que les bascules déclenchées sur front
Détail d'implémentation du circuit
Verrou D à partir d'un verrou SR
Le verrou D peut être construit à partir d'un verrou SR en s'assurant que les entrées S et R ne sont jamais toutes les deux à l'état haut en même temps :
S = D · EN
R = (¬D) · EN
Lorsque EN est à l'état haut, soit S, soit R sera à l'état haut (mais jamais les deux) selon D. Lorsque EN est à l'état bas, S et R sont tous deux à l'état bas, plaçant le verrou SR dans son état de maintien.
Comportement du verrou D avec activation
Lorsque EN = 0 :
- Les deux entrées S et R du verrou SR interne sont à 0
- Le verrou maintient son état précédent
Lorsque EN = 1 :
- Si D = 1 : S = 1, R = 0, et le verrou met Q à 1
- Si D = 0 : S = 0, R = 1, et le verrou remet Q à 0
- La sortie suit l'entrée D (mode transparent)
Composants associés
- Verrou SR : verrou fondamental sur lequel le verrou D est construit
- Bascule D : version déclenchée sur front du verrou D pour les systèmes synchrones
- Bascule JK : bascule plus polyvalente avec capacités de mise à 1, mise à 0 et basculement
- Bascule T : bascule à basculement qui change d'état sur les fronts d'horloge
- Verrou transparent : autre nom du verrou D mettant l'accent sur son comportement
- Registre : plusieurs verrous organisés pour stocker des valeurs multi-bits
- Bascule maître-esclave : deux verrous en série créant un comportement déclenché sur front