Introduction aux bascules flip-flop
Les bascules flip-flop constituent les éléments de base des circuits séquentiels, capables de changer de forme tout en stockant un seul bit d’information.
Les bascules flip-flop étant des dispositifs bistables, ces circuits séquentiels sont parfois appelés “verrous”, car leurs sorties sont verrouillées dans leur état d’entrée jusqu’à qu’il y ait un autre changement dans la condition d’entrée.
Nous avons également vu que la bascule bistable flip-flop est le plus élémentaire des éléments de stockage dans un circuit à logique séquentielle et peut être configurée pour produire des éléments de mémoire simples grâce à l’interconnexion de deux portes inversées pour générer un retour d’information. Notez qu’un circuit de logique combinatoire ne nécessite aucune forme de mémoire et n’utilise donc pas de bascules flip-flop. Cependant, les circuits de logique séquentielle ont de la mémoire et utilisent donc différents types de conceptions de flip-flop pour se souvenir de leurs états présents.
L’interconnexion des portes logiques numériques pour produire un dispositif de mémoire mène à des applications telles que les circuits de décontraction de commutateur, les registres à décalage et les compteurs, etc. De plus, les éléments de mémoire fabriqués à partir de verrouillages bistables forment la base des accumulateurs et des registres sur lesquels un ordinateur ou un microcontrôleur réalise ses calculs complexes.

