Brevet FR3048832A1 — publié le 20170915

B14811 - BD16818 - D108856-01 1 COMMUNICATIONS ASYNCHRONES RESISTANT AUX RAYONNEMENTS Domaine de l'invention La présente description concerne le domaine des communications asynchrones, et en particulier des circuits 5 asynchrones ayant une résistance renforcée aux rayonnements. Exposé de l'art antérieur Contrairement aux conceptions à circuits synchrones qui reposent sur un signal d'horloge, les circuits asynchrones présentent l'avantage d'être plus ou moins insensibles aux 10 variations de retards résultant par exemple de variations dans le processus de fabrication. En outre, en évitant l'utilisation d'une horloge, les circuits asynchrones ont une consommation d'énergie relativement faible. Les circuits asynchrones sont en général conçus pour fonctionner sur la base d'événements déterminés en 15 utilisant un protocole de poignée de main spécifique. L'élément de base d'un circuit d'une conception asynchrone est un circuit connu sous le nom de porte C ou cellule de Muller. Ce circuit comprend une bascule volatile pour mémoriser un état. Ainsi, si le circuit asynchrone voit son alimentation 3048832 B14811 - BD16818 - D108856-01 2 coupée, les données mémorisées par les diverses portes C seront perdues. Un pipeline asynchrone est en général constitué d'étages, chaque étage comprenant un demi-tampon constitué de 5 plusieurs portes C. Pour des applications avioniques et/ou spatiales, il serait souhaitable d'obtenir un circuit asynchrone qui soit renforcé contre les effets des rayonnements. En effet, la présence de particules ionisantes aux altitudes élevées ou dans l'espace 10 peut induire dans les circuits intégrés des courants qui peuvent être suffisants pour provoquer un basculement de l'état binaire maintenu par une ou plusieurs portes. Cela peut provoquer un dysfonctionnement du circuit, connu dans la technique sous le nom de dérangement par événement singulier (SEU). 15 On a proposé d'assurer une redondance modulaire double (DMR) ou une redondance modulaire triple (TMR) dans une conception de circuit asynchrone afin d'assurer une protection contre les rayonnements. De telles techniques reposent sur la duplication du circuit dans le cas de la DMR, ou sur le triplement du circuit 20 dans le cas de la TMR, et sur la détection d'une discordance entre les sorties des circuits comme indication de l'occurrence d'un SEU. Un problème avec la technique DMR est qu'elle ne permet pas de corriger l'erreur, et ainsi quand une erreur est détectée, 25 le circuit est simplement réinitialisé. Cela ajoute un retard, puisque l'opération de traitement doit être redémarrée. En outre, si des SEU surviennent à une cadence relativement élevée, il peut même être impossible qu'une opération de traitement soit terminée avant qu'une réinitialisation soit requise. 30 La technique TMR permet de corriger l'erreur, par exemple en sélectionnant la valeur de sortie générée par deux des trois circuits. Toutefois, un inconvénient avec la technique TMR 3048832 B14811 - BD16818 - D108856-01 3 est que la surface et la consommation d'énergie du circuit sont augmentées d'un facteur trois. On a donc besoin dans la technique d'un circuit ayant une surface et une consommation d'énergie relativement faibles, 5 et qui permette une récupération à la suite d'un SEU sans nécessiter de réinitialisation. Résumé Un objet de modes de réalisation de la présente description est de répondre à un ou plusieurs besoins de l'art 10 antérieur. Selon un aspect, on prévoit un circuit asynchrone comprenant : un premier circuit adapté à recevoir un premier signal d'entrée de données sur une première ligne d'entrée de données et à générer un premier signal d'accusé de réception et 15 un premier signal de sortie de données ; un deuxième circuit adapté à recevoir un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et à générer un deuxième signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième circuit étant fonctionnellement équivalent au premier 20 circuit ; un comparateur adapté à détecter une discordance soit entre les premier et deuxième signaux d'entrée de données soit entre les premier et deuxième signaux de sortie de données ; et au moins un circuit de mise en pause d'accusé de réception adapté à empêcher la propagation des premier et deuxième signaux d'accusé 25 de réception si une discordance est détectée par le comparateur. Selon un mode de réalisation, le comparateur est adapté à détecter une discordance entre les premier et deuxième signaux de sortie de données, le circuit comprenant en outre : un autre comparateur adapté à détecter une discordance entre les premier 30 et deuxième signaux d'entrée de données ; et un circuit de mémoire non volatile couplé à la première ligne d'entrée de données et adapté à mémoriser une première valeur du premier signal d'entrée de données lorsque l'autre comparateur n'indique pas une discordance entre les premier et deuxième signaux d'entrée de 35 données. 3048832 B14811 - BD16818 - D108856-01 4 Selon un mode de réalisation, le circuit de mémoire non volatile est en outre adapté à fournir la première valeur mémorisée en réponse à une discordance détectée entre les premier et deuxième signaux de sortie de données. Selon un mode de réalisation, le circuit de mémoire non volatile est adapté à fournir la première valeur mémorisée sur des lignes de données transmettant les premier et deuxième signaux d'entrée de données. Selon un mode de réalisation, le circuit de mémoire non 10 volatile comprend au moins un élément de mémorisation non volatile programmable pour maintenir, de manière non volatile, l'un d'une pluralité d'états résistifs. Selon un mode de réalisation, ledit au moins un circuit de mise en pause d'accusé de réception est adapté à propager les 15 premier et deuxième signaux d'accusé de réception une fois que le comparateur indique une concordance entre les premier et deuxième signaux d'entrée de données ou entre les premier et deuxième signaux de sortie de données. Selon un mode de réalisation, chacun desdits au moins 20 un circuit de mise en pause d'accusé de réception est une porte logique adaptée à recevoir le premier ou le deuxième signal d'accusé de réception et un signal de sortie du comparateur. Selon un mode de réalisation, les premier et deuxième circuits sont des circuits de réception synchrones, le circuit 25 asynchrone comprenant en outre : un premier circuit de transmission synchrone adapté à générer le premier signal d'entrée de données et à le transmettre au premier circuit ; et un deuxième circuit de transmission synchrone adapté à générer le deuxième signal d'entrée de données et à le transmettre au deuxième 30 circuit. Selon un autre aspect, on prévoit un pipeline asynchrone comprenant le circuit asynchrone susmentionné, le pipeline asynchrone comprenant : un premier sous-pipeline comprenant une première pluralité d'étages dont l'un comprend le premier 3048832 B14811 - BD16818 - D108856-01 5 circuit ; et un deuxième sous-pipeline comprenant une deuxième pluralité d'étages dont l'un comprend le deuxième circuit. Selon un autre aspect, on prévoit un procédé de détection et de correction de dérangements par événement singulier 5 dans un circuit asynchrone comprenant : recevoir par un premier circuit un premier signal d'entrée de données sur une première ligne d'entrée de données et générer par le premier circuit un premier signal d'accusé de réception et un premier signal de sortie de données ; recevoir par un deuxième circuit un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et générer par le deuxième circuit un deuxième signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième circuit étant fonctionnellement équivalent au premier circuit ; comparer, par un comparateur, les premier et deuxième signaux d'entrée de données ou les premier et deuxième signaux de sortie de données pour détecter une discordance ; et empêcher, par au moins un circuit de mise en pause d'accusé de réception, la propagation des premier et deuxième signaux d'accusé de réception si une discordance est détectée entre les premier et deuxième signaux d'entrée de données ou entre les premier et deuxième signaux de sortie de données. Brève description des dessins Les objets et avantages susmentionnés, et d'autres, apparaîtront clairement avec la description détaillée suivante de modes de réalisation, donnés à titre d'illustration et non de limitation, en faisant référence aux figures jointes parmi lesquelles : la figure 1 illustre schématiquement un pipeline asynchrone selon un exemple de réalisation ; la figure 2 illustre schématiquement un demi-tampon de N bits selon un exemple de réalisation ; la figure 3 est un chronogramme illustrant un exemple de signaux mettant en oeuvre un protocole de poignée de main dans le circuit de la figure 2 selon un exemple de réalisation ; 3048832 B14811 - BD16818 - D108856-01 6 la figure 4 illustre schématiquement un pipeline asynchrone résistant aux rayonnements selon un exemple de réalisation de la présente description ; la figure 5 est un chronogramme illustrant des signaux 5 dans le circuit de la figure 4 selon un exemple de réalisation de la présente description ; la figure 6 illustre schématiquement un pipeline asynchrone ayant une mémorisation non volatile selon un exemple de réalisation de la présente description ; 10 la figure 7 est un chronogramme illustrant des signaux dans le circuit de la figure 6 selon un exemple de réalisation de la présente description ; la figure 8A illustre un circuit de mémorisation non volatile de la figure 6 selon un exemple de réalisation de la 15 présente description ; la figure 8B illustre le circuit de mémorisation non volatile de la figure 8A plus en détail selon un exemple de réalisation de la présente description ; et la figure 9 illustre schématiquement une interface de 20 communication asynchrone entre des circuits selon un exemple de la présente description. Description détaillée Dans la description détaillée suivante, le terme "connecté" est utilisé pour désigner une connexion directe entre 25 des éléments d'un circuit, alors que le terme "couplé" est utilisé pour désigner une connexion qui peut être directe, ou peut se faire par l'intermédiaire d'un ou plusieurs éléments intermédiaires comme des résistances, des condensateurs ou des transistors. 30 La figure 1 illustre schématiquement un pipeline asynchrone 100 selon un exemple de réalisation. Le pipeline 100 comprend par exemple au moins deux étages de pipeline couplés en série. Dans l'exemple de la figure 1, il y a quatre étages de pipeline 102, 104, 106 et 108. Chaque étage de pipeline 102, 104, 106 et 108 comprend un demi-tampon 112, 114, 116 et 118 3048832 B14811 - BD16818 - D108856-01 7 respectivement, qui est par exemple un demi-tampon de n bits. Les demi-tampons 112 à 118 reçoivent respectivement des signaux de données de n bits sur des lignes Ai_2 à Aill . Chacun des étages 102 à 108 comprend aussi par exemple 5 respectivement un circuit logique (LOGIC) 122, 124, 126 et 128, qui réalise par exemple une fonction logique sur les données avant de fournir le résultat à l'étage suivant. Bien que cela ne soit pas illustré en figure 1, le pipeline est par exemple terminé par un tampon capable de 10 mémoriser les données provenant du pipeline et de générer un signal d'accusé de réception vers le dernier demi-tampon du pipeline. La figure 2 illustre schématiquement un exemple d'un demi-tampon à n bits 200, ce circuit étant par exemple utilisé 15 pour mettre en oeuvre chacun des demi-tampons 102 à 108 de la figure 1. Le demi-tampon 200 comprend n blocs de circuit CB0 à CBn_1, un pour chaque bit à transmettre sur l'interface. Chaque bloc de circuits CB0 à CBn_i comprend par exemple une paire de portes C 202, 204. 20 Les portes C 202 des blocs de circuits CB0 à CBn_l ont chacune l'une de leurs entrées couplée à une ligne d'entrée de données correspondante 208 pour recevoir respectivement des signaux de données d'entrée I.00 à I.On_1, leur autre entrée couplée à une ligne d'accusé de réception 206 pour recevoir un 25 signal d'accusé de réception 0_ack provenant d'un demi-tampon suivant dans le pipeline, et leur sortie couplée à une ligne de sortie 212 correspondante fournissant respectivement des signaux de sortie correspondants 0.00 à O.0n-1- Les portes C 204 des blocs de circuit CB0 à CBn_i ont 30 chacune l'une de leurs entrées couplée à une ligne d'entrée de données 210 correspondante pour recevoir respectivement des signaux de données d'entrée correspondants I.10 à I.1n_1, leur autre entrée couplée à la ligne d'accusé de réception 206 pour recevoir le signal d'accusé de réception 0 ack provenant d'un 35 demi-tampon suivant dans le pipeline, et leur sortie couplée à 3048832 B14811 - BD16818 - D108856-01 8 une ligne de sortie correspondante 214 fournissant des signaux de sortie correspondants 0.10 à O.1n-1- Les lignes de sortie 212 et 214 se trouvant dans chaque bloc de circuits CB0 à CBn_1 sont aussi couplées à des entrées 5 correspondantes d'une porte NON OU 216, qui génère sur sa sortie sur une ligne 218 un signal d'accusé de réception pour le bloc de circuit. Les signaux d'accusé de réception sur les lignes 218 provenant de chacun des blocs de circuit CB0 à CBn_i sont fournis à des entrées correspondantes de la porte C 220, qui fournit sur 10 sa ligne de sortie 222 un signal d'accusé de réception de sortie I ack. En fonctionnement, chaque porte C de la figure 2 a par exemple un fonctionnement défini par la table de vérité suivante, où A et B sont ses signaux d'entrée, et Z est son signal de sortie. 15 A B Z 0 0 0 0 1 Z-1 1 0 Z-1 1 1 1 Ainsi, lorsque les valeurs des signaux d'entrée A et B sont au même niveau logique, la sortie Z est mise à ce niveau logique. Lorsque les valeurs des signaux d'entrée A et B sont à 20 des niveaux logiques différents entre eux, le circuit est dans un état de veille dans lequel la sortie Z reste inchangée. La figure 3 est un chronogramme illustrant un exemple de signaux d'un protocole de poignée de main mis en oeuvre par le demi-tampon de la figure 2. Dans cet exemple, un protocole de 25 poignée de main à quatre phases est mis en oeuvre, mais dans des variantes de réalisation, on pourrait utiliser un protocole de poignée de main différent, comme un protocole de poignée de main à deux phases. Un signal de données DATA en figure 3 représente par 30 exemple les données fournies sur les lignes d'entrée I.00, I.10 à 3048832 B14811 - BD16818 - D108856-01 9 du demi-tampon. Le signal de données DATA est par exemple initialement bas à la fin d'un échange de rang (j-1) (EXCHANGE j-1), en d'autres termes les signaux sur toutes les lignes d'entrée sont par exemple à l'état bas. Le signal d'accusé 5 de réception I ack généré par le demi-tampon est par exemple initialement bas. À un instant tO au début d'un échange j (EXCHANGE j), le signal de données fait une transition, correspondant à une première phase (PHASE 1) du protocole de poignée de main. En 10 supposant que le signal d'accusé de réception 0 ack sur la ligne 206 est haut, peu de temps après le signal d'accusé de réception I ack va passer à l'état bas correspondant à une deuxième phase (PHASE 2) du protocole de poignée de main. À un instant tl, le signal de données DATA est amené de 15 nouveau à l'état bas, ce qui correspond à une troisième phase (PHASE 3) du protocole de poignée de main. En supposant que le signal d'accusé de réception 0_ack est passé à l'état bas, le signal d'accusé de réception Lack va ainsi passer de nouveau à l'état haut, ce qui correspond à une quatrième phase (PHASE 4) du 20 protocole de poignée de main. De nouvelles données peuvent ensuite être transmises dans un échange (j+1) (EXCHANGE j+1), comme cela est représenté à un instant t2 en figure 3. Bien que dans l'exemple de la figure 3 le signal d'accusé 25 de réception Lack soit initialement haut, puis passe à l'état bas lorsque des données sont reçues, dans des variantes de réalisation il pourrait être initialement bas, et passer à l'état haut lorsque des données sont reçues. La figure 4 illustre schématiquement un pipeline 30 asynchrone résistant aux rayonnements 400 selon un exemple de réalisation de la présente description. Ce pipeline est par exemple basé sur des principes similaires à ceux du pipeline décrit précédelimient en référence aux figures 1 à 3. Le pipeline 400 comprend une première série d'étages 35 asynchrones, la figure 4 montrant quatre étages de la sorte 3048832 B14811 - BD16818 - D108856-01 10 mettant en oeuvre respectivement un additionneur (ADDER) 402, un opérateur multiplieur accumulateur (MAC) 404, un multiplieur (MULT) 406, et un autre étage (X) 408, qui pourrait être n'importe quel type d'opérateur. Ce pipeline est dupliqué, la deuxième série 5 d'étages étant référencée 402', 404', 406' et 408' en figure 4. Ainsi les étages 402', 404', 406' et 408' sont par exemple fonctionnellement équivalents aux étages respectifs 402, 404, 406 et 408, et vont ainsi générer des signaux de sortie sensiblement identiques en l'absence d'erreurs. Chaque étage 402 à 408 et 402' 10 à 408' comprend par exemple un demi-tampon similaire à celui de la figure 2. Des lignes de données de sortie de chaque étage 402, 402', 404, 404', 406, 406' et 408, 408' sont fournies à l'étage suivant dans chaque pipeline, et aussi à l'entrée d'un comparateur 15 correspondant, trois de ces comparateurs 412, 414 et 416 étant illustrés en figure 4. Le comparateur 412 est couplé aux lignes de données de sortie des étages 402, 402', le comparateur 414 est couplé aux lignes de données de sortie des étages 404, 404' et le comparateur 416 est couplé aux lignes de données de sortie des 20 étages 406, 406'. Chaque comparateur 412, 414, 416 génère par exemple un signal d'erreur Err, qui est activé, par exemple à un niveau haut, lorsqu'une discordance est détectée entre les signaux de données provenant d'étages de pipeline correspondants. Un circuit de pause d'accusé de réception 422 propage 25 le signal d'accusé de réception revenant vers chaque étage. Par exemple, un circuit de pause d'accusé de réception 422 fournit le signal d'accusé de réception Ack à l'étage 402, et de façon similaire des circuits de pause d'accusé de réception 422', 424, 424', 426, 426', 428 et 428' fournissent les signaux d'accusé de 30 réception Ack ou Ack' aux étages 402', 404, 404', 406, 406', 408 et 408' respectivement. Chacun des circuits 422 à 428 et 422' à 428' comporte deux entrées. Par exemple, le circuit de pause d'accusé de réception fournissant le signal d'accusé de réception à un étage de rang i dans le pipeline a l'une de ses entrées 35 couplée à la sortie d'accusé de réception de l'étage (i+1) dans 3048832 B14811 - BD16818 - D108856-01 11 le pipeline, et l'autre de ses entrées couplée à la sortie du comparateur associé à l'étage (i+1) du pipeline. De cette manière, sur la base du signal d'erreur Err résultant de la comparaison des signaux de données provenant de l'étage (i+1), le signal 5 d'accusé de réception vers l'étage i peut être activé ou mis en pause. Dans l'exemple de la figure 4, on a supposé que le signal d'accusé de réception passe à l'état bas pour informer l'étage précédent que les signaux de données peuvent être amenés à l'état 10 bas, et ainsi les circuits de pause d'accusé de réception 422, 422' à 428, 428' sont mis en oeuvre par des portes OU, qui vont maintenir les signaux d'accusé de réception hauts si le comparateur a une sortie haute indiquant la présence d'une discordance entre les sorties des étages. Bien sûr, dans des 15 variantes de réalisation, on pourrait utiliser d'autres types de portes logiques, comme une porte ET, pour mettre en oeuvre les circuits de pause d'accusé de réception, en fonction de la polarité du signal d'accusé de réception à générer et du signal d'erreur. 20 Le fonctionnement du circuit de la figure 4 va maintenant être décrit plus en détail en faisant référence à la figure 5. La figure 5 est un chronogramme illustrant des exemples particuliers du signal d'accusé de réception Acki reçu par un 25 étage i dans chacun des pipelines dupliqués, des signaux de données DATAi+1, DATA'i+1 générés par les étages (i+1) des pipelines dupliqués, et du signal d'erreur Erri+1 à la sortie du comparateur recevant les signaux de données DATAi+1 et DATA'i+1- Initialement, plusieurs cycles d'échanges sont 30 illustrés dans lesquels le signal d'erreur Erri_ri reste bas, et ainsi des transitions dans les signaux de données déclenchent un front descendant du signal d'accusé de réception Acki, qui à son tour déclenche la réinitialisation des signaux de données, qui à son tour déclenche un front montant du signal d'accusé de 35 réception Acki. 3048832 B14811 - BD16818 - D108856-01 12 À un instant tO en figure 5, on suppose qu'un SEU (ERROR) survient dans le pipeline dupliqué, amenant le signal DATA'i+l dans ce pipeline a passer à l'état bas plus tôt que dans le cas normal. Cela crée une discordance entre les signaux de données 5 DATAi+1 et DATA'i+1, et ainsi le signal d'erreur Errilq passe à l'état haut. Ainsi, le signal d'accusé de réception Acki passe à l'état haut peu de temps après et reste haut, provoquant une mise en pause de la transmission de données dans le pipeline. Lorsque le signal DATAi+1 passe de nouveau à l'état bas, 10 le signal d'erreur commence à descendre, puis revient à l'état haut de nouveau sur un front montant suivant du signal de données DATAi+1, et le signal de données conserve ensuite son état puisque le signal d'accusé de réception Acki n'a pas permis que de nouvelles données rentrent dans l'étage i. Ainsi, le signal 15 d'accusé de réception Acki reste aussi à l'état haut. À un instant tl, le changement d'état dans le signal de données DATAIi+1 provoqué par le SEU est par exemple revenu à sa valeur vraie, et ainsi le signal d'erreur Erri+1 passe de nouveau à l'état bas. Cela libère le signal d'accusé de réception Acki, 20 et la transmission dans le pipeline par exemple se poursuit. Ainsi, le SEU provoque seulement une pause dans la transmission de données, et non pas une réinitialisation des données maintenues dans le pipeline. Bien que le mode de réalisation de la figure 4 assure 25 une protection raisonnable contre les SEU dans de nombreuses applications, une difficulté pourrait survenir si une autre erreur survenait dans l'un des signaux de données des étages précédents avant que l'erreur courante ait été corrigée. Un autre mode de réalisation qui résout au moins partiellement ce problème va 30 maintenant être décrit en faisant référence à la figure 6. La figure 6 illustre schématiquement un pipeline asynchrone 600, qui est par exemple similaire au pipeline 400 de la figure 4, et les éléments similaires portent les mêmes références et ne seront pas décrits de nouveau en détail. Par 35 rapport au mode de réalisation de la figure 4, le pipeline 600 de 3048832 B14811 - BD16818 - D108856-01 13 la figure 6 comprend en plus des circuits de mémorisation non volatile 602, 604 et 606 associés respectivement aux étages 402, 404 et 408, et des circuits de mémorisation non volatile 602', 604' et 606', associés respectivement aux étages 402', 404' et 5 406'. Le circuit de mémorisation non volatile associé à un étage de rang i dans le pipeline a par exemple une entrée et une sortie couplées aux lignes de sortie de données de l'étage i, et une entrée couplée à la sortie du comparateur de l'étage i. En 10 outre, il comporte par exemple une entrée couplée à la sortie du comparateur de l'étage (i+1). Par exemple, le circuit de mémorisation non volatile 602 a une entrée et une sortie couplées aux lignes de sortie de l'étage 402, une entrée couplée à la sortie du comparateur 412, et une entrée couplée à la sortie du 15 comparateur 414. De façon similaire, le circuit de mémorisation non volatile 602' a une entrée et une sortie couplées aux lignes de sortie de l'étage 402', une entrée couplée à la sortie du comparateur 412, et une entrée couplée à la sortie du comparateur 414. 20 Chaque circuit de mémorisation non volatile est par exemple agencé pour mémoriser les signaux de données se trouvant à la sortie de l'étage de pipeline i correspondant si le comparateur de l'étage i n'indique pas d'erreur, en d'autres termes si les signaux de données concordent dans les pipelines 25 dupliqués. De plus, si une erreur est détectée par le comparateur de l'étage (i+1), le circuit de mémorisation non volatile est par exemple adapté à fournir sa valeur mémorisée, qui va écraser la valeur fournie par l'étage i, de sorte que le circuit est immunisé contre un autre SEU survenant dans l'étage i. En plus, les circuits 30 de mémorisation non volatile permettent par exemple aux pipelines d'être réinitialisés à partir d'un état mémorisé à la suite d'une réinitialisation ou d'une coupure d'alimentation du pipeline. Alors que dans l'exemple de la figure 6 il y a des circuits de mémorisation non volatile associés à chaque étage dans 35 les deux pipelines dupliqués, dans certains modes de réalisation, 3048832 B14811 - BD16818 - D108856-01 14 l'un de ces ensembles de circuits de mémorisation non volatile pourrait être omis. Par exemple, les circuits 602', 604' et 606' pourraient être omis, et les sorties des circuits 602, 604 et 606 pourraient additionnellement être couplées aux sorties des étages 5 402', 404' et 406' respectivement. Le fonctionnement du circuit de la figure 6 va maintenant être décrit plus en détail en faisant référence au chronogramme de la figure 7. La figure 7 illustre un signal d'accusé de réception 10 Acki d'un étage de rang i, le signal de données DATA' à la sortie de l'étage i, le signal d'erreur Erri+1 provenant du comparateur de l'étage (i+1), les signaux de données DATAi+1 et DATA'i+l à la sortie de l'étage (i+1), et le signal de données DATA à la sortie des circuits de mémorisation non volatile. 15 Dans cet exemple, on a supposé que le signal d'accusé de réception Acki est initialement bas, le bit "0" du signal de données DATAi, représenté par une ligne en pointillés, est initialement haut, le bit "1" du signal de données DATAi, représenté par une ligne en trait plein, est initialement bas, 20 les signaux de données DATAi+1 et DATA'ill_ sont initialement hauts, le bit "0" du signal de données DATA, représenté par une ligne en pointillés, est initialement haut, le bit "1" du signal de données DATA, représenté par une ligne en trait plein, est initialement haut et le signal d'erreur Errill est initialement 25 bas. Les états des bits "0" et "1" du signal de données DATAi ont par exemple été mémorisés dans le circuit de mémorisation non volatile correspondant. À un instant tO on suppose qu'un SEU (ERROR) survient dans le pipeline, provoquant la descente au niveau bas du signal 30 de données DATAi+1 plus tôt que la normale. Cela crée une discordance entre les signaux de données DATAi+1 et DATA'ilq, et ainsi le signal d'erreur Err1+1 passe à l'état haut. Ainsi, le signal d'accusé de réception Acki passe à l'état haut peu de temps après et reste haut, provoquant la mise en pause de la transmission 35 de données dans le pipeline. À l'instant tl le bit "0" du signal 3048832 B14811 - BD16818 - D108856-01 15 de données DATAi est forcé à l'état bas puisque le signal d'accusé de réception a mis le circuit en pause. À un instant t2 peu de temps après que le signal d'erreur Erri+1 a été activé, le dispositif de mémorisation non volatile 5 est commandé pour lire les valeurs précédentes du signal de données DATAi sur les lignes de sortie de l'étage i. À un instant t3, le signal DATAi prend les valeurs précédemment mémorisées dans les circuits de mémorisation non volatile (DATA). Une fois que le signal DATAi+1 a récupéré du SEU à un instant t4, le traitement 10 continue sur la base de la valeur chargée du signal de données DATAi, sans risque de fautes. À un instant t5, après que le signal d'erreur Erri+1 soit passé à l'état bas de nouveau, le bit "0" du signal DATAi passe par exemple de nouveau à l'état bas, prêt pour l'échange de 15 données suivant. La figure 8A illustre schématiquement plus en détail un bloc de circuit mettant en oeuvre le circuit de mémorisation non volatile 602 selon un exemple de réalisation. Les autres circuits de mémorisation non volatile du pipeline sont par exemple mis en 20 oeuvre par un bloc de circuit similaire. Le circuit 602 reçoit par exemple des bits de données d'entrée IN à partir des lignes de sortie de l'étage i correspondant, fournit des bits de données de sortie OUT sur les lignes de sortie de l'étage i correspondant, et reçoit des 25 commandes de lecture et d'écriture RD, WR. La commande de lecture RD correspond par exemple au signal d'erreur Err provenant du comparateur de l'étage (i+1). Le signal d'écriture est par exemple généré par la sortie du signal d'accusé de réception provenant du circuit 422. 30 La figure 8B illustre schématiquement plus en détail une mise en oeuvre d'une partie du circuit de mémoire non volatile 602 de la figure 8A selon un exemple de réalisation. Cette mise en oeuvre correspond à la mémorisation d'un bit de données, et en pratique ce circuit est par exemple dupliqué pour chacun des 35 signaux de données à mémoriser. 3048832 B14811 - BD16818 - D108856-01 16 Le circuit 602 comprend par exemple une paire d'éléments non volatils 802, 804, qui sont par exemple des éléments résistifs programmables. Chacun de ces éléments peut par exemple être programmé pour prendre l'un d'une pluralité d'états résistifs. 5 Les éléments résistifs 802 et 804 peuvent être d'un type quelconque d'élément à conumtation de résistance pour lequel la résistance est programmable par le sens d'un courant qu'on fait passer dedans. Par exemple, les éléments à commutation de résistance 10 802, 804 sont des éléments à couple de transfert de spin ayant une anisotropie dans le plan ou perpendiculaire au plan, comme cela est décrit plus en détail dans la publication intitulée "Magnonic spin-transfer torque MRAM with low power, high speed, and error-free switching", N. Mojumder et al., IEDM Tech. Digest 15 (2010), et dans la publication intitulée "Electric toggling of magnets", E. Tsymbal, Natural Materials Vol 11, janvier 2012. Un avantage des dispositifs MRAM est qu'ils sont intrinsèquement robustes vis-à-vis des rayonnements. En variante, les éléments à commutation de résistance 20 802, 804 pourraient être ceux utilisés dans des mémoires à commutation résistive RAM RedOx (RAM à réduction-oxydation), qui sont par exemple décrits plus en détail dans la publication intitulée "Redox-Based Resistive Switching Memories - Nanoionic Mechanisms, Prospects and Challenges", Rainer Waser et al., 25 Advanced Materials 2009, 21, pages 2632 à 2663. Dans encore un autre exemple, les éléments résistifs pourraient être ceux utilisés dans des FeRAM (RAM ferroélectriques) ou dans des PCRAM (RAM à changement de phase) ou tout dispositif mémoire à résistance variable. 30 Quel que soit le type des éléments à commutation résistive 802, 804, un bit de données est par exemple mémorisé de manière non volatile en mettant l'un des éléments à une résistance relativement haute (Rmax), et l'autre à une résistance relativement basse (Rmin)- Dans l'exemple de la figure 8, l'élément 802 35 est programmé pour avoir une résistance Rmax et l'élément 804 une 3048832 B14811 - BD16818 - D108856-01 17 résistance Rmin représentant une valeur du bit de données, et comme cela est représenté par les références Rmin et Rmax entre parenthèses, la programmation opposée des valeurs de résistance mémorise la valeur opposée du bit de données. 5 Chacun des éléments à commutation de résistance 802, 804 a par exemple seulement deux états résistifs correspondant aux résistances haute et basse Rmax et Rmin, mais les valeurs exactes de Rmin et Rmax peuvent varier en fonction de conditions comme le processus de fabrication, les matériaux, les variations de 10 température, etc. Le bit de donnée non volatile représenté par les éléments résistifs 802, 804 dépend duquel des éléments résistifs à la résistance Rmax ou Rmin, en d'autres termes des résistances relatives. Les éléments résistifs 802, 804 sont par exemple 15 choisis de telle sorte que Rmax soit toujours notablement plus grande que Rmin, par exemple supérieure d'au moins 20 %. En général, le rapport entre la résistance Rmax et la résistance Rmin est par exemple compris entre 1,2 et 10000. Rmin est par exemple dans la région des 2 kilo-ohms ou moins, et Rmax est par exemple 20 dans la région des 6 kilo-ohms ou plus, bien que de nombreuses autres valeurs soient possibles. Il apparaîtra clairement à l'homme de l'art que dans certains modes de réalisation, plutôt que les deux éléments résistifs 802, 804 soient programmables, un seul soit program- 25 mable. Dans un tel cas, l'autre élément résistif a par exemple une résistance fixe à un niveau intermédiaire situé environ à mi-chemin entre Rmin et Rmax, par exemple égal, avec une tolérance de 10 %, à (Rmin+(Rmax-Rmin)/2). Par exemple, l'un des éléments résistifs 802, 804 pourrait correspondre à une résistance de 30 valeur fixe. En variante, l'un des éléments résistifs 802, 804 pourrait être constitué d'une paire d'éléments résistifs programmables couplés en parallèle entre eux et dans des orientations opposées, de sorte que quel que soit'le sens dans lequel chaque élément est programmé, la valeur de résistance reste 35 relativement constante au niveau intermédiaire. 3048832 B14811 - BD16818 - D108856-01 18 L'élément 802 est par exemple couplé entre un noeud 806 et un premier circuit d'écriture 808. Élément 804 est par exemple couplé entre le noeud 810 et un deuxième circuit d'écriture 812. Les noeuds 806 et 810 sont par exemple couplés entre eux par 5 l'intermédiaire d'un commutateur 814 contrôlé par le signal d'écriture WR. En outre, les noeuds 806 et 810 sont par exemple couplés par l'intermédiaire de transistors respectifs 816 et 818 à un circuit de lecture 820. Les transistors 816 et 818 sont par exemple contrôlés par le signal de lecture RD. 10 Le comautateur 814 comprend par exemple un transistor PMOS 822 et un transistor NMOS 824, chacun étant couplé par ses noeuds de conduction principaux entre les noeuds 806 est 810. Le transistor 822 est par exemple contrôlé par l'inverse I« du signal d'écriture WR, et le transistor 824 est par exemple 15 contrôlé par le signal d'écriture WR. Les transistors 822 et 824 sont rendus conducteurs pendant une phase d'écriture, de sorte que le courant passe dans les éléments 802 et 804 dans une direction allant du circuit 808 vers le circuit 812, ou dans la direction opposée, en fonction du bit de donnée à mémoriser. 20 Le premier circuit d'écriture 808 comprend par exemple un noeud 828 couplé à l'élément 802, et aussi à un rail de tension d'alimentation VDD par l'intermédiaire d'un transistor PMOS 830, et à la masse par l'intermédiaire d'un transistor NMOS 832. Les grilles des transistors 830 et 832 sont couplées à un noeud 834, 25 qui est lui-même couplé par l'intermédiaire d'un transistor PMOS 836 au rail de tension d'alimentation VDD. En outre, le noeud 834 est couplé à une ligne d'entrée recevant l'inverse nA d'un signal de données d'entrée A par l'intermédiaire d'un transistor 837. Les transistors 836 et 837 sont contrôlés sur leurs noeuds de 30 grille par le signal d'écriture WR. De façon similaire, le deuxième circuit d'écriture 812 comprend par exemple un noeud 838 couplé à l'élément 804, et aussi au rail de tension d'alimentation VDD par l'intermédiaire d'un transistor PMOS 840, et à la masse par l'intermédiaire d'un 35 transistor NMOS 842. Les grilles des transistors 840 et 842 sont 3048832 B14811 - BD16818 - D108856-01 19 couplées à un noeud 844, qui est lui-même couplé par l'intermédiaire d'un transistor PMOS 846 au rail de tension d'alimentation VDD. En outre, le noeud 844 est couplé à une ligne d'entrée recevant le signal de données d'entrée A par 5 l'intermédiaire d'un transistor 847. Les transistors 846 et 847 sont contrôlés au niveau de leurs noeuds de grille par le signal d'écriture WR. Comme cela est représenté par le circuit 848, le signal nA est par exemple généré en appliquant le signal A à l'entrée 10 d'un inverseur constitué par exemple d'un transistor PMOS 850 et d'un transistor NMOS 852. En fonctionnement, le signal A correspond à un bit du signal d'entrée de données IN du circuit, et lorsque le signal d'écriture WR est activé, un courant d'écriture est appliqué dans 15 les éléments 802 et 804 dans une direction basée sur le signal A. Le circuit de lecture 820 dans l'exemple de la figure 8B est par exemple capable de générer un bit de sortie en détectant les résistances programmées relatives des éléments résistifs 802, 804 lorsque le signal de lecture RD est activé. En outre, le 20 circuit est par exemple résistant aux rayonnements pour réduire le risque qu'un SEU provoquant une erreur soit propagé par le circuit. Le circuit de lecture 820 comprend par exemple un noeud 854 qui fournit le bit de sortie lu dans les éléments résistifs 25 802, 804. Le noeud 854 est couplé au rail de tension d'alimentation VDD par l'intermédiaire d'un transistor 856 et à un noeud 860 par l'intermédiaire d'un transistor NMOS 858. Le noeud 860 est couplé à un noeud de conduction principal du transistor NMOS 816. Le noeud 854 est aussi couplé par l'intermédiaire d'un transistor PMOS 862 30 au rail de tension d'alimentation VDD, le transistor 862 étant contrôlé par le signal de lecture RD. Un transistor 864 a sa grille couplée au noeud 854, et ses noeuds de conduction principaux couplés respectivement à la grille du transistor 856 et à un autre noeud 866 lui-même couplé au transistor 818. Un transistor PMOS 35 868 a par exemple sa grille couplée au noeud 854, et ses noeuds de 3048832 B14811 - BD16818 - D108856-01 20 conductions principaux couplés respectivement au rail de tension d'alimentation VDD et à un autre noeud 870. Le noeud 870 est en outre couplé par l'intermédiaire d'un transistor 872 au rail de tension d'alimentation VDD, le transistor 872 étant par exemple 5 un transistor PMOS contrôlé au niveau de sa grille par le signal de lecture RD. Le circuit de lecture 820 comprend aussi par exemple un noeud 874 couplé au rail de tension d'alimentation VDD par l'intermédiaire d'un transistor 876 et au noeud 860 par 10 l'intermédiaire d'un transistor NMOS 878. Le noeud 874 est aussi couplé par l'intermédiaire d'un transistor PMOS 882 au rail de tension d'alimentation VDD, le transistor 882 étant contrôlé par le signal de lecture RD. Un transistor 884 a sa grille couplée au noeud 874, et ses noeuds de conduction principaux couplés 15 respectivement à la grille du transistor 876 et au noeud 866. Un transistor PMOS 888 a par exemple sa grille couplée au noeud 874, et ses noeuds de conduction principaux couplés respectivement au rail de tension d'alimentation VDD et à un autre noeud 890. Le noeud 890 est en outre couplé par l'intermédiaire d'un transistor 892 20 au rail de tension d'alimentation VDD, le transistor 892 étant par exemple un transistor PMOS contrôlé au niveau de sa grille par le signal de lecture RD. Le noeud 854 est par exemple couplé par l'intermédiaire d'une bascule 894, synchronisée par un signal d'horloge CLK, à 25 une sortie OUT du circuit de mémorisation non volatile. En fonctionnement, lorsque le signal de lecture RD est activé, les transistors 816 et 818 sont rendus conducteurs. En outre, les transistors 862, 872, 882 et 892 sont rendus non conducteurs. Les transistors 856, 864, 876 et 884 vont ainsi 30 conduire des courants formant un premier courant de lecture dans le transistor 818, et les transistors 878, 888, 858 et 868 vont ainsi conduire des courants formant un deuxième courant de lecture dans le transistor 816. Ces courants vont amener les tensions sur les noeuds 854 et 874 à basculer sur la base des résistances 35 programmées des éléments 802 et 804. 3048832 B14811 - BD16818 - D108856-01 21 Alors que les modes de réalisation des figures 6 et 8 décrits précédemment concernent un pipeline asynchrone, dans des variantes de réalisation les mêmes principes pourraient être appliqués à d'autres types de circuits assurant des communications 5 asynchrones, comme on va le décrire maintenant en faisant référence à la figure 9. La figure 9 illustre schématiquement une architecture GALS (globalement asynchrone, localement synchrone) (GALS ARCHITECTURE) 900 comprenant une paire de circuits 902, 904, qui 10 sont par exemple tous les deux synchrones et capables de communiquer entre eux de manière asynchrone, et une autre paire de circuits 902', 904', qui sont par exemple fonctionnellement équivalents aux circuits 902, 904 respectivement. Par exemple, les circuits 902, 902' correspondent respectivement à un opérateur 15 synchrone 1 (SYNCHRONOUS OPERATOR 1) et à son double (SYNCHRONOUS OPERATOR 1') contrôlés par un signal d'horloge CLK1, et les circuits 904, 904' correspondent respectivement à un opérateur synchrone 2 (SYNCHRONOUS OPERATOR 2) et à son double (SYNCHRONOUS OPERATOR 2') contrôlé par un signal d'horloge CLK2. 20 Dans l'exemple de la figure 9, les circuits 902 et 902' communiquent avec les circuits 904, 904' dans les deux directions. Les interfaces asynchrones entre les circuits 902, 904 et entre les circuits 902', 904' comprennent chacune par exemple une ou plusieurs lignes de données (DATA) et une ligne d'accusé de 25 réception ACK. Les circuits 902, 902' comprennent chacun par exemple respectivement un encapsuleur asynchrone 906, 906' formant une interface entre les portions synchrones des circuits et l'interface asynchrone. De façon similaire, les circuits 904, 904' comprennent chacun par exemple respectivement un encapsuleur 30 asynchrone 908, 908' formant une interface entre les portions synchrones des circuits et l'interface asynchrone. Dans certains modes de réalisation, l'un ou l'autre des circuits 902, 902' ou les deux communiquent aussi avec d'autres circuits (non illustrés en figure 9), par l'intermédiaire d'autres lignes de données et 35 d'accusé de réception, par exemple couplées à des encapsuleurs 3048832 B14811 - BD16818 - D108856-01 22 asynchrones 908, 908' des circuits 902, 902'. En plus ou à la place, l'un ou l'autre des circuits 904, 904' communique aussi avec d'autres circuits (non illustrés en figure 9) par l'intermédiaire d'autres lignes de données et d'accusé de 5 réception, par exemple couplées à des encapsuleurs asynchrones 906, 906' des circuits 904, 904'. Lesdites une ou plusieurs lignes de données formant l'interface entre les circuits 902 et 904 sont par exemple couplées à un comparateur (COMP) 912, qui compare les signaux sur 10 les lignes de données correspondantes, et active un signal d'erreur Err sur sa sortie quand il y a une discordance entre l'un quelconque des signaux. Ce signal d'erreur Err est passé à des circuits de pause d'accusé de réception 914 et 914' (ACK PAUSE) couplés respectivement dans les chemins des signaux d'accusé de 15 réception générés par les circuits 904 et 904'. Ainsi, une discordance détectée entre les signaux de données va provoquer la mise en pause des signaux d'accusé de réception jusqu'à ce que la donnée récupère sa valeur correcte. Un avantage des modes de réalisation décrits ici est 20 qu'une détection et une correction d'erreur peuvent être réalisées pour des communications asynchrones sans augmenter de plus qu'un facteur deux la surface et la consommation d'énergie du circuit. Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et 25 améliorations apparaîtront facilement à l'homme de l'art. Par exemple, alors que dans les modes de réalisation des figures 4 et 6 la détection d'une discordance entre les signaux de données des étages de rang (i+1) est utilisée pour mettre en pause les signaux d'accusé de réception vers les étages de rang i, dans des variantes 30 de réalisation elle pourrait être utilisée pour mettre en pause des signaux d'accusé de réception vers les étages de rang (i+1) ou vers des étages précédents se trouvant avant les étages de rang i. En outre, bien qu'on ait décrit une mise en oeuvre en 35 référence à la figure 8B dans laquelle un circuit de mémorisation 3048832 B14811 - BD16818 - D108856-01 23 non volatile est mis en oeuvre en utilisant des éléments à commutation de résistance programmables par le sens d'un courant qu'on fait passer dedans, dans des variantes de réalisation on pourrait utiliser d'autres technologies de mémorisation de données 5 non volatiles, avec des conceptions de circuits appropriées pour programmer et lire un ou plusieurs éléments de mémorisation. En outre, d'autres mises en oeuvre du circuit de la figure 8B seraient possibles, par exemple sur la base d'un ou plusieurs des circuits décrits dans la publication de R. Rajaei et al. intitulée "Soft 10 Error-Tolerant Design of MRAM-based Non-Volatile Latches for Sequential Logics", IEEE TRANSACTIONS ON MAGNETICS, novembre 2014, dont le contenu est inclus ici connue référence dans les limites autorisées par la loi. En outre, il sera clair pour l'homme de l'art que la 15 tension d'alimentation VDD dans les divers modes de réalisation pourrait avoir un niveau quelconque, par exemple entre 1 et 3 V, et plutôt que d'être à 0 V, la tension de masse pourrait aussi être considérée comme une tension d'alimentation qui pourrait avoir un niveau quelconque, comme un niveau négatif. 20 En outre, il sera clair pour l'homme de l'art que, dans n'importe lequel des modes de réalisation décrits ici, tous les transistors NMOS pourraient être remplacés par des transistors PMOS et/ou tous les transistors PMOS pourraient être remplacés par des transistors NMOS. L'honune de l'art saura facilement 25 comment mettre en oeuvre l'un quelconque des circuits en utilisant seulement des transistors PMOS ou seulement des transistors NMOS, par exemple en inversant les rails de tension d'alimentation. En outre, bien qu'on ait décrit ici des transistors basés sur la technologie MOS, dans des variantes de réalisation on pourrait 30 utiliser d'autres technologies de transistors, comme la technologie bipolaire. En outre, il sera clair pour l'homme de l'art que les divers circuits décrits ici pourraient être mis en oeuvre dans du silicium massif, ou dans une structure de silicium sur isolant 35 (SOI). Par exemple, les circuits pourraient être mis en oeuvre en 3048832 B14811 - BD16818 - D108856-01 24 utilisant la technologie FD-SOI (SOI complètement déplétée). Un avantage des structures SOI est que, en raison de leur isolation locale du substrat, elles procurent une bonne résistance aux erreurs résultant de rayonnements. En outre, dans de telles 5 structures, on peut utiliser une polarisation du corps pour accélérer l'écriture des éléments non volatils. En outre, il apparaîtra clairement à l'homme de l'art que les divers éléments décrits en relation avec les divers modes de réalisation pourraient être combinés, dans des variantes de 10 réalisation, selon diverses combinaisons. Par exemple, les circuits de mémorisation non volatile du circuit de la figure 9 pourraient être mis en oeuvre par le circuit de mémorisation non volatile des figures 8A et 8B. REVENDICATIONS1. Circuit asynchrone comprenant : un premier circuit (404, 904) adapté à recevoir un premier signal d'entrée de données sur une première ligne d'entrée de données et à générer un premier signal d'accusé de réception 5 et un premier signal de sortie de données ; un deuxième circuit (404', 904') adapté à recevoir un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et à générer un deuxième signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième 10 circuit étant fonctionnellement équivalent au premier circuit ; un comparateur (414, 912) adapté à détecter une discordance soit entre les premier et deuxième signaux d'entrée de données soit entre les premier et deuxième signaux de sortie de données ; et 15 au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') adapté à empêcher la propagation des premier et deuxième signaux d'accusé de réception si une discordance est détectée par le comparateur. 2. Circuit asynchrone selon la revendication 1, dans 20 lequel le comparateur est adapté à détecter une discordance entre les premier et deuxième signaux de sortie de données, le circuit comprenant en outre : un autre comparateur (412) adapté à détecter une discordance entre les premier et deuxième signaux d'entrée de 25 données ; et un circuit de mémoire non volatile (602) couplé à la première ligne d'entrée de données et adapté à mémoriser une première valeur du premier signal d'entrée de données lorsque l'autre comparateur n'indique pas de discordance entre les premier 30 et deuxième signaux d'entrée de données. 3. Circuit asynchrone selon la revendication 2, dans lequel le circuit de mémoire non volatile (602) est en outre adapté à fournir la première valeur mémorisée en réponse à une 3048832 B14811 - BD16818 - D108856-01 26 discordance détectée entre les premier et deuxième signaux de sortie de données. 4. Circuit asynchrone selon la revendication 3, dans lequel le circuit de mémoire non volatile (602) est adapté à 5 fournir la première valeur mémorisée sur des lignes de données transmettant les premier et deuxième signaux d'entrée de données. 5. Circuit asynchrone selon l'une quelconque des revendications 2 à 4, dans lequel le circuit de mémoire non volatile comprend au moins un élément de mémorisation non volatile 10 (802, 804) programmable pour maintenir, de manière non volatile, l'un d'une pluralité d'états résistifs. 6. Circuit asynchrone selon l'une quelconque des revendications 1 à 5, dans lequel ledit au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') est 15 adapté à propager les premier et deuxième signaux d'accusé de réception une fois que le comparateur (414, 912) indique une concordance entre les premier et deuxième signaux d'entrée de données ou entre les premier et deuxième signaux de sortie de données. 20 7. Circuit asynchrone selon l'une quelconque des revendications 1 à 6, dans lequel chacun desdits au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914') est une porte logique adaptée à recevoir le premier ou le deuxième signal d'accusé de réception et un signal de sortie (Err) 25 du comparateur. 8. Circuit asynchrone selon l'une quelconque des revendications 1 à 7, dans lequel les premier et deuxième circuits (904, 904') sont des circuits de réception synchrones, le circuit asynchrone comprenant en outre : 30 un premier circuit de transmission synchrone (902) adapté à générer le premier signal d'entrée de données (Dl) et à le transmettre au premier circuit ; et un deuxième circuit de transmission synchrone (902') adapté à générer le deuxième signal d'entrée de données (D2) et à 35 le transmettre au deuxième circuit. 3048832 B14811 - BD16818 - D108856-01 27 9. Pipeline asynchrone comprenant le circuit asynchrone de l'une quelconque des revendications 1 à 8, dans lequel le pipeline asynchrone comprend : un premier sous-pipeline comprenant une première 5 pluralité d'étages (402 à 408) dont l'un comprend le premier circuit ; et un deuxième sous-pipeline comprenant une deuxième pluralité d'étages (402' à 408') dont l'un comprend le deuxième circuit. 10 10. Procédé de détection et de correction de dérangements par événement singulier dans un circuit asynchrone comprenant : recevoir par un premier circuit (404, 904) un premier signal d'entrée de données sur une première ligne d'entrée de 15 données et générer par le premier circuit un premier signal d'accusé de réception et un premier signal de sortie de données ; recevoir par un deuxième circuit (404', 904') un deuxième signal d'entrée de données sur une deuxième ligne d'entrée de données et générer par le deuxième circuit un deuxième 20 signal d'accusé de réception et un deuxième signal de sortie de données, le deuxième circuit étant fonctionnellement équivalent au premier circuit ; comparer, par un comparateur (414, 912), les premier et deuxième signaux d'entrée de données ou les premier et deuxième 25 signaux de sortie de données pour détecter une discordance ; et empêcher, par au moins un circuit de mise en pause d'accusé de réception (422, 422', 914, 914'), la propagation des premier et deuxième signaux d'accusé de réception si une discordance est détectée entre les premier et deuxième signaux 30 d'entrée de données ou entre les premier et deuxième signaux de sortie de données.