20 / 63 · Concept
Bascule D : du niveau au front
Comparer les instants de mise à jour du verrou et de la bascule, puis relier registre, setup et hold.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
L'intervalle où l'horloge vaut 1 diffère de l'instant où elle passe à 1
Un verrouVerrou Élément de stockage suivant l'entrée quand sa commande est active et conservant sa valeur sinon. Il diffère d'une bascule capturant seulement au front. En savoir plus sensible au niveau haut suit D pendant tout l'intervalle CLK=1. Une bascule DBascule Élément capturant l'entrée au front d'horloge spécifié et la conservant jusqu'au suivant. L'entrée doit respecter setup et hold. à front montantFront montant Instant où l'horloge passe de 0 à 1, distinct du niveau désignant tout l'intervalle CLK=1. capture D à la transition 0→1 et le conserve jusqu'au prochain front montant. Une condition clk=1 ne rend pas ces comportements équivalents.
Effectuez la comparaison :
- Avec CLK=0, passez D à 1. Les deux Q restent à 0.
- Montez CLK à 1. Les deux Q passent à 1.
- Gardez CLK=1 et passez D à 0. Seul Q du verrou passe à 0.
- Abaissez CLK puis remontez-le. Q de la bascule adopte alors 0.
On suppose les deux q initialement à 0. Le verrou D suit D lorsque CLK=1 et conserve sa valeur lorsque CLK=0. La bascule D capture D uniquement lors d'une transition d'horloge 0→1.
Un cycle séquentiel
Faire passer Q par une logique combinatoire pour former D définit une transition d'état. En notant l'entrée juste avant le front et l'état stocké après celui-ci, le modèle idéal est :
La sortie réelle change après le retard clock-to-Q, pas instantanément au front. Plusieurs bascules capturant chacune leur entrée sur le même front peuvent calculer leurs états suivants à partir des états précédents des autres. C'est la base des compteurs et registres à décalageRegistre Circuit stockant plusieurs bits d'état. Les registres synchrones du cours capturent leur entrée définie sur un front d'horloge..
- Q courant: État mémorisé pendant ce cycle
- Circuit combinatoire: Calculer D à partir de Q et des entrées externes
- Prochain front montant: Mémoriser D si les contraintes temporelles sont respectées
- Nouveau Q: Produire l'état suivant après le retard clock-to-Q
Setup et hold conditionnent l'échantillonnage
D doit être stable pendant le temps setupSetup Durée minimale de stabilité de la donnée avant le front de capture. En cas de violation, le résultat mémorisé n'est pas garanti. En savoir plus avant le front et le temps holdTemps hold Durée minimale de stabilité des données après le front de capture. À distinguer du maintien ordinaire d'une valeur selon le contexte. En savoir plus après. Une transition proche du front ne garantit pas simplement « ancienne ou nouvelle valeur » : la métastabilité peut intervenir. La manipulation ne simule pas ce phénomène analogique.
Un registre regroupe plusieurs bascules. Une largeur de huit bits ne garantit pas à elle seule que les huit entrées forment une valeur cohérente ; les mêmes contraintes temporelles et règles de transfert doivent être respectées.
État initial et reset
Démarrer une simulation à Q=0 ne signifie pas que le matériel démarre nécessairement à 0. La prochaine leçon ajoute reset et enable pour définir initialisation et maintien. Le reset synchrone agit au front ; l'asynchrone agit indépendamment du front, mais sa désactivation exige aussi de la vigilance temporelle.
Essayez vous-même
Pendant CLK=1, D passe de 0→1→0, puis se stabilise à 1 avant le prochain front montant. Quand changent les Q du verrou et de la bascule ? La bascule se met-elle à jour deux fois au front ?
Lire l’explication
Le verrou suit les changements de D pendant CLK=1. La bascule les ignore et capture une seule fois le D=1 valide au prochain front montant. Le matériel réel exige aussi setup, hold et clock-to-Q.