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

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 sensible sur niveau

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

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

Fonctionnement incorrect du registre à décalage construit à base de bascules D sensibles sur niveau. La bascule est transparente quand Clk=1

Après avoir étudié, dans ce chapitre, l'architecture d'une bascule D sensible sur niveau, vous verrez comment contourner ses limitations en utilisant une bascule D sensible sur front.