Brevet FR2614712A1 — publié le 19881104

CIRCUIT DE CORRECTION DE BIT D'ERREUR UNIQUE DANS UN CODE HAMMING TRAITE PAR UNE PLURALITE DE PLAQUETTES A INTEGRATION A GRANDE ECHELLE (LSI) L'invention se rapporte de façon générale à des systèmes de traitement des données, et de façon plus spécifique à une circuit de correction d'erreur unique dans un code hamming traité par une pluralité de plaquettes de circuit imprimé. On détecte habituellement des bits erronés dans un code Hamming en disposant la matrice de contrôle de parité dans l'ordre décroissant des nombres binaires pour représenter le vecteur rangée de la matrice pour permettre l'identification de la position de bit d'un syndrome représenté en binaire. Etant donné que la plupart des systèmes actuels de traité tement des données sont constituées de plaquettes à intégration à grande échelle, il est souhaitable qu'un flux unique de bits de données soit traité par une pluralité de plaquettes à intégration grande échelle (LSI). Une approche serait de diviser un flux unique de bits de données en une pluralité de groupes de bits de données à traiter respectivement par les plaquettes LSI-. Pour assurer la correction du bit erroné en cas d'erreur nique, sur les groupes divisés de bits de données, .'une des plaquettes LSI comporterait un circuit qui obtiendrait les syndromes à partir de la matrice de contrôle de parité. Alors que la matrice de contrôle de parité est prévue pour donner une information sur la position de bit d'un syndrome, la division du flux unique de bits de données en plusieurs groupes de bits de données nécessiterait la génération d'un bit supplémentaire indiquant si, oui ou non, chaque bit de flux de données est correct ou non et qui transmettrait ces indications à chacune des plaquettes LSI de traitement des données. Toutefois, un inconvénient de cette approche est qu'il faudrait une quantité importante d'interfaces entre les plaquettes LSI de traitement des données et la plaquette-de génération du syndrome. Un but principal de l'invention est t donc de proposer un circuit permettant de corriger un bit erroné unique dans un flux de bits de données à code Hamming traité par une pluralité de plaquettes de circuit intégré. Selon l'invention, on divise en une pluralité de groupes de bits de données un flux de bits de données à code Hamming qui arrive et on les envoie sur une pluralité de plaquettes de circuit intégré. On obtient les syndrômes à partir des groupes de bits de données et, à partir de ces syndromes, on obtient un premier signal identifiant la position d'un bit erroné dans chaque groupe de bits de données et un second signal identifiant celui des groupes de données dans lequel le bit erroné apparait. Chacune des plaquettes de circuit intégré comporte un circuit pour corriger un bit erroné en fonction du premier signal et du second signal. De préférence, les circuit intégrés présentent un chemin commun de transmissi n du signal relié de façon à recevoir le premier ignal à envoyer au circuit de correction d'erreur de chaque circuit intégré. Ceci simplifie les interfaces nécessaires entre les plaquettes LSI. En outre, de préférence le second signal est un signal logique à bit unique envoyé à l'une des plaqllevtes de circuit intégré dans laquelle le bit erroné apparait. Chacune des plaquettes de circuit intégré comporte un registre pour mémoriser les bits de données de chacun, respectif, des groupes de bits de données sans faire intervenir un bit de correction d'erreur et pour remplacer par le bit de correction d'erreur un bit des données mémorisées.Un décodeur est prévu pour être sensible au premier signal pour générer un signal de sortie à l'instant de l'impulsion chronométrique de la position de bit identifiée par le premier signal. Une porte OU exclusif présente une première entrée reliée à la sortie du registre et une seconde entrée reliée à la sortie d'une porte ET prévue pour être validée en réponse au signal logique à bit unique pour faire passer dans la porte OU exclusif le signal de sortie du décodeur, inversant ainsi l'état logique d'un bit de sortie erroné provenant du registré. Le bit inversé est envoyé dans le registre en tant que bit de correction d'erreur. On va décrire plus en détail l'invention en se référant aux dessins joints qui représentent un diagramme par blocs d'un système de traitement des données concrétisant un circuit de correction du bit erroné en cas d'erreur unique de l'invention. En se reportant à la figure 1, elle représente un circuit de traitement des données qui présente un circuit de correction d'une erreur unique conforme à la présente invention. Le circuit de traitement des données importe un circuit logique de division des données J et une pluralité de plaquettes 11,12, 13,14 et 15 de circuit intégré à grande échelle (LSI). Le circuit logique de division des données 10 reçoit un flux de bits de données à code Hamming qui arrive, de, typiquement, une longueur de mots de 20 bits et le divise en quatre groupes de cinq bits de données chacun d'une façon que l'on va décrire. Chacune des plaquettes LSI-ll à 14 est une plaquette de traitement des données pour traiter l'un, respectif, des groupes divisés de bits de données provenant du circuit logique de division des données 10 et la plaquette LSI 15 est une plaquette de génération du syndrome qui traite les signaux provenant des plaquettes LSI 11 à 14 de traitement des données pour générer un signal de position de bit erroné identifiant la position d'un bit erroné dans un groupe de bits de données ainsi qu'un signal d'indication de la plaquette identifiant celle des plaquettes LSI de traitement des données dans laquelle le bit erroné est situé. Les plaquettes LSI 11 à 14 de traitement des données présentent une configuration de circuit identique. Par simplicité, la figure 1 ne représente les détails que des plaquettes LSI 11 et 12. Chacune des plaquettes LSI de traitement des donnes comporte un sélecteur 16, un registre de données 17, une porte OU exclusif 18, un décodeur 19 et une porte ET 20. Le sélecteur 16 reçoit le signal d'entrée de données en provenance de la sortie associée du circuit logique des divisions des données 10 et reçoit un bit de correction d'erreur en provenance de la porte OU exclusif 18 et fait passer le groupe associé de bits de données dans le registre de données 17 sans faire intervenir le bit de correction d'erreur et fait passer ce bit de correction d'erreur dans ce registre de données 17, que le flux de bits de données en provenance du circuit logique de division des données 10 soit ou non présent dans ' le registre 17. Le décodeur 19 reçoit le signal d'indication de position du bit erroné en provenance de la plaquette LSI 15 de génération du syndrome pour déterminer quel bit de données est erroné et il envoie un signal logique 1 à la porte ET 20.Cette porte ET 20 est validée en réponse à un signal d'entrée logique 1 qui se trouve sur une ligne 24 d'identification de la plaquette, en provenance de la plaquette LSI 15. Ce signal d'entrée logique 1 indique qu'une erreur unique est apparue sur l'une des plaquettes LSI il à 14. Lorsque ceci se produit, la porte ET 20 envoie un signal logique 1 à la porte OU exclusif 18 pour faire en sorte que cette porte inverse l'état logique du bit de sortie provenant du registre de données 17 et pour l'envoyer, en tant que bit de correction d'erreur, au sélecteur 16. La plaquette LSI 15 de génération du syndrome comporte un générateur de syndrome 21, un registre de syndrome 22 et un décodeur 23. Le générateur de svndrome 21 reçoit le signal de sortie du registre de donnée 17 de chacune des plaquettes LSI de trai temen t des données pour générer les syndromes de la façon connue de l'homme de l'art. Si un bit erroné apparait dans l'une des plaquettes LSI 11 à 14, les 6 bits des données formant le syndrome sont envoyés au registre de syndrome 22 les 3 bits de poids fort du syndrome sont envoyés aux décodeurs 19 de toutes les plaquettes 11 à 14 de traitement des données en tant que signal de position de bit erroné mentionné précédemment. Les 3 bits de poids faible du syndrome sont envoyés au décodeur 23.Le décodeur 23 comporte des lignes de sortie 24-1 à 24-4 d'identification de laquettes qui s'étendent respectivement jusqu'aux portes ET 20 des plaquettes LSI 11 à 14 et qui envoient un signal logique 1 à l'une des portes ET. On comprendra le mode opératoire du circuit de correction d'une erreur unique de l'invention avec la description fournie ci-dessous. Dans un exemple typique, le signal d'entrée des données à code de Hamming- de longueur 20 bits dans le circuit logique de division des données 10 est représenté comme suit: 50 00001000010000100001 S1 00110001100011000110 S2 = 01010010100101001010 WT S3 00000000001111111111 S4 00000111110000011111 S5 11111111111111111111 Dans l'invention, on suppose que le flux d'entrée de bits de données à code Hamming comporte 14. bits de données et 6 bits de contrôle.Supposons que le flux de bits qui arrive soit représenté par W= (P5,P2, P1,XO,PO,P4,Xl,X2,X3,X4,P3,X5,X6,...,X13). Le syndrome S est fourni par S = HOWT (modulo 2), où H est une matrice de contrôle de parité. De façon plus spécifique, le syndrome S est fourni par:: So-Po +x'+x8+X13 S1 = P1 +X0+X2+X3X6 +X7+ Xll+X12 S2 = P2 +X0+X1+X3+X5+X7+X10+X12 S3 i P3 + X5 + x6 + ....... + X13 S4 = P4+X1+X2+X3+X4+X9+X10+X11+X12+X13 S5 =P5+P2+P1+X0+P0+P4+X1+X2+X3+X4+P3 + X5.......+ X13 Le circuit logique de division des données 10 comporte essentiellement une mémoire qui divise le flux de bits de données à code Hamming qui arrive, en fonction de la position de chaque bit de données à l'intérieur du flux de données, en un premier groupe de données (PS,P2,P1,XO,PO), en un second groupe de données (P4,X1,X2,X3,X4), en un troisième groupe de données (P3,X5,X6,X7,X8) et en un quatrième groupe de données (X9,X10,X11,X12,X13), qui sont respectivement envoyés sur les plaquettes LSI de traitement des données 11,12,13 et 14. Comme cela est bien connu, une erreur unique dans le flux de bits de données qui arrive est détectée si le syndrome S=1. Le syndrome S5=0 indique que des doubles erreurs sont apparues. La position de la plaquette qui contient une erreur unique peut être détectée au moyen des états logiques des syndromes S3 et S4 et la position de bit de l'erreur unique dans le flux de bits qui arrive peut être déterminée au moyens des états logiques des syndromes Sg, S1 et De façon plus spécifique, les plaquettes LSI 11,12,13 et 14 sont identifiées comme contenant une erreur unique lorsque les états logiques des syndromes S etS4 sont (S3=0,S4=0), (S3=0,S4=1), (S3=l,S4=0), (S3=1,S4=1), respectivement, et la position du bit erroné dans un groupe de données est déterminée comme suit: position de bit No.O est erronée si So=O,Sl=O et S2=O, position de bit ho.l est erronée si So=O,Sl=5 et S2=l, position de bit No.2 - est erronée si So=O,Sl=l et S2=0, position de bit No.3 est erronée si So=O,Sl=l et S2=l, position de bit No.4 est erronée si S0=1,S1=0 et S2=0. Les bits de données de chaque groupe sont normalement envoyés, par - l'intermédiaire du sélecteur 16 de la plaquette LSI de traitement des données associé, au registre de données 17 et de là, au générateur de syndrome 21 dans lequel les syndromes, mentionnés ci-dessus, SOsS1,...S5 sont générés. Si une erreur unique est apparue dans un bit de données X2, le générateur de syndrome 21 va générer les syndromes de bit de poids fort S0-S2=S3=O et les syndromes de bit de poids faible S1 =S4 =S5 =1. Les syndromes de bit de poids fort SO,S1 et S2 sont envoyés, par l'intermédiaire du registre de syndrome 22, au décodeur 19 de chaque plaquette LSI de traitement des données en tant que signal de position de bit erroné, de préférence par l'intermédiaire d'un chemin commun 25 de transmission du signal. Ceci sert à réduire la quantité d'interfaces entre les plaquettes LSI de traitement des données et la plaquette LSI de génération du syndrome. De cette façon les décodeurs 19 de toutes les plaquettes LSI de traitement des données détectent que la position de bit No. 2 est erronée et envoient un signal de sortie logique 1 à leurs portes ET associées 20 à l'instant de l'impulsion chronométrique de la position de bit No. 2. Les syndromes de bit de poids faible S3,S4 et sont envoyés, par l'intermédiaire du registre de syndrome 22, au décodeur 23 de chaque plaquette LSI de traitement des données. Chaque décodeur 23 détermine, à partir de l'état logique S -1, qutil y a une erreur unique sur l'une des plaquettes LSI 11,12,13 et 14 et interprète les états logiques S3=0 et S4=1 dans le sens que l'erreur unique est apparue sur la plaquette LSI 12 et fait en sorte d'envoyer un signal logique 1 à la ligne 24-2 d'identification de la plaquette et d'envoyer un signal logique 0 aux autres lignes 24-1,24-3 et 244 d'identification des plaquettes.Le signal d'entrée logique 1 sur la ligne 24-2 valide la porte ET 20-2 pour laisser passer le signal de sortie logique 1 du décodeur 19-2 vers la porte OU exclusif 18-2, de sorte que l'état logique du bit erroné X2 actuellement mémorisé dans le registre de données 17-2 est inversé par la porte OU exclusif 18-2 et renvoyé en rétroaction et par l'intermédiaire du sélecteur 16-2, au registre de données 17-2 pour remplacer le bit erroné.D'un autre côté, le signal d'entrée logique O qui se trouve sur la ligne 24-1 d'identification des plaquettes fait que la porte ET 20-1 reste invalidée pour empêcher que le signal de sortie logique 1 en provenance du décodeur 19-1 ne puisse passer vers la porte OU exclusif 18-1. Des opérations semblables se produisent dans les plaquettes LSI de traitement des données 13 et 14 pour empêcher que le signal de sortie logique l de leurs décodeurs ne puisse être envoyé vers la porte OUT exclusif associée. Il en résulte que la correction d'erreur ne s'effectue qu'à la position de bit désirée de la plaquette LSI 12 avant d'être envoyée au générateur de syndrome 21. La description ci-dessus ne représente que l'une des réalisations préférées de l'invention. Différentes variantes apparaissent à l'homme de l'art sans s'écarter de l'objet de l'invention qui n' est limité que par les revendications jointes. Par conséquent, la réalisation représentée et décrite l'est à titre d'illustratio. et non de limitation. REVENDICATIONS 1. Circuit de correction de bit d'erreur unique pour une pluralité de plaquettes (11,12,13,14) de circuit intégré, caractérisé en ce qu'il comporte: un premier moyen (10) pour diviser en une pluralité de groupes de bits de données un flux de bits de données à code Hamming qui arrive et pour envoyer lesdits groupes de bits de données sur lesdites plaquettes (11,12,13,14) de circuit intégré, respectivment; et un second moyen (15) pour obtenir des syndromes à partir desdits groupes de bits de données et pour obtenir, à partir des syndromes, un premier signal identifiant la position d'un bit erroné dans chaque groupe de bits de données et un second signal identifiant celui desdits groupes de données dans lequel ledit bit erroné apparait; chacune desdites plaquettes (11,12,13,14) de circuit intégré incluant des troisièmes moyens (19.1...) pour corriger un bit erroné en accord avec ledit premier et ledit second signaux. 2. Circuit de correction de bit d'erreur unique selon la revendication 1, caractérisé en ce que lesdites plaquettes (11,12,13,14) de circuit intégré comportent un chemin commun (25) de transmission du signal pour transmettre ledit premier signal, provenant dudit second moyen (1'), audit troisième moyen (19.1...) de chacune desdites plaquettes (11,12,13,14) de circuit intégré. 3. Circuit de correction de bit d'erreur unique selon la revendication 1, caractérisé en ce que ledit second moyen (15) comporte une pluralité de lignes (24.1...25) respectivement reliées auxdites plaquettes (11,12,13,14) de circuit intégré et des moyens pour envoyer un signal logique à bit unique sur l'une desdites lignes, en tant que second signal. 4. Circuit de correction de bit d'erreur unique selon la revendication 3, caractérisé en ce que le-sdits troisièmes moyens comportent: des moyens formant registre (17.1...) pour mémoriser les bits de données de l'un, respectif, desdits groupes de bits de données sans faire intervenir un bit de correction d'erreur, puis, pour remplacer un bit des données mémorisées par ledit bit de correction d'erreur et pour envoyer les bits de données mémorisées audit second moyen (15); des moyens formant décodeur (19.1...), sensibles audit premier signal, pour générer un signal de sortie à l'instant de l'impulsion chronométrique de la position de bit identifiée par ledit premier signal; des moyens formant porte ET (20.1...) prévus pour être validés en réponse audit signal logique à bit unique pour faire passer à leur borne de sortie ledit signal de sortie provenant dudit moyen formant décodeur; et des moyens formant porte OU exclusif (18.1...) présentant une première entrée reliée audit moyen formant registre (17.1...) et une seconde entrée reliée à ladre borne de sortie dudit moyen formant porte ET (20. .. .) pour inverser l'état logique d'un bit erroné provenant dudit moyen formant registre et pour envoyer le bit erroné. inversé, audit moyen formant registre en tant que dit bit de correction d'erreur. 5. Système de traitement de données caractérisé en ce qu il comporte: un moyen (10) pour diviser en une pluralité de groupes de bits de données, un flux de bits de données entrantes à code Hamming ; une pluralité de premières plaquettes (11,12, 13,14) de circuit intégré pour traiter ledit groupe de bits, respectivement chacune desdites premières plaquettes (11,12,13,14) du circuit intégré comportant des moyens formant registre (17.1...) pour mémoriser l'un, respectif, desdits groupes de bits de données sans faire intervenir un bit de correction d'erreur, puis pour remplacer un bit des données mémorisées par ledit bit de correction d'erreur; une seconde plaquette (15) de circuit intégré comportant un moyen (21) formant générateur de syndrome pour obtenir des syndromes à partir des signaux de sortie desdits moyens (17.1...) formant registre de chacune desdites premières plaquettes (11,12,13,14) de circuit intégré, ainsi que des moyens (22) pour obtenir, à partir desdits syndromes, un premier signal identifiant la position de bit d'un bit erroné dans chacun desdits groupes de bits de données et un second signal identifiant celle desdites premières plaquettes de circuit intégré dans laquelle ledit bit d'erreur apparait et pour envoyer ledit premier signal et ledit second signal auxdites premières plaquettes de circuit intégré, chacune desdites premières plaquettes (11,12,13, 14) de circuit intégré comportant en outre des moyens (19.1, 19.2...) formant décodeur. sensibles audit premier signal pour générer un signal de sortie à l'instant de l'impulsion chronométrique de la position de bit identifiée par ledit premier signal, des moyens (20.1, 20.2...) formant porte ET, sensibles audit second signal, pour faire passer à leur borne de sortie ledit signal de sortie provenant dudit moyen formant décodeur; et des moyens (18.1, 18.2...) formant porte OU présentant une première entrée reliée audit moyen formant registre (17.1...) et une seconde entrée reliée à ladite borne de sortie dudit moyen formant porte ET pour inverser l'état logique d' un bit erroné provenant dudit moyen (17.1...) formant registre et pour envoyer le bit erroné, inversé, audit moyen (17.1...) formant registre en tant que bit de correction d'erreur. 6. Système de traitement des données selon la revendication 5, caractérisé en ce que ladite seconde plaquette (15) de circuit intégré comporte des moyens (23) pour générer un signal logique à bit unique en réponse auxdits syndromes et pour envoyer ledit signal logique à bit unique à celle desdites premières plaquettes (11,12,13,14) de circuit intégré dans laquelle ledit bit erroné est apparu. 7. Système de traitement des données selon la revendication 5, caractérisé en ce que lesdites première plaquettes (11,12,13,14) de circuit intégré comportent un chemin commun (25) de transmission du signal pour recevoir ledit premier signal provenant de ladite seconde plaquette (15) de circuit intégré par l'intermédiaire dudit 'chemin commun (25) et pour envoyer ledit premier signal reçu audit moyen formant décodeur (19.1...).