Brevet FR2872356A1 — publié le 20051230

CIRCUIT BISTABLE PROTÉGÉ CONTRE LES ALÉAS ET RAPIDE, BASCULE LATCH ET BASCULE FLIP-FLOP UTILISANT UN TEL CIRCUIT BISTABLE Dans un circuit intégré, l'invention concerne un circuit bistable protégé contre les aléas logiques et rapide. Le circuit bistable peut être notamment utilisé pour réaliser une bascule latch, une bascule flip/flop, une cellule SRAM, etc. Un circuit bistable connu comprend deux inverseurs connectés tête-bêche et est utilisé pour mémoriser une donnée logique. La miniaturisation ininterrompue et progressive des circuits électroniques permet d'obtenir des circuits de plus en plus performants et de plus en plus petits. En contrepartie, ces circuits sont de plus sensibles à leur environnement qui peut entraîner des aléas logiques. Un aléa logique est un changement d'état logique ponctuel ou un état logique transitoire non souhaités, en un point du circuit intégré. Les aléas logiques peuvent avoir des origines et des conséquences très diverses. Dans un circuit bistable par exemple, un aléa entraîne un changement de contenu (donnée logique) du circuit bistable, qui devra être reprogrammé pour retrouver sa valeur initiale. Pour protéger les circuits bistables, il est connu notamment du brevet FR 2 833 783 de connecter un pont capacitif entre un point d'entrée E et un point de sortie S du circuit bistable (figure 1). Le circuit capacitif augmente la charge critique du circuit; il en conséquence l'énergie qu'il faut apporter au circuit pour le faire basculer et le temps de basculement du bistable. Les aléas ayant en général une énergie limitée, cette énergie n'est plus suffisante pour faire basculer le circuit bistable qui est ainsi protégé contre les aléas. En contrepartie, pour programmer le circuit bistable, c'est à dire provoquer volontairement le changement d'état logique du circuit bistable, il faut apporter une énergie beaucoup plus importante, nécessaire pour charger le pont capacitif, et il faut beaucoup plus de temps qu'en l'absence de pont capacitif. Il en est de même évidemment pour tout circuit utilisant un circuit bistable, en particulier pour une bascule latch ou une bascule flip-flop. L'invention a pour but de proposer un circuit bistable qui est à la fois protégé contre les aléas logiques et rapide pendant un changement d'état logique normal (programmation du bistable). Cet objectif est atteint avec un circuit bistable selon l'invention, qui comprend un premier inverseur et un circuit d'inversion capacitif dont une entrée est connectée à une sortie du premier inverseur, caractérisé en ce que le circuit d'inversion capacitif comprend un moyen pour isoler une sortie du circuit d'inversion capacitif d'une entrée du premier inverseur lorsque le dit moyen d'isolation reçoit une signal de validation actif, ou pour connecter la dite sortie du circuit d'inversion capacitif à l'entrée du premier inverseur sinon. Le moyen d'isolation permet ainsi d'isoler le circuit inversion capacitif de l'entrée du premier inverseur pendant la programmation du circuit bistable. Il n'est ainsi plus nécessaire de charger les capacités du circuit d'inversion capacitif pour programmer le circuit bistable, de sorte que la programmation est rapide. En dehors d'une phase de programmation, le moyen d'isolation connecte le circuit d'inversion capacitif à l'entrée du premier inverseur. Le circuit bistable est ainsi protégé contre les aléas par les capacités du circuit d'inversion. L'invention concerne également une bascule latch et une bascule flip-flop comprenant au moins un circuit bistable tel que décrit ci-dessus. D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui est faite ci-après de circuits bistables, d'une bascule latch et d'une bascule flip-flop selon l'invention. Cette description est faite à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels: É la figure 1, déjà décrite, représente schématiquement un circuit bistable connu, É la figure 2 détaille un premier circuit bistable selon l'invention, Éla figure 3 détaille un deuxième circuit bistable selon l'invention, É la figure 4 est un schéma d'une bascule latch connue É la figure 5 est un schéma d'une bascule latch selon l'invention, et É la figure 6 est un schéma d'une bascule flip-flop selon l'invention. Dans un circuit bistable connu (figure 1), deux inverseurs 11, I2 sont connectés tête-bêche et un circuit capacitif (dans l'exemple fig.1 deux condensateurs Cl, C2 en série), est connecté en parallèle, entre les deux points communs E, S des deux inverseurs I1, 12. Pour programmer un tel circuit bistable, on applique la donnée à mémoriser sur le point E, pendant un temps suffisamment long pour charger les condensateurs Cl, C2 puis faire basculer si besoin les inverseurs I1, 12. Selon un premier mode de réalisation de l'invention (figure 2), un interrupteur INT est inséré entre l'entrée de l'inverseur I1 est la sortie de l'inverseur 12, le circuit capacitif C restant connecté à la sortie de l'inverseur 11. L'interrupteur est commandé par un signal de validation GATE. L'interrupteur, l'inverseur 12 et le circuit capacitif forment ensemble un circuit d'inversion capacitif présentant une capacité d'entrée importante. Pour programmer le circuit bistable, on applique la donnée logique 0 ou 1 souhaitée sur l'entrée E après avoir ouvert l'interrupteur INT, de sorte que la charge capacitive vue depuis le point E est limitée à celle de l'inverseur I2, bien plus faible que celle de l'ensemble formé par les inverseurs Il, I2 et le circuit capacitif du circuit bistable de la figure 1. Le temps de programmation, en pratique le temps de transit à travers l'inverseur Il du signal appliqué sur l'entrée E, est ainsi beaucoup plus faible. Des essais ont ainsi montré un gain de temps de l'ordre de 40%. Après programmation, l'interrupteur INT est fermé : les deux inverseurs Il, I2 sont à nouveau connectés tête-bêche et le circuit capacitif C joue son rôle de protecteur contre les aléas intempestifs. Selon un deuxième mode de réalisation de l'invention (figure 3), on remplace l'inverseur simple I2 par un circuit d'inversion constitué d'un inverseur trois états présentant une capacité d'entrée. Dans le détail, le circuit d'inversion comprend deux transistors T3, T4 de type P et deux transistors T5, T6 de type N connectés en série entre une source d'alimentation VDD et une masse du circuit. Le point commun des transistors T4, T5 est connecté à l'entrée E de l'inverseur Il dont la sortie est connectée aux grilles de T3, T4. Un condensateur C3 est connecté entre le point commun des transistors T3, T4 et la sortie de l'inverseur Il et un condensateur C4 est connecté entre le point commun des transistors T5, T6 et la sortie de l'inverseur Il. Enfin, le signal GATE est appliqué sur la grille du transistor T5 et un signal inverse /GATE est appliqué sur la grille du transistor T4. Le fonctionnement du circuit de la figure 3 est similaire à celui de la figure 2. Lors d'une programmation, signal GATE actif, les transistors T4, T5 sont bloqués de sorte que les condensateurs C3, C4 sont isolés du point d'entrée E de l'inverseur I1, il n'est donc pas besoin de les charger pour programmer le circuit bistable. Inversement, en dehors d'une programmation, le signal GATE est inactif, les transistors T4, T5 sont passants de sorte que les condensateurs sont reliés au point d'entrée E, protégeant ainsi le circuit bistable contre les aléas. Sur la figure 4 est représentée une bascule latch connue, comprenant un circuit bistable selon la figure 1 et un inverseur I3 de commande dont une sortie est connectée à l'entrée E du bistable. I3 est un inverseur trois états: il transmet sur sa sortie un signal présent sur son entrée DATA uniquement lorsqu'il reçoit un signal de validation GATE actif. L'inverseur I1 du circuit bistable est ici un inverseur trois états, commandé par un signal inverse du signal GATE. Pour programmer un tel circuit, on applique une donnée DATA à mémoriser à l'entrée de l'inverseur I3 et on active le signal de validation GATE pour venir appliquer la donnée à l'entrée E. L'inverseur I2 est bloqué (par le signal inverse du signal GATE) ; après avoir chargé les condensateurs Cl, C2, la donnée au point E est transmise au point S par l'inverseur I2. Après programmation, le signal GATE est désactivé et l'inverseur I1 est rebouclé sur l'inverseur I2. Dans une bascule latch selon l'invention on remplace le circuit bistable d'une bascule latch connue par un circuit bistable CB selon l'invention (figures 2, 3) comprenant un moyen d'isolation. Ainsi, dans l'exemple de la figure 4, on remplace l'inverseur trois états par un inverseur simple I2 et on insère un interrupteur INT entre la sortie de l'inverseur I2 et l'entrée de l'inverseur I1, le condensateur Cl restant connecté à l'entrée de l'inverseur I2. L'interrupteur INT est dans l'exemple de la figure 4 une porte de transmission/transfert de type CMOS, comprenant un transistor Tl de type P et un transistor T2 de type N connectés en parallèle, le drain commun de Tl, T2 étant connecté à la sortie E de l'inverseur I3 et la source commune de Tl, T2 étant connectée à l'entrée de l'inverseur Il et au condensateur Cl. Les signaux GATE et /GATE (inverse de GATE) sont appliqués sur les grille de Ti, T2 de sorte que: Élorsque l'inverseur I3 est passant (GATE actif), les transistors Tl, T2 sont bloqués (interrupteur ouvert) Élorsque l'inverseur I3 est bloqué (GATE inactif), les transistors Ti, T2 sont passants (interrupteur fermé) Sur la figure 6 est détaillée une bascule de type flip-flop selon l'invention. La bascule flip-flop est en pratique réalisée par deux bascules latch associées; l'une est appelée couramment bascule maître et l'autre est appelée bascule esclave. Les circuits bistables CB1, CB2 des bascules maître et esclave ne sont pas détaillés. Ils peuvent être par exemple conformes à la figure 2 ou à la figure 3. L'entrée DATA de la bascule latch maître forme l'entrée de la bascule flip-flop, sur laquelle sont appliquées les données à mémoriser. L'entrée de la bascule esclave est quant à elle connectée à la sortie EM de la bascule maître. La bascule maître est commandée par le signal GATE, qui est appliqué sur l'entrée de commande de l'inverseur I3M et sur l'interrupteur INTM de la bascule maître. La bascule esclave est commandée par le signal /GATE, inverse du signal GATE; le signal /GATE est appliqué sur l'inverseur I3E et sur l'interrupteur INTE de la bascule esclave. 7 REVENDICATIONS, 1. Circuit bistable comprenant un premier inverseur (Il) et un circuit d'inversion capacitif dont une entrée est connectée à une sortie (S) du premier inverseur (Il), caractérisé en ce que le circuit d'inversion capacitif comprend un moyen pour isoler (INT; T5, T4) une sortie du circuit d'inversion d'une entrée (E) du premier inverseur (Il) lorsque le dit moyen d'isolation reçoit une signal de validation (GATE) actif, ou pour connecter la dite sortie du circuit d'inversion capacitif à l'entrée (E) du premier inverseur (Il) sinon. 2. Circuit selon la revendication 1, dans lequel le circuit d'inversion capacitif comprend un deuxième inverseur (I2) et un circuit capacitif (C) connectés en parallèle entre la sortie (S) du premier inverseur (Il) et un borne d'un interrupteur (INT) dont une autre borne est connectée à l'entrée (E) du premier inverseur (Il), l'ouverture du dit interrupteur (INT) étant commandé par le signal de validation (GATE). 3. Circuit bistable selon la revendication 2, dans lequel l'interrupteur (INT) est une porte de transmission/transfert commandée par le signal de validation (GATE) et comprenant un premier transistor de type P et un deuxième transistor de type N connectés en parallèle. 4. Circuit bistable selon la revendication 1, dans lequel le circuit d'inversion capacitif est un inverseur trois états commandé par le signal de validation (GATE) et présentant une capacité d'entrée importante. 5. Circuit bistable selon la revendication 4, dans lequel le circuit d'inversion capacitif comprend: Éun troisième transistor (T3) et un quatrième transistor (T4) de type P, connectés en série entre une source d'alimentation (VDD) et la sortie du circuit d'inversion connectée à l'entrée du premier inverseur (I1), une grille du troisième transistor étant connectée à l'entrée du circuit d'inversion et un signal inverse (/GATE) du signal de validation étant appliqué sur une grille du quatrième transistor, Éun cinquième transistor (T5) et un sixième transistor (T6) connectés en série entre la sortie du circuit d'inversion et une masse du circuit, une grille du cinquième transistor étant connectée à l'entrée du circuit d'inversion et le signal de validation (GATE) étant appliqué sur une grille du sixième transistor Éun premier circuit capacitif connecté entre l'entrée du circuit d'inversion et le point commun du troisième transistor et du quatrième transistor, et *un deuxième circuit capacitif connecté entre l'entrée du circuit d'inversion et le point commun du cinquième transistor et du sixième transistor. 6. Bascule de type latch, comprenant un circuit bistable selon l'une des revendications 1 à 5, comprenant également un inverseur trois états d'entrée (I3), dont une entrée forme une entrée de la bascule latch et dont une sortie est connectée à l'entrée du premier inverseur (Il) du circuit bistable. 7. Bascule latch selon la revendication 6, sur laquelle est appliqué le signal de validation (GATE) pour commander l'inverseur trois états d'entrée et isoler la sortie du circuit d'inversion de l'entrée du premier inverseur (I1) du circuit bistable. 8. Bascule de type flip-flop, comprenant une bascule maître et une bascule esclave, toutes deux réalisées selon l'une des revendications 6 à 7, une entrée de la bascule esclave étant connectée à la sortie de l'inverseur trois états d'entrée de la bascule maître.