Brevet FR2642919A1 — publié le 19900810

CIRCUIT DE LOGIQUE COMBINATOIRE RAPIDE L'invention se rapporte à un nouveau type de circuit de logique combinatoire très rapide, utilisant des opérateurs normalement conçus pour des circuits séquentiels. L'invention permet de définir des opérateurs élémentaires et des fonctions logiques de base dites combinatoires. Classiquement, la résolution d'équations logiques est réalisée par l'élaboration d'un circuit de logique combinatoire utilisant des opérateurs logiques généralement appelés tortes. On dispose ainsi de fonctions logiques de base bien connues, telles que : ET, NON-ET, OU, NON-OU, OU exclusif. Ces portes sont connectées en série etlou en parallèle et le temps de propagation du signal dans une branche est égal au temps de propagation d'une fonction élémentaire (dépendant de la technologie dans laquelle est réalisée la porte) multiplié par le nombre de portes connectées en cascade dans ladite branche.Ainsi, la fréquence de fonctionnement maximum d'un circuit de logique combinatoire dépend du temps de propagation nécessaire dans la branche la plus lente (c'est-à-dire celle qui comporte le plus grand nombre d'étages) ou la moins bien optimisée. Si on se heurte a des problèmes de rapidité, on est donc amené a utiliser des composants de haute technologie, relativement coûteux. Souvent, dans un système complexe, il n'existe que quelques circuits ou sous-ensembles qui doivent impérativement être constitués de composants rapides. Cependant, la combinaison de plusieurs technologies dans un circuit complexe, pose des problèmes. Par conséquent, il est intéressant de pouvoir disposer de fonctions de logique combinatoire rapides, réalisées dans une technologie courante et a bas prix.L'invention permet d'atteindre cet objectif. Dans cet esprit, l'invention concerne généralement un circuit de logique combinatoire rapide caractérisé en ce qu'il comprend au moins une fonction de base réalisée par une bascule à deux entrées duplexées, connectée de façon que l'une des variables soit appliquée sur une entrée de commande de duplexage de ladite bascule. Les entrées d'horloge de telles bascules sont toutes reliées pour recevoir un même signal d'horloge. L'utilisation de telles fonctions logiques de base permet de conserver au système une fréquence de fonctionnement maximum, ne dépendant que de la technologie utilisée et non plus de la fonction logique réalisée. On obtient donc un système très performant, uniquement limité par la rapidité d'une seule bascule construite dans ladite technologie. De plus, une fonction logique complexe ainsi conçue, peut être transposée sans aucune modification de schéma, dans une autre technologie. Le type de bascule utilisé est de préférence une bascule de type D. On dispose actuellement sur le marché de telles bascules a deux entrées duplexées. L'une des entrées constitue l'entrée D normale. L'autre entrée que l'on dénomme classiquement TI est normalement conçue pour recevoir des signaux de test et se substituer à l'entrée D lors de séquences de tels signaux. Le duplexeur est piloté par des signaux appliqués à une entrée de commande de duplexage dénommée classiquement TE. Une particularité importante de l'invention réside donc dans le fait qu'on a trouvé que plusieurs fonctions logiques de base pouvaient être obtenues en utilisant l'entrée de pilotage du duplexeur en tant qu'entrée pour l'une des variables logiques. L'invention sera mieux comprise et d'autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés dans lesquels - la Figure 1 illustre une première fonction logique de base réalisée par la mise en oeuvre du principe de l'invention - la Figure 2 illustre une seconde fonction logique de base - la Figure 3 illustre une troisième fonction logique de base - la Figure 4 est un schéma d'un demi-additionneur réalisé conformément au principe de l'invention ; et - la Figure 5 est un schéma d'un additionneur réalisé conformément au principe de l'invention. La Figure 1 illustre la mise en oeuvre d'une bascule D à deux entrées duplexées pour réaliser une fonction ET ou bien une fonction NON-ET, pour deux variables logiques A et B. La bascule D (10) comporte un duplexeur d'entrée (11). L'une des entrées D du duplexeur constitue l'entrée D habituelle de la bascule. L'autre entrée TI est habituellement une entrée de test. TE est l'entrée de commande du duplexeur (11). L'entrée d'horloge H est connectée pour recevoir un signal d'horloge provenant d'un générateur d'horloge non-représenté. La bascule comporte classiquement une sortie Q et une sortie inversée Q.On câble cette bascule de façon que l'une des variables, ici A, soit appliquée a l'entrée de commande TE, tandis que l'autre variable B est appliquée à une entrée du duplexeur, l'entrée TI dans le cas de la Figure l. L'entrée D est portée à un niveau constant D=O. On remarque que Q ^ TE.D + TE.TI (1) Dans l'exemple de la Figure 1 on a donc Q = A.o + A.B Q P A.B On a donc réalisé une fonction ET. Le résultat de l'opération logique est disponible à la sortie Q au moment d'une impulsion d'horloge. Bien entendu, la fonction NON-ET est simultanément disponible a la sortie Q. Si on appliquait la variable B à l'entrée D en maintenant l'entrée TRIO, on obtiendrait une autre fonction logique : A.B, disponible à la sortie Q et encore appelée : Différence logique (B - A). La fonction logique A + B serait disponible à la sortie Q. La Figure 2 illustre une bascule semblable à celle de la Figure 1, également cftblée de façon que l'une des variables A soit appliquée à l'entrée TE. L'autre variable B est cette fois appliquée à l'entrée D et l'entrée TI est maintenue à un niveau constant : TI = 1. L'équation (1) devient donc Q = B.A + B.l Q = B.A + B Q = (A + B).(B + B) Q = (A + B) On a donc réalisé une fonction OU. Le résultat de cette opération logique est disponible à la sortie Q au moment de l'impulsion d'horloge. La fonction NON-OU est simultanément disponible à la sortie Q A + B et Q - A.B La Figure 3 illustre une autre bascule semblable, encore ciblée de façon que la variable A soit appliquée à l'entrée TE. L'autre variable B est appliquée à l'entrée D et son inverse B est appliqué à l'entrée TI. L'équation (1) devient donc Q = CB;A) + (B.A) Il s'agit de la fonction NON exclusif disponible à la sortie Q au moment de l'impulsion d'horloge. La fonction NON-OU exclusif est simultanément disponible à la sortie Q. Ces quelques fonctions de base permettent de réaliser de multiples circuits de logique combinatoire en prenant soin de relier toutes les entrées d'horloge H à une source de signal d'horloge. Il faut aussi veiller, si nécessaire, à équilibrer les différentes branches du circuit logique, en y insérant des bascules pour que lesdites branches aient toutes le même nombre d'étages, décalant les signaux du même nombre d'impulsions d'horloge. On utilisera avantageusement des bascules D connectées de la façon habituelle pour 'recopier' l'information d'entrée à chaque impulsion d'horloge. Une méthode simple consiste à faire en sorte que, chaque fois qu'on insère un opérateur du type décrit dessus dans une branche du circuit (c'est-a-dire chaque fois qu'on introduit un décalage d'une impulsion d'horloge) il y ait un décalage équivalant dans les autre branches. Les Figures 4 et 5 donnent quelques exemples de fonctions logiques plus complexes, mettant en oeuvre les principes énoncés ci-dessus. Dans ces Figures, les fonctions logiques de base ET, OU, OU exclusif, conforme aux Figures 1 â 3 sont représentées de façon analogue à leurs symboles habituels en logique combinatoire. Ces symboles comportent néanmoins des entrées supplémentaires d'horloge H et se caractérisent aussi par une double sortie Q et Q. En effet, une fonction ET ne se distingue d'une fonction NON-ET que par le choix de la sortie Q ou Q, respectivement. Il en est de même pour une fonction OU et une fonction NON-OU.La fonction OU exclusif ou bien la fonction NON-OU exclusif est aussi déterminée par le choix de la sortie Q ou 0. La Figure 4 représente un demi-additionneur rapide constitué du montage en parallèle d'une porte NON-OU exclusif 12 conforme à la Figure 3 et d'une porte ET 13 conforme à la Figure 1. Le circuit est constitué de deux branches parallèles d'une porte chacune. Il ne nécessite donc aucune compensation. La porte OU exclusif reçoit les variables A et B ainsi que A (voir Figure 3). La porte ET reçoit les variables A et B. Les deux entrées d'horloge H sont reliées entre elles et reçoivent un même signal d'horloge. La somme S est disponible à la sortie Q (non complementée) du OU exclusif, tandis que la retenue R est disponible à la sortie Q de la porte ET 13. La Figure 5 représente un additionneur complet utilisant deux demi-additionneurs 15, 16 conformes au schéma de la Figure 4, une porte OU 17 conforme à-a Figure 2 et trois bascules D 18, 19, 20, construites dans la même technologie. Les deux demi-additionneurs sont insérés dans deux branches parallèles de trois étages chacune. Une première branche comporte successivement une bascule D 18, un demi-additionneur 15 et une bascule D 19. La seconde branche comporte successivement le demi-additionneur 16, une bascule D 20 et la porte OU 17. Toutes les entrées d'horloge sont interconnectées entre elles et reçoivent un même signal d'horloge H. Le demi-additionneur 16 est connecté pour recevoir les variables A et B (ainsi que la variable A) comme dans le cas du demi-additionneur de la Figure 4. L'entrée D de la bascule 18 reçoit la retenue Rl d'un étage précédent Ses sorties Q et Q sont reliées aux entrées 'complémentaires' du demi-additionneur 15 (correspondant aux entrées D et TI du OU exclusif). La sortie S du demi-additionneur 16 est reliée à l'autre entrée du demi-additionneur 15 (correspondant à l'entrée TE). Le demi-additionneur 16 reçoit normalement les variables A, A et B A ses entrées. La sortie de retenue R est reliée à l'entrée de la bascule D 20 dont la sortie Q est reliée à une entrée de la porte OU 17. La sortie de retenue R du demi-additionneur 17 est reliée a l'autre entrée de la porte OU 17. La sortie Q de cette dernière délivre la retenue RO de l'étage considéré. Par ailleurs, la sortie S du demi-additionneur 15 est reliée å l'entrée D de la bascule 19 dont la sortie Q délivre la somme SO de l'étage considéré. REVENDICATIONS 1. Circuit de logique combinatoire rapide, caractérisé en ce qu'il comprend au moins une fonction de base réalisée par une bascule (10, 11) à deux entrées duplexées connectée de façon que l'une des variables (A) soit appliquée à une entrée de commande de duplexage (TE) de ladite bascule. 2. Circuit de logique combinatoire selon la revendication l, caractérisé en ce qu'il comprend au moins une fonction ET ou NON-ET pour deux variables logiques d'entrée, réalisée par une bascule précitée, de type D, connectée de façon qu'une variable logique (A) soit appliquée sur ladite entrée de commande (TE) que l'autre variable logique (B) soit appliquée sur l'une des entrées duplexées et que l'autre entrée duplexée soit maintenue dans un état logique 0. 3. Circuit de logique combinatoire selon la revendication 1 ou 2, caractérisé en ce qu'il comprend au moins une fonction OU ou NON-OU pour deux variables logiques d'entrée, réalisée par une bascule précitée de type D, connectée de façon qu'une variable logique (A) soit appliquée sur ladite entrée de commandes (TE), que l'autre variable logique d'entrée (B) soit appliquée sur lune des entrées duplexées (D) et que l'autre entrée duplexée (TI) soit maintenue dans un état logique 1. 4. Circuit de logique combinatoire selon l'une des revendications précédentes, caractérisé en ce qu'il comprend au moins une fonction OU exclusif ou une fonction NON-OU exclusif réalisée par une bascule précitée de type D, connectée de façon qu'une variable logique (A) soit appliquée sur ladite entrée de commande (TE) que l'autre variable logique d'entrée (B) soit appliquée sur lune des entrées duplexées et que l'inverse de ladite autre variable logique (B) soit appliqué sur l'autre entrée duplexée (TI). 5. Circuit de logique combinatoire selon l'une des revendications précédentes, caractérisé en ce qu'il comporte plusieurs branches parallèles (Figure 5) dans lesquelles sont insérées une ou plusieurs fonctions de base précitées et en ce qu'au moins une telle branche comporte au moins une bascule (18, 19, 20) en cascade avec la ou les fonctions de base de ladite branche, par exemple une bascule D, placée pour que toutes les branches appliquent le même décalage aux signaux logiques transmis, représentant un nombre prédéterminé d'impulsions d'horloge.