Concevez une bascule D sensible sur niveau
Les circuits synchrones
La grande majorité des circuits intégrés CMOS utilise une horloge pour synchroniser les séquences de calcul. Cette technique, appelée conception synchrone, est très populaire car elle permet une conception automatisée et sécurisée. Pour réaliser la fonction mémoire à base de bascule RS vue au chapitre précédent, nous allons utiliser la bascule D synchrone qui dispose d'une entrée d'horloge. Elle reprend le concept de la bascule RS vue au chapitre 1.
Conception d'une bascule D sensible sur niveau
Le schéma de la bascule D sensible sur niveau est donné ci-dessous. La bascule est composée de 4 portes NAND et d'un inverseur. Elle a deux entrées : D (pour Data) et Clock (ou Clk) qui va servir pour synchroniser les opérations de mémorisation à réaliser.
Schéma de principe de la bascule D sensible sur niveau
La table de vérité de la bascule D sensible sur niveau
Lorsque l'entrée de l'horloge est au niveau haut (1), la sortie Q suit les modifications de l'entrée D. Lorsque l'entrée de l'horloge passe à 0, la bascule est à l'état mémoire, ce qui signifie que Q reste sur la dernière valeur logique présente lorsque l'horloge était à 1. Changer la valeur de D alors que Clock = 0 n'a alors aucun effet sur Q ou sur nQ.
Table de vérité de la Bascule D (D Latch) sensible sur niveau
Simulation de la bascule D sensible sur niveau
Avec DSCH, lors de la simulation logique, Q et nQ commencent par un état indéterminé. Une fois que l'horloge est active (Clock=1), Q prend la valeur de D. Lorsque l'horloge revient au niveau 0, Q conserve sa dernière valeur et nQ sa valeur opposée.
Simulation de la bascule D - Quand Clock est à 1, Q=Data, nQ=nData. Q et nQ sont indéterminés au départ. Quand Clock est à 0, Q et nQ sont en état mémoire
Il est dangereux de changer l'état de D juste au moment où Clock passe en état mémoire (Clock=0).
Il existe un certain délai de propagation au travers des différentes cellules logiques, ce qui fait que le passage de D vers Q, bien que très court (de l'ordre de la nanoseconde, voire de quelques picosecondes), n'est pas instantané. En zoomant dans le chronogramme, on peut observer ce phénomène de décalage temporel.
La principale limitation de la bascule D sensible sur niveau est d'être inutilisable pour construire des registres à décalage ou des compteurs. En effet, lorsque Clock est actif, la donnée D se propage d'étage en étage. Seule une bascule sensible sur front permet d'assurer un décalage bloc par bloc.
Fonctionnement incorrect du registre à décalage construit à base de bascules D sensibles sur niveau. La bascule est transparente quand Clk=1