Brevet FR2844053A1 — publié le 20040305

CIRCUIT D' EVALUATION DE LA DUREE D' IMPULSIONS LECTRIQUES La présente invention concerne l'analyse d'impulsions électriques induites dans un circuit intégré recevant des perturbations externes occasionnelles telles que des radiations naturelles. Plus particulièrement, la présente invention vise à prévoir un dispositif d'évaluation précise de la durée d'une impulsion électrique induite dans un élément d'un circuit intégré par une perturbation externe. Un tel élément de circuit peut par exemple être un transistor, un circuit logique 10 élémentaire tel qu'une porte OU, une porte ET, ou un inverseur, ou tout élément d'une bibliothèque de cellules. La connaissance de la durée de telles impulsions électriques permet de prédire par simulation le comportement des circuits intégrés affectés par de telles perturbations, de 15 concevoir des circuits intégrés ayant un fonctionnement moins sensible aux perturbations externes, et/ou de prévoir des modes de réparation adaptés. Ainsi, la présente invention prévoit un circuit d'évaluation de la durée d'une impulsion électrique induite dans 20 un élément d'un circuit intégré, comprenant une chaîne desdits éléments en série, ayant en sortie un niveau de repos donné, chaque élément étant susceptible de recevoir une perturbation externe occasionnelle l'amenant à fournir une impulsion et étant connecté pour transmettre une impulsion revue à l'élément suivant, des moyens de mémorisation pour mémoriser à un instant donné les niveaux de sortie des éléments et un moyen de 5 détermination pour déterminer le nombre de moyens de mémorisation indiquant des niveaux distincts du niveau de repos. Selon une variante de réalisation d'un tel circuit d'évaluation, les moyens de mémorisation sont constitués de bascules commandées par un même signal d'horloge, la sortie de 10 chaque élément de circuit étant reliée à l'entrée de données d'une bascule, la sortie de données de chaque bascule étant reliée au moyen de détermination. Selon une autre variante de réalisation d'un tel circuit d'évaluation, les moyens de mémorisation sont constitués 15 de bascules en série commandées par un même signal d'horloge et de plusieurs multiplexeurs, la sortie d'une bascule étant reliée à une première entrée d'un multiplexeur dont la sortie est reliée à l'entrée de données de la bascule suivante, les secondes entrées des multiplexeurs recevant les sorties des 20 éléments de circuit, la sortie de données de la dernière bascule étant reliée au moyen de détermination. Selon un mode de réalisation d'un tel circuit d'évaluation, un circuit détecteur indique si aucune, une seule, ou plusieurs bascules ont changé d'état. Selon un mode de réalisation d'un tel circuit d'évaluation, la sortie de données de la dernière bascule est reliée à un compteur qui comptabilise le nombre de bascules successives dont les niveaux mémorisés sont distincts des niveaux de repos, le compteur recevant les niveaux mémorisés en 30 série quand les multiplexeurs sont positionnés de façon à faire passer les niveaux mémorisés d'une bascule à une autre au rythme du signal d'horloge. Selon un mode de réalisation, le circuit d'évaluation décrit ci-dessus comprend en outre un circuit de commande qui 35 positionne initialement les multiplexeurs dans un mode de capture en reliant les sorties des éléments de circuit aux entrées de données des bascules, qui positionne les multiplexeurs dans un mode de comptage de façon à faire passer les niveaux mémorisés d'une bascule à une autre quand le circuit 5 détecteur indique qu'au moins deux bascules ont changé d'état, et qui repositionne les multiplexeurs en mode de capture quand le compteur indique la fin du comptage. Selon un mode de réalisation d'un circuit d'évaluation tel que décrit précédemment, les éléments de circuit sont des 10 circuits non inverseurs et les bascules sont initialisées au niveau "0", et dans lequel le circuit détecteur comprend deux premières portes OU, chaque première porte OU recevant une sortie de données de bascule sur deux, les sorties des deux premières portes OU entrant dans une seconde porte OU et dans 15 une porte ET, le circuit de commande recevant les sorties de la seconde porte OU et de la porte ET. Selon un mode de réalisation d'un circuit d'évaluation tel que décrit précédemment, les éléments de circuit sont des circuits inverseurs et les bascules sont initialisées pour 20 moitié au niveau "0" et pour moitié au niveau "1", et dans lequel le circuit détecteur comprend une première porte, OU recevant les sorties des bascules initialisées à "0", et une première porte ET recevant les sorties des bascules initialisées à "1", les sorties des deux premières portes entrant dans une 25 seconde porte OU et dans une seconde porte ET, le circuit de commande recevant les sorties de la seconde porte OU et de la seconde porte ET. La présente invention prévoit aussi un procédé d'évaluation de la durée d'une impulsion électrique induite dans 30 un élément de circuit intégré comprenant les étapes suivantes: - disposer un grand nombre desdits éléments de circuit en série dans un état de repos, chaque élément de circuit étant connecté pour propager vers l'élément de circuit suivant, une impulsion fournie par l'élément de circuit 35 précédent; - mémoriser périodiquement dans des moyens de mémorisation le niveau en sortie de chaque élément de circuit; - déterminer le nombre de moyens de mémorisation indiquant des niveaux distincts du niveau de repos. Selon une variante de mise en oeuvre du procédé d'évaluation susmentionné, l'étape de détermination n'est mise en oeuvre que quand on a détecté qu'au moins deux moyens de mémorisation successifs ont changé d'état. Ces objets, ces caractéristiques et avantages, ainsi 10 que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles: la figure 1 est un schéma d'un circuit d'évaluation 15 selon un mode de réalisation de la présente invention; la figure 2 est un schéma d'un circuit d'évaluation selon un autre mode de réalisation de la présente invention; et la figure 3 est un schéma plus détaillé du circuit de la figure 2. La figure 1 est un schéma d'un circuit d'évaluation de la durée d'une impulsion électrique induite dans un élément de circuit par une perturbation externe. Le circuit d'évaluation, réalisé sous forme de circuit intégré, comprend plusieurs éléments de circuit D1 à Dn en série entre une entrée E et une 25 sortie S. Chaque élément de circuit D1 à Dn est connecté de façon à pouvoir propager vers l'élément de circuit suivant, une impulsion fournie par l'élément de circuit précédent. Dans le cas par exemple o les éléments de circuit sont des portes ET à deux entrées, chaque porte ET a une entrée reliée à une tension 30 fixe égale à "1", une entrée reliée à la sortie de la porte ET précédente et une sortie reliée à la porte ET suivante. Les éléments de circuit D1 à Dn représentés en figure 1 sont des circuits logiques non inverseurs. On utilise dans la présente invention le fait que tout élément d'un circuit intégré 35 transmettant un signal impose un retard à ce signal. Pour se placer dans des conditions proches des conditions d'utilisation réelle, les éléments de circuit D1 à Dn peuvent être reliés à des charges représentées ici sous forme de condensateurs C1 à Cn connectés entre la sortie de chaque élément de circuit et la masse. La sortie de chaque élément de circuit Di, i étant compris entre 1 et n, est reliée à l'entrée de données d'une bascule Bi. Les bascules B1 à Bn sont commandées par un même signal d'horloge CLK. Un circuit de calcul 1 reçoit les niveaux 10 mémorisés dans les bascules B1 à Bn et fournit sur une sortie 2, la durée de l'impulsion électrique. L'entrée E est positionnée en permanence à un niveau déterminé, par exemple au niveau "0". En l'absence de perturbation externe, la sortie de chaque élément de circuit est 15 égale à "0". Quand un élément de circuit reçoit une perturbation externe, son état interne est susceptible d'être modifié. La sortie de l'élément de circuit "touché" change d'état et passe, dans cet exemple, du niveau "O" au niveau "1". Quand l'état de 20 l'élément de circuit touché redevient normal, sa sortie repasse au niveau "0". L'élément de circuit touché produit ainsi une impulsion électrique dont on souhaite connaître la durée. L'impulsion électrique se propage dans les éléments de circuit positionnés à la suite de l'élément de circuit touché 25 jusqu'au dernier élément de circuit Dn. Pendant la propagation de l'impulsion électrique, le nombre d'éléments de circuit ayant une sortie à "1" à un instant donné dépend du retard imposé par chaque élément de circuit et de la durée de l'impulsion. A chaque front montant du signal d'horloge CLK, les 30 bascules B1 à Bn mémorisent le niveau en sortie de chaque élément de circuit. La durée de l'impulsion électrique est proportionnelle au nombre de niveaux "1" mémorisés dans les bascules B1 à Bn. Le circuit de calcul 1, comptabilise le nombre k de bascules ayant un niveau "1" et fournit sur la sortie 2 ce 35 nombre k sous forme binaire. Le temps de propagation d'un élément de circuit est en général court et bien inférieur à la durée d'une impulsion électrique induite par une perturbation. Le nombre k est donc au moins égal à deux. La durée de l'impulsion électrique mesurée est alors 5 égale au nombre k relevé multiplié par le temps de propagation Tp d'un élément de circuit Di. La durée de l'impulsion est plus précisément comprise entre (k-l)Tp et (k+l)Tp. Pour qu'une mesure de durée d'impulsion puisse être effectuée, il faut connaître le temps de propagation d'un 10 élément de circuit. Ce temps de propagation pourra être fourni par le fabricant de circuits intégrés, être obtenu par simulation électrique (par exemple avec un simulateur SPICE), ou être mesuré à l'aide du circuit de la présente invention. On pourra par exemple créer une impulsion sur l'entrée E et relever 15 le niveau en sortie de chacun des éléments de circuit au rythme du signal d'horloge CLK dont la période varie. Quand les niveaux "1" mémorisés sur deux fronts consécutifs du signal d'horloge sont décalés en moyenne de plus d'une bascule, la période du signal d'horloge CLK est plus grande que le temps de propagation 20 d'un élément de circuit. Quand les niveaux "1" mémorisés sur deux fronts consécutifs du signal d'horloge sont décalés- en moyenne de moins d'une bascule, la période du signal d'horloge CLK est plus petite que le temps de propagation d'un élément de circuit. Par essais successifs, on peut déterminer le temps de 25 propagation d'un élément de circuit. Bien entendu, d'autres moyens pourront être mis en oeuvre pour mesurer ce temps de propagation. La figure 2 représente un circuit d'évaluation selon un autre mode de réalisation de la présente invention. Le 30 circuit d'évaluation comprend comme précédemment plusieurs éléments de circuit D1 à Dn (éventuellement associés à des charges non représentées) en série entre une entrée E et une sortie S. La sortie de chaque élément de circuit Di est reliée à une première entrée d'un multiplexeur Mi. La sortie de chaque 35 multiplexeur Mi est reliée à l'entrée de données d'une bascule Bi. La sortie de données de chaque bascule Bi est reliée à la seconde entrée du multiplexeur Mi+l. La seconde entrée du premier multiplexeur M1 est reliée à sa première entrée ou à une borne SC pilotable ou positionnée au niveau "0". La sortie de 5 données de la dernière bascule Bn est reliée à un compteur 4 (CNT). Les bascules B1 à Bn sont commandées par un signal d'horloge CLK. Les multiplexeurs M1 à Mn sont commandés par un même signal de sélection Il. Les sorties des bascules B1 à Bn sont reliées à un circuit détecteur 5 qui indique à un circuit 10 de commande CTR 6, à chaque front montant du signal d'horloge CLK, si aucune, une seule ou plusieurs bascules ont changé d'état. Comme pour le circuit d'évaluation de la figure 1, l'entrée E est positionnée en permanence au niveau "0". Les 15 sorties des éléments de circuit D1 à Dn, non inverseurs dans cet exemple, sont à "0" en l'absence de perturbation externe. Tant que le circuit détecteur 5 indique qu'aucune bascule n'a changé d'état, le circuit de commande fournit aux multiplexeurs un signal de sélection O tel que chaque 20 multiplexeur relie la sortie d'un élément de circuit à l'entrée d'une bascule. On est alors dans un mode "de capture"'. Les bascules B1 à Bn mémorisent au rythme du signal d'horloge CLK, le niveau en sortie de chacun des éléments de circuit. Quand le détecteur 5 indique qu'une seule bascule a 25 changé d'état, on est dans le cas o un multiplexeur Mi ou une bascule Bi a été touché par une perturbation. Le circuit de commande 6 ne change pas l'état du signal de sélection ( et active éventuellement un signal de réinitialisation r qui réinitialise les bascules B1 à Bn au niveau "0". Quand le circuit détecteur 5 indique que plusieurs bascules ont changé d'état, on est dans le cas o un élément de circuit a été touché. Le circuit de commande 6 change l'état du signal de sélection O et l'on passe en mode "de comptage". La sortie de chaque bascule B1 à Bn est reliée à l'entrée de la 35 bascule suivante. Au rythme du signal d'horloge CLK, les niveaux mémorisés dans les bascules B1 à Bn (une suite de "O", une suite de "1" et une suite de "O") passent d'une bascule à une autre et arrivent en série dans le compteur 2. Le compteur 2 est incrémenté pour chaque niveau "1" reçu. De préférence, le 5 compteur 2 est arrêté quand les niveaux reçus deviennent égaux à "0". Le compteur 2 fournit alors sur une sortie 7, le nombre de niveaux "1" mémorisés. Le compteur 2 active un signal de fin de comptage SF qui indique au circuit de commande 6 que le circuit peut repasser en mode de capture. Le circuit de commande 6 10 commande un changement d'état du signal de sélection O afin que les sorties des éléments de circuit D1 à Dn soient à nouveau reliées aux bascules B1 à Bn et active le signal de réinitialisation r des bascules B1 à Bn. La figure 3 reprend le schéma du circuit d'évaluation 15 de la figure 2 en détaillant le circuit détecteur 5 et les éléments de circuit D1 à Dn. Chaque élément de circui-t Di est composé de deux inverseurs en série Dia et Dib. Le circuit détecteur 5 comprend trois portes OU 10, 11, 12 et une porte ET 13. La porte OU 10 20 reçoit la sortie des bascules impaires, B1, B3, B5, etc. La porte OU 11 reçoit la sortie des bascules paires, B2, B4,- B6 etc. Les portes OU 12 et ET 13 reçoivent les sorties des portes OU 10 et 11. La porte OU 12 fournit au circuit de commande 6 un signal de détection SD. La porte ET 13 fournit au circuit de 25 commande 6 un signal de validation SV. Initialement, les bascules B1 à Bn sont au niveau "0". Les sorties des portes OU 10 et 11 sont à "0", et les signaux SD et Sv sont nuls. Quand une perturbation externe arrive sur un 30 multiplexeur Mi ou une bascule Bi, seul le niveau mémorisé dans cette bascule Bi est modifié. Dans ce cas, seule une des deux portes OU 10 et 11 passe à "1". Le signal SD passe alors à "1" et le signal Sv reste à "0". Le circuit de commande 6 active le signal de réinitialisation r des bascules B1 à Bn. Quand une perturbation externe arrive sur un élément de circuit, plusieurs bascules B1 à Bn, au moins deux, mémorisent un "1" sur le front suivant du signal d'horloge CLK. Les deux signaux SD et SV passent à "1", et le circuit de 5 commande 6 change d'état le signal de sélection O afin de passer en mode de comptage. Une fois le comptage terminé, le circuit de commande 6 réinitialise les bascules B1 à Bn et le circuit d'évaluation repasse en mode de capture. Bien entendu, la présente invention est susceptible de 10 diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, les bascules B1 à Bn peuvent être des bascules activables sur un front montant ou descendant ou un niveau "1" ou "0" du signal d'horloge CLK. Dans le cas o le système de détection est lent, et 15 que le temps de réaction du circuit détecteur 5 et du circuit de commande 6 est supérieur à une période du signal d'horloge CLK, les bascules qui ont commuté au premier coup d'horloge reviendront à leur état initial au deuxième coup d'horloge. Pour éviter de perdre l'information mémorisée dans les bascules, 20 selon une variante de l'invention, on prévoit un système de conservation de leur état. Dans le cas o les éléments- de circuit sont non inverseurs, on pourra ajouter n portes OU à deux entrées (non représentées) entre les éléments de circuit D1 à Dn et les multiplexeurs M1 à Mn, la sortie de chaque porte OU 25 étant reliée à une entrée d'un multiplexeur et recevant la sortie de l'élément de circuit initialement connecté à ce multiplexeur et la sortie de données de la bascule à laquelle est reliée ce multiplexeur. En conséquence, une fois que les bascules sont passées à "1", elles restent dans cet état à 30 chaque coup d'horloge tant que le signal (O ne les aura pas amenées à être connectées en série. I1 faut dans ce cas que l'impulsion à détecter se retrouve dans les éléments de circuit à une position disjointe de sa position précédente lors du coup d'horloge suivant. Pour ce faire, il faut que la période d'horloge soit supérieure à la somme de la durée de l'impulsion électrique et du temps de propagation d'un élément de circuit. En outre, on pourra prévoir que les éléments de circuit soient inverseurs, par exemple des portes NON-ET, des 5 portes NON-OU ou encore de simples inverseurs. Les bascules paires sont initialisées à un niveau fixe, par exemple "0", et les bascules impaires sont initialisées à un niveau fixe différent, par exemple "1". Dans ce cas, le circuit détecteur comportera non pas deux portes OU 10 et 11 mais une porte NON-ET 10 reliée aux sorties de données des bascules paires et une porte OU reliée aux sorties de données des bascules impaires. Bien entendu, l'homme de l'art choisira le nombre d'éléments de circuit et la période du signal d'horloge en tenant compte de la durée minimum possible entre deux incidences 15 de perturbations, du temps de propagation des éléments de circuit utilisés et de la durée estimée d'une impulsion. Il faut que le nombre d'éléments de circuit -soit suffisamment élevé pour que la probabilité de recevoir une perturbation soit suffisamment élevée. De plus, la période du signal d'horloge 20 doit être suffisamment courte pour que la probabilité de rater une perturbation soit relativement faible. Il faut également que pendant la durée minimale entre deux perturbations on ait le temps de réaliser les opérations de détection et de comptage décrites ci-dessus. On pourra placer sur une même puce plusieurs chaînes d'éléments de circuits distincts dont on veut analyser la réaction à une perturbation. On pourra éventuellement réaliser une chaîne composée de divers éléments de circuit en série pour utiliser un circuit de détection et de mesure commun. REVENDICATIONS 1. Circuit d'évaluation de la durée d'une impulsion électrique induite dans un élément d'un circuit intégré, comprenant: - une chaîne desdits éléments (D1 à Dn) en série, 5 ayant en sortie un niveau de repos donné, chaque élément étant susceptible de recevoir une perturbation externe occasionnelle l'amenant à fournir une impulsion et étant connecté pour transmettre une impulsion reçue à l'élément suivant; - des moyens de mémorisation pour mémoriser à un 10 instant donné les niveaux de sortie des éléments; et - un moyen (1; 4) de détermination pour déterminer le nombre de moyens de mémorisation indiquant des niveaux distincts du niveau de repos. 2. Circuit d'évaluation selon la revendication 1, dans 15 lequel les moyens de mémorisation sont constitués de bascules (B1 à Bn) commandées par un même signal d'horloge (CLK), la sortie de chaque élément de circuit (Di) étant reliée à l'entrée de données d'une bascule (Bi), la sortie de données de chaque bascule étant reliée au moyen de détermination. 3. Circuit d'évaluation selon la revendication 1, dans lequel les moyens de mémorisation sont constitués de bascules (B1 à Bn) en série commandées par un même signal d'horloge (CLK) et de plusieurs multiplexeurs (M1 à Mn) , la sortie d'une bascule (Bi) étant reliée à une première entrée d'un multiplexeur (Mi) 25 dont la sortie est reliée à l'entrée de données de la bascule suivante (Bi+l), les secondes entrées des multiplexeurs recevant les sorties des éléments de circuit (D1 à Dn), la sortie de données de la dernière bascule (Bn) étant reliée au moyen de détermination. 4. Circuit d'évaluation selon la revendication 3, comprenant en outre un circuit détecteur (5) indiquant si aucune, une seule, ou plusieurs bascules ont changé d'état. 5. Circuit d'évaluation selon la revendication 3, dans lequel la sortie de données de la dernière bascule (Bn) est reliée à un compteur (4) qui comptabilise le nombre de bascules successives dont les niveaux mémorisés sont distincts des niveaux de repos, le compteur recevant les niveaux mémorisés en série quand les multiplexeurs (M1 à Mn) sont positionnés de 5 façon à faire passer les niveaux mémorisés d'une bascule à une autre au rythme du signal d'horloge (CLK). 6. Circuit d'évaluation selon les revendications 4 et , comprenant en outre un circuit de commande (6) qui: - positionne initialement les multiplexeurs (M1 à Mn) 10 dans un mode de capture en reliant les sorties des éléments de circuit (D1 à Dn) aux entrées de données des bascules (B1 à Bn), - positionne les multiplexeurs dans un mode de comptage de façon à faire passer les niveaux mémorisés d'une bascule à une autre quand le circuit détecteur indique qu'au 15 moins deux bascules ont changé d'état, et - repositionne les multiplexeurs en mode de capture quand le compteur indique la fin du comptage. 7. Circuit d'évaluation selon la revendication 6, dans lequel les éléments de circuit (D1 à Dn) sont des circuits non 20 inverseurs et les bascules (B1 à Bn) sont initialisées au niveau "O", et dans lequel le circuit détecteur (5) comprend deux premières portes OU (10, 11), chaque première porte OU recevant une sortie de données de bascule sur deux, les sorties des deux premières portes OU entrant dans une seconde porte OU (12) et 25 dans une porte ET (13), le circuit de commande recevant les sorties de la seconde porte OU et de la porte ET. 8. Circuit d'évaluation selon la revendication 7, dans lequel les éléments de circuit (D1 à Dn) sont des circuits inverseurs et les bascules (B1 à Bn) sont initialisées pour 30 moitié au niveau 11011 et pour moitié au niveau "1", et dans lequel le circuit détecteur (5) comprend une première porte OU recevant les sorties des bascules initialisées à "0", et une première porte ET recevant les sorties des bascules initialisées à "1", les sorties des deux premières portes entrant dans une 35 seconde porte OU (12) et dans une seconde porte ET (13), le circuit de commande recevant les sorties de la seconde porte OU et de la seconde porte ET. 9. Procédé d'évaluation de la durée d'une impulsion électrique induite dans un élément de circuit intégré caractérisé en ce qu'il comprend les étapes suivantes: - disposer un grand nombre desdits éléments de circuit (D1 à Dn) en série dans un état de repos, chaque élément de circuit étant connecté pour propager vers l'élément de circuit suivant, une impulsion fournie par l'élément de circuit 10 précédent; - mémoriser périodiquement dans des moyens de mémorisation le niveau en sortie de chaque élément de circuit; - déterminer le nombre de moyens de mémorisation indiquant des niveaux distincts du niveau de repos. 10. Procédé d'évaluation selon la revendication 9, dans lequel l'étape de détermination n'est mise en oeuvre que quand on a détecté qu'au moins deux moyens de mémorisation successifs ont changé d'état.