Brevet FR2583203A1 — publié le 19861212

MEMOIRE MORTE A CAPACITE DE LIGNE OPTIMISEE ET PROCEDE D'ENCODAGE D'UNE TELLE MEMOIRE La présente invention concerne une mémoire morte à capacité de ligne optimisée. Elle concerne aussi un procédé d'encodage d'une telle mémoire. Dans un procédé classique de construction de mémoire par masque, la programmation est réalisée par la constitution d'un transistor ou non pour simuler un état logique. Une mémoire est donc constituée par une grille dont les lignes sont adressées par un décodeur d'adresses. Les colonnes, qui sont lues à travers des amplificateurs, sont connectées à un multiplexeur de sortie commandé par la sélection du mot d'adresse. Or, chaque colonne reçoit en lecture une précharge. Quand une ligne est sélectionnée, chaque transistor de la ligne décharge la colonne correspondante de sortie. On lira donc en sortie un certain nombre de "1" logiques là où aucun transistor n'est formé sur une ligne. Si chaque ligne peut comporter N bits, il faut prévoir au plus N transistors par ligne. On a décrit ici un premier mode de programmation. Un second mode peut être choisi où un transistor simule un "1". Or, si en général, le nombre de "0" logiques est p, la capacité de la ligne CL est CL CLO + p. CT où CLO est la capacité de connexion et CT la capacité d'un transistor. Or, le temps d'accès et la consommation sont directement liés à ce paramètre. La présente invention concerne un moyen pour réduire cette capacité CL. Une mémoire selon l'invention comporte une colonne d'éléments mémoire supplémentaires, cette colonne comportant un élément mémoire associé à chaque ligne et adressé en même temps que cette ligne, cet élément mémoire définissant quelle valeur binaire est affectée à chaque état physique pour la ligne considérée, en ce que chaque ligne comporte au plus N/2 éléments dans un premier état, et en ce qu'un organe de complé mentation bit à bit, validé par la colonne supplémentaire, est prévu pour transmettre à l'organe de sortie le mot binaire stocké dans la ligne adressée ou le complément de ce mot selon l'état de l'élément mémoire supplémentaire associé à la ligne. D'autres avantages et caractéristiques seront décrits à l'aide de la figure unique qui montre une mémoire schématique selon l'invention. Une telle mémoire comporte initialement P lignes de N éléments binaires. Chaque élément binaire est physiquement réalisé à l'intersection d'une ligne et d'une colonne. Quand un transistor est réalisé à une intersection les colonnes étant préchargées par un organe 7 comme une source de tension continue, on a programmé un "0" logique dans un mode de programmation. L'absence d'un tel transistor programme un "1" logique. Les lignes sont alimentées à travers un décodeur d'adresse, un mot binaire répondant à une adresse donnée. On a ainsi schématisé par des points renforcés des transistors 8-10 et les autres intersections vides comme 11 n'ont pas de transistor. Toutes les colonnes sont connectées à des amplificateurs 5 dont les sorties sont fournies à un multiplexeur 6. Le mot de sortie 2 du multiplexeur était dans l'art antérieur le mot binaire lu.Le mode de programmation peut d'ailleurs être inversé, un transistor simulant un "1" logique. Or, l'invention part du constat que un mot binaire comportant nécessairement plus ou moins que N/2 éléments binaires d'une valeur donnée ("1" ou "O"), il est possible de ne jamais dépasser un nombre proche de N/2 transistors pour une ligne de mémoire donnée. En effet, dans un exemple de programmation, si le nombre p de bits "0" est supérieur à N/2, il suffit d'inverser le rôle des transistors pour la ligne dont le mot qu'elle contient a un poids en nombre de "1" inférieur à N/2. Il faut cependant enregistrer ce dépassement et donc provoquer cette inversion de la signification d'une implantation d'un transistor, c'est-à-dire ainsi qu'ils étaient décrits plus haut, des modes de programmation. L'invention prévoit une colonne 20 supplémentaire de P éléments binaires, un élément binaire de cette colonne étant le (N+l)ème élément binaire d'une ligne donnée.Dans un mode de programmation, si cette ligne a un poids de "1" inférieur à N/2, le (N+l)ème élément binaire est mis à "1". Sinon il est mis à "0". Les conventions peuvent changer au gré du constructeur de mémoire, de manière à réduire le nombre de transistors global. La colonne 20 est lue à travers un amplificateur adapté 12, donc très rapide dont la sortie 14 active ou non un organe de complémentation à 1 bit à bit du mot 2 de sortie du multiplexeur 6 selon la valeur de l'élément lu sur la colonne 20. Le mot 3 obtenu est donc toujours convenable, quelque soit le mode de programmation utilisé pour enregistrer le mot sur la ligne en question. Dans un autre mode de réalisation, l'entrée 15 de la mémoire choisit entre un amplificateur 12 normal ou un amplificateur inverseur non représenté pour réaliser une complémentation générale. Le procédé d'encodage de la mémoire selon l'invention consiste principalement à mesurer le poids de "1" d'une ligne à programmer à en déduire si leur nombre est inférieur à N/2 que les transistors les représenteront physiquement et auquel cas à programmer à "1" le (N+l)ème élément dans la colonne supplémentaire. Dans l'hypothèse inverse, la programmation habituelle est conservée. D'une manière générale, le procédé d'encodage selon l'invention consiste, en vue d'économiser l'implantation d'éléments physiques présentant, pour une ligne d'éléments mémoire dans un premier état, un caractère défavorable, à réaliser un comptage du nombre de ces premiers états, à complémenter bit à bit chaque mot de ligne si ce nombre dépasse un certain seuil, et à enregistrer cette occurence de manière qu'à la lecture de la ligne on réalise une seconde complémentation bit à bit pour restituer la ligne convenable. L'amplificateur 12 peut comporter deux sorties reliées au complémenteur. La première est une sortie normale active quand l'entrée 15 est dans un état et la seconde est une sortie complémentée quand l'entrée 15 est dans un autre état. Une telle configuration permet de programmer la complémentation directement dans la mémoire. Dans un autre mode de réalisation, la complémentation est réalisée directement sur les amplificateurs 5 des colonnes. De cette manière, on peut éviter l'étape de transformation du mot 2 en mot 3. De même, une entrée du genre de l'entrée 15 peut réaliser la complémentation générale du mot de sortie sur un niveau actif de la manière décrite ci-dessus. L'invention est applicable à d'autres types de mémoire que les mémoires mortes dont les états binaires sont codés par la présence ou l'absence d'un transistor Par exemple, on peut imaginer que dans le cas d'une mémoire à grille flottante il soit souhaitable de minimiser le nombre d'éléments programmés dans un état correspondant à une charge positive élevée dans la grille flottante. REVENDICATIONS 1. Mémoire comprenant N lignes et P colonnes d'éléments mémoire susceptibles de prendre l'un ou l'autre de deux états physiques définissant la valeur binaire mémorisée par un élément, un moyen d'adressage de la mémoire ligne par ligne, et un organe de sortie fournissant les mots stockés dans les lignes, caractérisée en ce qu'elle comporte une colonne d'éléments mémoire supplémentaires, cette colonne comportant un élément mémoire associé à chaque ligne et adressé en même temps que cette ligne, cet élément mémoire définissant quelle valeur binaire est affectée à chaque état pour la ligne considérée, en ce que chaque ligne comporte au plus N/2 éléments dans un premier état, et en ce qu'un organe de complémentation bit à bit, validé par la colonne supplémentaire, est prévu pour transmettre à l'organe de sortie le mot binaire stocké dans la ligne adressée ou le complément de ce mot selon l'état de l'élément mémoire supplémentaire associé à la ligne. 2. Mémoire selon la revendication 1, caractérisée en ce que la colonne supplémentaire (20) est reliée à un amplificateur rapide (12). 3. Mémoire selon la revendication 1, caractérisée en ce que l'organe de complémentation (13) est disposé en sortie du multiplexeur de lecture (6). 4. Mémoire selon la revendication 2, caractérisée en ce que la mémoire comporte une entrée (15) qui inverse la sortie de l'amplificateur (12) sur un état logique de commande. 5. Mémoire selon la revendication 5, caractérisée en ce que l'amplificateur comporte une sortie et une sortie complémentée sélectionnée selon l'état de l'entrée (15), de manière à intégrer dans la mémoire une fonction de complémentation. 6. Mémoire selon la revendication 2, caractérisée en ce que l'organe de complémentation (13) est réalisé directement sur les sorties des amplificateurs (5) de colonne sur commande de la sortie de l'amplificateur (12). 7. Mémoire selon la revendication 7, caractérisée en ce que une entrée (15) de complémentation générale agit directement sur l'amplificateur (12). 8. Procédé d'encodage d'une mémoire selon l'une des revendications précédentes, caractérisé en ce qu'il consiste, en vue dtécono- miser l'implantation d'éléments physiques présentant, pour une ligne d'éléments mémoire dans un premier état, un caractère défavorable, à réaliser un comptage du nombre de ces premiers états, à complémenter bit à bit chaque mot de ligne si ce nombre dépasse un certain seuil, et à enregistrer cette occurence de manière qutà la lecture de la ligne, on réalise une seconde complémentation bit à bit pour restituer la ligne convenable. 9. Procédé selon la revendication 9, caractérisé en ce qu'il consiste à réaliser la première complémentation à la constitution des éléments physiques de chaque ligne. 10. Procédé selon la revendication 9, caractérisé en ce que la seconde complémentation peut être inhibée à une commande externe.