Brevet FR2745415A1 — publié le 19970829

CIRCUIT D'INHIBITION DE FONCTIONNEMENT L'invention concerne les circuits intégrés, et plus particulièrement un circuit permettant d'assurer temporairement l'inhibition de certaines fonctions d'un circuit intégré en fonction de la valeur de la tension d'alimentation du circuit. En effet, dans certains circuits, plus particulièrement dans certains circuits logiques, des fonctionnements erronés peuvent être engendrés du fait de l'insuffisance de la valeur de la tension d'alimentation. Pour éviter ces fonctionnements erronés, on préfère inhiber complètement certaines fonctions du circuit intégré quand cette insuffisance se produit. Une telle inhibition est en pratique presque toujours réalisée dans les circuits logiques pendant la mise sous tension du circuit. On utilise pour cela des circuits de démarrage (dits "power up" dans la littérature anglo-saxonne). Ces circuits produisent généralement un créneau de tension débutant au moment de la mise sous tension et pouvant se prolonger au moins jusqu'à ce que la tension d'alimentation ait atteint une valeur Vseuil, dite de seuil, suffisante (par exemple 3 volts pour un circuit fonctionnant sous 5 volts). Un tel circuit de démarrage semble par exemple indispensable pour les circuits à mémoire non volatile électriquement programmable. En effet, il y a un risque de programmation indésirable de la mémoire par suite d'instructions non fiables données pendant le début de la mise sous tension.Ceci est critique dans le cas par exemple de circuits de carte à puce à mémoire électriquement programmable où le contenu de la mémoire doit être parfaitement fiable. Lors de la définition d'un circuit intégré, on définit habituellement une plage de valeurs de tension d'alimentation dans laquelle le fabriquant garantit aux utilisateurs un fonctionnement normal. Généralement, cette plage est définie à partir d'une valeur de tension nominale et d'un pourcentage de variation autour de cette valeur. Par exemple, les circuits définis pour fonctionner normalement avec une alimentation de 5 volts sont garantis pouvoir fonctionner normalement entre 4.5 et 5.5 volts. Un problème qui se pose dans la réalisation de circuits de démarrage est de définir un niveau de seuil de fonctionnement stable. En pratique, les circuits connus utilisent des diodes pour fixer la valeur de seuil Vseuil. Cela permet de garantir un temps de réaction rapide. Un inconvénient est l'importance la dérive de la valeur de seuil en fonction de la température, et dans une moindre mesure en fonction de la technologie (liée à la précision de réalisation des circuits) .En pratique, la valeur de seuil sera ainsi comprise entre une valeur basse Vseuil~min et une valeur haute Vseuil max. Il convient de s'assurer que quelles que soient les conditions de fonctionnement, notamment dans la plage de température garantie par le fabriquant, on ait bien Vseuil~max inférieure à la valeur minimale de tension d'alimentation garantie par le fabriquant. Par ailleurs les utilisateurs peuvent vouloir que certaines fonctions des circuits qu'ils achètent soient inhibées en dessous d'une valeur de tension d'alimentation, celle-ci étant proche de la valeur minimale de tension d'alimentation garantie par le fabriquant. Ainsi, dans le domaine des mémoires électriquement programmables et effaçables dites EEPROM, la demande habituelle des utilisateurs est de disposer de mémoires dans lesquelles les commandes en écriture (reçues de l'extérieur donc non contrôlées par la mémoire) soient inopérantes en dessous de 3.7 volts. Une solution est de dimensionner le circuit de démarrage de sorte que la valeur Vseuil soit égale à cette valeur souhaitée par l'utilisateur. Un risque est alors, en cas de dérive importante de Vseuil, que la valeur Vseuil~max devienne supérieure à la valeur minimale de tension d'alimentation garantie par le fabriquant. Un but de l'invention est de proposer une structure permettant d'inhiber certaines fonctions d'un circuit pour une valeur de tension d'alimentation proche de la valeur minimale de tension d'alimentation à partir de laquelle le fabriquant du circuit garantit un fonctionnement normal du circuit. Ainsi, l'invention propose un circuit d'inhibition de fonctionnement pour circuit intégré, caractérisé en ce qu'il comprend un circuit de comparaison comprenant un circuit de type bandgap pour produire, quand la valeur d'un potentiel d'alimentation est supérieure à une première valeur, un potentiel de référence stable en température et des moyens pour produire un premier signal d'inhibition, ce signal permettant d'inhiber une ou des fonctions du circuit lorsque la valeur du potentiel d'alimentation est inférieure à une deuxième valeur supérieure à la première valeur, et un circuit de démarrage pour produire un second signal d'inhibition, ce signal permettant d'inhiber la ou les fonctions du circuit lorsque la valeur du potentiel d'alimentation est inférieure à la première valeur. D'autres avantages et particularités apparaîtront à la lecture de la description qui suit d'un exemple de mise en oeuvre de l'invention, illustrée par les dessins annexés dans lesquels - la figure l représente schématiquement un circuit comprenant un dispositif selon l'invention, - les figures 2 et 3 représentent un circuit d'inhibition selon l'invention, - la figure 4 représente un exemple d'application du dispositif selon l'invention dans le circuit de la figure l. La figure l représente un exemple de circuit intégré l mettant en oeuvre l'invention. On considérera dans la suite de la description que le circuit l est une mémoire électriquement programmable. La mémoire t comprend - deux bornes d'entrée 3 et 5 pour recevoir un potentiel GND de référence (encore appelé généralement potentiel de masse) et un potentiel Vcc d'alimentation supposé positif par rapport au potentiel GND (par exemple Vcc = + 5 volts), - un plan mémoire 7, - un circuit 9 élévateur de tension pour produire un potentiel HV de programmation utilisé pour l'écriture dans les cellules du plan mémoire (HV est typiquement supérieur à Vcc, de l'ordre par exemple de 12 à 15 volts), - deux bornes d'entrée il et 13 pour recevoir des signaux logiques CE et WE de commande, - un circuit 15 de commande pour commander le fonctionnement du circuit 9 en fonction des états logiques des signaux CE et WE de commande reçus, et - un circuit 17 de détection de la valeur de Vcc recevant le potentiel Vcc et produisant un ou plusieurs signaux logiques d'inhibition qui sont fournis au circuit 15. La mémoire 1 comprend bien entendu par ailleurs des circuits de lecture et d'écriture du plan mémoire, des bornes d'entrée/sortie de données et d'adresses etc. que l'on ne décrira pas ici par soucis de concision. Par la suite, on considérera qu'une commande d'écriture est caractérisée par des impulsions actives à l'état bas des signaux CE et WE, ces états bas induisant une mise à l'état haut (dit actif) d'un signal de commande WRSTART fourni au circuit 7 par le circuit 9 de commande de sorte à ce que le circuit 7 produise le potentiel HV. Le circuit 17 inhibe cette mise à l'état actif du signal WRSTART si le potentiel Vcc est inférieur à un certain seuil Vseuill (par exemple Vseuill = 3.7 volts, avec une valeur nominale de Vcc de 5 volts). Bien que l'on décrive l'invention en considérant des signaux de commande CE et WE reçus de l'extérieur, celle-ci pourra aussi bien s'appliquer à l'inhibition de signaux de commande produits de manière interne. Le circuit 17 de détection comprend un circuit 19 (illustré sur la figure 2) de comparaison pour comparer la valeur du potentiel Vcc à un potentiel Vref de référence stable en température, c'est-à-dire dont la variation de la valeur en fonction de la température est sinon nulle, du moins très faible. Le circuit 19 comprend une entrée 21 pour recevoir le potentiel Vcc, une entrée 23 pour recevoir le potentiel de masse, une entrée 25 pour recevoir un signal logique RB de commande, et une sortie 27 pour fournir un signal VCC~LOW de commande d'inhibition. Il comprend par ailleurs un comparateur 29 alimenté par la masse et Vcc pour comparer un potentiel Vmes dont la valeur est représentative de la valeur du potentiel Vcc au potentiel Vref de référence. Le potentiel Vref est produit par un circuit 31 de type bandgap. Un tel circuit, connu de l'homme du métier, permet de produire un potentiel Vref stable en température. Le potentiel Vmes est produit par un pont résistif formé de deux résistances 33 et 35 montées en série entre les entrées 21 et 23, le potentiel Vmes étant le potentiel du point commun des résistances. Le circuit 19 comprend enfin un transistor 37 et un transistor 39 à canal N. Le canal du transistor 37 est monté entre l'entrée 23 et la résistance 35. Ce transistor 37 reçoit le signal RB sur sa grille de commande. Selon l'état du signal RB, le transistor est passant ou bloqué. Cela permet de limiter la consommation du circuit 19, le transistor étant passant quand on souhaite réaliser une comparaison de Vmes et Vref, et le transistor étant bloqué sinon. Le canal du transistor 39 est monté entre l'entrée 23 et une entrée d'alimentation du comparateur 29 destinée à recevoir le potentiel de masse. Ce transistor 39 reçoit également le signal RB sur sa grille de commande. Selon l'état du signal RB, le transistor est passant ou bloqué.Cela permet de limiter la consommation du comparateur 29, le transistor étant passant quand on souhaite réaliser une comparaison de Vmes et Vref, et le transistor étant bloqué sinon. Quand la valeur de Vmes est supérieure à la valeur de Vref, le signal VCC~LOW est inactif, c'est-à-dire à l'état bas. Sinon le signal VCC~LOW est actif, c'est-à-dire à l'état haut. On choisira les valeurs des résistances 33 et 35 par exemple de sorte que la valeur de Vmes soit supérieure à celle de Vref si la valeur de Vcc est supérieure à Vseuill. Le circuit 17 comprend également un circuit 41 de démarrage. On utilisera par exemple un circuit tel qu'illustré sur la figure 3. Il comprend un ensemble de trois diodes 43, 45 et 47 et une résistance 49 montées en série entre deux entrées 51 et 53 recevant respectivement les potentiels de masse et d'alimentation. Une sortie 55 fournit un signal logique POWER~UP de commande. Cette sortie est reliée à la sortie d'un inverseur 57 dont l'entrée est reliée à un pôle de la résistance 49, I'autre pôle de la résistance étant relié à l'entrée 53. Le signal POWER~UP est à l'état bas (état inactif) si la valeur de Vcc est supérieure à une valeur Vseuil2 donnée (par exemple 2 volts) et à l'état haut (état actif) sinon. La valeur Vseuil2 est la somme des tensions de seuil des diodes. Le circuit 41 de démarrage permet de protéger la mémoire contre les écritures parasites lors des mises sous tension de la mémoire. En effet, un circuit de type bandgap nécessite généralement une valeur de tension minimale d'alimentation pour pouvoir fonctionner (par exemple de l'ordre de 1.5 volts) et un délai de convergence avant que la tension produite se stabilise. Le circuit de démarrage permet d'inhiber des fonctions de la mémoire pendant la phase de démarrage et de stabilisation du circuit de type bandgap. La figure 4 illustre l'application du circuit 17 dans la mémoire 1. On a supposé qu'une commande d'écriture dans le plan mémoire 7 de la mémoire 1 se traduit par une mise à l'état bas des signaux CE et WE. Classiquement, cette mise à l'état bas doit avoir une durée minimale définie, ce qui permet de filtrer les impulsions parasites. Les signaux CE et WE sont reçus sur des entrées 59 et 61 du circuit 15. Ces signaux sont fournis à une porte logique 63 de type NON OU de sorte qu'une commande d'écriture se traduise par un signal logique à l'état haut en sortie de la porte 63. Un dispositif 65 de filtrage permet de limiter la propagation d'impulsions parasites en aval dans la mémoire. Ce dispositif 65 comprend deux inverseurs et un filtre de type RC. Un premier inverseur comprend un transistor PMOS 67 et un transistor NMOS 69 montés en série, les sources de ces transistors recevant respectivement les potentiels Vcc et GND. Les grilles des transistors 67 et 69 sont reliées à la sortie de la porte 63. Le premier inverseur comprend enfin une résistance 71 montée en série entre les drains des transistors 67 et 69. La sortie de l'inverseur est formée par le drain du transistor 67.Cette sortie est reliée d'une part à l'entrée d'un deuxième inverseur 73 et d'autre part à la masse par le biais d'une capacité 75. Supposons que le transistor 67 est passant. L'inverseur 73 reçoit alors le potentiel Vcc sur son entrée et le signal que l'inverseur produit sur sa sortie est à l'état bas. Si une commande d'écriture (Ce = WE = 0) est fournie à la mémoire, le signal fourni par la porte 63 passe à l'état haut. Le transistor 69 devient alors passant. La capacité 75 se décharge. Le signal en sortie de l'inverseur 73 ne peut passer à l'état haut qu'après un délai fixé par la constante de temps du filtre RC formé des éléments 71 et 75. On choisira par exemple une constante de temps de l'ordre de 15 nanosecondes. Si la commande d'écriture est une commande parasite brève, la capacité 75 n'a pas le temps de se décharger complètement. Le signal en sortie de l'inverseur 73 reste alors à l'état bas. Les circuits placés en aval de I' inverseur 73 ne sont pas influencés par la présence de la commande parasite. Si le signal produit par la porte 63 est actif à l'état bas, on placera la sortie au niveau du drain du transistor 69. Par ailleurs on choisira alors dans le circuit 17 des transistors 37 et 39 à canal P. Le signal produit par l'inverseur 73 est fourni à l'entrée d'initialisation S d'une bascule 77 de type RS. Cette bascule permet de mémoriser l'état de programmation ou de non-programmation. L'entrée de réinitialisation de cette bascule 77 reçoit un signal logique POR de commande d'inhibition produit par le circuit 17. La sortie Q non inverseuse de la bascule fournit le signal RB. Cette sortie est reliée à une entrée d'un dispositif 79 de filtrage (réalisé par exemple de manière similaire au dispositif 65). Le circuit 79 produit le signal WRSTART, ce signal étant le signal produit par la bascule 77 retardé avec un délai par exemple de 150 microsecondes. Le circuit 17 comprend, outre les circuits 19 et 41, des circuits logiques. Ces circuits logiques comprennent une porte logique 81 de type NON~OU, un inverseur 83 et une porte logique 85 de type OU. La porte 85 reçoit d'une part sur une première entrée un signal logique END de commande de fin de programmation et d'autre part sur une deuxième entrée un signal logique produit par l'inverseur 83. La sortie de la porte 81 et reliée à l'entrée de l'inverseur 83, et la sortie de cet inverseur est reliée à la deuxième entrée de la porte 85. Les entrées de la porte 81 sont reliées respectivement aux sorties 27 et 55 des circuits 19 et 41. Quand une commande d'écriture est fournie à la mémoire (CE = WE = O), le signal RB passe à l'état haut. Par ailleurs, le circuit 19 est mis en fonctionnement. Si la valeur de Vcc est trop basse, c'est à dire inférieure à Vseuill, le circuit 19 fournit un signal VCC~LOW actif (état haut). Le signal POR passe à l'état haut dit actif. On réinitialise donc la bascule 77. La sortie de cette bascule repasse alors à l'état bas avant que le signal WRSTART ne soit devenu actif (c'està-dire à l'état haut dans l'exemple illustré). La commande d'écriture est donc ignorée. Si une écriture est effectuée (Vcc étant supérieure à Vseuill), il suffit pour inhiber la commande RB de fournir un signal END à l'état haut. Par ailleurs, dans l'hypothèse où la commande est fournie lors du démarrage de la mémoire, le signal POR est mis à l'état actif par le circuit 41 de démarrage. On comprendra que l'invention pourra avantageusement être utilisée dans tout circuit comprenant une mémoire, voire dans d'autres circuits pour lesquels il existe des contraintes de fonctionnement similaires à celles mentionnées. Par ailleurs l'invention pourra être mise en oeuvre quelle que soit la fonction à inhiber dans un circuit. REVENDICATIONS 1 - Circuit (17) d'inhibition de fonctionnement pour circuit intégré, caractérisé en ce qu'il comprend un circuit (19) de comparaison comprenant un circuit (31) de type bandgap pour produire, quand la valeur d'un potentiel d'alimentation (Vcc) est supérieure à une première valeur (Vseuil2), un potentiel de référence (Vref) stable en température et des moyens (29, 33, 35) pour produire un premier signal d'inhibition (VCC~LOW), ce signal permettant d'inhiber une ou des fonctions du circuit lorsque la valeur du potentiel d'alimentation est inférieure à une deuxième valeur (Vseuill) supérieure à la première valeur, et un circuit de démarrage (41) pour produire un second signal d'inhibition (POWER~UP), ce signal permettant d'inhiber la ou les fonctions du circuit lorsque la valeur du potentiel d'alimentation est inférieure à la première valeur (Vseuil2). 2 - Utilisation du circuit (17) d'inhibition défini selon la revendication 1 dans un circuit (1) comprenant au moins une borne d'entrée (11, 13) pour recevoir un signal logique (CE, WE) de commande, un circuit (15) de commande pour recevoir le signal logique de commande et commander le fonctionnement d'un circuit (9) en fonction de l'état du signal logique reçu, et des moyens (77, 79) pour retarder la propagation d'un changement d'état du signal logique reçu, ces moyens recevant un signal (POR) d' inhibition du circuit (17) d'inhibition et étant agencés de manière à maintenir un signal logique (WRSTART) de commande, dont l'état est représentatif de l'état du signal logique reçu, dans un état inactif quand le signal reçu du circuit d'inhibition est actif, indépendamment de l'état du signal logique reçu. 3 - Utilisation du circuit selon la revendication 1 pour inhiber l'écriture dans une mémoire (1) électriquement programmable.