FR 2793591 A1 20001117 FR 9906243 A 19990512 MÉMOIRE MORTE À CONSOMMATION STATIQUE RÉDUITE La présente invention concerne une structure de mémoire morte ou ROM dont la consommation de puissance statique est diminuée par une inversion de la programmation des cellules en fonction de la relation entre le nombre de cellules programmées et le nombre de cellules non programmées. La figure 1 représente schématiquement une structure de mémoire ROM classique. Elle comprend une pluralité de cellules mémoire 10 disposées en rangées et colonnes. Les cellules 10 de chaque rangée sont sélectionnées par une ligne de mot respective W, et une cellule sélectionnée présente sa donnée sur une ligne de bit BL comnnuie aux cellules de la même colonne. Chaque ligne de bit BL est reliée à un potentiel d'ali mentation haut Vdd par l'intermédiaire d'un transistor de précharge MP respectif, de type MOS à canal P. Tous les transis tors de précharge MP sont conmiandés par une ligne de précharge commune P. Par ailleurs, les lignes de bit BL sont reliées à des amplificateurs de lecture 12. Généralement, les lignes de bit sont regroupées en plusieurs ensembles, chaque ensemble étant associé à un seul amplificateur de lecture 12 par l'intermédiaire d'un multiplexeur 14. Chaque multiplexeur 14 sélectionne la ligne de bit de l' ensemble à fournir à l' amplificateur en fonction de l'adresse de lecture présentée à la mémoire. Comme cela est représenté, les cellules 10 programmées comprennent un transistor MOS à canal N MN connecté entre la ligne de bit correspondante et le potentiel d'alimentation bas, tandis que les cellules 10 non programmées ne comportent aucun transistor. Les transistors MN des cellules d'une même rangée sont tous commandés par la ligne de mot W correspondante. Avec les technologies récentes de fabrication de circuits intégrés, les transistors deviennent de plus en plus petits mais présentent des fuites de plus en plus élevées. I1 en résulte que la consommation statique des circuits réalisés à l'aide de ces technologies a tendance à augmenter si l'on ne prend pas de précautions particulières. La consommation statique d'un circuit est particulièrement gênante dans les appareils alimentés par batterie. Dans la mémoire de la figure 1, même si aucun des tran sistors n'est rendu passant, par exemple dans un mode de veille, il existe néanmoins un chemin de courant de fuite entre le poten tiel haut Vdd et le potentiel bas par l'intermédiaire de chaque transistor de précharge MP et chacun des transistors MN de la même colonne. La consommation statique est proportionnelle au nombre de transistors MN dans la mémoire, c'est-à-dire au nombre de cellules programmées. Pour réduire la consommation statique, on a envisagé d'inverser la programmation de l'ensemble de la mémoire lorsque le nombre de cellules qui seraient normalement programmées est supérieur au nombre de cellules qui ne seraient normalement pas programmées. Bien entendu, les sorties de la mémoire, c'est-à- dire les sorties des amplificateurs de lecture 12, sont alors inversées pour rétablir les états logiques requis. On obtient ainsi une consommation statique qui est tou jours inférieure à la moitié de celle que présenterait une mémoire dont toutes les cellules seraient programmées. Un inconvénient de cette solution, étant donné que l'on peut considérer que les cellules sont programmées selon une loi aléatoire, est qu'on a en moyenne 50 6 de cellules programmées. Les gains de consommation obtenus correspondent donc aux varia tions autour de cette valeur moyenne et sont peu significatifs, sauf dans des cas très particuliers. Un objet de la présente invention est de prévoir une structure de mémoire morte permettant de réduire notablement la consommation statique. Pour atteindre cet objet, la présente invention prévoit une mémoire morte comprenant des cellules mémoire dont celles qui sont programmées sont constituées d'un transistor connecté entre une ligne de bit et un potentiel d'alimentation, les cellules étant organisées par ensembles d'au moins une colonne couplée à un amplificateur de lecture par ensemble. La programmation des cellules est inversée par rapport à une programmation souhaitée seulement dans des ensembles spécifiques où la programmation souhaitée conduirait à un nombre de cellules programmées supé rieur au nombre de cellules non programmées, l'état logique fourni par les amplificateurs de lecture associés aux ensembles spécifiques étant inversé. Selon un mode de réalisation de la présente invention, chaque amplificateur de lecture est formé d'au moins deux étages interconnectés par deux lignes différentielles, les lignes dif férentielles étant interverties pour les amplificateurs associés auxdits ensembles spécifiques. Selon un mode de réalisation de la présente invention, chaque ensemble comporte plusieurs colonnes couplées à l'amplifi cateur de lecture respectif par un multiplexeur. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention 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 1, précédemment décrite, représente schémati quement une structure de mémoire morte classique ; et la figure 2 représente schématiquement un mode de réa lisation de mémoire morte selon l'invention. Afin de réduire la consommation statique d'une mémoire morte, on propose également selon la présente invention d'inverser la programmation des cellules selon les cas. Par contre, au lieu d'analyser la mémoire dans sa globalité pour déterminer s'il faut ou non inverser la .programmation de toutes les cellules de la mémoire, on analyse les cellules par ensembles isolés de colonnes et on inverse la programmation, le cas échéant, des seules cellules de l'ensemble analysé. Les ensembles que l'on peut ainsi analyser sont les ensembles de colonnes associés respectivement aux ampli ficateurs de lecture. On obtient donc une mémoire morte dans laquelle certains ensembles de colonnes ont une programmation inversée tandis que les ensembles restants ont une programmation normale. Les états fournis par les amplificateurs de lecture associés aux ensembles dont la programmation a été inversée sont inversés pour fournir les états logiques initialement voulus. Du fait que l'on ne considère, selon l'invention, que des ensembles restreints de cellules, on accroît l'écart-type par rapport à la moyenne de 50 6 de cellules programmées. En d'autres termes, on réduit la probabilité pour que le nombre de cellules programmées soit proche de 50 .. La réduction de consommation statique obtenue est notable. Dans les exemples considérés où on a deux colonnes par multiplexeur, la consommation s'approche en moyenne de 25 % de la consommation statique d'une mémoire dont toutes les cellules seraient programmées. La figure 2 représente un exemple de structure de mémoire morte selon l'invention, dans laquelle la programmation des deux premiers ensembles de colonnes (associés aux deux premiers multi- plexeurs 14) a été inversée. Pour mieux illustrer le principe, on a supposé que la programmation voulue était la même que pour la mémoire de la figure 1. Ainsi, dans les deux premiers ensembles de colonnes, on trouve des transistors MIT dans les cellules où il n'y avait pas de transistor à la figure 1, et on ne trouve aucun transistor dans les cellules où il y avait un transistor MN à la figure 1. Par contre, la programmation du dernier ensemble de colonnes n'a pas été inversée. On retrouve des transistors MN dans les mêmes cellules qu'à la figure 1. Les états logiques fournis par les amplificateurs de lecture 12 associés aux deux premiers ensembles doivent être inversés. Pour cela, on pourrait envisager de faire suivre chacun de ces amplificateurs d'un inverseur. Toutefois, cette solution introduit un retard dans la propagation du signal de sortie de la mémoire, lequel retard réduit la vitesse d'accès de la mémoire. La figure 2 représente une solution permettant d'éviter ce retard. Généralement, les amplificateurs de lecture 12 sont des comparateurs qui comparent les sorties des multiplexeurs 14 correspondants à une valeur de référence Vref généralement prélevée sur une ligne de bit de référence DBL. La ligne de bit de réfé rence DBL correspond à une colonne dont toutes les cellules sont programmées. Comme une ligne de bit normale, la ligne de bit de référence DBL est reliée au potentiel haut Vdd par un transistor de précharge MP commandé de la même manière que tous les autres transistors de précharge MP. Avec cette solution, la lecture de la mémoire est par ticulièrement rapide, car il suffit d'une faible différence de potentiel entre la ligne de référence Vref et la sortie des multiplexeurs 14 pour différencier un état programmé d'un état non programmé. Par contre, cette faible différence de potentiel doit être convertie en un niveau logique exploitable, et elle doit pour cela être amplifiée avec un gain élevé. Pour atteindre le gain requis, les amplificateurs de lecture 12 peuvent comporter, comme cela est représenté, deux étages de gain dont le deuxième est commandé de manière différentielle par le premier. Afin de réaliser l'inversion d'état requise pour les deux premiers amplificateurs, il suffit d'intervertir, comme cela est représenté, les signaux différentiels fournis par le premier étage au deuxième. Ce croisement des signaux n'introduit aucun retard de propagation. La présente invention a été décrite à l'aide d'un exemple de mémoire à deux colonnes par amplificateur de lecture. Elle s'applique bien entendu à des mémoires à une seule colonne par amplificateur ou à des mémoires à plus de deux colonnes par amplificateur. Le cas échéant, on utilisera des amplificateurs de lecture comportant plus de deux étages. Alors, si une inversion d'état est requise, elle s'effectue en intervertissant les signaux différentiels une seule fois entre deux quelconques des étages. REVENDICATIONS 1. Mémoire morte comprenant des cellules mémoire (10) dont celles qui sont programmées sont constituées d'un transistor (MN) connecté entre une ligne de bit (BL) et un potentiel d'ali mentation, les cellules étant organisées par ensembles d'au moins une colonne couplée à un amplificateur de lecture (12) par ensemble, caractérisée en ce que la programmation des cellules est inversée par rapport à une progranmmtion souhaitée seulement dans des ensembles spécifiques où la programmation souhaitée conduirait à un nombre de cellules programmées supérieur au nombre de cellules non programmées, l'état logique fourni par les amplificateurs de lecture associés aux ensembles spécifiques étant inversé. 2. Mémoire morte selon la revendication 1, caractérisée en ce que chaque amplificateur de lecture (12) est formé d'au moins deux étages interconnectés par deux lignes différentielles, les lignes différentielles étant interverties pour les amplifica teurs associés auxdits ensembles spécifiques. 3. Mémoire morte selon la revendication 1, caractérisée en ce que chaque ensemble comporte plusieurs colonnes couplées à l'amplificateur de lecture respectif (12) par un multiplexeur (14).