Brevet FR2815197A1 — publié le 20020412

I 2815197 CIRCUIT ASYNCHRONE POUR LA DETECTION ET LA CORRECTION DE L'ERREUR INDUITE ET PROCEDE DE MISE EN OEUVRE La présente invention concerne un circuit asynchrone avec structure d'exécution du type à micro- pipeline pour la détection et la correction de l'erreur induite dans les circuits intégrés numériques. Elle concerne également un procédé de mise en euvre. Dans les circuits logiques intégrés, une erreur induite est un événement non récurrent qui vient perturber le signal à un moment donné. Cette perturbation de durée très courte, due par exemple à l'action d'un rayonnement, provoque un changement intempestif du signal de sortie d'une ou plusieurs portes d'un circuit intégré numérique. Il peut notamment s'agir d'un rayonnement de particules alpha. Un circuit logique atteint par des particules alpha va subir un changement brusque de l'état logique de sa borne de sortie. L'erreur induite peut aussi provenir d'un phénomène électromagnétique etc... Jusqu'à maintenant, il était connu de réaliser la détection et le traitement de l'erreur induite à la sortie d'un bloc de calcul logique dans le cadre des circuits synchrones dans lesquels le fonctionnement est régi par l'apparition d'un événement déterminé tel qu'un signal d'horloge. Divers procédés sont ainsi mis en euvre pour s'assurer que le signal de sortie d'un bloc de calcul logique n'est pas perturbé par une erreur induite. Un des procédés connus consiste à utiliser un circuit logique majoritaire dont les bornes d'entrée sont connectées à la borne de sortie du bloc de calcul logique par l'intermédiaire d'un circuit d'échantillonnage. Le signal de sortie du bloc de calcul logique est échantillonné à trois instants différents: t, t+d, t+2d. Le temps pour réaliser les trois échantillons doit être supérieur à au moins deux fois la durée maximale d'une erreur induite supposée pour produire un signal de sortie correct de façon certaine. Les trois signaux échantillonnés sont appliqués aux bornes d'entrée du circuit logique majoritaire. Ce circuit logique majoritaire sert à choisir le signal logique ayant la plus grande probabilité d'être correct lorsque l'un des signaux échantillonnés fournit un signal différent des deux autres, et par conséquent, permet de contrôler le fonctionnement du bloc de calcul logique. En effet, si les trois bornes d'entrées du circuit logique majoritaire sont dans le même état, il est hautement improbable que le bloc de calcul logique contrôlé ait commis une erreur pendant le temps de réalisation des trois échantillons. La sortie du circuit majoritaire est alors dans le même état que celui des trois entrées et transmet ainsi le signal logique fournit par le bloc de calcul logique. Par contre, si deux des entrées quelconques du circuit majoritaire sont dans un même état logique et que la troisième entrée est dans un autre état logique, il est peu probable que le bloc de calcul logique ait commis deux fois une erreur pendant le temps de réalisation des trois échantillons et qu'il ait fonctionné correctement pour la sortie échantillonnée appliquée à la troisième entrée du circuit majoritaire. Les échantillons qui sont dans le même état logique ont donc la majorité et, par conséquent, la sortie du circuit logique majoritaire passe au même état logique pour transmettre ce signal. Ce procédé, qui associe un circuit d'échantillonnage du signal de sortie d'un bloc de calcul logique et un circuit logique majoritaire, met en oeuvre une redondance temporelle pour le traitement de l'erreur induite dans les circuits intégrés synchrones. Ce procédé est basé sur le fait que la durée de l'erreur induite est connue. D'autres procédés de traitement de l'erreur induite sont encore mis en oeuvre dans les circuits synchrones. L'un d'entre eux implique non pas une redondance temporelle mais une redondance totale ou partielle du matériel en ajoutant un autre bloc de calcul logique à côté de celui qui est destiné à être contrôlé et en comparant les signaux de sortie. Néanmoins, ces procédés de contrôle de l'erreur induite dans les circuits synchrones entraînent un certain nombre d'inconvénients. Tout d'abord, les procédés qui mettent en oeuvre une redondance matérielle impliquent une augmentation du coût qui devient inacceptable pour de tels produits quand ils sont destinés à l'industrie électronique grand public. Quant aux procédés de contrôle de l'erreur induite qui sont basés sur la redondance temporelle, ils présentent également des inconvénients. D'une part, ils augmentent la durée du trajet du chemin logique en ajoutant une durée supérieure à plus de deux fois la durée de l'erreur induite. D'autre part, lorsque le bloc de calcul logique réalise un grand nombre d'opérations logiques, la durée de l'erreur induite peut ne pas être facile à déterminer. En effet, une erreur qui perturbe le signal de sortie du bloc de calcul logique avec une durée maximale qui est habituellement de l'ordre de quelques centaines de pico-secondes va se propager, et son impact à l'extrémité d'un long chemin logique peut transformer une impulsion de cent pico-secondes en une impulsion de une nano-seconde à cause des temps de propagation des différents chemins électriques. Ainsi, avec des blocs logiques de grande taille, les procédés de correction de l'erreur induite dans les circuits synchrones, qui sont basés sur la redondance temporelle comme exposé ci-dessus, sont difficiles à mettre en oeuvre, notamment au niveau de l'échantillonnage puisque la durée de l'erreur induite peut être variable. Enfin, dans les circuits synchrones il n'est pas possible de recalculer au vol la valeur correcte en sortie du bloc de calcul logique. Lorsqu'une erreur est détectée dans le signal à la sortie d'un bloc de calcul logique, il faut refaire complètement l'exécution de l'instruction, ce qui induit une perte de temps. Jusqu'à maintenant, la détection et le traitement de l'erreur induite ne se faisait que dans le cadre des circuits synchrones. Les circuits asynchrones avec fonctionnement en micro-pipeline n'étaient pas protégés contre les erreurs induites parce que de tels circuits sont encore très peu utilisés dans les circuits intégrés. Dans un mode de fonctionnement de type pipeline-asynchrone, du fait de l'absence d'un signal d'horloge pour cadencer l'exécution des instructions, on décompose davantage l'exécution des instructions que dans un mode de fonctionnement de type synchrone. La figure 1 montre une succession d'étages logiques E0, El, E2 d'un circuit asynchrone de type micro-pipeline selon l'art antérieur. Chacun des étages logiques E0, El, E2 possède la même structure. Ainsi, les étages logiques E0, El, E2 comprennent chacun un bloc de calcul logique respectivement 9, 1 et 5, un moyen de mémorisation constitué d'un circuit à verrouillage respectivement 10, 2 et 6, une unité de contrôle respectivement 11, 3 et 7 et une ligne à retard respectivement 12, 4 et 8. La description précise d'un étage logique d'un circuit asynchrone selon l'art antérieur sera étudiée par la suite en référence à la figure 2. L'unité de contrôle 3 appartenant à l'étage logique El reçoit d'une part un signal Aout en provenance de l'unité de contrôle 7 appartenant à l'étage logique suivant E2 et, d'autre part, un signal Rin en provenance de l'unité de contrôle 11 appartenant à l'étage précédent E0, par l'intermédiaire d'une ligne à retard 12. L'unité de contrôle 3, appartenant à l'étage logique El, est également prévue pour transmettre, d'une part, un signal Rout à destination de l'unité de contrôle 7 appartenant à l'étage logique suivant E2 et, d'autre part, un signal Ain à destination de l'unité de contrôle 11 appartenant à l'étage précédent E0. Les étages logiques E0, El et E2 communiquent en utilisant un contrôle local. Le fonctionnement des circuits asynchrones est basé sur la propagation de données et l'utilisation d'un protocole de communication qui est mis en oeuvre avec des signaux de requête et d'acquittement. Ainsi, les étages logiques E0, El, E2 interagissent entre eux, et plus particulièrement leurs unités de contrôle respectives 11, 3 et 7, par l'intermédiaire de signaux Rin et Rout, appelés signaux de requête, et par l'intermédiaire de signaux Ain et Aout, appelés signaux d'acquittement. La figure 2 illustre une architecture asynchrone de type micro-pipeline classique selon l'art antérieur. Elle montre plus précisément l'étage logique El de la figure 1. Les éléments déjà décrits en référence à la figure 1 ont gardé la même référence. Le bloc de calcul logique 1 fournit un signal de sortie Din qui est appliqué à la borne d'entrée du moyen de mémorisation constitué du circuit à verrouillage 2. Le circuit à verrouillage 2 fournit un signal de sortie Dout qui est appliqué au bloc de calcul logique 5 de l'étage logique suivant E2. Le circuit à verrouillage 2 est commandé par l'unité de contrôle 3 par l'intermédiaire d'un signal d'acquisition des données Lt. L'unité de contrôle 3 reçoit les signaux Rin et Aout et fournit les signaux Rout et Ain. Le signal Rout est appliqué à une ligne à retard 4 qui retarde la transmission du signal Rout. Le signal Rin est un signal de requête transmis à l'unité de contrôle 3 pour déclencher l'acquisition des données à la sortie du bloc de calcul logique 1. L'acquisition des données débute dès que le signal Aout est reçu par l'unité de contrôle 3 pour signifier que le calcul effectué à l'étage logique suivant E2 est terminé, c'est-à-dire que l'étage suivant E2 est prêt à recevoir des données. La réception du signal Rin, ainsi que du signal Aout, par l'unité de contrôle 3 provoque l'envoi d'un signal d'acquisition des données Lt à destination du circuit à verrouillage 2. Ce signal d'acquisition des données Lt commande le circuit à verrouillage 2 pour y mémoriser l'état du signal Din à l'instant Lt. Le circuit à verrouillage 2 peut par exemple être un circuit bistable mémorisant temporairement l'information binaire Din à la sortie du circuit logique 1 et constitue ainsi une mémoire tampon. Le signal de requête Rout est fourni immédiatement par l'unité de contrôle 3 à destination de l'unité de contrôle de l'étage logique suivant E2 pour déclencher l'acquisition des données à la sortie du bloc de calcul logique 5. A la borne de sortie du circuit à verrouillage 2, le signal Dout est transmis au bloc de calcul logique 5. Le circuit à verrouillage 2 est à nouveau placé dans la situation de mémoriser l'information binaire Din. Le lancement de l'opération consistant à déclencher l'acquisition des données à la sortie du bloc de calcul logique 5, appartenant à l'étage logique suivant E2, par l'intermédiaire du signal Rout, peut être retardé grâce à la ligne à retard 4. Enfin, l'unité de contrôle 3 fournit à destination de l'étage logique précédent un signal d'acquittement Ain signifiant que l'étage logique E1 est prêt à recevoir des données. Toutefois, ce type de circuit asynchrone selon l'art antérieur n'est pas prévu pour gérer les erreurs de calcul dues à l'erreur induite. Aussi, un but de l'invention est de pallier les dysfonctionnements dus à l'erreur induite dans les circuits logiques asynchrones de type micropipeline de manière à obtenir un circuit logique asynchrone protégé contre les erreurs induites. Un autre but de l'invention est de mettre en euvre un procédé de détection et de correction de l'erreur induite dans les circuits asynchrones destiné à être appliqué à tout circuit asynchrone du type micro- pipeline pour l'exécution des instructions. L'invention concerne un circuit asynchrone avec mode d'exécution des instructions de type micro- pipeline adapté à la détection et à la correction d'une erreur induite dans les circuits intégrés numériques, comprenant au moins un étage logique, chaque étage logique comprenant un bloc de calcul logique qui fournit, sur sa borne de sortie, un signal de sortie, un premier moyen de mémorisation dont une des deux bornes d'entrée est connectée à la borne de sortie du bloc de calcul logique, une unité de contrôle qui fournit, sur une de ses trois bornes de sortie, un premier signal d'acquisition des données appliqué à la deuxième borne d'entrée du premier moyen de mémorisation, les deux autres bornes de sortie de l'unité de contrôle étant connectées, l'une, à une borne d'entrée de l'unité de contrôle de l'étage logique précédent et l'autre, à une borne d'entrée de l'unité de contrôle de l'étage logique suivant par l'intermédiaire d'un circuit à retard, ledit circuit asynchrone étant caractérisé en ce qu'il comprend, en outre, un deuxième moyen de mémorisation dont une des deux bornes d'entrée est connectée à la borne de sortie du bloc de calcul logique, des moyens dans l'unité de contrôle pour retarder le premier signal d'acquisition des données et fournir un deuxième signal d'acquisition des données qui est appliqué au deuxième moyen de mémorisation, un circuit comparateur dont une des deux bornes d'entrée est connectée à la borne de sortie du premier moyen de mémorisation et dont l'autre borne d'entrée est connectée à la borne de sortie du deuxième moyen de mémorisation, ledit circuit comparateur fournissant un signal de sortie qui indique dans un premier état qu'il n'y a pas d'erreur induite et dans un deuxième état qu'il y a une erreur induite, et un circuit de retard programmable dont une première borne d'entrée est connectée à la borne de sortie du circuit comparateur, une deuxième borne d'entrée est connectée à la borne de sortie du circuit à retard par l'intermédiaire d'un premier chemin retardé et une dernière borne d'entrée est connectée à la borne de sortie du circuit à retard par l'intermédiaire d'un second chemin non retardé. L'invention concerne également un procédé de détection et de correction d'une erreur induite dans les circuits asynchrones à micro-pipeline composé d'au moins un étage logique, caractérisé en ce qu'il s'applique à chaque étage logique et comprend les étapes suivantes consistant à: a) mémoriser au sein d'un premier moyen de mémorisation l'état d'un signal de sortie d'un bloc de calcul logique; b) mémoriser au sein d'un deuxième moyen de mémorisation l'état dudit signal de sortie dudit bloc de calcul logique avec un retard dont la durée est supérieure à la durée de l'impulsion d'une erreur induite; c) comparer les signaux mémorisés dans un circuit comparateur pour fournir un signal portant soit une information correspondant à un premier état o les signaux comparés sont identiques, soit une information correspondant à un deuxième état o les signaux comparés sont différents, et dans le cas du premier état: dl) fournir le signal de requête à l'unité de contrôle de l'étage logique suivant sans retard, ou dans le cas du deuxième état, d2) mémoriser une seconde fois l'état du signal de sortie du bloc de calcul logique dans le premier moyen de mémorisation après un autre retard dont la durée est supérieure à la durée de l'impulsion d'une erreur puis, fournir un signal de requête à l'unité de contrôle de l'étage logique suivant avec un retard d'une durée supérieure à deux fois la durée de l'impulsion d'une erreur induite; D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un exemple particulier de réalisation en référence aux figures dans lesquelles: Il - la figure 1 est un schéma montrant la succession des étages logiques dans un circuit asynchrone de type micro-pipeline selon l'art antérieur, tel que décrit dans le préambule ci-dessus; - la figure 2 est un schéma détaillé d'un étage logique de la figure 1 qui présente une architecture asynchrone de type micro-pipeline selon l'art antérieur tel que décrit dans le préambule ci-dessus; - la figure 3 est un schéma détaillé d'un étage logique asynchrone de type micro-pipeline selon l'invention réalisant une détection et une correction de l'erreur induite; La figure 3 illustre donc un étage logique El d'un circuit asynchrone de type micro-pipeline selon l'invention permettant une détection et une correction de l'erreur induite. Les éléments en commun avec les figures 1 et 2 ont gardé la même référence. Il est également à noter que chacun des étages logiques E0, El et E2 possède la même structure et que la succession des différents étages logiques E0, El et E2 est mise en oeuvre de la même façon qu'à la figure 1 selon l'art antérieur. L'étage logique El selon l'invention comprend le bloc de calcul logique 1 dont la borne d'entrée est connectée à la borne de sortie du circuit à verrouillage de l'étage logique précédent et dont la borne de sortie, qui fournit le signal Din, est connectée à une borne d'entrée d'un premier moyen de mémorisation constitué d'un circuit à verrouillage 2A et à une borne d'entrée d'un deuxième moyen de mémorisation constitué d'un circuit à verrouillage 2B. Chaque circuit à verrouillage 2A et 2B comprend une deuxième borne d'entrée qui est connectée à une borne de sortie de l'unité de contrôle 3. Cette unité de contrôle 3 fournit ainsi un premier signal d'acquisition des données Lt appliqué au premier circuit à verrouillage 2A et un deuxième signal d'acquisition des données Ltr appliqué au deuxième circuit à verrouillage 2B qui correspond au signal Lt mais retardé d'une certaine durée. L'unité de contrôle 3 comprend deux autres bornes de sortie qui sont connectées, l'une fournissant le signal d'acquittement Ain, à la borne d'entrée de l'unité de contrôle de l'étage précédent E0 et l'autre fournissant le signal de requête Rout, à la borne d'entrée de l'unité de contrôle de l'étage suivant E2 par l'intermédiaire de circuits qui seront décrits ci- après. L'unité de contrôle 3 comprend deux bornes d'entrée qui sont connectées l'une, recevant le signal de requête Rin, à la borne de sortie de l'unité de contrôle de l'étage logique précédent E0 et, l'autre, recevant le signal d'acquittement Aout, à la borne de sortie de l'unité de contrôle de l'étage logique suivant E2. La borne de sortie du premier circuit à verrouillage 2A, fournissant le signal Dout, est connectée d'une part, à la borne d'entrée du bloc de calcul logique 5 de l'étage suivant E2 et, d'autre part, à une des deux bornes d'entrée d'un circuit comparateur 6. La borne de sortie du deuxième circuit à verrouillage 2B, fournissant le signal Doutr, est connectée à la deuxième borne d'entrée du circuit comparateur 6. Le signal Dout correspond au signal Din à l'instant du signal Lt plus le temps de propagation du circuit à verrouillage 2A tandis que le signal Doutr correspond au signal Din à l'instant du signal retardé Ltr plus le temps de propagation du circuit à verrouillage 2B. Le circuit comparateur 6 comprend une borne de sortie, fournissant un unique signal ALEA/NO-ALEA portant soit l'information ALEA, soit l'information NO- ALEA, connectée d'une part, à une autre borne d'entrée de l'unité de contrôle 3 et, d'autre part, à une des trois bornes d'entrée d'un circuit de retard programmable 7. La borne de sortie de l'unité de contrôle 3, fournissant le signal de requête Rout, est connectée à une borne d'entrée d'un circuit à retard 4 dont la borne de sortie est connectée, par l'intermédiaire d'un premier chemin retardé 9, à une deuxième borne d'entrée du circuit de retard programmable 7 et, par l'intermédiaire d'un second chemin non retardé 10, à une dernière borne d'entrée du circuit de retard programmable 7. Le chemin retardé comprend un circuit 8 insérant un retard d'une durée égale à 2*DL dans la transmission du signal Rout. La durée DL sera définie plus loin. Le circuit de retard programmable 7 comprend une borne de sortie connectée à la borne d'entrée de l'unité de contrôle de l'étage logique suivant E2. Le bloc de calcul logique 1 est susceptible d'être l'objet d'une erreur induite. On suppose que cette erreur induite est de très courte durée, de l'ordre de quelques centaines de pico-secondes. On suppose également que la probabilité pour qu'une erreur induite se produise deux fois de suite lors du même calcul sur un bloc de calcul logique est extrêmement faible. L'erreur induite est un événement non récurrent. Le signal de requête Rin de l'étage précédent E0 est appliqué à l'unité de contrôle 3 pour déclencher l'acquisition des données à la sortie du bloc de calcul logique 1, c'est-à-dire pour que l'unité de contrôle 3 fournisse le signal d'acquisition Lt lorsque le signal Aout de l'étage suivant E2 est reçu. Ce signal Lt, appliqué au premier circuit à verrouillage 2A, commande ce circuit à verrouillage 2A pour mémoriser l'état du signal de sortie Din du bloc de calcul logique 1. L'unité de contrôle 3 fournit ensuite le deuxième signal d'acquisition Ltr appliqué au deuxième circuit à verrouillage 2B, qui correspond au signal Lt mais retardé d'une durée DL supérieure à la durée connue de l'impulsion d'une erreur induite Derreur (DL>Derreur). Ce signal Ltr commande le circuit à verrouillage 2B, pour mémoriser l'état du signal Din du bloc de calcul logique 1. Le retard introduit dans le signal d'acquisition des données Ltr peut par exemple être généré dans l'unité de contrôle 3 par une chaîne d'inverseurs ou un réseau RC. Le signal d'acquisition des données Lt permet de mémoriser et de stabiliser l'information binaire Din dans le premier circuit à verrouillage 2A. Le signal d'acquisition des données retardé Ltr permet de mémoriser une deuxième fois en parallèle l'information binaire Din dans le circuit à verrouillage 2B avec un certain retard. Ce retard est choisi de telle façon que sa durée DL soit supérieure à la durée de l'impulsion de l'erreur induite Derreur (DL>Derreur). L'information binaire Din est donc mémorisée à deux instants différents. Immédiatement après que l'unité de contrôle 3 a fourni le premier signal d'acquisition Lt au premier circuit à verrouillage 2A, le signal de requête Rout est fourni par l'unité de contrôle 3 et le calcul démarre sur le bloc de calcul logique suivant 5. En parallèle, le signal Doutr, correspondant au signal Din à l'instant du signal retardé Ltr, est comparé avec le signal Dout, correspondant au signal Din à l'instant du signal Lt, dans le circuit comparateur 6. Le signal Dout, correspondant au signal Din à l'instant du signal Lt, est également fourni à la borne d'entrée du bloc de calcul logique 5 de l'étage logique suivant E5. Les deux circuits à verrouillage 2A et 2B sont alors à nouveau en situation de mémoriser des informations binaires. L'un des deux signaux Dout ou Doutr correspond forcément au résultat correct attendu à la sortie du bloc de calcul logique 1 puisqu'on considère qu'il est très improbable qu'une erreur induite se produise deux fois de suite. Si les signaux comparés Dout et Doutr sont identiques, cela signifie qu'aucune erreur induite ne s'est produite. Le résultat à la sortie du bloc de calcul logique 1 est donc correct et le calcul peut continuer sur le bloc de calcul logique suivant 5. Le comparateur 6 fournit le signal portant l'information NO-ALEA à l'unité de contrôle 3 et au circuit de retard programmable 7 indiquant que les signaux comparés sont identiques et qu'ainsi aucune erreur induite ne s'est produite. Le circuit de retard programmable 7 autorise alors la transmission du signal Rout à destination de l'unité de contrôle de l'étage logique suivant E2, lequel signal Rout est issu du chemin non retardé 10 en sortie du circuit à retard 4. Dans ce cas, le signal Rout est fourni à l'unité de contrôle de l'étage logique suivant E2 sans retard. Par contre, si les signaux comparés Dout et Doutr ne sont pas identiques, cela signifie qu'une erreur induite s'est produite. Le comparateur 6 fournit alors le signal portant l'information ALEA à l'unité de contrôle 3 et au circuit de retard programmable 7 indiquant que les signaux comparés dont différents et donc qu'une erreur induite a été détectée. Dès la réception du signal portant l'information ALEA, l'unité de contrôle 3 fournit un nouveau signal d'acquisition des données retardé au premier circuit à verrouillage 2A. Ce signal d'acquisition commande le circuit à verrouillage 2A pour y mémoriser une seconde fois l'état du signal Din après un autre retard de durée égale à DL. Ce nouveau signal d'acquisition des données est donc fourni au circuit à verrouillage 2A avec un retard, par rapport au premier signal d'acquisition émis Lt, égal à deux fois la durée DL, o la durée DL est définie comme étant supérieure à la durée de l'impulsion de l'erreur induite Derreur. Comme l'erreur induite est supposée ne pas pouvoir se produire deux fois de suite, on considère que le signal Din mémorisé est maintenant correct. Le signal de sortie du circuit à verrouillage 2A, correspondant au signal Din à l'instant du signal d'acquisition retardé d'une durée égale à deux fois la durée DL, est alors fourni au bloc de calcul logique 5 de l'étage suivant E2. Dans ce cas, qui correspond à la détection d'une erreur induite, le signal Rout suit le chemin retardé 9 et est fourni, par l'intermédiaire du circuit de retard programmable 7, à l'unité de contrôle de l'étage logique suivant E2 avec un retard d'une durée égale à deux fois la durée DL, soit un retard supérieur à deux fois la durée de l'impulsion d'une erreur induite Derreur, si une erreur induite est détectée. Le circuit de retard programmable 7, commandé par le signal ALEA/NO-ALEA issu du comparateur 6, permet de choisir l'un des deux chemins 9 ou 10 issu du circuit à retard 4 pour la transmission du signal de requête Rout vers l'unité de contrôle de l'étage logique suivant E2. Selon un autre mode de réalisation de l'invention, l'unité de contrôle est susceptible d'adopter un autre comportement pour gérer le cas d'une détection d'erreurs induites multiples. On s'écarte alors de l'hypothèse selon laquelle l'erreur induite est un événement non récurrent qui ne peut pas se produire deux ou plusieurs fois consécutivement. Bien que cette situation est hautement improbable, ce second mode de réalisation de l'invention permet d'en tenir compte. Ce second mode de réalisation de l'invention peut également être décrit en liaison avec la figure 3. En ce qui concerne la mise en oeuvre de la détection d'une erreur induite, elle est réalisée de la même manière que lors du premier mode de réalisation déjà décrit plus haut en référence à la figure 3. Lorsque aucune erreur induite n'est détectée, c'est-à-dire que les signaux Dout et Doutr sont identiques, le circuit selon l'invention fonctionne de façon similaire au premier mode de réalisation. Par contre, dans ce second mode de réalisation, dans le cas o les signaux comparés Dout, correspondant au signal Din à l'instant du signal Lt, et Doutr, correspondant au signal Din à l'instant du signal retardé Ltr, ne sont pas identiques, le signal portant l'information ALEA indiquant la détection d'une erreur induite est fourni à l'unité de contrôle 3 et au circuit de retard programmable 7 par le comparateur 6 et le même protocoleque précédemment est à nouveau mis en euvre. Ainsi, dès que le signal portant l'information ALEA est fourni à l'unité de contrôle 3, l'état du signal Din est à nouveau mémorisé, mais cette fois dans les deux circuits à verrouillage 2A et 2B, de la même manière qu'à l'état précédent, et non uniquement dans le premier circuit à verrouillage 2A comme c'était le cas dans le premier mode de réalisation. En effet, on considère, dans ce second mode de réalisation, que le signal Din à nouveau mémorisé n'est pas forcément correct et qu'une nouvelle erreur induite a pu se produire consécutivement à la précédente. L'unité de contrôle 3 fournit donc à nouveau un signal d'acquisition au premier circuit à verrouillage 2A, pour y mémoriser une seconde fois l'état du signal Din à l'instant de ce signal d'acquisition, et un signal d'acquisition retardé d'une durée égale à DL au deuxième circuit à verrouillage 2B, pour y mémoriser une seconde fois l'état du signal Din à l'instant de ce signal d'acquisition retardé. Le signal à la borne de sortie du circuit à verrouillage 2A, correspondant au signal Din à l'instant du nouveau signal d'acquisition, est comparé dans le circuit comparateur 6 au signal à la borne de sortie du circuit à verrouillage 2B, correspondant au signal Din à l'instant du nouveau signal d'acquisition retardé. Le même protocole est répété en boucle jusqu'à ce qu'aucune erreur induite ne soit détectée, c'est-à-dire jusqu'à ce que les signaux comparés dans le comparateur 6 soient identiques. Le circuit de retard programmable 7 insère alors un retard d'une durée égale à: nombre d'erreurs induites détecté)*2*DL. Dans le second mode de réalisation de l'invention, le signal de requête Rout est donc fourni à l'unité de contrôle de l'étage logique suivant E2 avec un retard d'une durée égale à: (nombre d'erreurs induites détecté)*2*DL, o DL est une durée supérieure à la durée connue de l'impulsion de l'erreur induite Derreur. Ceci est possible car la donnée Din est toujours présente. Tant que l'erreur n'est pas corrigée, le circuit de contrôle n'a pas acquitté la donnée en activant le signal Ain. C'est la propriété principale des circuits asynchrones du type micro-pipelines. REVENDICATIONS 1- L'invention concerne un circuit asynchrone avec mode d'exécution des instructions de type micro- pipeline adapté à la détection et à la correction d'une erreur induite dans les circuits intégrés numériques, comprenant au moins un étage logique (E0, El ou E2), chaque étage logique comprenant un bloc de calcul logique (1) qui fournit, sur sa borne de sortie, un signal de sortie (Din) , un premier moyen de mémorisation (2A) dont une des deux bornes d'entrée est connectée à la borne de sortie du bloc de calcul logique (1), une unité de contrôle (3) qui fournit, sur une de ses trois bornes de sortie, un premier signal d'acquisition des données (Lt) appliqué à la deuxième borne d'entrée du premier moyen de mémorisation (2A), les deux autres bornes de sortie de l'unité de contrôle (3) étant connectées, l'une (signal Ain), à une borne d'entrée de l'unité de contrôle de l'étage logique précédent et l'autre (signal Rout), à une borne d'entrée de l'unité de contrôle de l'étage logique suivant, par l'intermédiaire d'un circuit à retard (4), ledit circuit asynchrone étant caractérisé en ce qu'il comprend, en outre: - un deuxième moyen de mémorisation (2B) dont une des deux bornes d'entrée est connectée à la borne de sortie du bloc de calcul logique (1), - des moyens dans l'unité de contrôle (3) pour retarder le premier signal d'acquisition des données (Lt) et fournir un deuxième signal d'acquisition des données (Ltr) qui est appliqué au deuxième moyen de mémorisation (2B), - un circuit comparateur (6) dont une des deux bornes d'entrée est connectée à la borne de sortie du premier moyen de mémorisation (2A) et dont l'autre borne d'entrée est connectée à la borne de sortie du deuxième moyen de mémorisation (2B), ledit circuit comparateur (6) fournissant un signal de sortie qui indique dans un premier état qu'il n'y a pas d'erreur induite et dans un deuxième état qu'il y a une erreur induite, - et un circuit de retard programmable (7) dont une première borne d'entrée est connectée à la borne de sortie du circuit comparateur (6), une deuxième borne d'entrée est connectée à la borne de sortie du circuit à retard (4) par l'intermédiaire d'un premier chemin retardé (9) et une dernière borne d'entrée est connectée à la borne de sortie du circuit à retard (4) par l'intermédiaire d'un second chemin non retardé (10). 2- Circuit selon la revendication 1, caractérisé en ce que lesdits premier et deuxième moyens de mémorisation des données (2A, 2B) sont des circuits bistables. 3- Circuit selon la revendication 1 ou 2, caractérisé en ce que ledit moyen dans l'unité de contrôle (3), prévu pour retarder le premier signal d'acquisition des données (Lt), est une chaîne d'inverseurs. 4- Circuit selon la revendication 1 ou 2, caractérisé en ce que ledit moyen dans l'unité de contrôle (3), prévu pour retarder le premier signal d'acquisition des données (Lt), est un circuit RC. - Circuit selon l'une des revendications précédentes, caractérisé en ce que le premier chemin retardé (9) comprend un circuit (8) insérant un retard d'une durée (2*DL) supérieure à deux fois la durée de l'impulsion d'une erreur induite (Derreur). 6- Procédé de détection et de correction d'une erreur induite dans les circuits asynchrones avec mode d'exécution des instructions de type micropipeline, composés d'au moins un étage logique (E0, E1 ou E2), caractérisé en ce qu'il s'applique à chaque étage logique et comprend les étapes suivantes consistant à: a) mémoriser au sein d'un premier moyen de mémorisation (2A) l'état d'un signal de sortie (Din) d'un bloc de calcul logique (1); b) mémoriser au sein d'un deuxième moyen de mémorisation (2B) l'état dudit signal de sortie (Din) dudit bloc de calcul logique (1) avec un retard dont la durée (DL) est supérieure à la durée de l'impulsion d'une erreur induite (Derreur); c) comparer les signaux mémorisés (Dout, Doutr) dans un circuit comparateur (6) pour fournir un signal (ALEA/NO-ALEA) portant soit une information (NO-ALEA) correspondant à un premier état o les signaux comparés sont identiques, soit une information (ALEA) correspondant à un deuxième état o les signaux comparés sont différents, et dans le cas du premier état dl) fournir le signal de requête (Rout) à l'unité de contrôle de l'étage logique suivant (E2) sans retard, ou dans le cas du deuxième état d2) mémoriser une seconde fois l'état du signal de sortie (Din) du bloc de calcul logique (1) dans le premier moyen de mémorisation (2A) après un autre retard dont la durée (DL) est supérieure à la durée de l'impulsion d'une erreur induite (Derreur), puis, fournir un signal de requête (Rout) à l'unité de contrôle de l'étage logique suivant (E2) avec un retard d'une durée (2*DL) supérieure à deux fois la durée de l'impulsion d'une erreur induite (Derreur); 7- Procédé selon la revendication 6, caractérisé en ce que l'étape d2) est remplacée par l'étape suivante d2') dans le cadre de la détection d'erreurs induites multiples, les autres étapes restant identiques: d2') répéter en boucle les étapes a) à c) jusqu'à ce qu'aucune erreur induite ne soit détectée, puis, fournir le signal de requête (Rout) à l'unité de contrôle de l'étage logique suivant (E2) avec un retard d'une durée égale à: (nombre d'erreurs induites détecté)*2*DL, o DL est la durée définie comme étant supérieure à la durée de l'impulsion d'une erreur induite.