FR 2798769 A1 20010323 FR 9911858 A 19990920 Circuit de programmation ou d'effacement d'une cellule mémoire L'invention a pour objet un circuit de programmation ou d'effacement d'une cellule mémoire. L'invention s'applique tout particulièrement aux mémoires non volatiles programmables et effaçables électriquement, par exemple de type EEPROM. Le plus souvent, le composant principal d'une cellule mémoire de ces mémoires est un transistor de mémorisation de type à grille flottante comprenant un drain, une source, une grille de commande et une grille flottante qui mémorise une information. La programmation d'une cellule mémoire est le plus souvent réalisée en deux étapes une étape d'effacement et une étape d'écriture. Pour réaliser une étape d'effacement de la cellule mémoire, on applique une haute tension sur la grille de commande du transistor de mémorisation et une tension nulle sur son drain et sur sa source. Ainsi, la différence de potentiel entre la grille de commande et le drain du transistor de mémorisation entraîne la création d'un champ électrique entre la grille de commande et le drain, qui a pour conséquence la migration d'électrons depuis la source et le drain vers la grille flottante et donc la décharge de la grille flottante. Inversement, pour réaliser une étape d'écriture de la cellule mémoire, on applique une tension nulle sur la grille de commande du transistor de mémorisation et une haute tension sur son drain, sa source étant portée à un potentiel flottant. La différence de potentiel entre la grille de commande et le drain du transistor de mémorisation entraîne la création d'un champ électrique de polarité opposée, qui a pour conséquence la migration d'électrons en sens inverse, depuis la grille flottante du transistor de mémorisation vers son drain. Pour réaliser une étape d'écriture ou d'effacement de la cellule mémoire, il est ainsi nécessaire de disposer d'une haute tension de programmation ou d'effacement, de l'ordre de 15 à 20 V, qui est appliquée sur l'une ou l'autre des électrodes du transistor de mémorisation de la cellule mémoire, selon l'opération à effectuer. Cependant, la couche d'oxyde comprise entre la grille flottante et le drain du transistor de mémorisation est peu épaisse et fragile. Aussi, lorsque la tension appliquée sur les électrodes du transistor de mémorisation est supérieure à une tension dite tunnel, elle ne doit pas varier brutalement afin de ne pas fragiliser, voire détériorer la couche d'oxyde. On rappelle que la tension tunnel est la tension minimale nécessaire pour qu'une charge transite par effet tunnel à travers la couche d'oxyde, entre la grille flottante et le drain d'un transistor à grille flottante. Typiquement, la valeur de la tension tunnel est de l'ordre de 10 V. Pour obtenir une tension variant progressivement et lentement, on utilise classiquement un circuit de programmation ou d'effacement dont un exemple simple est présenté schématiquement sur la figure la ; il comprend un circuit élévateur de tension 101, un circuit de génération de rampe 102, un circuit de mise en forme 105 et une cellule mémoire 106, tous quatre alimentés par une basse tension d'alimentation Vdd (non représentée sur la figure la), de l'ordre de 2 à 3 V. Le circuit élévateur de tension 101 est par exemple de type pompe de charge ; il produit une haute tension HV de l'ordre de 15 à 20 V à partir de la basse tension d'alimentation Vdd. Le circuit de génération de rampe 102 reçoit la haute tension HV et produit une tension RAMP qui a par exemple la forme représentée en trait continu sur la figure 1b. Elle comprend - une phase ascendante 110 au cours de laquelle la tension RAMP augmente de façon continue jusqu'à sa valeur maximale Vmax, qui est par exemple égale à la haute tension HV, - un plateau de tension 111 pendant lequel la tension RAMP est constante, égale à la valeur Vmax, - une chute de tension 112. Le circuit de génération de rampe 102 comprend classiquement un circuit de charge et de décharge d'un condensateur 103, alimenté par une source de courant 104 qui fournit un courant de référence Iref. Le composant principal du circuit 103 est un condensateur de puissance. La phase ascendante 110 de la tension RAMP est obtenue en chargeant le condensateur avec un courant de charge Ich, proportionnel au courant de référence Iref. Le plateau de tension 111 est quant à lui obtenu par la décharge de ce même condensateur avec un courant de décharge Idech, également proportionnel au courant de référence Iref. Le courant de décharge Idech est souvent, mais pas nécessairement, plus important que le courant de charge Ich. En conséquence, la phase ascendante 110 est souvent plus longue que le plateau de tension 111. La phase ascendante 110 et le plateau de tension 111 ont une durée totale TRAmP qui correspond à la durée d'une opération d'effacement (ou de programmation), encore appelée temps d'effacement TER (ou temps de programmation TWR) . Un choix convenable de la capacité du condensateur ainsi que du courant de référence Iref permet d'optimiser la pente de la phase ascendante ainsi que la durée totale TRAmP. Ce choix est en général un compromis fait à partir des critères suivants - lorsque la tension appliquée sur les électrodes du transistor de mémorisation est supérieure à la tension tunnel, elle ne doit pas varier brutalement afin de ne pas fragiliser, voire détériorer la couche d'oxyde. Pour cela, la pente de la phase ascendante ne doit pas dépasser une valeur limite. - sachant qu'une étape d'effacement ou de programmation est réalisée à environ 90 % pendant la phase ascendante, il est préférable d'avoir une phase ascendante dont la durée est beaucoup plus importante que le plateau de tension qui la suit. Pour cela, la pente de la phase ascendante doit être de préférence la plus faible possible, - la durée totale TOP doit être suffisamment longue pour que la tension RAMP ait le temps d'atteindre sa valeur maximale Vmax, - le plateau de tension doit durer suffisamment longtemps pour assurer la réalisation complète d'une étape d'effacement ou de programmation, - la durée totale TOP doit être la plus faible possible. . Le circuit de mise en forme 105 reçoit la tension RAMP et produit une haute tension de programmation ou d'effacement Vpp qui est appliquée sur les électrodes de la cellule mémoire 106. Le circuit de mise en forme peut comprendre un transistor de type N recevant sur son drain la tension RAMP et qui fournit la haute tension de programmation ou d'effacement Vpp sur sa source. Sur la grille de ce transistor de type N, on applique un signal dont la tension croît régulièrement avec le temps de manière à contrôler la tension Vpp disponible sur sa source. La haute tension de programmation ou d'effacement Vpp a par exemple la forme représentée en tirets sur la figure 1b ; elle comprend - un premier plateau de tension 115, pendant lequel la tension vpp est égale à la basse tension d'alimentation Vdd, - une phase ascendante 116 suivie d'un second plateau de tension 117, la tension Vpp est ici égale à la tension RAMP, à une chute de tension VTN près, - une chute de tension 118, au cours de laquelle la tension Vpp redescend à la valeur Vdd. I1 apparaît ainsi que la tension Vpp suit les variations de la tension RAMP, à une chute de tension VTN près, de l'ordre de 2 V, qui correspond approximativement à la tension de seuil de conduction d'un transistor de type N. Aussi, on ne peut disposer en fin de rampe que d'une tension Vppmâx égale à Vmax - VTN, c'est-à-dire environ 16 V. Si on veut pouvoir disposer d'une haute tension de programmation ou d'effacement plus importante, il est nécessaire augmenter la haute tension HV. Pour réduire le temps d'effacement TER (ou de programmation TWR), il est possible d'utiliser une tension RAMP dont la phase ascendante est réalisée en deux étapes - une première phase ascendante au cours de laquelle la tension RAMP augmente très rapidement avec une première pente importante, jusqu'à un seuil de tension Vs, - une seconde phase ascendante, au cours de laquelle la tension RAMP augmente beaucoup plus lentement, avec une pente beaucoup plus faible, depuis la valeur VS jusqu'à la valeur maximale Vmax. Une telle tension RAMP est représentée en pointillés sur la figure lb. Ce choix permet de réduire la durée de la phase ascendante, sans risque d'endommager le transistor de mémorisation de la cellule mémoire. En effet, la tension appliquée sur les électrodes du transistor de mémorisation peut varier rapidement tant qu'elle reste inférieure à une valeur limite la tension tunnel. Aussi, on choisit de préférence un seuil de tension VS de l'ordre de 10 V, c'est-à-dire légèrement inférieur à la tension tunnel du transistor de mémorisation. Cependant, la pente de la phase ascendante et le temps d'effacement TER (ou de programmation TWR) dépendent fortement de la valeur du courant de référence Iref et il est particulièrement difficile d'obtenir une source de courant parfaitement stable. En particulier, le courant de référence Iref varie avec la basse tension d'alimentation Vdd et avec la température. Par exemple, si le circuit de programmation ou d'effacement est utilisé pour une carte à puce sans contact, la température peut varier avec les conditions d'utilisation de la carte. De plus, la stabilité de la source de tension qui produit la basse tension d'alimentation Vdd dépend dans ce cas beaucoup de la puissance reçue par la carte à puce qui varie elle-même entre autre avec la distance entre la carte et le lecteur et avec l'orientation de l'une par rapport à l'autre. On constate ainsi que le temps d'effacement (ou de programmation) réel d'une cellule mémoire peut varier de 1 à 4ms, et il n'est pas possible, actuellement, de connaître sa valeur exacte avant la fin d'une étape d'effacement (ou de programmation). La variation du courant de référence Iref a ainsi pour conséquence des variations importantes et mal maîtrisées du temps d'effacement TER (ou de programmation TWR) de la cellule mémoire. Le circuit de programmation ou d'effacement doit alors nécessairement disposer d'un indicateur de fin d'activité pour indiquer aux circuits extérieurs qu'il a terminé une opération d'effacement ou de programmation en cours. Un premier but de l'invention est de fixer de manière précise le temps d'effacement TER (ou de programmation TWR) d'une cellule mémoire à une valeur prédéterminée At. Pour cela, l'invention propose un circuit de programmation ou d'effacement d'une cellule mémoire d'une mémoire non volatile, le circuit de programmation ou d'effacement étant alimenté par une basse tension d'alimentation et comprenant - un circuit de production d'une tension de programmation ou d'effacement qui reçoit un signal de commande et qui . fournit une haute tension de programmation ou d'effacement à partir de la basse tension d'alimentation, - un circuit de sélection pour appliquer la haute tension de programmation ou d'effacement à au moins une entrée de la cellule mémoire lorsqu'un signal de commande d'effacement ou un signal de commande d'écriture est reçu, - un circuit de commande qui fournit le signal de commande pour démarrer le circuit de production d'une tension de programmation ou d'effacement et qui fournit soit le signal de commande d'effacement si une opération d'effacement est envisagée ; soit le signal de commande d'écriture si une opération d'écriture est envisagée ; soit le signal de commande d'effacement et le signal de commande d'écriture ,si une opération d'effacement suivie d'une opération d'écriture est envisagée, le circuit de programmation ou d'effacement étant caractérisé en ce que le circuit de commande comporte un circuit de temporisation qui produit un signal d'arrêt pour fixer la durée d'une opératïon de programmation ou d'une opération d'effacement à un temps de programmation ou d'effacement prédéterminé, le circuit de commande maintenant le signal de commande, le signal de commande d'effacement et le signal de commande d'écriture pendant le temps de programmation ou d'effacement prédéterminé. De préférence, le circuit de temporisation est un compteur pour compter des impulsions d'un signal d'horloge et fournir le signal d'arrêt lorsque le nombre d'impulsions comptées a atteint une valeur prédéterminée. L'invention est particulièrement intéressante pour des applications dites sans contact. Pour de telles applications, on utilisera de préférence un signal d'horloge fourni par le lecteur de la carte à puce contenant le circuit de programmation ou d'effacement selon l'invention. Un tel signal d'horloge, extérieur à la carte à puce et donc au circuit de programmation ou d'effacement, a l'avantage d'être parfaitement stable. Le plus souvent, l'énergie est fournie à la carte à puce par l'intermédiaire d'un signal d'une fréquence fo égale à 13,56 MHz; on utilisera dans ce cas un signal d'horloge de fréquence f = 13,56/n MHz, n étant un nombre entier. Par exemple, on pourra choisir n = 128 et ainsi utiliser un signal d'horloge de fréquence 106 kHz. Avec le circuit de programmation ou d'effacement selon l'invention, le temps d'effacement TER (ou de programmation TWR) a une valeur fixée, il ne dépend donc plus de la stabilité du circuit de génération de rampe et en particulier de la source de courant qui fournit le courant de référence. La pente de la phase ascendante de la tension RAMP peut alors être choisie indépendamment du temps d'effacement TER (ou de programmation TWR) . Un deuxième but de l'invention est de proposer une solution au problème de la perte de tension entre la tension RAMP et la tension Vpp. Pour cela, l'invention propose d'utiliser un circuit de mise en forme comprenant au moins un transistôr de type P. Le transistor de type P ne présentant pas de tension de seuil de conduction, contrairement au transistor de type N, la haute tension de programmation ou d'effacement peut atteindre en fin de compte une valeur supérieure à celle que pouvait atteindre la haute tension de programmation ou d'effacement obtenue selon l'état de la technique, et ce avec une même haute tension HV. On peut alors envisager de réduire la haute tension HV, tout en gardant la même valeur maximale Vmax de la haute tension de programmation ou d'effacement Vpp, ce qui permet de réduire la consommation d'énergie globale du circuit. On peut également envisager de conserver la valeur de la haute tension HV et d'augmenter la valeur maximale Vmax de la haute tension de programmation ou d'effacement Vpp. On améliore ainsi la qualité de l'effacement ou de la programmation de la cellule mémoire, sans augmenter la consommation d'énergie globale du circuit. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés dans lesquels - la figure la est un schéma fonctionnel illustrant un circuit de programmation ou d'effacement d'une cellule mémoire, selon l'art antérieur, - la figure lb est un diagramme temporel montrant des signaux à certains points du circuit de programmation ou d'effacement de la figure la, - la figure 2 est un schéma fonctionnel illustrant un circuit de programmation ou d'effacement, selon l'invention, - les figures 3 et 4 sont des schémas électroniques illustrant certains éléments du schéma de la figure 2, - les figures 5a à 5f et 6a à 6e sont des diagrammes temporels des signaux à certains points du circuit de la figure 2. Les figures la et lb correspondent à un état de l'art antérieur et ont été précédemment décrites. Le circuit de programmation ou d'effacement 200 comprend, conformément à la figure 2, un circuit de production d'une tension de programmation ou d'effacement 210, un circuit de sélection 220 et un circuit de commande 240. Tous les éléments du circuit de programmation ou d'effacement 200 sont alimentés par une basse tension d'alimentation Vdd, de l'ordre de 2 à 3 V, non représentée sur la figure 2. Le circuit de production de la tension de programmation ou d'effacement 210 reçoit, sur une borne d'entrée de commande 212, un signal un signal de commande NOP et il fournit, sur une borne de sortie haute tension 213, une haute tension de programmation ou d'effacement Vpp. Le circuit de production de la tension de programmation ou d'effacement 210 comprend un circuit élévateur de tension 250, un circuit de détection haute tension 260, un circuit de génération de rampe 270 et un circuit de mise en forme 280. Le circuit élévateur de tension 250 comprend une borne d'entrée d'activation 251 pour recevoir le signal de commande NOP et il produit, sur une borne de sortie haute tension 252, une haute tension HV à partir de la basse tension d'alimentation Vdd. Le circuit élévateur de tension 250 est par exemple de type pompe de charge ; lorsque le signal de commande NOP est dans un état logique égal à "1", la haute tension HV est égale à zéro; lorsque le signal de. commande NOP passe de "1" à "0", la haute tension HV croît rapidement et linéairement jusqu'à sa valeur nominale HVN, de l'ordre de 15 à 20 V ; enfin, lorsque le signal de commande NOP passe de "0" à "1", la haute tension HV chute brutalement à zéro. Le circuit de détection haute tension 260 comprend une borne d'entrée haute tension 261 pour recevoir la haute tension HV et une borne de sortie d'état 262 pour fournir un signal d'état ST. Le signal d'état ST est dans un état logique égal à "1" lorsque la haute tension HV est inférieure à un seuil de tension VS, et il est dans un état logique égal à "0", lorsque la haute tension HV est supérieure au seuil de tension VS. Le circuit de détection haute tension 260 est réalisé à partir de diodes, de transistors et de portes logiques, selon un schéma connu. Le circuit de génération de rampe 270 comprend une borne d'entrée haute tension 271 pour recevoir la haute tension HV, une borne d'entrée de commande 272 pour recevoir le signal de commande NOP et une borne d'entrée d'état 273 pour recevoir le signal d'état ST. Le circuit de génération de rampe 270 est inactif lorsque le signal de commande NOP est dans un état logique égal à "1". Le circuit de génération de rampe 270 est activé lorsque le signal de commande NOP passe de "1" à "0" et il fournit alors une tension RAMP sur une borne de sortie haute tension 274, la tension RAMP ayant une valeur maximale Vmax. Des détails complémentaires sur la réalisation et le fonctionnement des circuits élévateurs de tension de type pompe de charge et des circuits de génération de rampe de tension sont décrits dans les demandes de brevet EP-0 762 428, EP-0 913 836, EP-0 678 602 et EP-0 757 427. Le circuit de mise en forme 280 comprend une borne d'entrée haute tension 281 pour recevoir la tension RAMP et une borne d'entrée d'état 282 pour recevoir le signal de commande NOP. Le circuit de mise en forme 280 fournit la haute tension de programmation ou d'effacement Vpp sur une borne de sortie haute tension 283. Le circuit de sélection 220 comprend une borne d'entrée haute tension 221 pour recevoir la haute tension de programmation ou d'effacement Vpp et deux bornes d'entrée de validation 222 et 223 pour recevoir respectivement des signaux de commande d'écriture WR et d'effacement ER. Le circuit de sélection 220 produit, en fonction des signaux de commande d'écriture WR et d'effacement ER, trois signaux haute tension BL, WL et CG et un signal basse tension SL qui sont appliqués sur quatre bornes d'entrée d'une cellule mémoire 290. Le circuit de sélection 220 comprend deux inverseurs haute tension 224 et 225, trois inverseurs 226 à 228 et trois transistors 229 à 231. Les inverseurs haute tension 224 et 225 comprennent chacun une borne d'entrée logique IN connectées respectivement, par l'intermédiaire des.inverseurs 226 et 227, aux bornes d'entrée de validation 222 et 223 pour recevoir les signaux de commande d'écriture WR et d'effacement ER, et une borne d'entrée haute tension HTIN connectée à la borne d'entrée 221 pour recevoir la haute tension de programmation ou d'effacement Vpp. L'inverseur haute tension 224 fournit, sur une borne de sortie OUTN, un signal haute tension WRMD. De même, l'inverseur haute tension 225 fournit, sur une borne de sortie OUTN, le signal haute tension CGMD. Les signaux haute tension WRMD et CGMD ont les caractéristiques suivantes Si WR = 1, ER = 0, WRMD = Vpp et CGMD = 0 Si ER = 1, WR = 0, WRMD = 0 et CGMD = Vpp. L'inverseur 228 comprend une borne d'entrée connectée à la borne d'entrée 222 pour recevoir le signal de commande d'écriture WR et il fournit un signal MSDR sur une borne de sortie. Le drain et la source du transistor 229 sont reliés respectivement à la borne d'entrée haute tension 221 du circuit de sélection 220 et à la borne de sortie OUTN de l'inverseur haute tension 224. Le transistor 229 fournit, sur sa source, le signal haute tension BL. La grille du transistor 230 est connectée à la borne d'entrée de validation 222 par l'intermédiaire de l'inverseur 228 et sa source est reliée à la masse. Le transistor 229 fournit le signal SL sur son drain. Le drain et la source du transistor 231 sont reliés respectivement à la borne d'entrée haute tension 221 du circuit de sélection 220 et à la borne de sortie OUTN de l'inverseur haute tension 225. Le transistor 231 fournit, sur sa source, le signal haute tension CG. Le signal haute tension WL est quant à lui égal à la haute tension de programmation ou d'effacement Vpp. L'élément 290 est un exemple de cellule mémoire d'une mémoire électriquement programmable et effaçable. La cellule mémoire 290 comprend un transistor de sélection 291 et un transistor de mémorisation 292 de type à grille flottante. Les transistors 291 et 292 sont connectés en série, la source du transistor 292 étant reliée à la masse du circuit 200. Le drain et la grille de commande du transistor de sélection 291 et la grille de commande et la source du transistor de mémorisation 292 sont reliés aux sorties du circuit de sélection 220 pour recevoir respectivement les signaux BL, WL, CG et SL. Le circuit de commande 240 comprend une borne d'entrée d'activation 241 pour recevoir un signal d'activation BUSY, et trois bornes de sortie de commande 242 à 244 pour fournir respectivement les signaux de commande d'écriture WR, d'effacement ER, et le signal de commande NOP. Selon un mode de réalisation préféré de l'invention, Le circuit de commande 240 comprend, conformément à la figure 3, un circuit de temporisation 310, un circuit de retard 320, des première 330 et deuxième 340 bascules, deux portes logiques 350 et 360 et deux inverseurs 370. et 380. Un tel circuit de commande 240 permet de réaliser une opération d'effacement suivie d'une opération de programmation. Le circuit de temporisation 310 comprend une borne d'entrée E connectée à la borne d'entrée d'activation 241 pour recevoir le signal d'activation BUSY et une borne de sortie S. Le circuit de temporisation 310 produit un signal d'arrêt END sur sa borne de sortie S. Le circuit de temporisation 310 fixe la durée d'une étape de programmation ou d'effacement de la cellule mémoire 290. Le circuit de temporisation 310 est activé sur un front montant du signal d'activation BUSY et produit une impulsion logique égale à "1" chaque fois qu'un temps prédéterminé At, ou un temps multiple du temps prédéterminé At, s'est écoulé. Le circuit de temporisation 310 peut par exemple être réalisé à l'aide d'un compteur de n bits qui compte les impulsions d'un signal d'horloge et qui fournit un signal d'état lorsqu'il atteint une valeur prédéterminée N La valeur prédéterminée N peut par exemple être choisie égale à la valeur maximale du compteur. Ainsi, si on utilise un compteur de 6 bits avec une horloge ayant une fréquence de 106 kHz, on obtient une impulsion END At = 63/106.103 = 630s après le changement d'état du signal d'activation BUSY. D'autres circuits de temporisation peuvent être envisagés, tels que des filtres par exemple. Néanmoins, pour des temps At de@l'ordre de 100s, un compteur semble être la meilleure solution. Le circuit de retard 320 comprend une borne d'entrée E connectée à la borne d'entrée d'activation 241 pour recevoir le signal d'activation BUSY et une borne de sortie S. Le circuit de retard 320 produit un signal d'activation retardé BUSYD, qui est égal au signal BUSY retardé de quelques microsecondes. Le circuit de retard 320 est réalisé à l'aide d'un filtre et d'inverseurs, selon un schéma connu. L'inverseur 380 comprend une entrée d'état 381, connectée à la borne d'entrée d'activation 241 pour recevoir le signal d'activation BUSY, et une borne de sortie d'état 382. Les portes logiques 350 et 360 sont par exemple de type NON-ET à deux bornes d'entrée et une borne de sortie. Les bornes d'entrée de la porte logique 360 sont connectées respectivement à la borne de sortie d'état 382 de l'inverseur 380 et à la borne de sortie S du circuit de retard 320. La porte logique 360 fournit un signal SD sur sa borne de sortie. Les bornes d'entrée de la porte logique 350 sont connectées respectivement à la borne de sortie 382 de l'inverseur 380 et à la borne de sortie d'état S du circuit de temporisation 310. La borne de sortie de la porte logique 350 est connectée à la borne de sortie de commande 244, par l'intermédiaire de l'inverseur 370, pour fournir le signal de commande NOP. Les première 330 et deuxième 340 bascules sont par exemple des structures de mémorisation bistables non synchronisées et couramment appelées bascules RS ; elles comprennent deux bornes d'entrée d'état R et S et une borne de sortie d'état Q'. Les bornes d'entrée d'état R et S de la première bascule 330 sont connectées respectivement à la borne de sortie d'état S du circuit de temporisation 310 et à la borne de sortie 382 de l'inverseur 380. La première bascule 330 fournit le signal de commande d'écriture WR sur sa borne de sortie d'état Q' connectée à la borne de sortie de commande 242. Les bornes d'entrées d'état R et S de la deuxième bascule 340 sont connectées respectivement à la borne de sortie de la porte logique 360 et à la borne de sortie d'état S du circuit de temporisation 310. La deuxième bascule 340 fournit le signal de commande d'effacement ER sur sa borne de sortie d'état Q' connectée à la sortie de commande 243. Le circuit de mise forme 280 comprend, conformément à la figure 4, un inverseur haute tension 410, deux transistors 420 et 430 et un inverseur 440. L'inverseur haute tension 410 comprend une borne d'entrée logique IN connectée à la borne d'entrée 282 par l'intermédiaire de l'inverseur 440 et une borne d'entrée haute tension HTIN connectée à la borne d'entrée haute tension 281 pour recevoir la tension RAMP. L'inverseur haute tension 410 produit, sur des bornes de sortie haute tension OUT et OUTN, deux signaux haute tension CMHV et CMVHN. Les transistors 420 et 430 sont connectés en série. Le drain du transistor 420 est relié à la borne d'entrée haute tension 281 et sa grille est connectée à la borne de sortie haute tension OUT. La source du transistor 430 reçoit la basse tension d'alimentation Vdd et sa grille est reliée à la borne de sortie haute tension OUTN de l'inverseur haute tension 410. Enfin, la source du transistor 420 et le drain du transistor 430 sont connectés ensemble à la borne de sortie haute tension 283 du circuit de mise -en forme 280 pour fournir la haute tension de programmation ou d'effacement Vpp. De préférence, les transistors 420 et 430 sont des transistors de puissance de type P, ayant une tension de seuil négative. On obtient ainsi une valeur maximale de la haute tension de programmation Vpp égale à la valeur maximale Vmax de la tension RAMP. Pour bloquer correctement les transistors 420 et 430, on utilise les signaux haute tension CMHV et CMHVN obtenus par l'intermédiaire de l'inverseur haute tension 410. Le circuit de mise en forme 280 fonctionne de la manière suivante. Lorsque le signal de commande NOP est égal à "1", le transistor 420 reçoit sur sa grille le signal haute tension CMHVN, égal à la tension RAMP, il est donc bloqué ; le transistor 430 reçoit quant à lui sur sa grille le signal CMHV, qui est nul, il est donc passant. La haute tension de programmation ou d'effacement Vpp est dans ce cas égale à la basse tension d'alimentation Vdd appliquée sur la source du transistor 430. Inversement, lorsque le signal de commande NOP est égal à "0", le transistor 420 reçoit sur sa grille le signal CMHVN, qui est nul, il est donc passant ; le transistor 430 reçoit quant à lui sur sa grille le signal haute tension CMHV, égal à la tension RAMP, il est donc bloqué. La haute tension de programmation ou d'effacement Vpp est dans ce cas égale à la tension RAMP. En résumé Si NOP = 1, CMHV = 0, CMHVN = RAMP et Vpp = Vdd Si NOP = 0, CMHV = RAMP, CMHVN = 0 et Vpp = RAMP. Le fonctionnement du circuit de programmation et d'effacement 200 va maintenant être expliqué en relation avec les figures 5a à 5f et 6a à.6e. Dans l'exemple qui suit, nous détaillerons le fonctionnement du circuit 200 au cours d'une étape d'effacement suivie d'une étape de programmation de la cellule mémoire 290. Bien sûr, cet exemple n'est nullement limitatif de l'invention. Les figures 5a à 5f présentent les diagrammes temporels des signaux logiques BUSY, END, ST, NOP, ER, WR et les figures 6a à 6e présentent les diagrammes temporels des signaux haute tension HV, RAMP, Vpp, WRMD et CGMD, présents à différents points du circuit de programmation ou d'effacement 200. Pour cet exemple, un compteur de 6 bits est utilisé pour la réalisation du circuit de temporisation 310. Les étapes de programmation ou d'effacement ont ainsi chacune une durée prédéterminée de dt = 630s. Le circuit élévateur de tension 250 choisi fournit une haute tension HV dont la valeur nominale HVN est égale à 16 V. Enfin, le circuit de génération de rampe 270 retenu fournit, lorsqu'il est activé sur un front descendant du signal de commande NOP, une tension RAMP comprenant - une première phase ascendante, au cours de laquelle la tension grimpe très rapidement depuis zéro jusqu'à un seuil de tension VS, par exemple égal à 10 V ; au cours de cette première phase, la tension RAMP est par exemple égale à la haute tension HV, qui passe très rapidement de la valeur zéro à sa valeur nominale HVN lors de l'activation du circuit 200 par le signal de commande NOP, - une seconde phase ascendante au cours de laquelle la tension RAMP augmente plus lentement, depuis la valeur VS jusqu'à sa valeur maximale Vmax, égale à HVN, selon une seconde pente inférieure à la première, - un plateau de tension pendant lequel la tension RAMP est égale à sa valeur maximale Vmax, - une chute de tension, lorsque le signal de commande NOP passe de "0" à "1". Les première et seconde pentes de la tension RAMP sont choisies de sorte que la valeur maximale Vmax de la tension RAMP soit atteinte avant la fin de la durée prédéterminée At. Enfin, le circuit de programmation ou d'effacement 200 est alimenté par une basse tension d'alimentation Vdd égale à 3 V. Initialement, la basse tension d'alimentation Vdd est nulle et le signal d'activation BUSY est égal à "0", de même que les signaux END et BUSYD en sortie des circuits de temporisation 310 et de retard 320. Les signaux de commande d'écriture WR et d'effacement ER en sortie des première et deuxième bascules 330 et 340 sont également nuls. La borne de sortie de la porte 350 fournit dans ce cas un "0" logique et le signal de commande NOP a la valeur logique "1". De plus, le circuit 200 étant inactif, les signaux haute tension HV, RAMP, Vpp, WRMD, CGMD, CMHV, CMHVN, BL, WL et CG sont tous nuls. Enfin, la haute tension HV étant inférieure au seuil de tension VS, le signal d'état ST est égal à "1". Lorsque le circuit de programmation ou d'effacement 200 est activé, à l'instant t = to, la basse tension d'alimentation prend sa valeur nominale Vdd égale à 3 V et le signal d'activation BUSY passe à "1", ce qui a pour conséquence le déclenchement du circuit de temporisation 310 et du circuit de retard 320. Les signaux END et BUSYD restent à la valeur "0". La sortie d'état 382 de l'inverseur 380 passe à "0", la sortie d'état de la porte logique 350 passe à "1" et le signal de commande NOP passe à "0". Le signal SD en sortie de la porte logique 360 passe à "1" ainsi que le signal de commande d'effacement ER, ce qui déclenche une opération d'effacement de la cellule mémoire 290. La sortie Q' de la première bascule 330 ne change pas et le signal de commande d'écriture WR reste à "0". Le changement d'état du signal BUSY entraîne également la mise en route du circuit élévateur de tension 250 et la haute tension HV monte très rapidement. La tension HV étant inférieure au seuil de tension Vs, le signal d'état ST reste égal à "1", la tension RAMP est dans ce cas égale à la haute tension HV. Le signal de commande NOP étant égal à "0", le circuit de mise en forme 280 produit la haute tension de programmation ou d'effacement Vpp égale à la tension RAMP. Le signal de commande d'effacement ER étant égal à "1", la haute tension CGMD est égale à la tension RAMP et la tension WRMD est nulle. Le transistor 229 est donc bloqué et la tension BL est nulle.' Le transistor 231 est quant à lui passant et il produit la haute tension CG égale à VPP-VT, soit environ 14 V, VT étant le seuil de tension du transistor 231, de l'ordre de 2 V. De même, le signal de commande d'écriture WR étant égal à "0", le signal MSDR est égal à "1", le transistor 230 est passant et le signal SL est nul. Ainsi, le transistor de sélection 291 étant passant, le drain et la source du transistor de mémorisation 292 reçoivent une tension nulle et sa grille de commande la haute tension CG : la cellule mémoire va donc bien être effacée. A l'instant t = t1, la haute tension HV atteint le seuil de tension VS et le signal d'état ST passe à "0". En conséquence, la pente du signal RAMP devient plus faible, la haute tension de programmation ou d'effacement Vpp reste égale à RAMP. A l'instant t = t2, la tension HV atteint sa valeur nominale HVN. A l'instant t = t3, compris entre t0 et t5, le signal d'activation retardé BUSYD prend la valeur logique "1", le signal SD sur la borne d'entrée R de la deuxième bascule 340 passe à "0", mais le signal de commande d'effacement ER sur sa borne de sortie reste inchangé, égal à "1". A l'instant t = t4, la tension RAMP atteint sa valeur maximale Vmax égale à la tension nominale HVN de la haute tension HV. A l'instant t = t5, la durée de la temporisation At est écoulée et le circuit de temporisation 310 produit une impulsion END égale à "1". La porte logique 350 produit une impulsion à "0" et une impulsion égale à "1" apparaît sur le signal de commande NOP. En conséquence, la haute tension HV ainsi la tension RAMP chutent à zéro et la haute tension de programmation ou d'effacement Vpp prend la valeur de la basse tension d'alimentation Vdd. L'impulsion à "1" sur le signal d'arrêt END entraîne également le changement d'état de l'entrée S et de la sortie Q' de la deuxième bascule 340 : le signal de commande d'effacement ER prend la valeur logique "0" et la tension CGMD devient nulle, l'opération d'effacement est terminée. De même, l'impulsion à "1" sur le signal d'arrêt END entraîne le changement d'état de l'entrée R et de la sortie Q' de la première bascule 330 : le signal de commande d'écriture WR prend la valeur logique "1" et la tension WRMD devient égale à la tension Vpp, l'opération d'écriture commence. Le signal de commande d'écriture WR étant égal à "1", le signal WRMD est égal à la tension Vpp, le transistor 229 est passant et le signal haute tension BL est égal à Vpp - VT soit environ 14 V, VT étant le seuil de tension du transistor 229 de l'ordre de 2 V. Le signal CGMD est nul le transistor 231 est donc bloqué et la tension CG est nulle. Le signal MSDR est quant à lui égal à "0", le transistor 230 est bloqué et son drain est à un potentiel flottant. Ainsi, le transistor de sélection 291 étant passant, le transistor de mémorisation 292 reçoit le signal haute tension BL sur son drain, la tension CG qui est nulle sur sa grille de commande et sa source est portée à un potentiel flottant . la cellule mémoire 290 va donc bien être programmée. Après l'impulsion à "1" sur le signal END, le signal de commande NOP revient rapidement à "0", la haute tension HV monte très rapidement, de même que les tensions RAMP, Vpp et WRMD. A l'instant t = t6, la haute tension HV atteint le seuil de tension Vs, le signal d'état ST passe à "0" et la tension RAMP augmente moins rapidement. A l'instant t = t7, la haute tension HV atteint sa valeur nominale HVN, sans conséquence sur le reste du circuit. A l'instant t = t8, la tension RAMP atteint sa valeur maximale Vmax, égale à HVN. A l'instant t = t9, la durée de la temporisation At est écoulée une seconde fois, le circuit de temporisation produit une autre impulsion égale à "1" sur le signal END. Le signal d'activation BUSY passe à "0", le signal de commande NOP ainsi que le signal d'état ST prennent la valeur logique "1". Le signal ER reste à "0" et le signal WR passe à "0". Le signal de commande NOP prenant la valeur logique "0", le circuit élévateur de tension 250, le circuit de génération de rampe 260 et le circuit de mise en forme 270 s'arrêtent et les toutes les hautes tensions, en particulier HV, RAMP, Vpp et WRMD, CMHV, CMHVN, BL et WL, chutent rapidement à zéro. L'étape de programmation est terminée. Dans l'exemple ci-dessus, nous avons détaillé le fonctionnement du circuit de programmation ou d'effacement 200 au cours d'une étape d'effacement suivie d'une étape de programmation de la cellule mémoire 290 et dans le cas où la haute tension HV chutait entre les deux étapes décrites. Bien sûr, cet exemple n'est nullement limitatif de l'invention. Le circuit 200, légèrement modifié éventuellement, peut en effet être utilisé pour d'autres applications, sans sortir du cadre général de l'invention. Par exemple, le circuit 200 peut être utilisé pour réaliser deux étapes d'effacement et de programmation sans que la haute tension HV chute entre les deux étapes. Dans ce cas, on commandera le circuit élévateur de tension 250 par le signal d'activation BUSY et non plus par le signal de commande NOP. le fonctionnement du circuit 200 est identique au cas précédemment décrit Pour t variant entre to et t5. Par contre, pour t variant entre t5 et t7, le fonctionnement du circuit 200 est légèrement différent et en particulier, la tension RAMP grimpe selon une seule pente lente, depuis la valeur 0 jusqu'à sa valeur Vmax = HVN. Les tensions Vpp et WRMD, et par conséquent la tension BL, suivent l'évolution de la tension RAMP. Le circuit 200 peut également être utilisé pour une unique étape, d'effacement ou de programmation, en simplifiant le circuit de commande 240. Lorsque seule une étape d'effacement est envisagée, le circuit de commande 240 du circuit 200 est modifié de la manière suivante. Le circuit de retard 320, les première et deuxième bascules 330, 340, ainsi que la porte logique 360 sont supprimés. La borne de sortie de commande 242 est connectée à la sortie 382 de l'inverseur 380 et la borne de sortie de commande 243 est connectée la borne d'entrée d'activation 241. Dans ce cas, lorsque le circuit 200 est activé, le signal d'activation BUSY prend la valeur logique "1", le signal de commande d'effacement est égal à "1" et le signal de commande d'écriture est égal à "0". De manière similaire, lorsque seule une étape d'écriture est envisagée, le circuit de commande 240 du circuit 200 est modifié de la manière suivante. Le circuit de retard 320, les première et deuxième bascules 330, 340, ainsi que la porte logique 360 sont supprimés. La borne de sortie de commande 242 est connectée à la borne d'entrée d'activation 241 et la borne de sortie de commande 243 est connectée à la sortie 382 de l'inverseur 380. Dans ce cas, lorsque le circuit 200 est activé, le signal d'activation BUSY prend la valeur logique "1", le signal de commande d'effacement est égal à "0" et le signal de commande d'écriture est égal à "1". Il est à noter que les différentes valeurs numériques proposées pour les tensions et les signaux logiques ne sont bien entendu que des exemples et peuvent être modifiées, éventuellement en adaptant le circuit de programmation ou d'effacement 200 si nécessaire. REVENDICATIONS 1. Circuit de programmation. ou d'effacement (200) d'une cellule mémoire (290) d'une mémoire non volatile, le circuit de programmation ou d'effacement (200) étant alimenté par une basse tension d'alimentation (Vdd) et comprenant - un circuit de production d'une tension de programmation ou d'effacement (210) qui reçoit un signal de commande (NOP) et qui fournit une haute tension de programmation ou d'effacement (Vpp) à partir de la basse tension d'alimentation (Vdd), - un circuit de sélection (220) pour appliquer la haute tension de programmation ou d'effacement (Vpp) à au moins une entrée de la cellule mémoire (290) lorsqu'un signal de commande d'effacement (ER) ou un signal de commande d'écriture (WR) est reçu, - un circuit de commande (240) qui fournit le signal de commande (NOP) pour démarrer le circuit de production d'une tension de programmation ou d'effacement (210) et qui fournit soit le signal de commande d'effacement (ER) si une opération d'effacement est envisagée ; soit le signal de commande d'écriture (WR) si une opération d'écriture est envisagée ; soit le signal de commande d'effacement (ER) et le signal de commande d'écriture (WR) si une opération d'effacement suivie d'une opération d'écriture est envisagée, le circuit de programmation ou d'effacement (200) étant caractérisé en ce que le circuit de commande (240) comporte un circuit de temporisation (310) qui produit un signal d'arrêt (END) pour fixer la durée d'une opération de programmation ou d'une opération d'effacement à un temps de programmation ou d'effacement prédéterminé (0t), le circuit de commande (240) maintenant le signal de commande (NOP), le signal de commande d'effacement (ER) ou le signal de commande d'écriture (WR) pendant le temps de programmation ou d'effacement prédéterminé At. 2. Circuit selon la revendication 1, caractérisé en ce que le circuit de temporisation (310) est un compteur pour compter des impulsions d'un signal d'horloge et fournir le signal* d'arrêt (END) lorsque le nombre d'impulsions comptées a atteint une valeur prédéterminée (N). 3. Circuit selon la revendication 1 ou 2, caractérisé en ce que le circuit de commande (240) comporte en outre une porte logique (350, 370) qui reçoit le signal d'arrêt (END) et produit le signal de commande (NOP). 4. Circuit selon l'une des revendications 1 à 3, caractérisé en ce que le circuit de commande (240) comporte en outre des première (330) et deuxième (340) bascules pour recevoir le signal d'arrêt (END) et fournir respectivement les signaux de commande d'effacement (ER) et d'écriture (WR). 5. Circuit selon l'une des revendications 1 à 4, caractérisé en ce que le circuit de production d'une tension de programmation ou d'effacement (210) comporte un circuit de mise en forme (280) recevant une rampe de tension (RAMP) et le signal de commande (NOP) et fournissant la haute tension de programmation ou d'effacement (Vpp), le circuit de mise en forme (280) comprenant au moins un transistor (420, 430) de type P. 6. Carte à puce à mémoire, caractérisée en ce qu'elle comporte un circuit de programmation ou d'effacement (200) selon les revendications 1 à 5.