Brevet FR2641391A1 — publié le 19900706

La présente invention concerne le domaine des composants logiques programmables, et concerne plus particulièrement l'amélioration des performances des réseaux EPROM. La fabrication et l'utilisation de mémoires mortes programmables effaçables ou EPROMs (Erasable Programmable Read-Only Memorles) est bien connue de la technique. Récem- ment, on a combiné les composants EPROM à des réseaux logiques programmables pour donner des composants géné- ralement connus sous la terminologie de "composants logiques programmables" ou PLDs (Programmable Logical Devices). Dans de nombreux cas, les composants logiques programmables sont également effaçables, et sont alors dénommés "composants logiques programmables effaçables" ou EPLDs (Erasable Pro- grammable Logical Devices). Généralement, pour chaque composant un élément de mémoire est configuré sous forme d'un réseau, chaque entrée du composant logique programmable étant dédoublée en une entrée inverseuse et une entrée non inverseuse, et chaque entrée formant une paire de lignes de rangée de la matrice du réseau de mémoire. Les lignes de rangée sont habituellement appelées "lignes de mot". Les cellules de mémoire de chaque colonne sont reliées ensemble par des lignes de colonne, qui sont généralement appelées "lignes de bit". Ces lignes de bit du réseau sont utilisées pour former la sortie du réseau de mémoire. Ces sorties des lignes de bit sont donc des portes NI, mais on s'y réfère, par transformation booléenne, sous forme de termes d'un produit de n termes. Ces sorties de produit sont alors soumises à un OU logique pour donner une somme des produits. On connait bien, dans l'art anté- rieur, la technique consistant à utiliser un réseau de mémoire avec des entrées sur les diverses lignes de rangée, et la technique consistant à effectuer la somme des sorties de produit à partir des colonnes du réseau. Le US-A- 4 609 986 et le US-A-4 617 479, tout deux aux noms de Hartmann et al., ainsi que le US-A-4 124 899 aux noms de Birkner et al., en sont des exemples. Bien que l'on connaisse, dans la technique antérieure, des composants logiques programmables très variés, ils nécessitent tous une liaison aux lignes d'entrée pour accéder à la cellule EPROM. Généralement, les lignes d'en- trée sont reliées à la grille de commande d'une cellule EPROM à grille flottante, la sortie de la cellule dépendant de l'état programmé ou non programmé (effacé) de la cellule EPROM de la grille flottante, ainsi que de l'état du signal d'entrée, dans le cas de l'état effacé. Si l'on suit le trajet du signal depuis l'entrée jusqu'à la sortie du réseau de mémoire, on peut remarquer que la cellule EPROM se trouve dans ce trajet de signal. En d'autres termes, le signal d'entrée doit accéder à l'EPROM avant que l'on puisse obtenir un signal en sortie du composant logique program- mable. La présence de la cellule EPROM dans le trajet du signal limite les performances du composant logique program- mable, en particulier la vitesse et la consommation. Ceci vient du fait que l'on doit accéder à une cellule EPROM donnée avant de pouvoir obtenir un signal de sortie et que l'on ne peut accéder à la cellule EPROM en question qu'après avoir présenté le signal d'entrée sur la grille de commande. On comprendra donc que l'on peut améliorer les performan- ces d'un composant logique programmable si l'on peut retirer du trajet du signal du composant la cellule de mémoire. La présente invention décrit une architecture originale permettant d'améliorer les performances d'un composant logi- que programmable en supprimant du trajet du signal la cellu- le de mémoire. Dans l'un des modes de réalisation, les signaux d'entrée sont appliqués à une combinaison d'adapta- teurs de niveau et de tampons afin d'obtenir un signal tamponné et son complément. Les cellules de mémoire du réseau sont reliées au tampon correspondant de telle sorte que l'état de chaque cellule de mémoire contrôle l'activa- tion de son tampon approprié. Du fait que l'on peut lire les cellules de mémoire avant l'arrivée d'un signal d'entrée, on a besoin d'une durée moindre pour produire un signal de sortie par le composant logique programmable en réponse aux signaux d'entrée. Dans un autre mode de réalisation, on monte un multi- plexeur de manière à ce qu'ils reçoivent la paire de signaux provenant des tampons. Ici encore, la cellule de mémoire est supprimée du trajet du signal et l'on utilise l'état d'une cellule de mémoire pour contrôler son multiplexeur respectif afin d'effectuer la sélection entre le signal d'entrée et son complément. Dans un mode de réalisation distinct, les sorties des cellules de mémoire sont appliquées à un registre à décalage de manière à verrouiller dans le registre l'état de la cellule de mémoire. Une fois l'information verrouillée, les cellules de mémoire peuvent être mises hors service pour économiser l'énergie. On utilise alors l'information ver- rouillée pour activer les tampons de manière à faire fonctionner le multiplexeur du mode de réalisation précé- demment décrit. On peut monter en série une pluralité de registres à décalage, des signaux externes de programmation pouvant être appliqués aux registres à décalage pour action- ner les tampons ou les multiplexeurs. En utilisant une pro- grammation externe par l'intermédiaire des registres à décalage, on peut permettre aux composants logiques program- mables d'émuler l'état de cellules programmées sans program- mer effectivement les cellules de mémoire. Enfin, on utilise une configuration distribuée de tampons afin de placer directement les composants formant le tampon à l'emplacement des cellules de mémoire au lieu de les placer en entrée du réseau de mémoire. On va maintenant décrire en détail la présente invention, en référence aux dessins annexés. La figure 1 est un schéma par blocs simplifié illustrant les éléments essentiels d'un composant logique programmable. La figure 2 est un schéma simplifié de l'art antérieur, montrant les éléments d'un réseau de mémoire dans lequel les cellules de mémoire se trouvent dans le trajet du signal. La figure 3 est un schéma simplifié équivalent à celui de la figure 2, pour deux entrées du réseau de mémoire. La figure 4 est un schéma simplifié montrant une archi- tecture de la présente invention, dans laquelle les cellules de mémoire sont retirées du trajet du signal. La figure 5 est un schéma simplifié d'un autre mode de réalisation de la présente invention, dans lequel les cel- lules de mémoire sont retirées du trajet du signal et dans lequel les cellules de mémoire sont utilisées pour contrôler un multiplexeur situé dans le trajet du signal. La figure 6 est un schéma simplifié correspondant à la configuration de la figure 4, mais dans laquelle on utilise des registres à décalage pour verrouiller des états conser- vés dans les cellules de mémoire. La figure 7 est un schéma simplifié correspondant à la configuration de la figure 5, mais dans laquelle on utilise des registres à décalage pour verrouiller des états conser- vés dans les cellules de mémoire. La figure 8 est un schéma simplifié illustrant une manière de réaliser un verrou utilisable dans l'architecture de la figure 7. La figure 9 est un schéma simplifié illustrant une manière de réaliser, sur l'une des entrées du réseau de mé- moire, un étage tampon non distribué. La figure 10 est un schéma simplifié illustrant une configuration tampon distribuée utilisée par la présente invention. On va décrire une architecture originale permettant d'améliorer les performances d'un composant logique program- mable en enlevant la cellule de mémoire du trajet du signal. Dans la description qui va suivre, on donnera de nombreux détails tels que des cellules de mémoire particulières, des composants de circuit particuliers, etc. afin de permettre une compréhension complète de la présente invention. Bien entendu, l'homme du métier comprendra que la présente inven- tion peut être mise en oeuvre sans ces détails particuliers. Inversement, des circuits bien connus n'ont pas été décrits en détail pour ne pas aloudir inutilement la description de la présente invention. La figure 1 représente un schéma par blocs illustrant les éléments essentiels d'un composant logique programmable. Une pluralité de lignes d'entrée, désignées I0-In, sont reliées à un réseau de mémoire 10 en entrée de celui-ci. Le réseau de mémoire 10 est formé d'une pluralité de cellules de mémoire configurées en un réseau matriciel tel que chacune des entrées IO-In donne un signal sur les lignes des rangées de la matrice. Les sorties des cellules de mémoire sont reliées à des lignes de colonne appropriées, et ces lignes de colonne sont reliées à des amplificateurs de détection 11. Les amplificateurs de détection 11 détectent le signal de sortie des colonnes et délivrent un signal de sortie correspondant à l'état des lignes de colonne. On peut utiliser de diverses façons le signal de sortie des amplifi- cateurs de détection 11. Dans un composant logique program- mable typique, les signaux de sortie des amplificateurs de détection 11 sont appliqués à des macro-cellules 12. Typi- quement, chaque macro-cellule 12 répond à un nombre prédé- terminé de termes de produit (termes P) qui sont normalement soumis ensemble à un OU logique pour donner une somme des termes de produit. Les sorties des macro-cellules 12 sont ensuite reliées à l'extérieur du composant logique program- mable, ou bien sont appliquées en retour au réseau de mémoi- re 11 afin de constituer des entrées de rétroaction du réseau de mémoire 10. Bien que l'on n'ait illustré sur la figure 1 que quatre macrocellules 12, leur nombre réel ne constitue qu'un choix d'exécution, et dépend de la taille du réseau de mémoire 10 et du groupement des termes P du réseau de mémoire 10. Le fonctionnement des amplificateurs de détection 11 et des macro-cellules 12 est bien connu de la technique antérieure. Dans la figure 2, on a représenté une partie d'un circuit de l'art antérieur 20, généralement incorporé au réseau de mémoire 10 et formé d'une pluralité de cellules de mémoire 27. Dans ce circuit 20 de l'art antérieur, chaque entrée Io0-In est appliquée en entrée à un adaptateur de niveau 21. L'adaptateur de niveau 21 illustré figure 2 est également un inverseur. La sortie de l'adaptateur de niveau 21 est appliquée à l'une des entrées d'un tampon inverseur 22 et d'un tampon non inverseur 23. La sortie de chacun des tampons 22 et 23 est reliée à la ligne de rangée respective du réseau de mémoire afin d'avoir, pour chaque entrée, une paire de lignes de rangée. Par exemple, pour l'entrée Io, la sortie correspondante du tampon 22 va sur la ligne de rangée 0 du réseau de mémoire et la sortie du tampon 23 sur la rangée 0/ (on utilisera ici le symbolisme "/" pour désigner un complément). Normalement, les lignes de rangée sont reliées à la grille de contrôle des cellules EPROM de cette rangée. En outre, la plupart des réseaux de mémoire auront une ligne de rangée distincte attribuée au complément du signal d'entrée, qui a été illustré en l'espèce par les lignes de rangée reliées à la sortie du tampon 23. Sur les figures 2, on n'a représenté que les deux premiers étages et le dernier, le premier étage ayant été représenté avec une entrée A et la seconde entrée I1 correspondant à l'entrée B. En outre, le circuit 20 de la figure 2 ne montre que les cellules de mémoire 24 de la colonne 0. Les sorties des cellules de mémoire 24 de la colonne 0 sont toutes reliées ensemble à la ligne 26, qui est généralement appelées "lignes de bit". On notera que le fait de relier ensemble toutes les cellules de mémoire 24 de la colonne 0 correspond à l'application d'une fonction booléenne ET sur toutes les entrées, et sur le complément des entrées. Dans l'exemple de la figure 2, la cellule EPROM désigne la position (rangée 0, colonne 0) , tandis que la cellule EPROM 31 désigne la position (rangée 0/, colonne 0). La cellule 32 désigne la position (rangée 1, colonne 0) et la cellule 32 désigne la position (rangée 1/, colonne 0). On a illustré figure 3 un circuit CMOS équivalent montrant la colonne des cellules de mémoire pour les entrées A et B. En fonctionnement, chacune des cellules EPROM 27 formant la colonne de cellules 24 est, pendant la phase de program- mation du composant, soit programmée soit laissée effacée. Si une cellule donnée 27 se trouve à l'état effacé ou non programmé, la conduction ou la non-conduction de cette cellule 27 dépendra de l'état du signal d'entrée appliqué à sa grille de commande. En revanche, si une cellule EPROM donnée 27 est à l'état programmé, la cellule 27 ne conduira pas. Ainsi, seules les cellules qui sont effacées répondront à un signal d'entrée appliqué à leur grille de commande. Le fonctionnement des cellules EPROM 27 est bien connu de la technique antérieure. On remarquera que le circuit 20 de l'art antérieur donne une certaine valeur de sortie sur la ligne de bit 26, cette valeur de sortie dépendant de l'état des signaux d'entrée ainsi que de l'état mémorisé de chacune des cellules EPROM reliées à cette ligne de bit donnée 26. On remarquera également qu'une cellule EPROM donnée 27 se trouve dans le trajet effectif du signal du réseau de mémoire. Par exemple, si l'on considère la partie du circuit 20 correspondant à l'entrée Io, les cellules EPROM 30 et 31 se trouvent dans le trajet effectif du signal. En d'autres termes, à l'appa- rition du signal A sur la ligne d'entrée Io, le signal A est appliqué sur la grille de contrôle des cellules 30 et 31 avant que l'on ne puisse obtenir sur la ligne de bit 26 un signal de sortie des cellules 30 et/ou 31. Si les cellules et/ou 31 doivent changer d'état de conduction en raison du signal d'entrée, le transistor de la cellule doit changer d'état, par exemple passer de l'état de non-conduction à l'état de conduction, avant que cette cellule de mémoire ne puisse délivrer un signal de sortie approprié. Une durée non négligeable est nécessaire pour qu'un transistor passe de l'état conducteur à l'état non-conducteur, ou inversement. La période de transition peut augmenter de façon importante si l'excursion de tension de la ligne de bit 26 doit passer d'une tension élevée au potentiel de la masse. En d'autres termes, une période de transition entre 5 V et le potentiel de la masse prend moins de temps qu'une transition entre 15 V et le potentiel de la masse. En outre, si un certain nombre de cellules d'une colonne donnée sont simultanément conductrices, un appel de courant considérable peut se produire sur la ligne de bit 26, ce qui allonge la durée avant laquelle l'amplificateur de détection pourra retrouver son état stationnaire. Pour réduire le temps de réponse d'une cellule de mémoire 27 et, ainsi, améliorer la vitesse d'ensemble du composant logique programmable, les circuits de l'art antérieur, tel le circuit 20, ont prévu d'utiliser un circuit de pilotage de courant pour piloter la ligne de bit 26. Sur la figure 2, on a représenté un circuit de pilotage de courant 29, monté entre l'alimentation, référencée Vcc et la ligne de bit 26. La source de courant 29, qui est habituellement un composant transistor, reste active pour fournir un courant d'état stationnaire lors d'un mode de fonctionnement à grande vitesse du composant. Dans une situation d'état stationnaire, la ligne de bit 26 est polarisée à un point de polarisation prédéterminé. Lorsque la conduction de la cellule de mémoire a lieu, l'amplificateur de détection relié à la ligne de bit 26 détecte une variation par rapport à ce point de polarisation sous forme d'un changement d'état sur la ligne de bit 26. Cette technique présente cependant un grave inconvénient. Bien que l'on puisse fonctionner à plus grande vitesse, le composant logique programmable a besoin d'un courant nettement plus élevé du fait du fonctionnement continu de la source de courant 29. Cette augmentation de courant impose généralement une consommation énergétique accrue, ainsi qu'une dissipation énergétique également accrue. Sur la figure 4, on a représenté une architecture selon la présente invention, dans laquelle les cellules EPROM 27a ont été retirées du trajet du signal. Les cellules EPROM a, 31a, 32a et 33a sont équivalentes aux cellules EPROM 30 à 33, avec ajout du suffixe, des figures 2 et 3. Cependant, dans le circuit de la figure 4 la grille de contrôle de chacune des cellules EPROM est reliée à une tension, par exemple 5 V, qui provoque la conduction de la cellule si cette cellule est effacée. Les sorties des diverses cellules 27a ne sont pas reliées à la ligne de bit, mais à un adaptateur de niveau/tampon respectif 37 ou 38 (ci-après désigné simplement "tampon") afin d'activer ce tampon res- pectif 37 ou 38. Chacune des entrées Io à In (seules Io et Ii ayant été représentées sur la figure 4) est reliée à un adaptateur de niveau/tampon inverseur 37, chacune de ces entrées étant également reliée à un adaptateur de niveau/ tampon non inverseur 38. On notera que les tampons 37 et 38 peuvent être formés de composants distincts, d'une part pour les adaptateurs de niveau et d'autre part pour les tampons. Les sorties des tampons 37 et 38 sont reliées à la ligne de bit 26a, de même que les sorties des autres tampons 37 et 38 de la même colonne. Dans le circuit de la figure 4, les sorties de chaque paire sont reliées ensemble puis reliées en entrée d'une porte ET, qui réalise la fonction ET sur tous les termes qui lui sont appliqués en entrée. Sur la figure 4, les deux entrées Io et Il sont combinées en sortie par une porte ET 35 afin de donner un terme de produit permettant de déterminer la logique d'opérateur pour A et B. Chacune des cellules EPROM 27a est reliée & son tampon respectif 37 ou 38 afin d'activer celui-ci, seulement si la cellule est effacée. Par exemple, sur la figure 4, le tampon 41 est activé par l'état de la cellule 30a et le tampon 42 est activé par l'état de la cellule 31a. Si A correspond à une entrée Io, A/ apparaîtra en sortie si le tampon 41 est activé en raison de l'état effacé de la cellule 30a, et A apparaitra en sortie si le tampon 42 est activé en raison de l'état effacé de la cellule 31a. Si les deux cellules de mémoire 30a et 31a sont programmées, le signal d'entrée sera alors sans effet sur la sortie. Si, pour une quelconque raison, les cellules 30a et 31a sont toutes deux à l'état effacé, la ligne de sortie des tampons 41 et 42 sera tirée au niveau haut en raison de la conduction des deux tran- sistors série de type P 39a et 39b, dont les grilles respec- tives sont reliées aux cellules 30a et 31a. Chaque paire de cellules de mémoire opère de façon équivalente pour chacune des entrées. L'utilisation de la porte ET 35 permet de sélectionner un nombre prédéterminé d'entrée auxquelles il faut appliquer l'opérateur ET. On remarquera que, dans la figure 4, on n'a représenté que la cellule EPROM 27a et que, pour simplifier, on n'a pas représenté son transistor de charge. Cependant, on compren- 26 4 1391 dra que la cellule EPROM de la figure 4, comme celles des figures suivantes, nécessite un transistor de charge pour fonctionner correctement. Des exemples de telles charges sont le composant 29 de la figure 3 ou le composant 61 de la figure 8. On notera que l'architecture de la présente invention permet d'éliminer les cellules de mémoire EPROM 27a du trajet de signal dans le composant. En d'autres termes, chacunes des cellules EPROM 27a commande l'activation de son tampon respectif 37 ou 38. Comme les cellules EPROM 27a sont éliminées du trajet de signal, chacune des EPROMs peut assurer l'activation ou la désactivation de son tampon respectif 37 ou 38 avant qu'un signal d'entrée ne soit appliqué sur la borne d'entrée du réseau de mémoire. Ainsi, une fois qu'un signal d'entrée est appliqué sur l'une des lignes d'entrée Io à In, ce signal aura simplement besoin d'être appliqué par l'intermédiaire du tampon respectif afin d'obtenir le signal de sortie approprié sur la ligne de bit 26a. On obtient une amélioration des performances en ce qui concerne la vitesse, du fait que l'on peut accéder aux cellules EPROM 27a avant que le signal d'entrée ne soit présent. Sur la figure 5, on a représenté un circuit 40 qui est une variante de mise en oeuvre de la présente invention. Chaque entrée est appliquée aux tampons 37 et 38, comme cela était le cas avec le circuit de la figure 4. Bien que l'on n'ait représenté sur la figure 5 que deux entrées Io et I1, le nombre effectif d'entrées est un simple choix d'exé- cution. Chaque combinaison de tampons 37 et 38 donne en sortie une version inversée et non inversée du signal d'entrée. Les sorties des tampons 37 et 38 ne sont pas reliées ensemble, comme cela était le cas dans le circuit de la figure 4. Au lieu de cela, chaque sortie combinée de chaque ensemble de tampons 37 et 38 est appliquée en entrée d'un multiplexeur 43. La sélection de l'entrée du multi- plexeur 43 qui doit être appliquée en sortie est déterminée par l'état mémorisé d'une cellule EPROM 27b reliée au multi- plexeur correspondant 43. Par exemple, pour l'entrée Io, si 26 4 1391 la cellule 47 est à l'état programmée elle provoquera la sélection par le multiplexeur de l'une des entrées A ou A/ et, si la cellule 47 est à l'état effacé, elle sélectionnera l'autre entrée A/ ou A, respectivement. On remarquera que, dans le circuit 40, pour une position colonne/rangée donnée on n'utilise qu'une seule cellule EPROM 27 pour contrôler le fonctionnement du multiplexeur 43. La sortie du multiplexeur 43 est reliée en entrée à la porte ET respective 44 dont la sortie délivre le terme de produit à un amplificateur de détection. On notera que le nombre d'entrées reliées à une porte ET donnée 44 détermine le nombre de termes de produit, et qu'il ne s'agit là que d'un simple choix d'exécution. On notera que le circuit 40 comporte un composant additionnel dans la voie du multi- plexeur 43 dans le trajet de signal, mais qu'en revanche le nombre effectif de cellules EPROM a été réduit de moitié, car on n'a besoin que d'une seule cellule EPROM pour contrô- ler chaque multiplexeur 43 afin d'opérer la sélection entre une entrée et son complément. On remarquera également que la cellule EPROM 27b a, ici encore, été retirée du trajet du signal afin de pouvoir améliorer les performances en vitesse du composant logique programmable. On a représenté sur la figure 6 un mode de réalisation constituant une variante du circuit de la figure 4. Ici encore, on n'a représenté en A et B que deux entrées, le nombre réel de ces entrées étant un simple choix d'exécu- tion. Le circuit 45 de la figure 6 a chacune de ses entrées reliée à des tampons 37 et 38 dont les sorties donnent des versions respectivement inversée et non inversée du signal d'entrée. Ces sorties sont reliées ensemble de manière à les appliquer en entrée d'une porte ET 49. La sortie des portes ET 49 est appliquée en entrée d'une porte OU 48 dont la sortie donne la somme des termes de produit. Un certain nombre de signaux de sortie de porte ET équivalents sont appliqués en entrée à la porte OU 48. La configuration réelle des termes de produit est, ici encore, arbitraire, et la configuration de la porte ET illustrée figure 6 n'a été donnée qu'à des fins d'illustration. On notera que d'autres 26 4 1391 portes logiques peuvent, par des transformations booléennes, réaliser des fonctions logiques équivalentes. La variante de configuration du circuit 45 utilise un registre à décalage combiné à la cellule EPROM 27a pour activer chacun des tampons 37 ou 38. Au lieu de relier chaque cellule EPROM 27a directement au tampon 37 ou 38, comme cela était le cas du circuit de la figure 4, la sortie de chaque cellule EPROM 27a est reliée à un registre à décalage 49. En d'autres termes, la cellule 30a est montée de manière à appliquer un signal d'entrée au registre à décalage 5'. la cellule 31a au registre à décalage 51, la cellule 32a au registre à décalage 52 et la cellule 33a au registre à décalage 53. La sortie de chaque registre à décalage 49 est reliée à son tampon correspondant 37 ou 38. Par exemple, le registre à décalage 50 est relié au tampon 41 et le registre 51, au tampon 42. En outre, les registres à décalage correspondant à une colonne de cellules EPROM donnée sont tous montés ensemble en série, de sorte que la sortie du registre à décalage 50 est non seulement reliée au tampon 41, mais également reliée en entrée au registre à décalage 51. Lasortie du registre à décalage 51 est reliée au tampon 42 ainsi qu'au registre à décalage correspondant 52 du tampon suivant de la colonne, etc. Le tout premier registre 50, qui correspond à la première cellule de mémoire 30a de la colonne, reçoit un signal externe d'entrée, et le tout dernier registre à décalage de la série correspondant à la dernière cellule de mémoire de la colonne délivre un signal de sortie destiné à une utilisation externe. On prévoit pour chaque colonne de cellules de mémoire une série de registres à décalage 49. En fonctionnement, on utilise les registres à décalage 49 pour verrouiller la sortie des cellules EPROM 27a sur leur tampons respectifs 37 ou 38 avant que le signal d'entrée ne soit présenté. L'état mémorisé de chaque cellule EPROM 27a est déterminé en provoquant le verrouillage de la sortie de chaque cellule de mémoire 27a dans son registre à décalage 49 correspondant. Lorsque le registre à décalage 49 a ver- rouillé la sortie de sa cellule de mémoire 27a correspon- 26 4 1 3 9 1 dante, la lecture de chaque cellule de mémoire est alors achevée et l'opération de lecture peut prendre fin. En d'autres termes, une fois que l'information est verrouillée dans les registres à décalage 49, les cellules de mémoire 27a n'ont plus besoin d'être conductrices, et on peut mettre hors service toutes les cellules. Cette mise hors service des cellules de mémoire 27a permet d'économiser l'énergie, car aucune des cellules EPROM 27a n'a besoin d'être conductrice une fois l'information verrouillée. L'informa- tion verrouillée est délivrée en sortie de chacun de ces registres à décalage 49 au tampon correspondant 37 ou 38. En ce point, on peut appliquer en entrée les signaux d'entrée. On remarquera que les cellules de mémoire 27a, ici encore, ne se trouvent pas dans le trajet du signal. Si la seule chose dont on a besoin avec les registres à décalage 49 est le verrouillage, on peut remplacer le registre à décalage 49 par des verrous. Cependant, dans cette variante du mode de réalisation on utilise les regis- tres à décalage 49 à d'autres fins. On notera que, à certai- nes fins, par exemple pour le test, l'évaluation et le débogage, il serait intéressant de pouvoir rapidement modi- fier la séquence de programmation du composant logique pro- grammable. Par exemple, dans un composant logique programma- ble utilisant des cellules EPROM, il faudrait programmer une configuration de programmation particulière dans les diverses cellules EPROM pour pouvoir effectuer une évalua- tion des performances du composant. Si l'on devait modifier la configuration de programmation, les cellules devraient alors être effacées et ensuite reprogrammées. Dans une EPROM effaçable aux ultraviolets, il faut, typiquement, un inter- valle de temps d'une heure pour effacer et reprogrammer une nouvelle configuration. Même en utilisant les composants "EPROM flash" les plus récents, il faut encore une bonne seconde pour effacer et reprogrammer une configuration. Avec le circuit 45 de la présente invention, on peut réduire la durée de la séquence de reprogrammation, jusqu'à une durée de l'ordre de 10-5 seconde par configuration. Afin d'avoir un intervalle de temps entre configurations aussi bref que possible, on utilise les registres à décalage 49. Au lieu de reprogrammer les cellules 27a, on introduit en entrée, de l'extérieur, les configurations de programmation voulues. L'information transite en série avec décalage dans la suite de registres 49 afin d'émuler la sortie des cellules de mémoire. Au lieu de reprogrammer les cellules de mémoire 27a, on verrouille l'information dans chaque registre à décalage. Lorsque ce verrouillage est achevé, le circuit 45 va répondre à un signal d'entrée de la même façon que si les cellules de mémoire 27a avaient été programmées. Les perfor- mances de rapidité résultent du fait que les registres à décalage opèrent à une cadence très supérieure à celle de l'effacement et de la programmation des cellules EPROM. En outre, la configuration des cellules EPROM 27a et des registres à décalage 49 du circuit 45 est également capable de décaler les informations verrouillées à partir d'une cellule de mémoire donnée puis appliquées aux tampons cor- respondant aux éléments de colonne d'une rangée différente. On notera également que l'on a prévu pour chaque colonne de cellules de mémoire une suite de registres à décalage 49 montés en série. En outre, la sortie du tout dernier regis- tre à décalage de la série de registres peut donner un signal de sortie vers l'extérieur du composant, signal de sortie donnant une suite de données correspondant aux infor- mations mémorisées dans les cellules EPROM 27a. Sur la figure 7, on a représenté une réalisation en registres à décalage du circuit 40 de la figure 5. Les adaptateurs de niveau/tampons 37 et 38, les multiplexeurs 43 et la porte ET 44 fonctionnent de façon semblable à celle des mêmes éléments du circuit 40 illustré figure 5. Cepen- dant, dans le circuit 55, au lieu de relier directement les multiplexeurs 43 aux cellules EPROM 27b, les sorties des cellules EPROM 27b sont verrouillées par l'intermédiaire de registres à décalage 49b. Les cellules EPROM 27b et les registres à décalage 49b fonctionnent de façon équivalente à celles des éléments semblables de la figure 6. Cependant, dans le cas de la figure 7, on n'utilise qu'une seule cel- lule EPROM pour contrôler le multiplexeur 43, comme cela 26 4 1391 était le cas dans le circuit 40. La sortie de la cellule EPROM 27b est verrouillée dans son registre à décalage correspondant 49b, qui sélectionne l'une des deux entrées de chacun des multiplexeurs 43 afin de la relier à la sortie de celui-ci. On peut appliquer aux registres à décalage des signaux d'entrée externes, de la même façon que dans le cas du circuit 45 de la figure 6. Les entrées externes des registres & décalage 49b permettent d'avoir une séquence de programmation plus rapide sans avoir besoin de mémoriser des informations de programmation dans les diverses cellules EPROM 27b. Par ailleurs, la porte ET 44 a été représentée avec quatre entrées bien que le nombre réel d'entrées formant un terme de produit soit un simple choix d'exé- cution. Si l'on se réfère à la figure 8, on y a représenté une réalisation en circuits CMOS du circuit 45 de la figure 6. Le circuit 60 ne montre que les composants qui correspondent à un seul trajet de signal donné, à savoir A dans l'exemple. Un transistor de type P 61 est monté en série avec une cellule de mémoire EPROM 27b entre Vcc et Vss, qui est dans ce cas le potentiel de la masse. Le transistor 61 et la cellule de mémoire 27b opèrent à la manière d'une paire de transistor CMOS séquences. Un signal de séquencement 02 est appliqué à la grille du transistor 61 et à l'entrée de charge du bistable 62. La sortie de la cellule de mémoire 27b, qui est prise au drain de la cellule de mémoire 27b, est appliquée à l'entrée DL d'une bascule de type D chargeable 62. La bascule 62 opère à la manière d'un verrou chargé par 02, mais avec son entrée Ds reliée à la sortie de l'étage précédent, et sa sortie reliée à l'entrée Ds de l'étage suivant, ce qui permet au verrou D 62 d'opérer à la manière d'un registre à décalage. Un second signal de sé- quencement 01 est appliqué à l'entrée d'horloge de la bas- cule de type D 62. Les transistors 63-66 fonctionnent à la manière d'un multiplexeur 43, les transistors 63 et 65 étant des com- posants de type N et les transistors 64 et 66 étant des com- posants de type P. Les transistors 63 et 64 sont conducteurs ensemble afin de pouvoir laisser passer le signal A tandis que, en alternance, les transistors 65 et 66 conduisent en- semble afin de pouvoir laisser passer le signal A/ jusqu'à la sortie. La sortie non inverseuse du registre 62 est reliée aux grilles des transistors 63 et 66. La sortie inverseuse du registre 62 est reliée aux grilles des transistors 64 et 65. Ainsi, en fonctionnement, si la sortie non inverseuse Q est au niveau haut, les transistors 63 et 64 sont conducteurs, alors que ce sont les transistors 65 et 66 qui sont conducteurs dans l'autre état. En fonctionnement, lorsque le signal de séquencement 02 passe au niveau bas, on utilise l'information mémorisée dans la cellule de mémoire 27b. La cellule de mémoire 27b sera conductrice si elle est à l'état effacé, et elle ne sera pas conductrice si elle est programmée. Une fois que la sortie de la cellule de mémoire 27b est stabilisée, le signal de séquencement 02 provoque le verrouillage de cette infor- mation dans le registre 62. Une fois l'information verrouil- lée dans le registre 62, le signal d'horloge 02 n'a pas besoin de rester au niveau haut pour continuer à lire l'in- formation mémorisée dans la cellule de mémoire 27b. L'infor- mation verrouillée dans le registre 62 provoque la conduc- tion de l'une des paires de transistors CMOS 63, 64 ou 65, 66, produisant la transmission soit du signal A soit du signal A/. Sur la figure 9, on a représenté un réseau de mémoire 10a équivalent au réseau de mémoire 10 de la figure 1, avec une pluralité de cellules de mémoire 27c configurées en colonnes 71. Avec un principe d'architecture de l'art antérieur, par exemple tel que celui du circuit 20 de la figure 2, on n'utilise qu'un seul ensemble adaptateur de niveau 21 et tampon 22 et 23 pour chaque ligne d'entrée telle que Io. Les sorties des tampons 22 et 23 sont ensuite appliquées à leurs lignes de rangée respectives 72 et 73, ces lignes de rangée étant reliées à la rangée de cellules correspondante. Bien que cette configuration de l'art antérieur puisse être aisément réalisée avec les circuits de la présente inven- tion, on préfère utiliser une variante de cette architec- ture, illustrée figure 10. Sur la figure 10, on a représenté un réseau de mémoire b comportant une pluralité de cellules de mémoire 27d configurées en colonnes 71a. On a représenté une ligne d'entrée Io, l'entrée étant reliée à la rangée corres- pondante de cellules de mémoire 27d de chaque colonne 71a. Cependant, dans cette variante, les tampons 37 et 38 sont distribués entre les diverses zones de cellules de mémoire 74 de sorte que, au lieu d'avoir, comme illustré figure 9, une paire de tampons pour une ligne de rangée complète, dans l'architecture de la figure 10 on a des tampons 37 et 38 à chaque emplacement de mémoire 74, comme cela est suggéré par le trait interrompu 75. Le principe de distribution de la figure 10 ne nécessite qu'une seule ligne de rangée 76, au lieu de la double ligne 72 et 73 de la figure 9. Cette distribution présente l'avantage supplémentaire de réduire le nombre de lignes de rangée et de permettre des confi- gurations de tampon différentes pour chaque emplacement de mémoire 74. On remarquera que, bien que dans le mode de réa- lisation préféré ce soient les tampons 37 et 38, et le cas échéant les multiplexeurs 43 et les registres à décalage 49, qui sont distribués, on pourrait aisément appliquer le prin- cipe de double ligne 72 et 73 de l'art antérieur pour mettre en oeuvre la présente invention. On notera que, bien que l'on ait décrit un composant logique programmable particulier utilisant l'architecture de la présente invention o la cellule EPROM est éliminée du trajet du signal, on peut aisément réaliser cette configu- ration dans le cadre d'autres composants, et elle n'est donc pas limitée à un composant logique programmable. En outre, on pourrait aisément utiliser, pour les cellules de mémoire que l'on a décrites, d'autres composants de mémoire que des EPROMs. En outre, les cellules EPROM illustrées figure 4 à 7 nécessitent un transistor de charge pour un fonctionnement correct, mais celui-ci n'a pas été représenté pour ne pas compliquer le dessin. Ces composants de charge de cellules EPROM sont bien connus. Une réalisation en CMOS a été illustrée sous la forme du transistor 61 de la figure 8. A cet égard, pour une réalisation CMOS dans le cas des figures 4 et 7, on relie un transistor de type P entre Vcc et la sortie de chacune des cellules de mémoire afin qu'il agisse en composant de charge. Enfin, la configuration illustrée par les transistors 39a et 39b de la figure 4 peut être ai- sément adaptée aux circuits des autres figures. 26 4 1391 REVENDICATIONS 1. Un composant logique programmable comportant une pluralité d'entrées, une pluralité de sorties et un réseau de mémoire dans lequel on peut mémoriser un programme, et dans lequel lesdites sorties sont déterminées par appli- cation de ce programme auxdites entrées, caractérisé en ce qu'il comprend: - une pluralité de cellules de mémoire (27a), pour mémo- riser ledit programme, - une pluralité de registres (49) montés en série, chacun des registres étant relié à sa cellule de mémoire homologue de manière à verrouiller un état mémorisé de cette cellule de mémoire, - une pluralité de tampons (37, 38) opérant sur lesdites entrées (Io, Ii), chacune de ces entrées étant reliée à au moins l'un de ces tampons, chacun de ces tampons étant également relié à sa cellule de mémoire homologue par l'intermédiaire de son registre homologue, de sorte que l'activation de ce tampon soit déterminée par ledit état mémorisé de ladite cellule de mémoire homologue. 2. Le composant logique programmable de la revendi- cation 1, dans lequel, pour chaque entrée, le tampon est formé d'un circuit inverseur (37) et d'un circuit non inver- seur (38), de manière qu'une cellule de mémoire correspon- dante active à la fois le circuit inverseur et le circuit non inverseur. 3. Le composant logique programmable de la revendi- cation 2, dans lequel les registres (49) sont des re- gistres à décalage montés de manière à recevoir des signaux externes de programmation permettant l'activation des tam- pons sans accès aux états mémorisés des cellules de mémoire. 4. Le composant logique programmable de la revendi- cation 3, dans lequel les cellules de mémoire (27a) sont 264139'1 formées d'une mémoire morte programmable effaçable EPROM. 5. Un composant logique programmable comportant une pluralité d'entrées, une pluralité de sorties et un réseau de mémoire dans lequel on peut mémoriser un programme, et dans lequel lesdites sorties sont déterminées par applica- tion de ce programme auxdites entrées, caractérisé en ce qu'il comprend: - une pluralité de celiules de mémoire (27b), pour mémo- riser ledit programme, - une pluralité de registres (49b) montés en série, chacun des registres étant relié à sa cellule de mémoire homologue de manière à verrouiller un état mémorisé de cette cellule de mémoire, - une pluralité de tampons (37, 38) opérant sur lesdites entrées (Ic, I:), chacune de ces entrées étant reliée à une paire de ces tampons, cette paire étant formée d'un circuit inverseur (37) et d'un circuit noninverseur (38), - une pluralité de multiplexeurs (43), reliés chacun à une paire homologue de tampons de manière à recevoir ladite entrée et son complément, chacun de ces multiplexeurs étant également relié à sa cellule de mémoire homologue par l'intermédiaire de son re- gistre homologue, de sorte que la sélection entre l'entrée et son complément soit déterminée par ledit état mémorisé de ladite cellule de mémoire homologue. 6. Le composant logique programmable de la revendi- cation 5, dans lequel les registres (49b) sont des registres à décalage montés de manière à recevoir des signaux externes de programmation permettant l'activation des multiplexeurs sans accès aux états mémorisés des cellules de mémoire. 7. Le composant logique programmable de la revendi- cation 6, dans lequel les cellules de mémoire (27b) sont formées d'une mémoire morte programmable effaçable EPROM.