Brevet FR2998688A1 — publié le 20140530

DOMAINE DE L'INVENTION L'invention se rapporte au domaine des techniques de durcissement de circuits électroniques, plus particulièrement aux techniques de durcissement logique utilisant la redondance modulaire. ART ANTERIEUR La plupart des composants électroniques de circuits électroniques sont sensibles à des rayonnements électromagnétiques pouvant générer des fautes logiques transitoires (« Single Event Transient » en anglais). La redondance modulaire triple (en anglais, TMR pour « Triple Modular Redundancy ») est une technique de durcissement logique consistant à introduire de la redondance dans un circuit électronique au stade de sa conception. En référence à la figure 1, un module M assurant une fonction donnée est remplacé selon cette technique par un bloc TMR constitué de trois modules M identiques en parallèle réalisant la même fonction, et d'un arbitre placé à leurs sorties respectives. L'arbitre réalise un vote majoritaire à partir des signaux de sortie des trois modules répliqués et produit un signal de sortie non ambigu grâce au nombre impair de ces modules. Ce signal de sortie est correct même si l'un des trois modules est défaillant, ce qui peut constituer une efficacité suffisante dans de nombreux cas pratiques. L'occurrence de plusieurs fautes simultanées produira néanmoins une sortie erronée. Une première catégorie de techniques de durcissement logique propose de sélectionner dans un circuit complexe sans redondance des sous-circuits particulièrement sensibles aux fautes et de remplacer chaque sous-circuit identifié par un bloc TMR assurant la même fonction. On parle alors de techniques STMR, « Selective TMR » en anglais, car certaines parties du circuit ne sont pas répliquées. Les techniques STMR ne sont toutefois pas adaptées aux circuits qui requièrent un très haut niveau de fiabilité, comme par exemple les circuits potentiellement intégrés dans les matériels électriques de contrôle-commande des centrales nucléaires. Une autre catégorie de techniques de durcissement logique dites par partitionnement propose d'insérer des arbitres supplémentaires dans un circuit formant déjà dans son ensemble un bloc TMR sur une série de N modules M1, ..., MN. L'insertion d'arbitres divise le circuit en partitions comprenant chacune un arbitre. La contrainte de faute unique évoquée précédemment est alors restreinte à chaque partition. Ainsi, s'il y a J partitions C1, Cj le circuit peut être tolérant jusqu'à J fautes simultanées, à condition qu'il n'y ait pas plus d'une faute par partition. Toutefois, les arbitres à vote majoritaire sont des composants particulièrement onéreux car ils requièrent un haut niveau de fiabilité interne. Par conséquent, le durcissement par partitionnement entraîne donc un surcoût de fabrication et une augmentation de la surface du circuit importants. PRESENTATION DE L'INVENTION L'invention propose une technique de durcissement par partitionnement permettant d'optimiser le nombre d'arbitres insérés pour garantir un niveau de fiabilité déterminé pour le circuit sans pour autant engendrer un surcoût de fabrication trop important ou augmenter de manière trop importante la surface du circuit. Ce but est atteint par un procédé de durcissement logique par partitionnement d'un circuit électronique comprenant un nombre impair K de branches en parallèle connectées à une même entrée primaire I et comprenant chacune une même série de N modules et N-1 noeuds joignant deux modules consécutifs, les K branches formant ensemble une succession de N-1 portes constituées respectivement de K noeuds en parallèle, et un arbitre primaire réalisant un vote majoritaire à partir des signaux de sortie des K branches, le procédé étant caractérisé en ce qu'il comprend les étapes suivantes répétées pour chacune des portes prises successivement depuis la porte la plus proche de l'entrée primaire : La détermination d'une fiabilité d'un sous-circuit en amont de la porte constitué par les portions des K branches comprises entre l'entrée primaire et la porte, et L'insertion d'au moins un arbitre à la porte réalisant un vote majoritaire à partir des signaux de sortie desdites portions de branches constituant le sous-circuit balayé, et délivrant au moins un signal majoritaire aux entrées respectives d'un sous-circuit complémentaire constitué par les portions de branches en aval de la porte, si la fiabilité du sous-circuit balayé est inférieure à une consigne de fiabilité. Un avantage de la présente invention est la réduction du coût de fabrication. Un autre avantage de la présente invention est qu'elle est facilement 15 automatisable. Avantageusement, l'étape d'insertion d'au moins un arbitre comprend l'insertion d'un arbitre délivrant un unique signal majoritaire aux entrées respectives du sous-circuit complémentaire. En variante, l'étape d'insertion d'au moins un arbitre comprend l'insertion de K arbitres en parallèle 20 délivrant chacun un signal majoritaire à l'une des entrées respectives du sous-circuit complémentaire. Par ailleurs, l'invention concerne également un produit programme d'ordinateur comprenant des instructions de code pour l'exécution du procédé de durcissement décrit précédemment, lorsque ce produit 25 programme est exécuté par des moyens de traitement de données. DESCRIPTION DES FIGURES La figure 1 représente un circuit comprenant un module protégé par redondance modulaire triple. 30 La figure 2 représente un circuit comprenant une série de quatre modules, protégé par redondance modulaire triple. La figure 3 représente un exemple de circuit résultant d'un durcissement par partitionnement appliqué sur le circuit de la figure 2. Les figures 4A, 4B et 4C représentent l'évolution de la fiabilité d'un circuit en fonction du nombre de portes qu'il contient. La figure 5 est un diagramme d'étapes du procédé de durcissement par partitionnement selon l'invention. Les figures 6A et 6B présentent deux modes de réalisations d'arbitres insérés au cours du procédé selon l'invention. DESCRIPTION DETAILLEE DE L'INVENTION Va d'abord être décrit en détail un circuit initial avant durcissement logique par partitionnement. Le circuit comprend un nombre impair K de branches principales en parallèle connectées à une même entrée primaire I, conformément à la 15 technique connue de redondance modulaire d'ordre K. Les K branches comportent chacune une même série de N modules MI, IE 111,M, M1 étant le module le plus proche de l'entrée primaire I du circuit et MN le module le plus éloigné de celle-ci. La série de N modules réalise la fonction logique globale du circuit. Chacun 20 des modules de cette série est un sous-circuit assurant lui-même une sous-fonction logique et comporte une entrée et une sortie. Un module peut donc être complexe ou assurer une fonction logique élémentaire, comme par exemple un inverseur. Chaque branche comporte par ailleurs N-1 noeuds assurant la connexion 25 entre deux modules consécutifs. Par convention, on appellera porte pi de niveau i l'ensemble des K noeuds parallèles du circuit faisant chacun connexion entre un module Mi et son successeur Mi+1 dans une branche spécifique. Le circuit comprend donc N-1 portes Pi,ie [[1,N-11- Un arbitre primaire VN est placé en sortie des K branches, plus précisément 30 en sortie des K derniers modules MN de chaque branche. Ainsi, cet arbitre VN réalise un vote majoritaire à partir des signaux de sortie des K branches et délivre un signal majoritaire à au moins une sortie primaire O. La figure 2 est un exemple de circuit conforme à la description précédente où le nombre de branches K est 3 et le nombre N de modules est 4 : dans ce circuit, l'arbitre V4 est placé en sortie de 3 branches comprenant chacune une série de quatre modules Mi, M2, M3 et M4 et trois portes pi, p2 et p3 intercalées entre deux modules consécutifs ; chacune de ces portes comprend trois noeuds localisés sur une branche distincte. La figure 3 représente le circuit de la figure 2 après un exemple de partitionnement conforme à l'invention. Ont été insérés dans ce circuit des arbitres aux portes pi et p2, mais pas à la porte p3. Ainsi, le circuit résultant 10 comprend trois partitions Ci, C2 et C3. Une unité de mesure représentative de la fiabilité d'un circuit est la probabilité d'un signal correct en sa sortie. Dans la suite du présent document, le terme « fiabilité » désignera donc cette unité de mesure. 15 Plusieurs méthodes pour mesurer la fiabilité sont connues de l'art antérieur: par exemple, la méthode SPR présentée dans le document « SPR Tool : Signal Reliability Analysis of Logic Circuits » par Franco et al., ou encore la méthode PTM exploitant des matrices de transfert. Est représenté en figure 4A l'évolution de la fiabilité d'un signal en fonction 20 du nombre de portes dans un circuit non partitionné. De manière générale, on constate que plus un circuit a un nombre important de portes (en d'autres termes, un nombre important de modules) plus la fiabilité du signal en sortie de ce circuit est faible. Cependant, lorsqu'un arbitre à vote majoritaire est inséré à une porte, la 25 fiabilité du signal en cette porte augmente grâce au vote majoritaire effectué par l'arbitre inséré. La figure 4B représente schématiquement la courbe de fiabilité du même circuit après insertion d'un arbitre à la porte p5 De la même manière, la figure 4C représente schématiquement la courbe de fiabilité du même circuit après insertion d'arbitres aux portes p5, pg et pu. 30 Grâce à ces arbitres, la fiabilité du circuit est maintenue supérieure à une valeur Rmin. Le procédé de durcissement selon l'invention va maintenant être décrit. Soit Rmin une consigne de fiabilité minimale à respecter pour un circuit non partitionné. L'objectif à atteindre est l'obtention d'un circuit partitionné dont la fiabilité du signal mesuré à sa sortie primaire O est supérieure ou égale à cette consigne Rmin. Dans le procédé selon l'invention, les portes d'un circuit sont balayées successivement d'amont en aval, c'est-à-dire depuis la porte la plus proche pi de l'entrée primaire I jusqu'à la porte pwi la plus éloignée de celle-ci. On se place donc d'abord à la porte la plus proche pi. En référence au diagramme de la figure 5, est déterminée dans une première étape FIA une fiabilité R1 du sous-circuit compris entre l'entrée primaire I et la porte pi, constitué de K portions de branches parallèles comprenant chacune un même module Mi. La fiabilité R1 déterminée est ensuite comparée COMP avec la consigne de fiabilité Rmin Si R1 > Rmin alors le sous-circuit en amont de la porte pi comprenant K modules Mi est considéré fiable (OK) ; Si R1 Les étapes illustrées sur le diagramme de la figure 5 sont répétées pour chacune des N-1 portes du circuit décrit précédemment. De manière générale en toute porte pi, le sous-circuit en amont de la porte pi comprend K portions de branches parallèles comprenant chacune une 30 série de i modules Mi, ..., Mi et le sous-circuit complémentaire en aval de la porte pi comprend K portions de branches parallèles comprenant chacune une série de N-i modules Mi+1, ..., MN. Au cours de l'étape FIA est déterminée la fiabilité Ri du sous-circuit en amont de la porte pi. La fiabilité Ri déterminée est ensuite comparée COMP avec la consigne de fiabilité Rmin Si Ri > Rmin alors le sous-circuit en amont de la porte pi est considéré fiable (OK) ; On vérifie ensuite dans un test DER le niveau i de la porte pi Si i En d'autres termes, le procédé de durcissement peut être répété sur chacun des i * j sous-circuits définissant un chemin de signal dans un circuit comprenant i, entrées primaires et j sorties primaires. REVENDICATIONS1. Procédé de durcissement logique par partitionnement d'un circuit électronique comprenant: Un nombre impair K de branches en parallèle connectées à une même entrée primaire (I) et comprenant chacune une même série de N modules (Mi, ..., MN) et N-1 noeuds joignant deux modules consécutifs, les K branches formant ensemble une succession de N-1 portes (pi, ..., pN-1) constituées respectivement de K noeuds en parallèle, et un arbitre primaire (VN) réalisant un vote majoritaire à partir des signaux de sortie des K branches, le procédé étant caractérisé en ce qu'il comprend les étapes suivantes répétées pour chacune des portes (pi, ..., pi, ..., pwi) prises successivement depuis la porte la plus proche (pi) de l'entrée primaire (I) La détermination (FIA) d'une fiabilité Ri d'un sous-circuit en amont de la porte (pi) constitué par les portions des K branches comprises entre l'entrée primaire et la porte (pi), L'insertion (INS) d'au moins un arbitre (Vi) à la porte (pi) réalisant un vote majoritaire à partir des signaux de sortie desdites portions de branches constituant le sous-circuit balayé, et délivrant au moins un signal majoritaire aux entrées respectives d'un sous-circuit complémentaire constitué par les portions de branches en aval de la porte (pi), si la fiabilité Ri du sous-circuit balayé est inférieure à une consigne de fiabilité Rmin 2. Procédé de durcissement selon la revendication 1, dans lequel l'étape d'insertion d'au moins un arbitre comprend l'insertion d'un arbitre délivrant un unique signal majoritaire aux entrées respectives du sous- circuit complémentaire. 3. Procédé de durcissement selon l'une des revendications 1 à 2, dans lequel l'étape d'insertion d'au moins un arbitre comprend l'insertion de K arbitres en parallèle délivrant chacun un signal majoritaire à l'une des entrées respectives du sous-circuit complémentaire. 4. Produit programme d'ordinateur comprenant des instructions de code pour l'exécution du procédé selon l'une des revendications 1 à 3, lorsque ce produit programme est exécuté par des moyens de traitement de données. 10