FR 2972087 A1 20120831 FR 1151514 A 20110224 B10267 1 CIRCUIT DE BASCULE COMMANDÉE PAR IMPULSIONS Domaine de l'invention La présente invention concerne un circuit de bascule commandée par impulsions et un procédé de conception de circuit de bascule commandée par impulsions. Arrière-plan de l'invention On distinguera ici des bascules (en anglais flip-flop) commandées par un front montant ou descendant appelées ci-après simplement "bascules" et des bascules commandées par impulsions (en anglais latch) appelées ci-après "bascules commandées par impulsions" ou "bloc de mémorisation sur état". Les bascules commandées par impulsions sont moins complexes que de simples bascules et permettent ainsi de concevoir des circuits plus compacts à consommation réduite. Les données sont introduites dans une bascule commandée par impulsions pendant une impulsion positive ou négative d'un signal de synchronisation. Le signal de synchronisation est produit par un générateur d'impulsions et chacune des impulsions a généralement une largeur d'impulsion notablement plus courte que les durées haute ou basse d'un signal d'horloge normal. Il serait souhaitable de prévoir des circuits de bascules commandées par impulsions qui puissent recevoir plus d'un signal de données et comprennent au moins une entrée de B10267 2 sélection pour sélectionner le signal de données à mémoriser par la bascule. Toutefois, réaliser un tel circuit pose divers problèmes. Résumé de l'invention Un objet de la présente invention est de traiter au moins partiellement un ou plusieurs problèmes de l'art antérieur. Selon un aspect de l'invention, il est prévu un circuit de bascule commandée par impulsions comprenant : un bloc de mémorisation sur état commandé par un signal en impulsion ; un multiplexeur comprenant au moins deux entrées de données et une sortie de données ; et un inverseur couplé entre la sortie de données du multiplexeur et une entrée de donnée du bloc de mémorisation sur état. Selon un mode de réalisation, le multiplexeur comprend au moins un transistor qui reçoit l'une d'au moins deux entrées de données sur sa grille, et l'inverseur comprend au moins un transistor capable de fournir un courant plus important que celui dudit au moins un transistor du multiplexeur. Selon un autre mode de réalisation, le circuit de bascule commandée par impulsions comprend en outre des première et seconde portes logiques en anti-parallèle entre des premier et second noeuds de mémorisation complémentaires et un commutateur commandé par un signal en impulsion et couplé entre 25 la sortie de données du multiplexeur et le premier noeud de mémorisation. Selon un autre mode de réalisation, le circuit de bascule commandée par impulsions comprend en outre une ligne de sortie couplée par au moins un autre inverseur à l'un des 30 premier et second noeuds de mémorisation. Selon un autre mode de réalisation, la première porte logique est une porte NON OU ou une porte NON ET couplée entre les premier et second noeuds de mémorisation par l'intermédiaire de l'une de ses bornes d'entrée et de sa borne de sortie et 20 B10267 3 comprenant une autre borne d'entrée agencée pour recevoir un signal de remise à zéro ou de forçage à un. Selon un autre mode de réalisation, la seconde porte logique a une borne de sortie couplée au premier noeud de mémorisation par l'intermédiaire d'un autre commutateur commandé par le signal en impulsion. Selon un autre aspect de l'invention, il est prévu un circuit intégré comprenant au moins un circuit de bascule commandée par impulsions ci-dessus, et un générateur d'impulsions agencé pour produire le signal en impulsion. Selon un autre aspect de l'invention, il est prévu un procédé de conception d'un circuit de bascule commandée par impulsions qui comprend un multiplexeur ayant au moins deux entrées de données et une sortie de données et comprenant au moins un transistor pour recevoir sur sa grille l'une d'au moins deux entrées de données ; un bloc de mémorisation sur état commandé par un signal en impulsion ; et un inverseur couplé entre la sortie de données du multiplexeur et une entrée de données du bloc de mémorisation sur état, l'inverseur comprenant au moins un transistor, ce procédé comprenant : sélectionner la largeur dudit au moins un transistor de l'inverseur telle qu'il soit capable de fournir un courant plus important que celui dudit au moins un transistor du multiplexeur. Selon un mode de réalisation, la sélection de la largeur dudit au moins un transistor du multiplexeur est basée sur un retard à appliquer à l'une des entrées de données, et la sélection de la largeur dudit au moins un transistor de l'inverseur est basée sur la durée de chaque impulsion du signal en impulsion. Selon un autre mode de réalisation, le procédé comprend en outre la sélection de la largeur de chaque impulsion du signal en impulsion sur la base de la largeur dudit au moins un transistor de l'inverseur. B10267 4 Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1A représente un exemple de circuit de bascule commandée par impulsions ; les figures 1B et 1C représentent plus en détail des exemples particuliers du circuit de bascule commandée par 10 impulsions de la figure 1A ; la figure 2 est un chronogramme d'un exemple de signaux de synchronisation du circuit de la figure 1C ; la figure 3A représente un circuit de bascule commandée par impulsions selon un mode de réalisation de la 15 présente invention ; la figure 3B représente plus en détail le circuit de bascule commandée par impulsions de la figure 3A selon un mode de réalisation de la présente invention ; la figure 4 représente plus en détail le circuit de 20 bascule commandée par impulsions de la figure 3A selon un mode de réalisation de la présente invention ; et la figure 5 représente un circuit intégré comprenant le circuit de bascule commandée par impulsions de la figure 3A. Description détaillée 25 Dans ce qui suit, seuls des caractéristiques et aspects utiles à la compréhension de l'invention seront exposés en détail. D'autres détails, tels que la structure particulière du générateur d'impulsions sont bien connus de l'homme de l'art. De plus, bien que des exemples particuliers de 30 structures d'un bloc de mémorisation sur état comprenant une paire d'inverseurs en anti-parallèle soient décrits ci-après, il sera clair pour l'homme de l'art que les modes de réalisation de la présente invention ne sont pas limités à de telles structures. B10267 La figure 1A représente un exemple d'un circuit de bascule commandée par impulsions 100 comprenant un multiplexeur 102 pour sélectionner l'un de deux signaux d'entrée de données D1 et D2 sur la base d'une entrée de sélection SE, la sortie du 5 multiplexeur 102 étant couplée à un bloc de mémorisation sur état 103, qui stocke un bit de donnée reçu par l'intermédiaire du multiplexer 102. Le bloc 103 reçoit un signal en impulsion PS, et sur la base de ce signal il stocke la donnée présente sur la sortie du multiplexeur, qui est ensuite disponible sur une ligne de sortie du bloc de mémorisation sur état. La figure 1B représente plus en détail un exemple particulier du circuit de bascule commandé par impulsions 100 et du bloc de mémorisation sur état. Comme cela est représenté, la sortie du multiplexeur 102 est couplée à la partie de mémorisation du bloc de mémorisation 103 par un commutateur 104. Le commutateur 104 est commandé par le signal en impulsion PS et la partie de mémorisation du bloc de mémorisation sur état 103 comprend des noeuds de mémorisation complémentaires 106, 107 pour mémoriser les données d'entrée quand le commutateur 104 est activé. Le bloc de mémorisation sur état 103 comprend dans cet exemple deux inverseurs 108, 110 en anti-parallèle entre les noeuds de mémorisation 106 et 107. En outre, un commutateur 112 est couplé entre la sortie de l'inverseur 110 et le noeud 106. Le noeud 114 entre la sortie de l'inverseur 110 et le commutateur 112 fournit une sortie du circuit de bascule commandée par impulsions 100 sur une ligne de sortie 118, par l'intermédiaire d'un inverseur 116. La figure 1C représente encore plus en détail le 30 multiplexeur 102, le commutateur 104 et l'inverseur 108 de la figure 1B selon un mode de réalisation. Le multiplexeur 102 comprend quatre transistors 120, 122, 124 et 126 en série entre une tension d'alimentation VDD et la masse et quatre autres transistors 128, 130, 132 et 134 35 également en série entre VDD et la masse. Dans cet exemple, les B10267 6 transistors 120, 122, 128 et 130 sont des transistors MOS à canal P (PMOS) alors que les transistors 124, 126, 132 et 134 sont des transistors MOS à canal N (NMOS), bien que d'autres types de transistors puissent être utilisés. Le signal de données d'entrée D1 est couplé aux grilles des transistors 120 et 126 et le signal d'entrée D2 est couplé aux grilles des transistors 128 et 134. Les transistors 122 et 132 reçoivent sur leurs grilles le signal de sélection SE et les transistors 124 et 130 reçoivent sur leurs grilles l'inverse de ce signal de sélection. Les drains des transistors 122, 124, 130 et 132 sont couplés à un noeud 136 lui-même couplé au commutateur 104. La tension sur le noeud 136 est l'inverse du signal de données choisi D1, D2. Le commutateur 104 comprend des transistors PMOS et NMOS 138, 140 couplés en parallèle entre le noeud 136 et le noeud de mémorisation 106. La grille du transistor 138 reçoit l'inverse du signal en impulsion PS et la grille du transistor 140 reçoit le signal en impulsion PS. L'inverseur 108 comprend des transistors PMOS et NMOS 142, 144 en série entre la tension d'alimentation VDD et la masse, chacun d'eux ayant sa grille couplée au noeud de mémorisation 106 et son drain couplé au noeud de mémorisation 107. Dans le circuit de la figure 1B, si l'entrée de données D1 est sélectionnée, le temps nécessaire pour modifier la tension sur le noeud de mémorisation 106 d'un état bas à un état haut est déterminé au moins partiellement par la largeur Wl du transistor PMOS 120 et le temps nécessaire pour modifier la tension sur le noeud de mémorisation 106 d'un état haut à un état bas est déterminé au moins partiellement par la largeur W2 du transistor NMOS 126. De façon similaire, si l'entrée de données D2 est sélectionnée, le temps nécessaire pour modifier la tension sur le noeud de mémorisation 106 d'un état bas à un état haut est déterminé au moins partiellement par la largeur W3 du transistor PMOS 128 et la durée nécessaire pour modifier la tension sur le noeud de mémorisation 106 d'un état haut à un B10267 7 état bas est déterminé au moins partiellement par la largeur W4 du transistor NMOS 134. Par exemple, quand les transistors 120 et 122 du multiplexeur 102 et les transistors 138 et 140 du commutateur 104 sont à l'état passant, un courant circule de la tension d'alimentation VDD à travers ces transistors vers le noeud de mémorisation 106. La capacité du noeud 106 déterminera la quantité de charge nécessaire pour amener le noeud 106 à l'état haut. Plus les transistors 120, 122, 138 et 140 sont larges, plus cette charge peut être fournie vite. La durée disponible pour modifier l'état du noeud de mémorisation 106 pendant une opération de mémorisation est déterminée par la durée de chaque impulsion du signal en impulsion PS. Ainsi, pour une durée d'impulsion donnée, les largeurs W1, W2, W3 et W4 des transistors 120, 126, 128 et 134 doivent être suffisamment grandes pour fournir suffisamment de charge pour modifier la tension sur le noeud 106. Toutefois, il se pose un problème avec ce circuit en ce que les largeurs des transistors 120, 126, 128 et 134 déter- minent également le retard introduit sur les signaux de données DI et D2, comme cela sera décrit en relation avec la figure 2. La figure 2 représente un exemple du signal de données d'entrée DI, du signal de données intermédiaire correspondant DINT sur le noeud 136 de la figure 1B, et du signal en impulsion PS du circuit de la figure 1A, en supposant que le signal de sélection SE est à l'état bas. Le transistor 120 provoque un retard 202 entre le front descendant du signal de données DI et le front montant correspondant du signal intermédiaire DINT- Le transistor 126 provoque un retard 204 entre le front montant du signal de données DI et le front descendant correspondant du signal intermédiaire DINT- Pour assurer que les données correctes sont mémorisées sur le noeud de mémorisation 106, le signal intermédiaire DINT doit être stable pendant toute la durée pendant laquelle le B10267 8 signal en impulsion PS est à niveau haut et pendant une durée de maintien Th après que le signal en impulsion PS a chuté à niveau bas. Les retards 202 et 204 sont fixés au moins partiellement par les largeurs Wl à w4 des transistors 120, 126, 128 et 134, respectivement. Ainsi, il existe des valeurs de largeur minimum et maximum des transistors 120, 126 qui peuvent être définies de la façon suivante : les largeurs maximum W1max et W2max sont telles que les 10 retards 202 et 204 sont suffisamment longs vis-à-vis des contraintes de durée de maintien ; et les largeurs minimum W1min, W2min sont telles que la charge fournie pendant une impulsion du signal en impulsion PS est suffisante pour modifier la tension sur le noeud de mémorisa- 15 tion 106. Toutefois, dans certains cas, l'une au moins des largeurs maximum W1max, W2max est inférieure à la largeur minimum correspondante W1min, W2min, auquel cas on ne peut trouver de largeur convenable pour les transistors 120, 126. 20 Cette situation peut se produire en particulier quand on cherche à réduire la largeur d'impulsion pour permettre de limiter le temps de maintien des données qui se propagent vite, par exemple dans le cas où au moins l'un des signaux de données D1, D2 est une séquence de test. On notera que, bien que l'on puisse 25 diminuer les largeurs minimum W1min, W2min, si on augmente les largeurs d'impulsion du signal de synchronisation en impulsion PS, ceci entraînera une réduction correspondante des largeurs maximum W1max et W2max ce qui ne résout pas le problème. La figure 3A représente un circuit de bascule 30 commandée par impulsions 300 qui est similaire au circuit 100 de la figure 1 mais qui comprend en outre un inverseur 302 entre la sortie du multiplexeur 102 et le bloc de mémorisation 103. La figure 3B représente plus en détail le circuit de bascule commandée par impulsions 300, dans le cas où le bloc de 35 mémorisation sur état a une structure similaire à celle de la B10267 9 figure 1B. Toutefois, dans l'exemple de la figure 3B, l'inverseur 116 qui fournit la sortie de la bascule commandée par impulsions 118 est couplé au noeud de mémorisation 107 plutôt qu'à la sortie de l'inverseur 110. De façon avantageuse, l'insertion de l'inverseur 302 dans les figures 3A et 3B permet à la largeur des transistors 120, 126, 128 et 134 du multiplexeur 102 d'être fixée indépendamment des largeurs d'impulsion du signal en impulsion PS comme cela sera maintenant expliqué en relation avec la figure 4. La figure 4 représente un exemple 400 de mise en oeuvre sous forme de transistors du circuit 300. Le multiplexeur 102 et le commutateur 104 sont mis en oeuvre de la même façon qu'en figure 1B, et ne seront pas décrits à nouveau en détail. L'inverseur 302 comprend dans cet exemple un transistor PMOS 402 et un transistor NMOS 404 en série entre l'alimentation VDD et la masse. Les grilles des transistors 402 et 404 sont couplées au noeud 136 à la sortie du multiplexeur 102. Un noeud 405, connecté aux drains des transistors 402, 404 est couplé aux sources des transistors 138, 140 du commutateur 104. Dans cet exemple, le premier étage de la boucle de mémorisation, à savoir l'inverseur 108, est remplacé par une porte NON ET comprenant des transistors PMOS 406, 408 et un transistor NMOS 410 en série entre la tension d'alimentation VDD et la masse. Les grilles des transistors 408 et 410 sont couplées au noeud de mémorisation 106 et la grille du transistor 406 reçoit un signal de forçage à un, R. Le noeud 107 est également couplé à la masse par un autre transistor NMOS 412 dont la grille reçoit également le signal de forçage à un, R. Quand il est à l'état haut, le signal de forçage à un, R, isole ainsi l'inverseur formé par les transistors 408 et 410 de la tension d'alimentation VDD et amène la tension sur le noeud de mémorisation 107 à la masse. Dans cet exemple, l'inverseur 110 est réalisé par un 35 transistor PMOS 414 et un transistor NMOS 416 dont les grilles B10267 10 reçoivent la tension sur le noeud de mémorisation 107 et dont les drains sont couplés au noeud 114 qui est lui-même couplé au commutateur 112. Le commutateur 112 comprend un transistor PMOS 418 et un transistor NMOS 420 en parallèle entre le noeud 114 et le noeud de mémorisation 106. Les grilles des transistors 418, 420 reçoivent respectivement le signal d'impulsion PS et le signal d'impulsion inverse. En fonctionnement, comme dans le cas du circuit de la figure 1B, les largeurs WI à w4 des transistors MOS 120, 126, 128 et 132 déterminent les retards entre les fronts montant et descendant des signaux de données DI et D2 et les fronts montant et descendant correspondants du signal intermédiaire DINT- De plus, un second signal intermédiaire DINT2 sur le noeud 405 sera l'inverse du signal intermédiaire DINT comme dans l'exemple de la figure 2. La taille de ces transistors détermine donc également le retard entre les signaux de données DI, D2 et les fronts correspondants du signal fourni au commutateur d'entrée 104 de la bascule. Toutefois, en raison de la présence de l'inverseur 302, le courant dans le commutateur 104 est indépendant des largeurs WI à w4 des transistors 120, 126, 128 et 134. Au lieu de cela, ce sont les largeurs des transistors 402, 404 de l'inverseur 302 qui déterminent au moins partiellement ce courant. Ainsi, de façon avantageuse, les largeurs des transistors 402, 404 peuvent être supérieures aux largeurs des transistors 120, 126, 128 et 134 du multiplexeur 102. Un mode de conception du circuit 400 de la figure 4 implique de sélectionner la largeur des transistors 120, 126, 128 et 134 en fonction du retard à introduire entre le front montant ou descendant des signaux de données DI et D2 et le signal de données intermédiaire DINT2- La sélection des largeurs des transistors 402 et 404 peut être basée au moins partielle-ment sur les largeurs d'impulsions du signal en impulsion PS. La figure 5 représente un circuit intégré 500 qui comprend des circuits de bascules commandées par impulsions 502, B10267 11 504 couplés respectivement à des lignes d'entrée et de sortie d'un bloc logique 506. Un générateur d'impulsions 510 fournit le signal en impulsion PS aux circuits de bascules commandées par impulsions 502 et 504. Le circuit de bascule commandée par impulsions 502 est par exemple une bascule simple alors que le circuit de bascule commandée par impulsions 504 est par exemple un circuit à deux entrées de données comme cela a été décrit en relation avec les figures 3 et 4. Le circuit 504 reçoit, dans cet exemple, les entrées de données du bloc logique 506 et une entrée de sélection SEL pour sélectionner l'une des entrées et fournir un signal de sortie de données DOUT- Le circuit intégré 500 de la figure 5 peut en outre comprendre de nombreux circuits supplémentaires de bascules commandées par impulsions séparés par d'autres blocs logiques et un ou plusieurs générateurs d'impulsions supplémentaires peuvent être prévus pour commander ces bascules supplémentaires. Bien que plusieurs modes de réalisation particuliers de la présente invention aient été décrits en faisant référence aux figures, il sera clair pour l'homme de l'art que de nombreuses modifications et variantes sont possibles. Par exemple, il sera clair pour l'homme de l'art que des réalisations différentes du bloc de mémorisation sur état 103 sont possibles, la structure comprenant des inverseurs couplés en anti-parallèle étant uniquement donnée à titre d'exemple. En outre, il sera clair pour l'homme de l'art que les inverseurs 108, 110 du bloc de mémorisation sur état 103 pourraient être remplacés par d'autres portes logiques, par exemple des portes NON OU ou NON ET ou d'autres fonctions pour incorporer une option de remise à zéro ou de forçage à un. A titre d'autre variante, un bloc de fonction de mise à un et de remise à zéro ayant une sortie inversée par rapport à l'entrée pourrait être utilisé. En outre, il sera clair pour l'homme de l'art que la 35 sortie du circuit de bascule commandée par impulsions de la B10267 12 figure 3B peut être couplée au noeud 107, au noeud 114 ou au noeud 106 par l'intermédiaire d'un ou plusieurs inverseurs, si nécessaire. En outre, il sera clair pour l'homme de l'art que les diverses caractéristiques décrites ici en relation avec les divers modes de réalisation pourraient être combinées selon toute combinaison selon des variantes de l'invention. REVENDICATIONS1. Circuit de bascule commandée par impulsions compre- nant : un bloc de mémorisation sur état (103) commandé par un signal en impulsion (PS) ; un multiplexeur (102) comprenant au moins deux entrées de données (D1, D2) et une sortie de données ; et un inverseur (302) couplé entre la sortie de données du multiplexeur et une entrée de données du bloc de mémorisation sur état. 2. Circuit de bascule commandée par impulsions selon la revendication 1, dans lequel le multiplexeur comprend au moins un transistor (120, 126, 128, 134) qui reçoit l'une d'au moins deux entrées de données sur sa grille, et l'inverseur (302) comprend au moins un transistor (402, 404) capable de fournir un courant plus important que celui dudit au moins un transistor du multiplexeur. 3. Circuit de bascule commandée par impulsions selon la revendication 1 ou 2, comprenant en outre : des première et seconde portes logiques (108, 110) en 20 anti-parallèle entre des premier et second noeuds de mémorisation complémentaires (106, 107) ; et un commutateur (104) commandé par un signal en impulsion (PS) et couplé entre la sortie de données du multiplexeur et le premier noeud de mémorisation (106). 25 4. Circuit de bascule commandée par impulsions selon la revendication 3, comprenant en outre une ligne de sortie (118) couplée par au moins un autre inverseur (116) à l'un des premier et second noeuds de mémorisation. 5. Circuit de bascule commandée par impulsions selon 30 la revendication 3 ou 4, dans lequel la première porte logique est une porte NON OU ou une porte NON ET couplée entre les premier et second noeuds de mémorisation par l'intermédiaire de l'une de ses bornes d'entrée et de sa borne de sortie etB10267 14 comprenant une autre borne d'entrée agencée pour recevoir un signal de remise à zéro ou de forçage à un (R). 6. Circuit de bascule commandée par impulsions selon l'une quelconque des revendications 3 à 5, dans lequel la seconde porte logique (110) a une borne de sortie couplée au premier noeud de mémorisation (106) par l'intermédiaire d'un autre commutateur (112) commandé par le signal en impulsion (PS). 7. Circuit intégré comprenant au moins un circuit de bascule commandée par impulsions selon l'une quelconque des revendications 1 à 6, et un générateur d'impulsions agencé pour produire le signal en impulsion. 8. Procédé de conception d'un circuit de bascule commandée par impulsions qui comprend un multiplexeur (102) ayant au moins deux entrées de données (D1, D2) et une sortie de données et comprenant au moins un transistor pour recevoir sur sa grille l'une d'au moins deux entrées de données ; un bloc de mémorisation sur état (103) commandé par un signal en impulsion (PS) ; et un inverseur (302) couplé entre la sortie de données du multiplexeur et une entrée de données du bloc de mémorisation sur état, ledit inverseur comprenant au moins un transistor (138, 140), ce procédé comprenant : sélectionner la largeur dudit au moins un transistor (402, 404) de l'inverseur telle qu'il soit capable de fournir un courant plus important que celui dudit au moins un transistor (120, 126, 128, 134) du multiplexeur. 9. Procédé selon la revendication 8, dans lequel la sélection de la largeur dudit au moins un transistor du multiplexeur est basée sur un retard (202, 204) à appliquer à l'une des entrées de données, et la sélection de la largeur dudit au moins un transistor de l'inverseur est basée sur la durée de chaque impulsion du signal en impulsion. 10. Procédé selon la revendication 8 ou 9, comprenant en outre la sélection de la largeur de chaque impulsion duB10267 15 signal en impulsion sur la base de la largeur dudit au moins un transistor de l'inverseur (302).