La manière la plus simple de créer une bascule flip-flop à un seul bit est d’utiliser deux portes NOR comme montré. En utilisant des portes croisées et en alimentant la sortie d’une porte à l’entrée de l’autre (entrées-sorties inversées), le circuit a une boucle fermée (feedback positif) de sorte que sa sortie dépend de l’état des entrées, rendant le circuit séquentiel et ayant de la mémoire.
Les bascules flip-flop appartiennent également à une catégorie de circuits de commutation numériques appelés multivibrateurs. Le multivibrateur bistable de base est un type de circuit régénératif qui a deux portes numériques actives conçues pour que lorsque l’une conduit, l’autre soit coupée et vice versa. Ces deux portes numériques produisent deux sorties stables, l’une HAUTE et l’autre FAIBLE, où l’une est le complément de l’autre.
Mais nous pouvons réaliser de nombreux types différents de circuits flip-flop, à la fois asynchrones et synchrones (une bascule flip-flop asynchrone ne nécessite pas d’entrée de signal d’horloge, mais une synchrone en a besoin) à partir de simples portes NAND et NOR croisées, et la conversion des bascules flip-flop entre les différents types peut parfois prêter à confusion.
Il existe essentiellement quatre types différents de bascules flip-flop :
- 1. Bascule Set-Reset (SR) ou verrou
- 2. Bascule JK
- 3. Bascule D (Data ou Delay)
- 4. Bascule T (Toggle)
Afin de mieux comprendre les différents types de flip-flop disponibles, le tutoriel suivant sur la logique séquentielle nous montre comment nous pouvons effectuer la conversion des bascules flip-flop d’un type à un autre simplement en modifiant les entrées d’un type particulier de flip-flop, en commençant par la bascule SR.
La bascule Set-Reset SR
La plus basique de toutes les bascules bistables et des multivibrateurs bistables est la bascule set-reset (SR). La bascule SR de base est un circuit bistable important car tous les autres types de bascules flip-flop en sont construits. La bascule SR est construite en utilisant deux portes NAND croisées, telles que le TTL 74LS00, ou deux portes NOR croisées, comme le TTL 74LS02.
En général, les bistables SR et les bascules flip-flop sont considérés comme transparents car leurs sorties changent ou répondent immédiatement aux changements de leurs entrées. Étant donné qu’ils sont constitués de portes logiques numériques accompagnées d’un feedback, les bascules flip-flop SR sont considérées comme des circuits de logique séquentielle asynchrones.
La bascule SR de base a deux entrées : S (set) et R (reset) et deux sorties Q et Q, l’une de ces sorties étant le complément de l’autre. Considérons les circuits ci-dessous.
Circuits SR basiques NAND et NOR
Ci-dessus se trouvent les deux configurations de base pour la bascule bistable asynchrone SR utilisant soit une porte d’entrée NAND négative, soit une porte d’entrée NOR positive. Pour le verrou bistable SR utilisant deux portes NAND croisées, les deux entrées sont normalement à HAUT au niveau logique “1”.
L’application d’un niveau FAIBLE au niveau logique “0” à l’entrée S, avec R maintenu à HAUT, fait que la sortie Q passe à HAUT, activant le verrou. De même, un niveau logique “0” sur l’entrée R, avec l’entrée S maintenue à HAUT, fait que la sortie Q passe à FAIBLE, réinitialisant le verrou. Pour le verrou à porte NAND SR, la condition S = R = 0 est interdite.
Pour la conversion des bascules flip-flop utilisant deux portes NOR croisées, lorsque la sortie Q = 1 et Q = 0, le verrou bistable est dit être dans l’état Set. Lorsque Q = 0 et Q = 1, le verrou à porte NOR est dit être dans son état Reset. Nous pouvons donc voir que l’opération des flip-flops à porte NOR et NAND sont essentiellement juste les compléments l’un de l’autre.
L’implémentation d’une bascule SR à l’aide de deux portes NAND croisées nécessite des entrées FAIBLES. Cependant, nous pouvons convertir le fonctionnement d’une bascule SR NAND pour fonctionner de la même manière que l’implémentation à porte NOR avec des entrées à HAUT (logique positive) en utilisant des inverseurs (portes NOT) dans la conception bistable de base.
Ensuite, la conversion des bascules flip-flop de FAIBLE actif à HAUT actif est la suivante :
Bascule Flip-flop active HAUT
La bascule SR de base ci-dessus et ses équivalents actifs HAUT sont toutes des bascules de type asynchrone, ce qui signifie que ses entrées et son état présent déterminent à elles seules l’état suivant. Mais en tant que dispositif de stockage mémoire à un bit, nous pouvons vouloir qu’il conserve son état de sortie actuel indépendamment de ce qui se passe avec ses deux entrées et le fonctionnement de la bascule SR de base peut être modifié par l’inclusion d’une entrée supplémentaire pour contrôler le comportement du circuit bistable.
La conversion du circuit de base des bascules flip-flop est réalisée en utilisant deux portes AND supplémentaires qui, avec une entrée de contrôle, activent et désactivent les entrées S et R. Ce nouveau circuit est appelé une bascule Set-Reset (SR) chronométrée ou à contrôle.
La Bascule Set-Reset (SR) avec contrôle
Les bascules SR à contrôle fonctionnent séquentiellement, l’état de sortie ne change qu’en réponse à ses entrées lors de l’application d’une horloge ou d’un signal d’activation. Comme le changement de sortie est contrôlé par cette entrée d’activation, le circuit de la bascule SR à contrôle est dit être une bascule synchrone. Ainsi, une bascule SR asynchrone ne nécessite pas d’horloge, mais une synchrone en a besoin.
La conversion d’une bascule SR standard basée sur NOR en une bascule SR à contrôle est réalisée en utilisant deux portes AND (TTL 74LS08) connectées aux entrées Set et Reset. Une entrée de contrôle ou “Activation”, EN, est connectée aux deux portes AND, entraînant des sorties FAIBLES lorsque l’entrée de l’horloge est FAIBLE, comme montré.
Circuit de Bascule SR à Contrôle
L’entrée d’horloge ou d’activation, EN, est connectée à une des entrées des deux portes AND, entraînant des sorties FAIBLES lorsque l’entrée d’activation est FAIBLE (principes des portes AND). Ainsi, tout changement aux entrées S ou R n’a pas d’effet sur l’état des sorties, Q et Q de la bascule.
Lorsque l’entrée d’activation est HAUTE, les deux portes AND deviennent transparentes, donc tout changement aux entrées S et R modifiera l’état des sorties comme auparavant. Nous pouvons donc voir qu’un niveau logique “1” (HAUT) ou “0” (FAIBLE) peut être stocké dans les sorties de la bascule contrôlée simplement en appliquant un signal HAUT à l’entrée d’activation, et que cet état de sortie peut être retenu pendant n’importe quelle période désirée, indépendamment de l’état des entrées tant que l’entrée d’activation reste FAIBLE.

