FR 2792761 A1 20001027 FR 9905051 A 19990421 DISPOSITIF DE PROGRAMMATION D'UNE MEMOIRE NON VOLATILE ELECTRIQUEMENT PROGRAMMABLE La présente invention concerne un dispositif de programmation d'une mémoire non volatile électriquement programmable et notamment, de mémoires de type EEPROM ou flash. Les mémoires non volatiles électriquement pProgrammables sont habituellement organisées selon une matrice de cellules disposées chacune à l'intersection d'une ligne de bit et d'une ligne de mots. Chaque cellule comprend un transistor MOS à grille flottante. C'est cette grille flottante qui permet le stockage de l'information binaire, au moyen du condensateur formé par la grille flottante et la grille de contrôle du transistor. Chaque cellule d'une telle mémoire est électriquement programmable, pour contenir comme information binaire, un "1", l'opération de programmation étant alors une opération dite d'écriture ou un "0", l'opération de programmation étant alors une opération d'effacement. Ces opérations d'effacement et d'écriture sont des opérations qui permettent de modifier la charge de la grille flottante au moyen d'un champ électrique, en sorte que l'on modifie la tension de seuil du transistor à grille flottante de la cellule. On rappelle que la tension de seuil d'un transistor est la tension minimum qu'il faut appliquer entre sa grille et sa source pour qu'il conduise. On modifie cette tension de seuil en faisant varier la charge que porte la grille. Si elle porte une quantité de charge positive, la tension de seuil s'en trouve diminuée. Si elle porte une quantité de charges négatives, la tension de seuil s'en trouve augmentée. Selon le type d'opération de programmation effectuée, à savoir une écriture ou une lecture, on fait varier la charge de la grille flottante, en faisant passer dans un sens ou l'autre, un certain courant à travers une mince couche d'oxyde tunnel située sous la grille flottante, entre celle-ci et le substrat semi-conducteur. Selon le sens du courant, c-'est à dire selon la polarité du champ électrique appliqué, on charge la grille flottante, en sorte que l'on retrouve une quantité de charges positive ou on la décharge, en sorte que l'on retrouve une quantité de charges négative, pour une quantité de charge nulle à l'état vierge. Si la cellule a été effacée, le condensateur associé à la grille flottante est chargé négativement, et la tension de seuil de la cellule est plus élevée que celle d'une cellule vierge. Si la cellule a été programmée, le condensateur associé à la grille flottante est chargé positivement, et la tension de seuil de la cellule est plus faible que celle d'une cellule vierge. Or, les effacements et écritures successifs entraînent le vieillissement des cellules mémoire. Ce vieillissement affecte plus particulièrement l'oxyde tunnel de ces cellules, en raison de la quantité de charges totale qui transite par cet oxyde tunnel suite aux cycles successifs d'effacement et d'écriture. Ce vieillissement de l'oxyde tunnel peut se traduire de différentes manières, à savoir: - l'oxyde tunnel peut présenter des fuites, de sorte que la cellule n'est plus apte à conserver une quantité de charge suffisante, représentative de l'information binaire programmée, pendant une durée de rétention garantie pour la mémoire concernée. - l'oxyde tunnel ne permet plus le passage correct des charges que ce soit en effacement ou en écriture, de sorte que la cellule ne peut plus être reprogrammée. Or la qualité d'une mémoire non volatile se mesure par la durée de rétention des données et par le nombre de cycles de programmation admissibles. Ainsi, cette qualité des mémoires non volatiles e-t directement liée au vieillissement de l'oxyde tunnel. La présente invention a ainsi pour objet d'améliorer la qualité des mémoires non volatiles en limitant son vieillissement. Pour limiter le vieillissement de l'oxyde tunnel, il faut diminuer la quantité de charges stockée dans les cellules. Diminuer la quantité de charges stockée, implique diminuer les écarts entre les tensions de seuil correspondant aux états vierge, écrit, et effacé. Pour pouvoir diminuer la quantité de charges stockée dans les cellules, il faut pouvoir utiliser une circuiterie de lecture la plus sensible possible capable de discriminer deux états logiques '"0" et "1" proches de l'état vierge. De telles circuiteries existent, basées sur des convertisseurs courant/tension, bien connus et utilisés par l'homme de l'art. Mais pour diminuer le vieillissement de l'oxyde tunnel, il faut aussi un dispositif de programmation capable de générer des signaux de programmation adaptés à la production de cette quantité de charge très faible dans les cellules. Cette quantité de charges est fonction de la durée de programmation. Cette durée de programmation est spécifiée pour chaque mémoire. En pratique, on sait contrôler ce paramètre de la programmation de façon très stable, par une circuiterie de temporisation. Ce paramètre n'aggrave donc en rien le vieillissement de l'oxyde tunnel. Cette quantité de charges est aussi fonction des tensions appliquées aux cellules, et plus particulièrement de la tension de programmation. on' va montrer que ce paramètre de la programmation influe lui sur le vieillissement de l'oxyde tunnel des cellules mémoire. En effet, pour une même tension de programmation VPP utilisée en effacement et en écriture, la quantité de charges induites dans un sens ou l'autre n'est pas la même (en valeur absolue), le champ électrique appliqué n'ayant pas la même intensité (en valeur absolue). Prenons l'exemple d'une cellule d'une mémoire de type EEPROM organisée selon une matrice de lignes de bit et de lignes de mot. Une telle cellule est représentée schématiquement sur la figure 1. Elle comprend de manière bien connue, un transistor de sélection Ts, dont la grille g3 est reliée à une ligne de mot Wl de la mémoire, et dont le drain ds est relié à une ligne de bit Bl de la mémoire. Elle comprend en outre un transistor à grille flottante Tm, qui contient l'information binaire programmée dans la cellule. Ce transistor à grille flottante comprend une grille de contrôle gc et une grille flottante gf. Son drain d, est relié à la source s, du transistor de sélection. La ligne de mot Wl, la ligne de bit Bl, la grille de contrôle gc et la source sm du transistor à grille D flottante reçoivent des tensions de commande notées respectivement Vwl, VBI, V.o et Vsm, fournies par une circuiterie de sélection des cellules mémoire (non représentée). On note Vgf le potentiel sur la grille flottante et Vd, le potentiel sur le drain du transistor à grille flottante Tm. Pour programmer une cellule, on utilise une tension de programmation habituellement notée VPP, que l'on applique de manière appropriée pour créer le champ électrique requis, pour une écriture, ou un effacement. Cette tension de programmation est habituellement produite en interne dans le circuit intégré contenant la mémoire, par un circuit de génération d'une haute tension à partir de la tension d'alimentation logique Vcc du circuit intégré. Ce circuit de génération comprend habituellement une pompe de charges avec un oscillateur pour produire les signaux d'horloge nécessaires. Un exemple d'un tel circuit est décrit en détail dans le brevet EP 0 591 022 (93 40229.4), auquel l'on pourra se reporter utilement. Dans un exemple pratique dans lequel la tension d'alimentation logique Vcc vaut 5 volts, la tension de programmation générée en interne peut- être de l'ordre de 16 volts. Cette haute tension de programmation est appliquée aux cellules de façon différente selon le type de programmation à réaliser. La figure 2a montre schématiquement ce qui se passe lors d'une opération de programmation du type effacement. La tension Vgc appliquée sur la grille de contrôle est égale à la tension de programmation Vpp, et le potentiel Vd,n sur le drain est à zéro volt. Le champ électrique d'effacement Ee appliqué à la zone d'oxyde tunnel est égal à: Ew=(VPP.dVgf/dVdm)/e=(VPP.Ag)/e, o Aj=0,7 (en valeur typique, pour une technologie donnée). Il induit une charge électrique négative Qw de la grille flottante: le condensateur associé à la grille flottante est chargé négativement. La figure 2b montre schématiquement ce qui se passe lors d'une opération de programmation du type écriture. La tension Vgc appliquée sur la grille de contrôle est égale à zéro volt, et le potentiel Vd sur le drain prend le niveau de la tension de programmation V>P (en supposant que la grille gs du transistor de sélection reçoit une tension de contrôle au moins égale à la tension de programmation VPP augmentée de sa tension de seuil, pour commuter sans perte la tension de programmation VPP appliquée sur la ligne de bit). Le champ électrique d'écriture Ew appliqué à la zone d'oxyde tunnel est égal à: Ew=(VPP.(1-dVgf/dVgc)/e=(VPP. (l-Ad))/e, o Ad=0,25 (en valeur typique, fonction de la technologie considérée). Il induit une charge électrique positive Qw de la grille flottante: le condensateur associé à la grille flottante est chargé positivement. Or en pratique Ag n'est pas égal à 1-Ad. Dans l'exemple, Ag=0,7 et 1-Ad=0,75. Les champs électriques d'effacement Ee et d'écriture Ew ne sont donc pas égaux. Comme on peut le voir sur la figure 3a, qui représentent les tensions de seuil pour les trois états possibles d'une population de cellules d'une mémoire, c'est à dire l'état vierge, effacé ou écrit, on obtient une quantité de charges plus importante en écriture qu'en effacement. Cela se traduit sur la figure 3a par un écart entre la tension de seuil des cellules vierges et la tension de seuil des cellules écrites plus important qu'entre la tension de seuil des cellules vierges et la tension de seuil des cellules effacées. L'induction d'une quantité de charges plus importante en écriture qu'en effacement est à terme, avec les cycles répétés d'effacement et d'écriture, une source de stress pour la cellule. Dans l'invention, on cherche à limiter ce stress. L'idée à la base de l'invention est donc d'induire une quantité de charges identique (en valeur absolue) e-i effacement et en écriture. Pour cela, il faut avoir des champs électriques d'effacement Ee et d'écriture Ew identiques (en valeur absolue). Dans l'invention, on propose l'utilisation d'une tension de programmation d'effacement notée Vppe, différente d'une tension de programmation d'écriture notée Vppw. Ces tensions sont telles que les champs électriques induits soient égaux, ce qui s'écrit: Vppe.Aq/e=Vppw(1- Ad)/e, soit: Vppe.Ag=Vppw(1-Ad). L'invention concerne donc un dispositif de programmation de cellules d'une mémoire non volatile électriquement programmable, caractérisé en ce qu'il comprend des moyens pour produire une première tension de programmation pour des opérations de type effacement et une deuxième tension de programmation pour des opérations de programmation de type écriture, ces première et deuxième tensions étant déterminées pour appliquer un champ électrique identique en valeur absolue lors des deux types d'opération de programmation. De préférence, ces deux tensions sont produites au moyen d'un circuit de régulation d'une haute tension 8 2792761 fournie par un circuit comprenant une pompe de charges. Ce circuit de régulation comprend des moyens pour sélectionner une première tension de référence pour réguler la haute tension de programmation par rapport à cette première tension de référence pour des opérations de programmation de type effacement, pour produire la première tension de programmation et des moyens pour sélectionner une deuxième tension de référence pour réguler la haute tension de programmation par rapport à cette deuxième tension de référence pour des opérations deprogrammation de type écriture, pour produire la deuxième tension de programmation. Le dispositif selon l'invention permet de réduire le stress des cellules, par réduction des quantités de charges induites. Mais il faut aussi assurer une lecture fiable des états écrits et effacés des cellules, qui se retrouvent plus proches. Pour cela, il faut que la régulation de la tension de programmation soit très précise. Or en pratique, on trouve de nombreux facteurs de perturbation de la tension de programmation. En effet, un circuit de génération d'une tension de programmation comprend habituellement une pompe de charges pour fournir un signal de haute tension à partir de la tension d'alimentation logique du circuit suivie d'un circuit de génération d'une rampe de tension, qui permet de contrôler la montée en tension et la durée d'application de la tension de programmation. Le signal de tension de programmation en sortie du générateur de rampe est en outre appliqué de manière appropriée aux cellules mémoire par une circuiterie de sélection des cellules mémoire. On a donc des variations de la tension de programmation réellement appliquée aux cellules correspondant à des 9 2792761 pertes dues notamment à l'utilisation de transistors MOS utilisés en commutation (généralement des transistors MOS de type N) dans le générateur de rampe, la circuiterie de sélection et le transistor de sélection des cellules. Ce sont des pertes de type ohmique, ou des pertes dues à la tension de seuil de ces transistors augmentée le cas échéant de l'effet substrat. On a aussi des variations de la tension de programmation dues à la variation de la température. -J-s circuits intégrés sont en effet garantis pour une certaine gamme de température, par exemple pour une gamme de -0 C à 125 C. On rappelle que la tension de seuil d'un transistor MOS varie typiquement de -2mV/ C. Ces variations des tensions de seuil des transistors avec la température ambiante ont donc une répercussion sur la tension de programmation. Enfin, le nombre de cellules à programmer simultanément peut varier de quelques cellules, 8 typiquement, à quelques milliers, par exemple selon que l'on programme seulement un octet en mémoire ou que l'on procède à l'effacement d'un bloc de cellules voire de toutes les cellules de la mémoire en même temps. A toutes ces variations s'ajoutent les variations de tension de seuil des transistors, dues au procédé de fabrication. Au total, la variation de la tension de programmation VPP appliquée aux cellules atteint typiquement 1 volt, même si l'on utilise une pompe de charges très bien régulée. Pour améliorer la régulation de la tension de programmation, permettant la réduction des quantités de charges à induire dans les cellules mémoire pour discriminer sans erreur les différents états de la 2792761 cellule, on prévoit que le circuit de régulation régule le signal de tension de programmation fourni en sortie par le générateur de rampe. En d'autres termes, on prévoit selon l'invention de réguler la tension de programmation au plus près des cellules mémoire. Dans une variante, on prévoit que le circuit de régulation comprend aussi une circuiterie reproduisant les pertes induites par la circuiterie de sélection des cellules mémoire. Dans un perfectionnement, on prévoit en outre de re-guler le signal de haute tension fourni en sortie par la pompe de charge par rapport à une troisième tension de référence, supérieure aux première et deuxième tensions de référence. D'autres caractéristiques et avantages de l'invention vont maintenant être détaillés dans la description suivante, faite à titre d'exemple non limitatif en relation avec les dessins annexés, dans lesquels: - la figure 1 représente schématiquement une cellule mémoire de type EEPROM; - les figures 2a et 2b montrent les tensions appliquées à la cellule, respectivement dans une opération de programmation de type effacement, et une opération de programmation de type écriture; - les figures 3a et 3b montrent la répartition d'une population de cellules mémoire dans les états effacés, vierges et programmés, selon que l'on utilise un dispositif de programmation respectivement de l'état de la technique ou de l'invention; la figure 4 représente schématiquement un dispositif de programmation selon un premier mode de réalisation de l'invention; - la figure 5 représente schématiquement un dispositif de programmation selon un deuxième mode de réalisation de l'invention; - la figure 6 montre la forme des signaux de tension de programmation en effacement et en écriture obtenus avec un dispositif de programmation selon l'invention; et - les figures 7a et 7b montrent chacune un exemple de réalisation d'un circuit de régulation qui peut être utilisé dans l'invention. l- L'invention va être décrite dans une application à une mémoire non volatile électriquement programmable comprenant des cellules telles que représentées sur la figure 1 déjà décrite et relative à une technologie MOS. Ainsi, dans la suite, les transistors sont tous de type MOS. Mais l'invention s'applique plus généralement à toute technologie employée dans la fabrication de mémoires non volatiles électriquement. La figure 4 représente schématiquement un dispositif de programmation 1 selon l'invention, fournissant un signal de tension de programmation à une circuiterie de sélection 2 de cellules mémoires. On note ce signal de tension de programmation Vpp. La tension de programmation VPP appliquée aux cellules provient de ce signal. La circuiterie de sélection 2 fournit les signaux de commande nécessaires à la sélection d'une ou plusieurs cellules d'une mémoire 3 organisée matriciellement en lignes de bit et lignes de mot. Le dispositif de programmation comprend une pompe de charges 10, qui fournit en sortie un signal de haute tension V-HI. Ce signal de haute tension est appliqué à un générateur de rampe 20, qui fournit un signal de tension de programmation Vpp sous forme d'une impulsion 12 2792761 avec une rampe de montée en tension. La pompe de charges et le générateur de rampe sont des éléments classiques utilisés dans les dispositifs de programmation habituels, bien connus de l'homme du métier. Le dispositif de programmation selon l'invention comprend en outre un circuit de régulation 30. Ce circuit de régulation comprend un circuit de comparaison d'une tension appliquée sur une entrée E à une première référence de tension V1, pour des opérations de programmation de type effacement, et à une deuxième tension de référence V2 pour des opérations de programmation de type écriture. La sélection de l'une ou l'autre tension de référence est effectuée en utilisant un signal de commande d'écriture/effacement noté Write, dont le niveau binaire indique le type d'opération, par exemple, " 0 " pour l'effacement et " 1 " pour l'écriture. Ce signal de commande d'écriture/effacement Write est fourni par un circuit de contrôle de la mémoire non représenté et habituellement appliqué à la circuiterie de sélection de cellules mémoire, permettant l'application des niveaux de tension correspondants pour les différents signaux de contrôle à générer. La circuiterie de régulation fournit un signal de régulation Run de la pompe de charge. Ce signal de régulation est habituellement appliqué à l'oscillateur OSC du circuit à pompe de charges, en sorte que les signaux d'horloge nécessaires au fonctionnement de la pompe sont ou ne sont pas produits. Ainsi, selon le niveau de ce signal de régulation Run, la pompe de charge est activée pour produire un niveau de tension plus élevé en sortie ou stoppée si le 13 2792761 niveau atteint en sortie est suffisant, c'est à dire supérieur à celui de la tension de référence concernée. Le signal appliqué en entrée E du circuit de régulation peut être le signal de haute tension V-HI fourni par la pompe de charges. De préférence, pour permettre une régulation au plus près des cellules mémoire, assurant ainsi une meilleur fiabilité de la programmation, c'est le signal de tension de programmation Vpp fourni par le générateur de rampe qui est appliqué en entrée E du cG-rcuit de régulation 30. Dans ce cas, une variante de l'invention représentée en pointillé sur la figure 4 consiste à simuler en outre les pertes et variations que ce signal de tension de programmation subira dans la circuiterie 2 de sélection des cellules de la mémoire. Dans cette variante le circuit de régulation 30 comprend ainsi une circuiterie 31 de simulation de la circuiterie de sélection des cellules, recevant en entrée le signal de tension de programmation Vpp et fournissant en sortie un signal de tension simulé Vpps, normalement égal à Vpp'. Cette circuiterie de simulation 31 comprend en pratique des éléments électroniques agencés et calculés de manière à reproduire les pertes et variations qui seront subies par le signal de tension de programmation Vpp avant d'être appliqué aux cellules mémoire. Sur la figure 6, on a représenté une succession de deux impulsions du signal de tension de programmation correspondant à une opération de programmation de type effacement suivie d'une opération de programmation de type écriture, obtenues avec un dispositif de programmation selon l'invention. Chaque impulsion dure typiquement deux millisecondes, la rampe de montée en tension durant 1 milliseconde environ. 14 2792761 Si le circuit de régulation 30 reçoit en entrée le signal de tension de programmation Vpp et non le signal de haute tension V-HI, tant que le niveau maximal de tension n'est pas atteint par le signal de tension de programmation, c'est à dire Vppe pour l'effacement ou Vppw pour l'écriture, la régulation par le circuit de régulation 30 selon l'invention n'intervient pas. En d'autres termes, la pompe de charges continue de fonctionner. Pour cette raison, pendant la période notée pl sur la figure 6, qui correspond à la montée en tbension du signal Vpp, la pompe n'est pas régulée. Pendant cette période pl, le signal de haute tension V- HI peut monter à des niveaux dangereux pour les circuits qui voient cette haute tension. Aussi, dans un perfectionnement représenté sur la figure 5, le dispositif de programmation selon l'invention comprend des moyens pour réguler non seulement le signal de programmation Vpp par rapport aux tension de références V1 et V2, mais aussi le signal de haute tension V-HI par rapport à une troisième tension de référence V3, supérieure aux tensions de référence V1 et V2. Ainsi, la pompe est toujours régulée, d'abord par rapport à une tension de référence V3, puis par rapport à une tension de référence V1 ou V2, inférieure à V3. En pratique, si on note Run, le signal de régulation fourni par le circuit de régulation 30 pour la régulation du signal de haute tension V-HI par rapport à la tension de référence V3 et Run2 le signal de régulation fourni par le circuit de régulation 30 pour la régulation du signal de tension de programmation Vpp par rapport aux tensions de référence V1 et V2, il suffit de combiner ces deux signaux Run, et Run2, pour obtenir un signal de régulation Run permettant une très bonne régulation de la tension de programmation, au plus près de cellules mémoire tout en assurant la sécurité de fonctionnement de la pompe de charges. Sur la figure 5, on a schématiquement représenté cette combinaison par une porte logique combinatoire 32, recevant en entrées les deux signaux Run1 et Run2 et fournissant en sortie le signal de régulation global Run. Sur la figure 7a, on a représenté un exemple pratique de réalisation du circuit de régulation 30 selon l'invention. Il comprend un ensemble de diodes zener Dl, D2 et D3 connectées en série et en inverse entre la tension d'entrée Ve à réguler et un noeud A. Cet ensemble fournit dans l'exemple la deuxième tension de référence V2, pour l'opération de programmation de type écriture, égale à la somme des tensions zener. Dans l'exemple, il y a trois diodes zener identiques. Ces diodes sont choisies dans une technologie assurant une bonne stabilité de la tension zener associé, pour obtenir une bonne régulation. Elles sont par exemple réalisées selon le procédé technologique décrit dans le brevet IT 2 222 8 A/89, qui offre une tension zener très stable de 5 volts. Avec de telles diodes, on obtient V2=15 volts. Entre le noeud A et un noeud B, on a un transistor Ml commandé sur sa grille par le signal de commande d'écriture/effacement, noté Write. Entre le noeud A et un noeud B, et en parallèle sur le transistor Ml, on a en outre un transistor M2 monté en diode (grille et drain relié). Ce transistor monté en diode offre une tension à ses bornes égale à la tension de seuil, de l'ordre de 1 volt. Lorsque le signal Write est à un niveau logique correspondant à l'opération d'effacement, 0 dans l'exemple, le transistor M1 n'est pas conducteur. On retrouve alors le transistor M2 monté en diode, en direct et en série avec les diodes zener, entre l'entrée E du circuit de régulation et le noeud B. Cet ensemble formé des diodes zener et du transistor M2 fournit la première tension de référence V1. Dans l'exemple, V1 est égale à 16 volts. Le circuit de comparaison est un circuit à inverseurs, commandé par le niveau de tension au noeud interne B. Il est formé plus particulièrement d'un premier transistor MOS M3, natif, de type N, connecté entre le noeud B et la masse, et de deux transistors MOS M4 et M5 connectés en série entre la tension d'alimentation logique Vcc et la masse. Le transistor M4 est un transistor MOS de type P connecté entre la tension d'alimentation logique Vcc et un noeud de sortie N. Le transistor M5 est un transistor MOS de type N, natif, connecté entre le noeud N et la masse. Il a sa grille connectée au noeud B. Deux inverseurs en série Il et I2 sont en outre prévus pour fournir le signal de régulation Run à partir du signal obtenu au noeud N. Les transistors M3 et M4 sont polarisés sur leur grille respectivement par une tension de polarisation Vmi et Vm2, de manière à passer sensiblement un même courant, de l'ordre de 1 microampère environ. Le fonctionnement du circuit de régulation est le suivant. En prenant le cas d'une opération d'effacement, le transistor M1 n'est pas passant. On a donc une tension de référence imposée par les diodes zener et le transistor M2, et égale à la première tension de référence V1, qui dans l'exemple vaut 16 17 2792761 volts. Si la tension en entrée E est inférieure à Vl, aucun courant ne passe dans cette branche. Le noeud B est tiré à zéro par le transistor M3. Le transistor M5 qui a sa grille à zéro volt n'est pas passant. La tension au noeud N est imposée par le transistor M4 qui ramène sensiblement la tension d'alimentation logique Vcc sur ce noeud. On retrouve en sortie un signal de régulation Run à 1, qui active ou maintient active la pompe de charges. Si la tension en entrée E devient supérieure à la tension VIl, la tension au noeud B monte, ce qui rend passant le transistor M5 dès que l'on a au moins 0,5 volts au noeud B (500 millivolts, tension de seuil typique d'un transistor natif, pour une technologie donnée). Le noeud N est tiré à zéro par le transistor M5. Le signal Run en sortie passe à zéro, commandant l'arrêt de la pompe de charges. En pratique, on applique en entrée E du circuit de régulation 30 ou bien le signal de haute tension V-HI ou de préférence le signal de tension deprogrammation Vpp, avec simulation ou non des pertes et variation de dues à la circuiterie de sélection des cellules. Sur la figure 7b, on a représenté le cas o le circuit de régulation selon l'invention assure la régulation du signal de tension de programmation Vpp (ou Vpps) et celle du signal de haute tension V-HI. Dans ce cas, on applique sur l'entrée E du circuit de régulation 30 le signal de tension de programmation Vpp (ou Vpp$) et sur une entrée E', le signal de haute tension V-HI. On peut en effet avantageusement réaliser la comparaison, et donc la régulation, avec le même circuit, la régulation du signal de haute tension par rapport à V3 intervenant avant la régulation par 18 2792761 rapport à V1 ou V2, le signal de tension de programmation Vpp étant produit à partir du signal de haute tension V-HI. Par rapport au circuit de régulation représenté sur la figure 7a, il suffit de rajouter une deuxième entrée E' recevant le signal de haute tension V-HI et une branche de référence entre cette deuxième entrée E' et le noeud interne B, cette branche comprenant une série de diodes en série en inverse de manière à obtenir la tension de référence V3 désirée. Dans Ltexemple, on a ainsi trois diodes zener D5, D6, D7, avec une tension zener de 5 volts et deux transistors montés en diode, M6 et M8 avec une tension de seuil de 1 volt chacun. On peut connecter cet ensemble de diodes entre l'entrée E' et le noeud interne B comme représenté sur la figure. La troisième tension de référence V3 vaut alors 3x5 +2xl = 17 volts. On peut aussi connecter cet ensemble de diodes entre l'entrée E' et le noeud interne A. Dans ce cas, la troisième référence de tension prend une valeur différente selon le niveau du signal d'écriture/effacement Write: en effacement, V3 = 19 volts, en écriture V3 vaut 18 volts. Par ailleurs, dans ce cas o l'on régule à la fois les signaux Vpp et V-HI, il faut empêcher que le courant passe de la branche associée à l'entrée E dans la branche associée à l'entrée E' et vice versa. On prévoit donc une diode supplémentaire dans chaque branche, qui ne laissera passer le courant que dans le sens voulu. Dans l'exemple, ces diodes sont réalisées par des transistors MOS de type N, chacun ayant sa grille reliée à son drain. Dans l'exemple, ces transistors On a ainsi entre le diode D3 et le noeud A, un transistor M8 de protection. De même entre le transistor M7 et le noeud B (ou bien le transistor M7 et le noeud A) on a un transistor M9 de protection. Chronologiquement, le niveau du signal de haute tension V-HI monte avant celui du signal de tension de programmation Vpp. Si ce niveau du signal de haute tension dépasse la tension de référence V3, la régulation fonctionne, le signal Run passant à 0 selon le principe expliqué précédemment et stoppe la pompe j--squ'à ce que le niveau du signal de haute tension repasse sous cette tension de référence V3. Lorsque le signal de tension de programmation Vpp monte en niveau et dépasse la tension de référence courante Vl ou V2, selon l'opération de programmation à effectuer, la régulation fonctionne là aussi pour contrôler la pompe. L'invention qui vient d'être décrite et dont des exemples de réalisation ont été expliqués est applicable à tout circuit intégré comprenant une mémoire non volatile électriquement programmable. Elle utilise des circuits bien connus de l'homme du métier, à savoir une pompe de charges, un générateur de rampe de tension et une circuiterie de sélection de cellules mémoire. L'exemple de réalisation d'un circuit de régulation selon l'invention et ses différentes variantes permettent une mise en ouvre particulièrement simple et compacte, donc peu coûteuse du dispositif de programmation selon l'invention. D'autres réalisations sont bien sûr possibles, sans sortir du cadre de l'invention. REVENDICATIONS 1. Dispositif de programmation de cellules d'une mémoire électriquement programmable, chaque cellule comportant un transistor à grille flottante (Tm), caractérisé en ce qu'il comprend des moyens pour appliquer sur les cellules un premier niveau de tension de programmation (Vppe) pour des opérations de type effacement et un deuxième niveau de tension (Vppw) ptur des opérations de programmation de type écriture, ces premier et deuxième niveaux de tension étant déterminés pour appliquer aux transistors à, grilles flottantes des cellules à programmer, un champ électrique identique en valeur absolue lors des deux types d'opération de programmation. 2. Dispositif de programmation selon la revendication 1, comprenant un circuit de génération d'une tension de programmation utilisée pour effectuer les opérations de programmation de type écriture ou effacement, caractérisé en ce qu'il comprend un circuit de régulation (30) de la tension de programmation par rapport à une première tension de référence (Vl) correspondant au dit premier niveau (Vppe) ou une deuxième tension de référence (V2) correspondant au dit deuxième niveau (Vppw), la sélection d'une tension de référence correspondant au type de programmation à effectuer. 3. Dispositif de programmation selon la revendication 1 ou 2, le circuit de génération de la tension de programmation comprenant un circuit à pompe de charges (10) pour fournir un signal de haute tension (V-HI) appliqué à un générateur (2) d'un signal de tension de programmation (Vpp) sous forme d'une impulsion, ce signal de tension de programmation étant transmis à une circuiterie de sélection (2) de cellules de la mémoire pour leur appliquer des tensions de commande correspondant à l'opération de programmation à effectuer, caractérisé en ce que le signal appliqué sur une première entrée (E) du circuit de régulation pour être comparé aux première ou deuxième tensions de référence (Vl, V2) est le signal de haute tension (V- H') ou le signal de tension de programmation (Vpp). 4. Dispositif de programmation selon la revendication 3, caractérisé en ce que le signal appliqué sur la première entrée (E) est le signal de tension de programmation (Vpp) et en ce que le circuit de régulation (30) comprend un circuit de simulation d'une circuiterie de sélection (2) de celllules mémoire par laquelle le signal de tension de programmation est appliqué aux cellules. 5. Dispositif de programmation selon la revendication 3 ou 4, caractérisé en ce que le signal appliqué sur la première entrée (E) du circuit de régulation (30) est le signal de tension de programmation (Vpp) et en ce que le dispositif comprend en outre des moyens pour réguler le signal de haute tension (V-HI) fourni par le circuit à pompe de charges, par rapport à une troisième tension de référence (V3) de valeur supérieure aux première et deuxième tensions de référence (Vl, V2). 22 2792761 6. Dispositif de programmation selon l'une des revendications 3, 4 et 5, caractérisé en ce que le circuit de régulation comprend un premier ensemble de diodes (D1, D2, D3, M2) en inverse et en série entre la première entrée (E) du circuit de régulation et un noeud interne (B), un circuit de commutation (Ml) permettant la sélection de tout ou partie des diodes dudit premier ensemble en fonction de l'opération de programmation à effectuer, de manière à fournir la première ou la deuxième tension de référence (V1, V2), le circuit de régulation comprenant en outre un dispositif de comparaison fournissant en sortie un signal de régulation (Run) appliqué au circuit à pompe de charges et dont le basculement est commandé par la tension au noeud interne (B). 7. Dispositif de programmation selon la revendication 6 en combinaison avec la revendication 5, caractérisé en ce que le circuit de régulation comprend une deuxième entrée E' pour recevoir le signal de haute tension, et un deuxième ensemble de diodes en série (D5, D6, D7, M6, M7) et en inverse connectées entre cette deuxième entrée (E') et le noeud interne (B), définissant la troisième tension de référence (V3). 8. Circuit intégré à mémoire non volatile électriquement programmable, caractérisé en ce qu'il comprend un dispositif de programmation selon l'une quelconque des revendications précédentes.