Brevet FR2828566A1 — publié le 20030214

Ensemble de circuits électroniques comportant au moins une mémoire avec des moyens de correction d'erreur Domaine technique de l'invention L'invention concerne un ensemble de circuits électroniques comportant au moins une mémoire et des moyens de détection et de correction d'erreur dans les données fournies par la mémoire pendant une opération de lecture, la mémoire étant connectée en série avec une pluralité d'étages successifs. État de la technique Les mémoires des circuits électroniques sont soumises à divers types de perturbations, comme les bombardements de particules, en particulier de particules ionisantes et de neutrons. Ainsi une particule ionisante peut, par l'intermédiaire du drain d'un transistor bloqué, provoquer une impulsion électrique modifiant l'état d'une cellule de la mémoire. Ce type d'erreurs peut affecter la fiabilité des ensembles de circuits électroniques comportant de telles mémoires, plus particulièrement dans le domaine des nanotechnologies dans lequel les niveaux de tensions et les valeurs des capacités des noeuds sont de plus en plus faibles. Dans l'art antérieur, l'utilisation de cellules de mémoire insensibles aux radiations, dites durcies, a été proposée pour surmonter ce problème. Une autre solution proposée consiste à associer aux données utiles stockées dans une mémoire des codes de contrôle d'erreur, qui peuvent être soit des codes de détection d'erreur, soit des codes de correction d'erreur comme le code de Hamming. Il a également été proposé (EP-A-765497) de corriger de telles erreurs en combinant la détection d'une augmentation du courant dans une ligne d'alimentation d'une colonne de cellules d'une mémoire et l'identification, grâce à un code de parité associé à chaque mot, de la rangée de cellules de la mémoire correspondant au mot affecté. L'un des principaux inconvénients des moyens de correction d'erreur connus est de réduire la vitesse de fonctionnement des ensembles de circuits électroniques comportant une mémoire avec des moyens de correction d'erreur en raison du délai nécessaire à la correction d'une erreur après une opération de lecture et/ou la détermination d'un code de contrôle d'erreur avant une opération d'écriture. Objet de l'invention L'invention a pour but de surmonter ces inconvénients et de permettre l'amélioration de la vitesse de fonctionnement d'un ensemble de circuits électroniques comportant au moins une mémoire statique avec des moyens de correction d'erreur. Selon l'invention, ce but est atteint par le fait que les moyens de correction d'erreur sont court-circuités en l'absence de détection d'une erreur. Selon un développement de l'invention, les données en mémoire sont associées à un code de détection d'erreur et à un code de correction d'erreur, plus long que le code de détection d'erreur, les moyens de détection d'erreur utilisant le code de détection d'erreur et les moyens de correction d'erreur utilisant le code de correction d'erreur. Le code de détection d'erreur peut être un code de parité et le code de correction d'erreur un code de Hamming. Selon un autre développement de l'invention, la sortie de la mémoire est connectée en parallèle à une entrée d'un circuit de détection d'erreur, à une entrée d'un circuit de correction d'erreur et à l'entrée d'un premier étage, le circuit de détection d'erreur contrôlant la transmission des données corrigées au premier étage après détection d'une erreur. Selon un mode de réalisation préférentiel, la sortie du circuit de détection contrôle des moyens de décontamination des étages susceptibles d'être contaminés par une erreur avant sa détection. Les moyens de décontamination comportent, de préférence, des moyens pour permettre, lorsqu'une erreur a été détectée, de maintenir l'ensemble en l'état pendant que la correction des données est effectuée par le circuit de correction et des moyens pour transmettre ensuite les données corrigées au premier étage tout en maintenant en l'état les circuits non susceptibles d'avoir été contaminés. Selon une autre caractéristique de l'invention, l'ensemble peut comporter des moyens pour remplacer, dans la mémoire, les données erronées par des données corrigées fournies par les moyens de correction d'erreur lorsqu'une erreur a été détectée. Selon un autre développement de l'invention, l'ensemble de circuits comportant des premières bascules susceptibles d'être affectées par l'erreur, des secondes bascules, non susceptibles d'être affectées par l'erreur et fournissant des données qui peuvent être utilisées par une première bascule située en aval, les moyens de décontamination comportent, pour chaque seconde bascule, un multiplexeur comportant une entrée connectée directement à la sortie de la seconde bascule associée et une entrée connectée à ladite sortie par l'intermédiaire d'un registre tampon, du type premier entré, premier sorti. L'ensemble de circuits comportant des troisièmes bascules appartenant à un ensemble source atteignable le plus éloigné, les moyens de décontamination comportent, de préférence, pour chaque troisième bascule, un multiplexeur comportant une entrée connectée directement à la sortie de la troisième bascule associée et une entrée connectée à ladite sortie par l'intermédiaire d'un registre tampon, du type premier entré, premier sorti. Chaque registre tampon comporte, de préférence, un nombre prédéterminé de cellules fonction de la distance séparant la bascule correspondante de la mémoire et de bascules appartenant à un ensemble atteignable le plus éloigné. Description sommaire des dessins D'autres avantages et caractéristiques ressortiront plus clairement de la description qui va suivre de modes particuliers de réalisation de l'invention donnés à titre d'exemples non limitatifs, et représentés aux dessins annexés, dans lesquels : La figure 1 illustre un ensemble de circuits selon l'art antérieur. La figure 2 représente un organigramme permettant d'accélérer le fonctionnement d'un circuit de contrôle selon l'art antérieur. La figure 3 illustre un premier type d'ensemble de circuits dans lequel l'invention peut être utilisée. La figure 4 représente un mode particulier de réalisation de l'invention pour un ensemble de circuits du type représenté à la figure 3. La figure 5 représente un organigramme illustrant le fonctionnement d'un ensemble de circuits selon la figure 4. La figure 6 illustre un second type d'ensemble de circuits dans lequel l'invention peut être utilisée. La figure 7 représente un mode particulier de réalisation de l'invention pour un ensemble de circuits du type représenté à la figure 6. La figure 8 illustre un troisième type d'ensemble de circuits dans lequel l'invention peut être utilisée. La figure 9 représente un mode particulier de réalisation de l'invention pour un ensemble de circuits du type représenté à la figure 8. Les figures 10 et 11 représentent des ensembles comportant de multiples voies entre certains composants. La figure 12 illustre un ensemble de circuits à voies multiples dans lequel l'invention peut être utilisée. La figure 13 représente un mode particulier de réalisation de l'invention pour un ensemble de circuits du type représenté à la figure 12. La figure 14 illustre plus en détail les signaux de sortie du circuit de commande de l'ensemble de circuits selon la figure 13 Les figures 15 et 16 représentent deux variantes de connexion des circuits associés à la mémoire de l'ensemble selon la figure 13. Description de modes particuliers de réalisation. Comme représenté à la figure 1, les données fournies par une mémoire statique 1 et destinées à être utilisées par des circuits électroniques, par exemple par un microprocesseur, peuvent être contrôlées par un circuit de contrôle 2, avant d'être transmises à un circuit logique 3 d'un premier étage de traitement des données. La correction systématique des données par le circuit de contrôle 2 ralentit systématiquement la transmission des données dans le circuit utilisateur. Or, les erreurs étant relativement rares, il n'est pas indispensable de soumettre systématiquement les données à une étape de correction et il est possible d'améliorer la vitesse de fonctionnement de l'ensemble de circuits, sans renoncer à détecter et à corriger les erreurs dans les données fournies par la mémoire lors d'une opération de lecture. Le fonctionnement d'un circuit de contrôle 2 selon l'art antérieur peut, notamment, être amélioré de la manière illustrée schématiquement par l'organigramme de la figure 2. Dans une première étape F1, le circuit de contrôle 2 vérifie, au moyen d'un code de contrôle associé aux données fournies par la mémoire 1, si les données reçues sont correctes. Si une erreur est détectée (sortie Non de F1), le circuit de contrôle procède alors, dans une étape F2, à la correction des données. Une troisième étape F3 de transmission des données, corrigées si nécessaire, suit l'étape F2 ou directement l'étape F1 si aucune erreur n'a été détectée (sortie Oui de F1). L'étape F2 de correction, qui est court-circuitée si aucune erreur n'est détectée, n'est donc réalisée qu'en cas de besoin et la vitesse est ainsi sensiblement améliorée. Cependant la détection d'une erreur au moyen d'un code de contrôle, comme le code de Hamming, destiné à être utilisé pour la correction des données demande un certain temps. L'utilisation additionnelle d'un circuit de détection d'erreur, utilisant par exemple un simple code de parité, plus rapide qu'un code de contrôle nécessaire pour effectuer une correction, permet d'améliorer encore la vitesse de fonctionnement de l'ensemble. Dans ce cas, deux codes différents sont associés aux données dans la mémoire. L'étape F1 de détection d'erreur est effectuée par un circuit de détection d'erreur du circuit de contrôle 2 utilisant un premier code, par exemple un code de parité, tandis que l'étape F2, qui n'est que rarement nécessaire, est réalisée par un circuit de correction du circuit de contrôle, utilisant un second code, par exemple le code de Hamming, nécessitant plus de temps mais permettant de corriger les données. Cependant, même le temps nécessaire au contrôle d'un simple bit de parité reste significatif et il peut être souhaitable d'améliorer encore la vitesse de fonctionnement, en supprimant totalement ce type de délai, sans toutefois renoncer à la détection et à la correction des erreurs. Pour cela, les informations sortant de la mémoire lors d'une opération de lecture sont transmises sans délai au premier étage de traitement et, en parallèle, à un circuit de détection d'erreur ainsi qu'à un circuit de correction d'erreur. En l'absence d'erreur dans les données lues, l'ensemble fonctionne correctement, à pleine vitesse. Si une erreur est détectée par le circuit de détection d'erreur, alors les données corrigées sont envoyées au premier étage de traitement des données sous le contrôle du circuit de détection d'erreur. Cependant, les données erronées ont déjà été transmises au premier étage, contaminant, en quelque sorte, une partie de l'ensemble. Il est alors nécessaire de prévoir des moyens de décontamination des circuits susceptibles d'être contaminés par une erreur avant sa détection. Les moyens de décontamination doivent essentiellement permettre, lorsqu'une erreur a été détectée, de maintenir l'ensemble en l'état pendant que la correction des données est effectuée par le circuit de correction, de transmettre ensuite les données corrigées au premier étage, tout en maintenant en l'état les circuits non susceptibles d'avoir été contaminés. De manière classique, la transmission des données dans l'ensemble est réalisée sous le contrôle d'une horloge, chaque cycle d'horloge, ou un nombre prédéterminé de cycles d'horloge, provoquant la transmission des données entre deux composants successifs de l'ensemble. Les moyens de décontamination dépendent du type d'ensemble dans lequel la mémoire est utilisée. La figure 3 illustre schématiquement un premier type d'ensemble dans lequel l'invention peut être mise en oeuvre. La mémoire 1 est connectée en série à une pluralité d'étages successifs, dont deux seulement sont représentés sur la figure 3. Chaque étage est constitué d'une bascule 4 (4a pour le premier étage, 4b pour le second étage...), qui peut être précédée par un circuit logique 3 (3a pour le premier étage, 3b pour le second étage...). Les données lues dans la mémoire 1 sont tout d'abord traitées dans le circuit logique 3a du premier étage. Les données traitées sont ensuite mémorisées dans la bascule 4a du premier étage avant d'être traitées dans le circuit logique 3b du second étage. La bascule 4b du second étage mémorise les données traitées par le circuit logique 3b avant leur transmission à un étage suivant. Un mode particulier de mise en oeuvre de l'invention dans un ensemble de ce type est représenté à la figure 4. La sortie de la mémoire 1 est connectée en parallèle à une entrée d'un circuit 5 de détection d'erreur, à l'entrée d'un circuit 6 de correction d'erreur et à une première entrée d'un premier circuit de multiplexage 7. Une seconde entrée du premier circuit de multiplexage 7 est connectée à la sortie du circuit de correction 6, tandis que sa sortie est connectée à l'entrée du premier étage, c'est-à-dire à l'entrée du circuit logique 3a. La sortie du circuit de détection 5 est connectée à une entrée de contrôle du premier circuit de multiplexage 7 et à une entrée de maintien de chacune des bascules (4b...) des étages ultérieurs, c'est-à-dire des étages d'ordre supérieur à 1. En fonctionnement normal, comme représenté sur l'organigramme de la figure 5, le premier circuit de multiplexage 7 transmet (étape F4) les données lues dans la mémoire 1 au circuit logique 3a du premier étage. Simultanément, le circuit de détection 5 examine les données pour détecter une erreur éventuelle (étape F5) et le circuit de correction procède à la correction des données (étape F6). Si les données sont correctes (sortie Oui de F5), les données corrigées ne sont pas utilisées et le cycle de fonctionnement reprend par la transmission et l'analyse des données suivantes (retour à l'entrée des étapes F4, F5 et F6). Par contre, si une erreur est détectée par le circuit de détection 5 (sortie Non de F5), celui-ci contrôle alors (étape F7) le blocage des bascules (4b...) des étages d'ordre supérieur à 1 et (étape F8) la transmission des données corrigées au circuit logique 3a. La transmission des données corrigées est réalisée par l'intermédiaire du premier circuit de multiplexage 7 qui reçoit alors sur son entrée de contrôle un signal provoquant la transmission des signaux appliqués sur sa seconde entrée par le circuit de correction d'erreur 6. Si nécessaire, la transmission des données corrigées par le multiplexeur tient compte du fait que la durée de la correction d'erreur peut être supérieure à la durée de la détection d'erreur par le circuit de détection 5. Si le circuit de correction d'erreur est trop lent pour fournir les données corrigées au bout d'un cycle d'horloge, le blocage des bascules doit être maintenu pendant le temps nécessaire. Lorsque les données corrigées ont été transmises à la bascule 4a du premier étage, l'ensemble du système comporte des données correctes et les bascules des étages d'ordre supérieur à 1 sont alors débloquées (étape F9) avant la reprise d'un nouveau cycle de fonctionnement commençant par la transmission et l'analyse des données suivantes (retour à l'entrée des étapes F4, F5 et F6). Le fonctionnement de l'ensemble selon la figure 4 est basé sur l'hypothèse que lorsque le circuit de détection 5 détecte une erreur et bloque les étages ultérieurs, seul le premier étage a été contaminé, les données alors dans les étages ultérieurs correspondant à des données correctes. La figure 6 illustre schématiquement un second type d'ensemble dans lequel l'invention peut être mise en oeuvre. Cet ensemble se distingue de l'ensemble de la figure 3 par le fait que le circuit logique 3a du premier étage comporte une seconde entrée destinée à recevoir des données additionnelles D et fournit en sortie des données qui sont simultanément fonction des données appliquées sur ses première et seconde entrées, c'est-à-dire des données fournies par la mémoire 1 et des données additionnelles D. Un mode particulier de mise en oeuvre de l'invention dans un ensemble de ce type est représenté à la figure 7. Il comporte les mêmes éléments que la figure 4. Cependant, la combinaison des données additionnelles D et des données en provenance de la mémoire 1 dans le circuit logique 3a rend nécessaire une remise en l'état des données présentes aux deux entrées du circuit logique 3a lorsqu'une erreur a été détectée par le circuit de détection 5 dans les données provenant de la mémoire. L'ensemble selon la figure 7 comporte donc, de plus, un second circuit de multiplexage 8, qui comporte une première entrée destinée à recevoir les données additionnelles D et une seconde entrée connectée à la première entrée par l'intermédiaire d'une bascule additionnelle 9. Les données additionnelles D sont ainsi appliquées, après un délai prédéterminé, sur la seconde entrée du second circuit de multiplexage 8. La seconde entrée du circuit logique 3a est connectée à la sortie du second circuit de multiplexage 8. Celui-ci comporte, comme le premier circuit de multiplexage 7, une entrée de contrôle connectée à la sortie du circuit de détection 5. En fonctionnement normal, les données additionnelles D appliquées sur la première entrée du second circuit de multiplexage 8 sont transmises par celui-ci à la seconde entrée du circuit logique 3a. Si une erreur dans les données en provenance de la mémoire est détectée par le circuit de détection, le circuit de détection 5 provoque, comme dans l'ensemble selon la figure 4, le blocage des bascules (4b...) d'ordre supérieur à 1 et la transmission des données corrigées appliquées sur la seconde entrée du premier circuit de multiplexage 7 par le circuit de correction d'erreur 6. Simultanément, il provoque également la transmission des signaux additionnels retardés appliqués sur la seconde entrée du second circuit de multiplexage par la bascule additionnelle 9. Le circuit logique 3a du premier étage reçoit ainsi simultanément les données, provenant de la mémoire, corrigées par le circuit de correction 6 et les données additionnelles retardées associées. Les données fournies par le circuit logique 3a, corrigées, sont alors mémorisées dans la bascule 4a et les bascules des étages d'ordre supérieur à 1 peuvent être débloquées pour reprendre un nouveau cycle de fonctionnement. La figure 8 illustre schématiquement un troisième type d'ensemble dans lequel l'invention peut être mise en oeuvre. Cet ensemble se distingue de l'ensemble de la figure 6 par le fait que les données en provenance de la mémoire 1 et les données additionnelles D sont appliquées successivement à l'entrée du circuit logique 3a du premier étage, par l'intermédiaire d'un circuit de multiplexage 10, sous le contrôle d'un premier signal de contrôle C appliqué sur une première entrée de contrôle du circuit de multiplexage 10. Les données transmises par le circuit logique 3a à la bascule 4a sont une fonction prédéterminée des données appliquées successivement sur son entrée par le circuit de multiplexage 10. Un mode particulier de mise en oeuvre de l'invention dans un ensemble de ce type est représenté à la figure 9. Il comporte les mêmes éléments que la figure 4. Cependant, le premier circuit de multiplexage 7 de la figure 4 est remplacé par un circuit de multiplexage 11 qui comporte une troisième entrée, sur laquelle sont appliquées les données additionnelles D, et trois entrées de contrôle. Une première entrée de contrôle reçoit le premier signal de contrôle C, tandis qu'une seconde entrée de contrôle est connectée directement à la sortie du circuit de détection d'erreur 5 qui lui fournit un second signal de contrôle. L'entrée de maintien des bascules (4b...) des étages d'ordre supérieur à 1 et la troisième entrée de contrôle du circuit de multiplexage 11 sont connectées à la sortie d'une porte logique 12, de type ET dans le mode de réalisation représenté, ayant une première entrée connectée à la sortie du circuit de détection 5 et une seconde entrée recevant le premier signal de contrôle C. La sortie de la porte logique 12 fournit à la troisième entrée de contrôle du circuit de multiplexage 11 un troisième signal de contrôle. Dans une variante de réalisation représentée sur la figure 9, une bascule supplémentaire 13, interposée entre la sortie de la porte logique 12 et la troisième entrée de contrôle du circuit de multiplexage 11, fournit à celle-ci un troisième signal de contrôle. Dans ce cas, une porte logique 27, de type OU dans le mode de réalisation représenté, comporte une entrée connectée à la sortie de la porte logique 12 et une entrée connectée à la sortie de la bascule 13. L'entrée de maintien des bascules (4b,...) des étages d'ordre supérieur à 1 est alors connectée à la sortie de la porte logique 27. En fonctionnement normal, le circuit de multiplexage 11 transmet au circuit logique 3a les données additionnelles D appliquées sur sa troisième entrée lorsque le premier signal de contrôle C a une première valeur prédéterminée (0 dans l'exemple représenté) et les données, lues dans la mémoire, appliquées sur sa première entrée, lorsque le premier signal de contrôle C prend une seconde valeur prédéterminée (1 dans l'exemple représenté). Le second signal de contrôle, de valeur 0, représentative de données lues correctes, force également à 0 la sortie de la porte logique 12. Si une erreur dans les données en provenance de la mémoire est détectée par le circuit de détection, le circuit de détection 5 fournit un second signal de contrôle, de valeur 1, représentative d'une erreur dans les données lues. Si cette erreur est détectée alors que les données transmises par le circuit de multiplexage 11 sont les données lues dans la mémoire (C = 1), le premier étage a été contaminé et il est nécessaire d'effectuer une correction. Par contre, si l'erreur est détectée alors que les données transmises par le circuit de multiplexage 11 sont les données additionnelles D (C = 0), le premier étage n'a pas été contaminé et aucune correction n'est nécessaire. Dans ce cas, le signal de sortie de la porte logique 12 reste à 0, puisque au moins une de ses entrées (C) reste à 0. Les bascules (4b...) des étages d'ordre supérieur à 1 ne sont donc pas bloquées. Par contre si, simultanément, les deux entrées de la porte logique 12 passent à 1 (C = 1 et erreur détectée), alors le signal de sortie de la porte logique passe à 1 et provoque le blocage, c'est-à-dire le maintien en l'état, des bascules des étages ultérieurs ainsi qu la transmission au circuit logique 3a des données corrigées. Dans le cas où le circuit de correction nécessite un cycle supplémentaire pour fournir les données corrigées, la bascule 13 et la porte 27 sont prévues. Dans ce cas, au cycle d'horloge suivant, c'est-à-dire après un délai permettant au circuit de correction de compléter la correction, la bascule supplémentaire 13 fournit au circuit de multiplexage 11 un troisième signal de contrôle de valeur 1, provoquant la transmission au circuit logique 3a des données corrigées appliquées sur sa seconde entrée. Ainsi, la transmission des données corrigées et le maintien en l'état des bascules des étages ultérieurs jusqu'à ce que la correction soit terminée dans le premier étage ne sont réalisés que lorsqu'une erreur a été détectée par le circuit de détection 5 pendant la transmission, par le circuit de multiplexage 11, de données en provenance de la mémoire 1. Si le circuit de correction prend plus d'un cycle d'horloge, les bascules (4b, etc...) des étages d'ordre supérieur à 1 seront bloquées plus longtemps et plusieurs bascules 13 seront utilisées pour retarder la sortie de la porte logique 12 pendant le temps nécessaire. Dans le cas (non représenté) où plusieurs données additionnelles Di (D1, D2, ..., Dr) doivent être appliquées au circuit logique 3a, ces données sont appliquées à l'entée du multiplexeur 11. Dans ce cas le signal de contrôle est adapté en conséquence et peut prendre diverse valeurs Ci correspondant chacune à la transmission de l'une des données additionnelles Di. Pour éviter qu'une erreur détectée ne se reproduise systématiquement à chaque nouvelle lecture de la donnée correspondante, il est possible de remplacer cette donnée, dans la mémoire, par la donnée corrigée. Cette possibilité est schématisée en pointillés sur la figure 4. Dans ce cas, la sortie du circuit de correction 6 est connectée à l'entrée de la mémoire et une entrée de commande d'écriture de la mémoire est connectée à la sortie du circuit de détection 5, de manière à provoquer l'écriture dans la mémoire des données corrigées après détection d'une erreur. La donnée ayant été corrigée dans la mémoire à la première détection d'une erreur, cela permettra d'économiser le temps nécessaire à sa correction, en aval, lors d'une lecture ultérieure. De plus, si l'erreur n'est pas corrigée dans la mémoire, le risque de combinaison avec une erreur supplémentaire survenant ultérieurement, susceptible de dépasser les capacités de correction du circuit de correction, ne peut être exclue. Dans certains ensembles, plusieurs étages peuvent avoir été contaminés avant la détection de l'erreur et le blocage des bascules des étages non susceptibles d'avoir été contaminés par le circuit de détection 5. Dans ce cas, il est nécessaire de déterminer préalablement quelles sont les bascules de l'ensemble susceptibles d'être contaminées par une erreur avant sa détection et d'adapter les moyens de décontamination en conséquence. Dans l'hypothèse où l'erreur se propage dans l'ensemble pendant k cycles d'horloge avant sa détection et le blocage des bascules, avec k > 1, toutes les bascules situées en aval de la mémoire à une distance d inférieure ou égale à k sont susceptibles d'avoir été contaminées. Pour un ensemble donné, le nombre k, dépendant de la vitesse du circuit de détection et de la durée d'un cycle d'horloge, est connu. La distance d entre tout couple de composants est définie par le nombre de cycles d'horloge nécessaires pour que les données de sortie d'un composant du couple soient prises en compte, directement ou indirectement par l'autre composant. Dans certains cas, il peut y avoir plusieurs voies, de longueurs différentes, entre les deux composants d'un couple. On désignera alors par dmin la distance minimum et par dmax la distance maximale entre les deux composants d'un couple. Plus précisément, si les signaux se propagent d'une bascule 81 à une bascule B2 en passant par un nombre r de bascules, 81 sera considéré comme un prédécesseur de B2, B2 comme un successeur de 81. La distance d (B1-B2), dans le chemin de propagation considéré, entre le prédécesseur Blet le successeur B2 est alors égale à r+ 1. S'il existe plusieurs chemins de propagation partant de 81 pour arriver à B2, on représente par dmin (B1-B2) le minimum de toutes les distances des différents chemins et par dmax (B1-B2) leur maximum. 81 est considéré comme le prédécesseur immédiat de B2 lorsque dmin (B1-B2) =1. Dans ce cas, B2 est un successeur immédiat de 81. À titre d'exemple, dans l'ensemble selon la figure 3, la mémoire1 et la bascule 4a sont séparées par une distance d = 1, tandis que la mémoire 1 et la bascule 4b sont séparées par une distance d = 2. L'ensemble selon la figure 10 comporte de multiples voies entre certains composants. En effet, un circuit logique 3c, dont la sortie est connectée à l'entrée d'une bascule 4c, comporte deux entrées connectées respectivement à la sortie de la mémoire 1 et à la sortie de la bascule 4a. Un circuit logique 3d, dont la sortie est connectée à l'entrée d'une bascule 4d, comporte également deux entrées, connectées respectivement à la sortie de la bascule 4b et à la sortie de la bascule 4c. Dans un tel ensemble, entre la mémoire 1 et la bascule 4d, l'ensemble des distances est donné par {2, 3}, avec dmin = 2 et dmax = 3. En effet, la distance entre la mémoire 1 et la bascule 4d peut prendre deux valeurs : - la valeur 2 si l'on considère une voie comportant successivement la mémoire 1, le circuit logique 3d, la bascule 4c, le circuit logique 3d et la bascule 4d, - la valeur 3 si l'on considère une voie comportant successivement la mémoire 1, le circuit logique 3a, la bascule 4a, le circuit logique 3b, la bascule 4b, le circuit logique 3d et la bascule 4d, ou une voie comportant successivement la mémoire 1, le circuit logique 3a, la bascule 4a, le circuit logique 3c, la bascule 4c, le circuit logique 3d et la bascule 4d. Une partie d'un ensemble à voie multiples comportant une boucle est représentée à la figure 11. Un circuit logique 3q, dont la sortie est connectée aux entrées d'une bascule 4q et d'une bascule 4i, comporte deux entrées connectées respectivement à la sortie de la bascule 4i et à la sortie d'une bascule 4j. La sortie de la bascule 4q est connectée à l'entrée d'un circuit logique 3r, dont la sortie est connectée à l'entrée d'une bascule 4r. Dans un tel ensemble, il existe une infinité de distances entre deux composants. En effet, la distance entre la bascule 4j et la bascule 4i peut prendre une infinité de valeurs supérieures ou égales à 1 : - la valeur 1 pour la voie comportant successivement la bascule 4j, le circuit logique 3q et la bascule 4i, - la valeur 2 pour la voie comportant successivement la bascule 4j, le circuit logique 3q, la bascule 4i et de nouveau le circuit logique 3q et la bascule 4i, - la valeur 3 pour la voie comportant successivement la bascule 4j, le circuit logique 3q, la bascule 4i, le circuit logique 3q et la bascule 4i et de nouveau le circuit logique 3q et la bascule 4i, - etc... De manière analogue la distance entre la bascule 4i et elle-même peut prendre la valeur 0, la valeur 1 (voie 4i, 3q, 4i), la valeur 2 (voie 4i, 3q, 4i, 3q, 4i), la valeur 3 (voie 4i, 3q, 4i, 3q, 4i, 3q, 4i) ou toute valeur supérieure. La distance entre la bascule 4i et la bascule 4r peut prendre toute valeur supérieure ou égale à 2 (voie 4i, 3q, 4q, 3r, 4r ; voie 4i, 3q, 4i, 3q, 4q, 3r, 4r ; voie 4i, 3q, 4i, 3q, 4i, 3q, 4q, 3r, 4r ; etc...). Lorsque la distance peut prendre une infinité de valeurs, la distance maximale dmax est limitée à la valeur k. On obtient ainsi, pour l'exemple de la figure 11 : - entre la bascule 4j et la bascule 4i : dmin = 1 et dmax = k, - entre la bascule 4i et elle-même : dmin = 0 et dmax = k, - entre la bascule 4i et la bascule 4r : dmin = 2 et dmax = k. Dans la suite de la description, on désignera par : - A ou ensemble atteignable, l'ensemble des bascules Ba susceptibles d'être atteintes par une erreur provenant de la mémoire 1, c'est-à-dire dont la distance minimum par rapport à la mémoire est inférieure ou égale à k (dmin - A 1 ou ensemble non atteignable, l'ensemble des bascules non susceptibles d'être atteintes en k cycles d'horloge par une erreur provenant de la mémoire 1, c'est-à-dire dont la distance minimum par rapport à la mémoire est supérieure à k (dmin > k) ou qui ne sont pas connectées en aval de la mémoire 1. - Amax ou ensemble atteignable le plus éloigné, l'ensemble des bascules pour lesquelles dmin = k et des bascules pour lesquelles dmin - 8 ou ensemble source externe, l'ensemble des bascules Bs, appartenant à l'ensemble A 1 ou à l'ensemble Amax, qui sont disposées en amont d'une bascule Ba de l'ensemble A dont elles sont séparées par une distance dmin - 81 ou ensemble source suffisant, l'ensemble des bascules de l'ensemble 8 qui sont suffisantes pour effectuer la correction des données dans l'ensemble de circuits. Il existe plusieurs ensembles sources suffisants. S2 ou ensemble source le plus proche, l'ensemble des bascules de l'ensemble S qui sont disposées immédiatement en amont d'une bascule Ba de l'ensemble A, c'est-à-dire séparées de celle-ci par une distance dmin = 1. S2 est un ensemble source suffisant S1 particulier. Apl l'ensemble des bascules Bapl, de l'ensemble A, à l'exclusion de Amax, ayant plusieurs entrées connectées à différentes bascules Bapl-1, constituant des prédécesseurs immédiats et elles-mêmes séparées de la mémoire 1 par des distances dmin (mémoire-bascule Bapl-1) différentes. - AS ou ensemble source atteignable, l'ensemble des bascules Bapl-1 de l'ensemble A, à l'exclusion de Amax, disposées en amont d'une bascule Bapl et dont la distance dmin (mémoire-bascule Bapl-1) à la mémoire est supérieure à la valeur minimum des distances dmin (mémoire-bascule Bapl- 1) associées à la bascule Bapl correspondante. À titre d'exemple, l'appartenance à ces divers ensembles de l'ensemble de circuits de la figure 12 va être décrite ci-dessous. Sur la figure 12, la mémoire 1 est connectée en série à un circuit logique 3e, une bascule 4e, un circuit logique 3f, une bascule 4f, un circuit logique 3g et une bascule 4g. Le circuit logique 3e comporte une entrée supplémentaire connectée à la sortie d'une bascule 4h et le circuit logique 3f une entrée supplémentaire connectée à la sortie d'une bascule 41. La sortie de la bascule 4f est également connectée à une première entrée d'un circuit logique 3m ayant une seconde entrée connectée à la sortie d'une bascule 4n et une sortie connectée à l'entrée d'une bascule 4m. La sortie de la bascule 4e est également connectée à une première entrée d'un circuit logique 30 ayant une seconde entrée connectée à la sortie d'une bascule 4p et une sortie connectée à la fois à l'entrée d'une bascule 40 et à l'entrée de la bascule 4p. La sortie de la bascule 40 est connectée en série avec un circuit logique 3s et une bascule 4s. Le nombre k étant supposé égal à 3, les bascules 4e, 4f, 4g, 4m, 40, 4p, et 4s appartiennent à l'ensemble A, tandis que les bascules 4h, 41 et 4n appartiennent à l'ensemble source S et, plus particulièrement à l'ensemble S2. Les bascules 4m, 4g et 4s appartiennent à la fois à l'ensemble Apl et à l'ensemble Amax et la bascule 4p à l'ensemble AS. Sur les figures 12 et 13 les bascules sont identifiées par Ba, Bamax, Bas ou Bs selon qu'elles appartiennent à l'ensemble A seulement, à l'ensemble Amax, à l'ensemble AS ou à l'ensemble S. Elles sont de plus, sauf pour les bascules de l'ensemble Amax, identifiées par un chiffre représentatif de la distance minimale (dmin) min qui les sépare des bascules Bamax associées de l'ensemble Amax. Ainsi les bascules 40 et 4f sont identifiées par Ba1, la bascule 4e par Ba2, la bascule 4p par Bas2, la bascule 4n par Bs1, la bascule 41 par Bs2 et la bascule 4h par Bs3. En généralisant cette notation, chaque bascule est identifiée par Bxy, x étant représentatif de l'ensemble auquel la bascule appartient (x = a, amx, as ou s) et y représentatif de la distance minimale séparant la bascule des bascules associées de l'ensemble Amax. La figure 13 complète l'ensemble de circuits de la figure 12 avec les éléments permettant d'effectuer, en 3 cycles d'horloge. Un circuit de multiplexage 14 comporte une première entrée connectée à la sortie de la mémoire 1, une seconde entrée connectée à la sortie du circuit de correction 6, et une sortie connectée à l'entrée du circuit logique 3e initialement connectée à la mémoire. Il comporte également une troisième entrée connectée à la sortie de la mémoire par l'intermédiaire d'un registre tampon 15, à deux cellules, du type premier entré, premier sorti, désigné par l'abréviation usuelle FIFO ( first in, first out ). Un tel registre introduit un retard dépendant du nombre de cellules F qui le constituent et sauvegarde les deux dernières valeurs présentées à son entrée. La sortie de la bascule 4h est connectée directement à une première entrée d'un circuit de multiplexage 16 et, par l'intermédiaire d'un registre FIFO 17 à 3 étages, à une seconde entrée du circuit de multiplexage 16, dont la sortie est connectée à l'entrée supplémentaire du circuit logique 3e. De manière analogue, la sortie de la bascule 4p est connectée directement à une première entrée d'un circuit de multiplexage 18 et, par l'intermédiaire d'un registre FIFO 19 à 2 étages, à une seconde entrée du circuit de multiplexage 18, dont la sortie est connectée à la seconde entrée du circuit logique 30. La sortie de la bascule 41 est connectée directement à une première entrée d'un circuit de multiplexage 20 et, par l'intermédiaire d'un registre FIFO 21 à 2 étages, à une seconde entrée du circuit de multiplexage 20, dont la sortie est connectée à l'entrée supplémentaire du circuit logique 3f. La sortie de la bascule 4n est connectée directement à une première entrée d'un circuit de multiplexage 22 et, par l'intermédiaire d'un registre FIFO 23 à un seul étage, à une seconde entrée du circuit de multiplexage 22, dont la sortie est connectée à la seconde entrée du circuit logique 3m. Le nombre de cellules d'un registre FIFO est inférieur ou égal à k, c'est-à-dire à 3, dans le mode de réalisation particulier représenté. Les cellules de chaque registre FIFO sont désignées par FO, F1, F2...... Fk-1, en commençant par la cellule de sortie du registre. Lorsqu'il a détecté une erreur en sortie de la mémoire 1, le circuit de détection 5 contrôle les multiplexeurs et les registres FIFO, ainsi que le blocage et le déblocage des bascules, par l'intermédiaire d'un circuit de commande 24, de manière à corriger toutes les données susceptibles d'avoir été affectées par l'erreur. Les signaux de sortie du circuit de commande 24 sont illustrés plus en détail sur la figure 14 : - Des signaux Chold sont appliqués à toutes les bascules n'appartenant pas à l'ensemble, c'est-à-dire, sur la figure 13, aux bascules 4h, 41 et 4n et à toute les bascules, non représentées, qui appartiennent à l'ensemble A 1. - Des signaux Cm sont appliqués à l'entrée de contrôle des multiplexeurs. - Des signaux CFIFO sont appliqués aux cellules des registres FI FO. Dans le cas général, on choisit pour décontaminer un ensemble 81. Un registre FIFO et un multiplexeur sont associés à la sortie de chaque bascule de l'ensemble 81 choisi, le multiplexeur comportant une entrée connectée directement à la sortie de la bascule considérée et une entrée connectée à cette sortie par l'intermédiaire du registre FIFO. Nous allons d'abord considérer le cas où l'ensemble choisi est l'ensemble S2, ce qui donne, en général, le moindre coût matériel. Le nombre n1 de cellules d'un registre FIFO associé à une bascule Bs2 de l'ensemble 82 qui n'a qu'un seul successeur immédiat Ba appartenant à l'ensemble A, est donnée par : n1 =k+ 1-dmin (mémoire-Ba) Durant le processus de décontamination, un premier cycle d'activation en lecture de ce registre FIFO est le cycle correspondant à la valeur dmin (mémoire-Ba). Le dernier cycle d'activation en lecture de ce registre FIFO est le cycle k du processus de décontamination. Pendant tous les cycles où le registre FIFO est activé en lecture, les données de sortie du registre FIFO sont transmises à la sortie du multiplexeur associé. Dans le cas où la bascule Bs2 est le prédécesseur immédiat de plusieurs bascules de l'ensemble A, on peut représenter par dmin (mémoire-Ba) min le minimum de tous les dmin (mémoire-Ba) correspondants. La taille n1 du registre FIFO associé à la bascule Bs2 est alors donnée par : n1 =k+ 1-dmin (mémoire-Ba) mm L'activation en lecture de ce registre FIFO commence alors au cycle dmin (mémoire-Ba) mm n et finit au cycle k du processus de décontamination. Comme précédemment, pendant tous les cycles où le registre FIFO est activé en lecture, les données de sortie du registre FIFO sont transmises à la sortie du multiplexeur associé. Un registre FIFO et un multiplexeur sont également associés à chaque bascule Bas de l'ensemble As pour fournir les données nécessaires à la décontamination. Le principe est analogue à celui utilisé pour les bascules de l'ensemble S2. Néanmoins, la transmission du contenu de ce registre FIFO doit être interrompue avant la fin du processus de décontamination pour éviter de fournir des données contaminées car l'état de la bascule Bas, appartenant à l'ensemble A, est contaminé pendant le fonctionnement normal de l'ensemble. Dans le cas où une seule bascule Bpl est associée à une bascule Bas, la taille n2 du registre FIFO associé à la bascule Bas est donné par : n2=k+ 1-dmin (mémoire-Bpl) Le registre FIFO considéré est activé en lecture à partir du cycle dmin (mémoireBpl). Alternativement, on peut utiliser un registre FIFO de taille k et l'activer dès le premier cycle du processus de décontamination. Dans les deux cas, le dernier cycle d'activation du registre FIFO est le cycle dmin (mémoire-Bas). Pendant ces cycles, les données de sortie du registre FIFO sont transmises à la sortie du multiplexeur associé. Après le dernier cycle d'activation en lecture du registre FIFOn les données de sortie de la bascule Bas sont transmises à la sortie du multiplexeur associé. On pourrait, éventuellement, continuer à activer le registre FIFO même après le cycle dmin (mémoire-Basà puisque sa sortie n'est plus transmise par le multiplexeur. Dans le cas où une bascule Bas de l'ensemble AS est associée à plusieurs bascules Bpl, on représentera par dmin (mémoire-Bpl) min la valeur minimale des valeurs dmin (mémoire-Bpl) correspondantes. La taille n2 du registre FIFO sera alors donnée par : n2=k+ 1- dmin (mémoire-Bpl) m, n L'activation du registre FIFO commence alors au cycle dmin (mémoire-Bpl) min du processus de décontamination et se termine au cycle dmin (mémoire-Bas). Le multiplexeur associé transmet à sa sortie la sortie du registre FIFO pendant ces cycles et la sortie de la bascule Bas après le cycle dmin (mémoire-Bas). Comme précédemment, on peut aussi utiliser un registre FIFO de taille k activé dès le premier cycle du processus de décontamination. Dans le cas où l'on utilise lies bascules des ensembles S2 et AS pour la décontamination, la durée du processus de décontamination est de k cycles. Les bascules de l'ensemble A 1 sont alors bloquées pendant ces k cycles et, éventuellement, pendant les cycles nécessaires à la correction des données lues dans la mémoire par le circuit de correction. Pour tout ensemble source S1 choisi, on peut, de manière analogue définir la taille et les instants d'activation du registre FIFO à associer à chacune des bascules Bs1. Un registre FIFO et un multiplexeur sont également associés à la mémoire. La taille de ce registre FIFO est k-1. En phase de décontamination, son premier cycle d'activation en lecture est le cycle 2 de la phase de décontamination et son dernier cycle d'activation en lecture est le cycle k de cette phase. Comme représenté à la figure 13 un seul multiplexeur 14 peut être utiliser pour sélectionner la sortie du registre FIFO 15 associé à la mémoire 1 et la sortie du circuit de correction 6. En fonctionnement normal, le multiplexeur 15 connecte à sa sortie son entrée connectée à la sortie de la mémoire 1. Pendant le premier cycle de la phase de décontamination, il connecte à sa sortie son entrée connectée à la sortie du circuit de correction 6 et, pendant les k-1 cycles suivants de la phase de décontamination, il connecte à sa sortie son entrée connectée à la sortie du registre FIFO 15. Ce mode de réalisation particulier a pour inconvénient de sauvegarde dans le registre FIFO 15 une donnée erronée qui serait lue dans la mémoire dans les k- 1 cycles suivant la lecture de la première donnée erronée. La figure 15 illustre une variante de réalisation permettant d'écarter ce problème. Le registre FIFO 15 de la figure 13 est remplacé par un registre FIFO 26 dont l'entrée est connectée à la sortie du circuit de correction 6. Le circuit de correction 6 fournit aussi bien les données erronées corrigées que les données correctes, inchangées, en provenance de la mémoire. Le temps de traversée du circuit de correction est identique pour toutes les données, erronées corrigées ou correctes, en provenance de la mémoire 1. Si ce temps dépasse un cycle d'horloge, alors le circuit de correction sera conçu de manière à fournir à sa sortie une donnée par cycle d'horloge, chacune de ces données étant retardée d'un nombre x de cycles d'horloge correspondant au temps de traversée du circuit de correction. Ainsi, si une donnée, correcte ou erronée est lue dans la mémoire à un cycle tO, cette donnée, éventuellement corrigée, est sauvegardée dans le registre FIFO 26 au cycle tO+x. Une donnée, correcte ou erronée, lue dans la mémoire à un cycle tO+y est sauvegardée dans le registre FIFO au cycle tO+x+y. Toutes les données sauvegardées dans le registre FIFO sont alors correctes. Par conséquent, si une donnée erronée est lue dans la mémoire 1 au cycle tO, les k données utilisées pendant la phase de décontamination sont sauvegardées dans le registre FIFO au cycle tO+x+k-1. C'est alors au cycle tO+x+k que va démarrer la phase de décontamination. Les données nécessaires en provenance de la mémoire sont alors toutes dans le registre FIFO 26 et elles sont toutes correctes. Le registre FIFO 26 est activé en lecture pendant les k cycles de la phase de décontamination. Pendant ces cycles, le multiplexeur 14 connecte à sa sortie son entrée connectée à la sortie du registre FIFO 26. En fonctionnement normal, le multiplexeur 14 connecte à sa sortie son entrée connectée à la sortie de la mémoire 1. Alternativement, il est possible de réduire la taille du registre FIFO à k-x et de commencer la phase de décontamination au cycle tO+k, en supposant que k > x. Si le circuit de correction est lent, alors k est inférieur à x et la taille du registre FIFO devient nul. La phase de décontamination commence alors au cycle x. La figure 16 illustre une autre variante. Un registre FIFO 25 est alors connecté entre la sortie de la mémoire 1 et l'entrée du circuit de correction 6. Ainsi, en fonctionnement normal, les données, correctes ou erronées, sont sauvegardées dans le registre FIFO 25 au fur et à mesure qu'elles sont lues dans la mémoire. Quand le circuit de détection 5 signale une erreur, les k données nécessaires à la décontamination sont sauvegardées dans le registre FIFO 25. Certaines d'entre elles peuvent être erronées. À partir de cet instant, on commence à activer le registre 25 en lecture. Le circuit de correction 6 fournit la première donnée, qui est toujours correcte, x cycles plus tard. La phase de décontamination, durant k cycles, commence alors, le multiplexeur sélectionnant son entrée connectée à la sortie du circuit de correction qui fournit une donnée, corrigée si nécessaire, pendant chaque cycle. Alternativement, on peut réduire la taille du registre à k-x et commencer la phase de décontamination au cycle tO+k, en supposant que k > x. Si le circuit de correction est lent, alors k est inférieur à x et la taille du registre FIFO devient nul. La phase de décontamination commence alors au cycle x. Revendications 1. Ensemble de circuits électroniques comportant au moins une mémoire statique (1) et des moyens (2,5, 6) de détection et de correction d'erreur dans les données fournies par la mémoire pendant une opération de lecture, la mémoire (1) étant connectée en série avec une pluralité d'étages successifs, ensemble caractérisé en ce que les moyens de correction d'erreur sont courtcircuités en l'absence de détection d'une erreur. 2. Ensemble selon la revendication 1, caractérisé en ce que les données en mémoire sont associées à un code de détection d'erreur et à un code de correction d'erreur, plus long que le code de détection d'erreur, les moyens de détection d'erreur utilisant le code de détection d'erreur et les moyens de correction d'erreur utilisant le code de correction d'erreur. 3. Ensemble selon l'une des revendications 1 et 2, caractérisé en ce que la sortie de la mémoire (1) est connectée en parallèle à une entrée d'un circuit de détection d'erreur (5), à une entrée d'un circuit de correction d'erreur (6) et à l'entrée d'un premier étage, le circuit de détection d'erreur (5) contrôlant la transmission des données corrigées au premier étage après détection d'une erreur. 4. Ensemble selon la revendication 3, caractérisé en ce que la sortie du circuit de détection (5) contrôle (F7, F8, F9) des moyens de décontamination des étages susceptibles d'être contaminés par une erreur avant sa détection. 5. Ensemble selon la revendication 4, caractérisé en ce que les moyens de décontamination comportent des moyens pour permettre, lorsqu'une erreur a été détectée, de maintenir l'ensemble en l'état pendant que la correction des données est effectuée par le circuit de correction (6) et des moyens pour transmettre ensuite les données corrigées au premier étage tout en maintenant en l'état les circuits non susceptibles d'avoir été contaminés. 6. Ensemble selon l'une des revendications 4 et 5, caractérisé en ce que, chaque étage comportant au moins une bascule (4a, 4b...), la sortie de la mémoire (1) est connectée à l'entrée du premier étage par l'intermédiaire d'un premier circuit de multiplexage (7,11), ayant une sortie connectée à l'entrée du premier étage, une première entrée connectée à la sortie de la mémoire (1) et une seconde entrée connectée à la sortie du circuit de correction (6), la sortie du circuit de détection (5) étant connectée à une entrée de contrôle du premier circuit de multiplexage (7,11) et à une entrée de maintien des bascules (4b...) des étages ultérieurs, de manière à ce que la détection d'une erreur par le circuit de détection (5) provoque simultanément la transmission à la bascule (4a) du premier étage, par le premier circuit de multiplexage (7,11), des données corrigées par le circuit de correction (6) et le maintien en l'état des bascules (4b...) des étages ultérieurs. 7. Ensemble selon la revendication 6, caractérisé en ce que la sortie du premier circuit de multiplexage (7) est connectée à une première entrée d'un premier circuit logique (3a), comportant une seconde entrée destinée à recevoir des données additionnelles (D) et une sortie connectée à l'entrée de la bascule (4a) du premier étage, les données de sortie du premier circuit logique (3a) transmises à la bascule (4a) du premier étage étant simultanément fonction des données appliquées sur ses première et seconde entrées, un second circuit de multiplexage (8) comportant une première entrée destinée à recevoir les données additionnelles (D), une seconde entrée connectée à la première entrée par l'intermédiaire d'une bascule additionnelle (9), une sortie connectée à la seconde entrée du premier circuit logique (3a) et une entrée de contrôle connectée à la sortie du circuit de détection (5), de manière à ce que, les données appliquées sur la première entrée du second circuit de multiplexage (8) étant normalement transmises à la seconde entrée du premier circuit logique (3a), la détection d'une erreur par le circuit de détection (5) provoque la transmission à la seconde entrée du premier circuit logique (3a) des données appliquées sur la seconde entrée du second circuit de multiplexage (8). 8. Ensemble selon la revendication 7, caractérisé en ce que le premier circuit de multiplexage (11) comporte au moins une troisième entrée destinée à recevoir des données additionnelles (D), des première, seconde et troisième entrées de contrôle destinées à recevoir respectivement des premier, second et troisième signaux de contrôle, le premier circuit de multiplexage (11) transmettant les données additionnelles (D) appliquées sur sa troisième entrée lorsque le premier signal de contrôle (C) a une première valeur prédéterminée, les données appliquées sur sa première entrée lorsque, le premier signal de contrôle (C) ayant une seconde valeur prédéterminée, le second signal de contrôle, fourni par le circuit de détection d'erreur (5), est représentatif de données correctes, et les données corrigées, appliquées à sa seconde entrée, lorsque le troisième signal de contrôle a une première valeur prédéterminée, l'entrée de maintien des bascules (4b...) des étages ultérieurs et la troisième entrée de contrôle du premier circuit de multiplexage (11) étant connectées à la sortie du circuit de détection (5) par l'intermédiaire d'une porte logique (12) ayant une autre entrée recevant le premier signal de contrôle (C), de manière à ne provoquer la transmission des données corrigées et le maintien en l'état des bascules (4b...) des étages ultérieurs que lorsqu'une erreur a été détectée par le circuit de détection (5) pendant la transmission par le premier circuit de multiplexage (11) des données en provenance de la mémoire. 9. Ensemble selon la revendication 8, caractérisé en ce que la troisième entrée de contrôle du premier circuit de multiplexage (11) est connectée à la sortie de la porte logique (12) par l'intermédiaire d'une bascule supplémentaire (13), une autre porte logique (27) comportant une entrée connectée à la sorite de la porte logique (12), une entrée connectée à la sortie de la bascule complémentaire (13) et une sortie connectée à l'entrée de maintien des bascules des étages ultérieurs. 10. Ensemble selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'il comporte des moyens pour remplacer, dans la mémoire (1), les données erronées par des données corrigées fournies par les moyens de correction d'erreur (6) lorsqu'une erreur a été détectée. 11. Ensemble selon l'une des revendications 4 et 5, caractérisé en ce que, l'ensemble de circuits comportant des premières bascules (Ba ; 4e, 4f, 40, 4s, 4g, 4m), susceptibles d'être affectées par l'erreur, et des secondes bascules (Bs ; 4h, 41, 4n), non susceptibles d'être affectées par l'erreur et fournissant des données qui peuvent être utilisées par une première bascule située en aval, les moyens de décontamination comportent, pour chaque seconde bascule, un multiplexeur (16,20, 23) comportant une entrée connectée directement à la sortie de la seconde bascule associée et une entrée connectée à ladite sortie par l'intermédiaire d'un registre tampon (17,21, 22), du type premier entré, premier sorti. 12. Ensemble selon la revendication 11, caractérisé en ce que, l'ensemble de circuits comportant des troisièmes bascules (4p) appartenant à un ensemble source atteignable le plus éloigné (AS), les moyens de décontamination comportent, pour chaque troisième bascule, un multiplexeur (18) comportant une entrée connectée directement à la sortie de la troisième bascule associée et une entrée connectée à ladite sortie par l'intermédiaire d'un registre tampon (19), du type premier entré, premier sorti. 13. Ensemble selon l'une quelconque des revendications 3 à 12, caractérisé en ce que les moyens de décontamination comportent, associé à la mémoire 1, un multiplexeur (14) comportant une entrée connectée directement à la sortie de la mémoire, une entrée connectée à ladite sortie par l'intermédiaire d'un registre tampon (15), du type premier entré, premier sorti et une entrée connectée à la sortie du circuit de correction (6).