Puisque la bascule SR à contrôle est un dispositif à trois entrées, le symbole logique montre trois entrées : S, R et EN. L’entrée EN est marquée d’un petit triangle pour indiquer que la bascule réagit à une entrée de transition ou de front.
La conversion des bascules flip-flop en une bascule à horloge est réalisée en connectant simplement cette entrée d’activation à un signal de temporisation. Tout changement à l’état de sortie se produira en synchronisation avec le signal d’horloge CLK. Notez qu’un signal d’horloge est défini comme une séquence de pulsations continues, chaque pulsation ayant deux états distincts, l’état “ON” et l’état “OFF”, avec son rapport cyclique représentant son temps “ON” divisé par la période totale de la pulsation (“ON” + “OFF”). Presque tous les signaux d’horloge numériques ont un rapport cyclique de 50%.
Une bascule SR à horloge peut changer d’état soit sur le front montant positif, soit sur le front descendant négatif du signal d’horloge ou de la pulsation. Par conséquent, une bascule déclenchée par un front ne répond qu’au changement de l’impulsion d’horloge d’un niveau à un autre. Par exemple, HAUT à FAIBLE ou FAIBLE à HAUT.
La sortie d’une bascule déclenchée par front montant ne change d’état que sur le front montant (0 à 1) de l’impulsion d’horloge et ne répond pas au front descendant négatif. De même, une bascule déclenchée par front descendant change d’état sur le front descendant (1 à 0) de l’impulsion d’horloge et ne réagit pas au front montant positif.
Bascule SR à Contrôle avec Préréglage et Effacement
Nous pouvons faire un pas de plus avec ce circuit de bascule SR à contrôle pour produire un verrou bistable avec des entrées supplémentaires appelées Préréglage et Effacement qui peuvent être utilisées pour définir une bascule dans un état initial quelle que soit l’horloge. Au lieu que les sorties Q et Q soient chargées avec une valeur indéfinie, nous pouvons passer outre toutes les entrées et préréglage les sorties à un état défini.
Mais pourquoi voudrions-nous faire cela. Eh bien, lorsque l’alimentation est d’abord appliquée à un circuit de bascule, l’état logique initial des sorties peut être complètement aléatoire selon quelle porte logique s’est figée en premier, alors nous n’aurions aucune idée de l’état de commutation dans lequel se trouve le circuit de bascule. Par conséquent, l’état initial de la bascule serait incertain, car il pourrait être à l’état SET, (Q = 1) ou il pourrait être à l’état RESET, (Q = 0).
Évidemment, cette incertitude dans sa commutation est indésirable, car dans la majorité des applications nous exigeons que la sortie soit réglée dans un état prédéfini, soit SET, soit RESET, prête à accepter des données. Mais nous pouvons surmonter cette incertitude grâce à la conversion des bascules flip-flop en utilisant deux entrées asynchrones supplémentaires appelées Préréglage, PR et Effacement, CLR, comme montré.
Bascule avec entrées Préréglage et Effacement
Ces entrées supplémentaires permettent à la bascule d’être effacée (Q = 0) chaque fois que l’entrée EFFACER est “0”, et l’entrée PRÉRÉGLAGE est “1”. De même, la bascule peut être préréglée dans l’état logique “1” chaque fois que l’entrée PRÉRÉGLAGE est “0” et l’entrée EFFACER est “1”. Dans cet exemple, si les entrées PRÉRÉGLAGE et EFFACER sont actives à HAUT (P = CLR = 1), alors le circuit fonctionne comme un circuit de bascule SR à contrôle normal. Évidemment, les entrées PRÉRÉGLAGE et EFFACER ne devraient pas être activées à FAIBLE (P = C = 0) en même temps, car cela entraîne un état incertain.
Cette option PRÉRÉGLAGE et EFFACEMENT est également pratique si nous voulons mettre la bascule dans un état connu de réglage ou de réinitialisation pendant une opération séquentielle, prête pour la prochaine séquence.
La conversion des bascules de l’un à l’autre est facilement mise en œuvre en modifiant les connexions ou en utilisant des portes supplémentaires. Comme nous l’avons vu, la bascule SR de base a deux entrées, S et R pour stocker un seul bit, mais pour ce faire, nous devons activer simultanément ces deux entrées. De plus, la combinaison d’entrée interdite de : S = R = 1 peut se produire accidentellement, provoquant ainsi que la bascule SR bascule dans un état indéfini.
Pour éliminer la nécessité de deux entrées distinctes et la possibilité de passer involontairement dans un état indéterminé, en connectant un inverseur (porte NOT) entre les entrées Set et Reset, nous pouvons convertir la bascule RS de base en une bascule de type D.
La Bascule de Type D (Data)
La bascule de type D ou Data Latch a uniquement une entrée appelée “D”, ou entrée de donnée, plus une entrée d’horloge, CLK, ainsi que les deux sorties habituelles, Q et Q. La bascule de type D transfère ses données numériques entre l’entrée et ses sorties, après un délai d’une pulsation d’horloge, et ainsi, la partie “D” est également appelée “entrée de délai”.
Les bascules de type D sont facilement construites à partir d’une bascule SR en simplement connectant un inverseur entre les entrées S et R, de sorte que l’entrée de l’inverseur soit connectée à l’entrée S et la sortie de l’inverseur soit connectée à l’entrée R, comme montré.
La Bascule de Type D
Deux circuits différents pour la conversion des bascules en un type D sont donnés ci-dessus. Le circuit supérieur est la configuration de type D à contrôle traditionnel avec l’inverseur supplémentaire. Le circuit inférieur fonctionne exactement de la même manière mais sans l’inverseur, économisant ainsi une porte. Comme pour toutes les configurations de bascules, les bascules de type D peuvent être mises en œuvre en utilisant des NAND ou NOR avec ou sans les options supplémentaires de préréglage et d’effacement.
L’utilisation d’un inverseur entre les entrées garantit que les entrées S et R sont toujours complémentaires, éliminant la condition indéfinie de : S = R = 1. En conséquence, la bascule de type D est également connue comme un “verrou transparent” car la sortie Q suit l’entrée D lorsque l’entrée d’horloge est HAUTE, CLK = 1, transférant les informations binaires à l’entrée directement à la sortie, comme si la bascule n’était pas présente, la rendant transparente.
La Bascule JK
La bascule JK est très similaire à plusieurs égards à la précédente bascule SR et est probablement celle qui est la plus utilisée de tous les designs de bascule. Les termes “J” et “K” ne signifient vraiment rien de spécial ni ne se rapportent à une description particulière mais ont été utilisés à l’origine au moment du développement initial des bascules, car ces deux lettres ne sont pas utilisées comme partie d’un autre dispositif numérique. Pour la bascule JK, le “J” est équivalent à Set et le “K” est équivalent à Reset.
Nous avons vu précédemment que la bascule SR a deux ou trois combinaisons d’entrées significatives avec la combinaison d’entrée S = R = 1 n’étant pas autorisée, mais elle peut facilement être modifiée pour obtenir différentes fonctions de commutation. La bascule JK est donc souvent considérée comme un dispositif universel.
La bascule JK a deux entrées “J” et “K”, toutes les quatre configurations d’entrée possibles : sans changement, set, reset et basculement sont valides. Avec l’entrée “J” agissant comme le “S” et l’entrée “K” agissant comme le “R”, elle change d’état lorsque l’une de ses entrées est HAUTE. Cependant, la beauté de la bascule JK est que lorsque “J” et “K” sont tous deux HAUT au niveau logique “1”, la bascule change d’état, c’est-à-dire qu’elle passe de “0” à “1” ou de “1” à “0”, produisant son propre état complémentaire.
Circuit de Bascule JK
La conversion des bascules flip-flop en une bascule JK consiste à croiser les sorties Q et Q avec les entrées S et R à travers des portes 3 entrées AND, comme montré.
Si les entrées J et K sont toutes deux HAUTES, logique “1”, alors la sortie Q changera d’état (Toggle) tant que l’entrée d’horloge, (CLK), est HAUTE. Ainsi, la sortie sera instable, créant un problème de compétition avec ce circuit JK de base. Ce problème est évité en s’assurant que l’entrée d’horloge est à logique “1” uniquement pour un temps très court, ou pour produire un circuit de bascule JK plus sophistiqué appelé bascule maître-esclave.
Conversion des Bascules à l’aide de Bascules Maître-Esclave
La conversion des bascules en une configuration “Maître-Esclave” implique l’ajout d’un deuxième circuit bistable. La configuration maître-esclave consiste en deux verrous SR connectés en cascade. Une bascule bistable agit comme le maître recevant les entrées externes tandis que l’autre agit comme son esclave, prenant ses entrées directement de la bascule maître, comme montré.
Configuration Basique Maître-Esclave
Lorsque l’impulsion d’horloge, CLK, passe à HAUT, les données aux entrées S et R sont transmises à travers la bascule maître, FFA, comme d’habitude. La bascule esclave adjacente, FFB, reste cependant isolée car son entrée d’horloge, CLK, est FAIBLE, logique “0”, en raison de l’inversion par l’inverseur.
Maintenant, lorsque l’impulsion d’horloge initiale redevient FAIBLE à “0”, le maître devient désactivé et bloque les entrées de données externes pour passer les informations à ses sorties, tandis que la bascule esclave devient maintenant activée et passe ainsi les informations mémorisées à ses sorties Q et Q. Ainsi, l’entrée d’horloge de la bascule esclave est le complément de l’entrée d’horloge de la bascule maître.
Les bascules maître-esclave sont qualifiées de bistables à déclenchement de niveau ou à déclenchement par impulsion parce que les données d’entrée sont lues pendant toute la durée de l’impulsion d’horloge à un niveau HAUT. De plus, les bascules maître-esclave ne sont pas uniquement limitées aux bascules SR maître-esclave. Il existe également des bascules JK maître-esclave et de type D maître-esclave. Dans presque tous les cas, la bascule esclave est une bascule SR classique, tandis que le type de bascule prend son nom à partir de la partie maître qui sera la configuration SR, JK ou de type D.
La Bascule de Type T (Toggle)
La bascule de type T (toggle) est une bistable à entrée unique, avec un fonctionnement similaire à celui de la bascule de type D ci-dessus. Nous avons vu ci-dessus avec la configuration de la bascule JK que si J = K = 1, sa sortie bascule à l’application du prochain cycle d’horloge. Donc, la conversion des bascules flip-flop en un type de bascule Toggle se résume simplement à connecter les entrées à HAUT.
La bascule de type T n’est pas disponible commercialement, mais peut être construite à partir d’une bascule JK (ou d’une bascule de type D) en connectant l’entrée J avec l’entrée K et les deux à niveau logique “1”. Avec J et K à HAUT, la bascule change d’état chaque fois qu’elle est déclenchée à son entrée d’horloge. Cette entrée d’horloge est maintenant appelée “entrée de basculement” car la sortie devient “1” si elle était “0”, et “0” si elle était “1”, c’est-à-dire qu’elle bascule.
Bascule de Type Toggle
La bascule de basculement change d’état lorsque l’entrée d’horloge est active, T = 1, et reste inchangée lorsque T = 0. Par conséquent, la transition de “0” à “1” amène la sortie à basculer, donnant à la bascule son nom. La bascule de type T est le bloc de construction de nombreux circuits numériques, notamment les diviseurs de fréquence et les compteurs numériques.
Les bascules de type Toggle peuvent être construites à partir d’une bascule JK de deux manières simples. La première consiste à connecter les entrées J et K ensemble à HAUT, comme indiqué, tandis que l’entrée d’horloge devient la bascule, comme montré. La deuxième consiste à connecter les entrées J et K ensemble pour fournir l’entrée de basculement, tandis que l’entrée d’horloge reste inchangée. La sortie bascule lorsque T et CLK sont tous deux à “1”. La sortie reste inchangée lorsque T ou CLK sont FAIBLES.
La bascule de type D peut, tout comme la bascule JK, être convertie pour fonctionner comme une bascule de basculement en connectant la sortie Q directement à l’entrée D avec le signal de basculement T étant l’entrée d’horloge, comme montré ci-dessus. Connecter la Q à l’entrée crée un rétro-contrôle négatif.
Alors que la sortie de la bascule de basculement change d’état à chaque application d’un signal d’horloge, sa fréquence de sortie est donc la moitié de celle de la fréquence du signal d’entrée, agissant ainsi comme un diviseur de fréquence. Si plusieurs bascules de basculement sont chaînées ensemble pour former une chaîne, la sortie de la première bascule agit comme l’horloge pour la deuxième bascule de type T de la chaîne, et la deuxième bascule agit comme l’entrée d’horloge pour la troisième bascule de type T, etc., créant une division de fréquence le long de la chaîne.
Les bascules flip-flop et les verrous sont de loin les éléments fondamentaux des circuits logiques séquentiels. Par conséquent, de nombreux fabricants de circuits intégrés produisent une grande variété de différentes puces de bascules utilisant les technologies TTL et CMOS comme listé ci-dessous.
Types Populaires de Circuits Intégrés Flip-flop
Numéro de l’appareil | Description de l’appareil |
74LS73A | Conjugué à déclenchement sur front négatif JK avec effacement |
74LS74 | Conjugué à déclenchement sur front positif D avec préréglage et effacement |
74LS75 | Quadruple verrou bistable de type D avec activation |
74LS76 | Conjugué à déclenchement sur impulsion JK avec préréglage et effacement |
74LS107 | Conjugué JK avec effacement |
74LS111 | Maître-esclave JK avec effacement |
74LS175 | Conjugué à déclenchement sur front positif D avec effacement |
74LS279 | Quadruple SR avec entrées actives FAIBLES |
Résumé de la Conversion des Bascules
Nous avons vu dans ce tutoriel qu’un dispositif bistable est un dispositif dans lequel deux états bien définis existent, et à tout moment, le dispositif pourrait assumer l’un ou l’autre des états stables. La conversion des bascules d’un type à un autre peut être réalisée très facilement, car seules de légères modifications sont nécessaires pour convertir un type à un autre. Les bascules flip-flop peuvent être construites à l’aide de circuits de portes logiques avec retour d’information.
Nous avons également vu que les bascules flip-flop peuvent avoir une, deux ou trois entrées, une de ces entrées étant connectée à un signal d’horloge. Toutes les bascules flip-flop ont deux états de sortie : Q = 1 et Q = 0 qui changent en réponse à l’application de l’horloge. Pour le verrou SR, S = 1 active Q à 1, et R = 1 réinitialise Q à 0.
La bascule JK est classée comme une bascule universelle et est similaire dans sa conception à la bascule SR, dans le sens où lorsque J = 1, elle active Q à 1, et quand K = 1, elle réinitialise Q à 0. La condition J = K = 1 provoque la bascule de Q.
Toutes les bascules discutées ci-dessus peuvent avoir des entrées asynchrones supplémentaires d’EFFACEMENT et de PRÉRÉGLAGE qui font que Q soit effacé à “0” ou préréglé à “1” indépendamment du signal d’horloge.
Une bistable de type D peut être construite à partir de bascules JK en ajoutant un inverseur entre les entrées J et K. La bascule de type D est largement utilisée dans les systèmes numériques pour le transfert de données et est dite être transparente, car tout changement à l’entrée est immédiatement accepté et la sortie change en conséquence.
La bascule de type T ou basculement change d’état à l’application d’une impulsion d’horloge lorsque T = 1, sinon Q ne change pas. La bascule de type Toggle est normalement utilisée pour la division de fréquence ou pour la conception de compteurs binaires puisque les compteurs binaires nécessitent une complémentation. La bascule de type Toggle n’est pas disponible commercialement, mais peut être mise en œuvre en connectant ensemble les entrées J et K d’une bascule JK.
La conversion des bascules d’un type à un autre est généralement possible en reconfigurant les entrées ou en ajoutant des portes logiques supplémentaires. Nous avons vu que les bascules SR pouvaient être converties en bascules JK qui elles-mêmes peuvent être converties en verrouillages de données, et que les bascules JK et de type D peuvent être converties en bascule de type Toggle.