Brevet FR2743909A1 — publié le 19970725

CIRCUIT MULTIPL R SUR UN CORPS DK GALOIS ET APPLICATIONS D 'UN TEL CIRCUIT DANS UN DECODEUR CORRECTEUR D'TERREURS La présente invention concerne un circuit multiplieur sur un corps de Galois et des applications de ce circuit dans des décodeurs correcteurs d'erreurs. Des calculs arithmétiques sur les corps de Galois sont utiles dans un certain nombre d'applications. Une application importante est dans la réalisation de codeurs et de décodeurs correcteurs d'erreurs de transmission faisant appel à des codes cycliques de type BCH et en particulier de type Reed-Solomon (voir "Algebraic Coding Theory" de E.R. Berlekamp, Mc Graw-Hill, New York, 1968). Un autre exemple d'application est dans la réalisation de systèmes de cryptage. Pour la mise en oeuvre de tels calculs, la conception des circuits multiplieurs est un problème-clé en termes de complexité du système et de vitesse d'exécution. Ces circuits doivent obéir aux contraintes d'intégration à très grande échelle (VLSI) et permettre de traiter des débits numériques élevés à coût modéré. On s'intéresse à des corps de Galois CG(2m) de cardinal 2m, où m est un entier plus grand que 1. On note f(x)=xm+fm-1xm-1+fm-2xm-2+. .+f1x+f0 le polynôme générateur de degré m utilisé pour construire le corps de Galois CG(2m), dont les coefficients fi(0si Une base dite standard du corps CG(2m) associée à l'élément primitif a est constituée par les éléments &alpha;0=1, &alpha;1=&alpha;,&alpha;2,...,&alpha;m-1. Tout élément A du corps de Galois CG(2m) peut être représenté par un unique m-uplet de bits (a0,a1,....,am-1) constituant les coordonnées de A dans la base standard {l,a,...,am~1}: D'autres bases peuvent être définies sur le corps de Galois CG(2m). En effet, comme le corps CG(2m) peut également être considéré comme un espace vectoriel de dimension m sur le corps CG(2), tout m-uplet d'éléments linéairement indépendants de CG(2m) en constitue une base. En particulier, on peut définir une base {ss0,ss1,....,ssm-1} dite duale de la base standard {1,&alpha;,....,&alpha;m-1} à partir des propriétés d'une fonction "trace" notée Tr(.) définie, pour tout élément x de CG(2m), par Cette fonction Tr est linéaire et prend ses valeurs dans CG(2). La base duale de la base standard {1,&alpha;,....,&alpha;m-1} est l'unique m-uplet {ss0,ss1,....,ssm-1} d'éléments de CG(2m} tel que Tr(alssi)=l et Tr(&alpha;issk)=0 pour Osi,ksm-1 et i#k. Tout élément B du corps CG(2m) peut être représenté par un unique m-uplet de bits (b'0,b'1,....,b'm-1) constituant ses coordonnées dans la base duale {ss0,ss1,....,ssm-1} : avec b'i=Tr(Bai). Dans l'article "Bit-Serial Reed-Solomon Encoders" (IEEE Trans. on Information Theory, Vol. IT-28, N06, novembre 1982), E.R. Berlekamp a présenté un circuit multiplieur utilisable dans des codeurs Reed-Solomon, dans lequel l'un des opérandes A est représenté en base standard (relation (1)), l'autre opérande B est représenté en base duale (relation (2)), et le résultat C=AB est produit en base duale Ce circuit multiplieur en base duale délivre en série les coordonnées en base duale du produit C=AB des deux opérandes en m cycles d'horloge, à raison d'un bit par cycle en commençant par le bit de poids le plus faible. De tels multiplieurs en base duale ont été introduits pour la réalisation de codeurs Reed-Solomon. Dans les multiplications réalisées par un codeur Reed-Solomon, l'un des opérandes est fixe : celui correspondant à un coefficient du polynôme générateur du code. Il est commode d'exprimer ce coefficient sur la base standard (opérande A). Ceci permet de limiter le nombre de portes logiques nécessaires. C'est ce dernier mode de réalisation qui est décrit dans l'article précité de E.R. Berlekamp (voir aussi le brevet européen 0 066 618). Le cas où l'opérande A peut changer d'une multiplication à une autre est décrit dans l'article "A comparison of VLSI Architecture for Finite Fields Multipliers Using Dual, Normal, or Standard Bases" de I.S. Hsu et al, IEEE Trans. on Computers, Vol. 37, n06, juin 1988. Parmi les circuits multiplieurs connus, le multiplieur en base duale est le plus performant en termes de nombre de portes logiques nécessaires à sa réalisation et en termes de cadence de traitement. Dès l'initialisation des registres du multiplieur, le premier bit de sortie est disponible. Il a en outre l'avantage de produire le résultat en série, ce qui facilite sa mise en oeuvre dans des systèmes à organisation en pipe-line. La présente invention trouve des applications, en particulier, dans des décodeurs Reed-Solomon. On s'intéresse à un code de Reed-Solomon RS (N, N-2t, t) défini sur le corps de Galois CG(2m). Un code de Reed-Solomon est un code cyclique en blocs dont le polynôme générateur g(x) de degré 2t à coefficients dans CG(2m) a pour racines 2t puissances consécutives d'un élément primitif v du corps CG(2m), t pouvant être égal à a ou plus généralement à toute racine du polynôme f(x) générateur du corps I étant une constante entière. Chaque mot de code se compose de N symboles (N R(x)=rN-1xN-1 + . . + r1x + r0 En l'absence d'erreurs sur les symboles reçus, le polynôme générateur du code g(x) est un facteur de ce polynôme R(x). Les méthodes de décodage font généralement intervenir des calculs de syndromes d'erreur. Un syndrome est une valeur du polynôme R(x) pour un élément donné du corps de Galois. Le plus souvent, on se limite au calcul des syndromes pour les 2t racines du polynôme générateur du code : Si=R(I+i) pour 0#i#2t-1. Si le bloc reçu comporte V symboles erronés rh(0)' rh(1),..., rh(V-1) (v#t et 0#h(v)#N-1 pour 0#v#V-1), alors chaque syndrome Si vérifie où eh(v) désigne l'amplitude de l'erreur sur le symbole rh(v) Une manière commode de calculer un syndrome Si est d'utiliser un circuit consistant essentiellement en un multiplieur, un additionneur et un registre pour mettre en oeuvre la relation de récurrence Avec la condition d'initialisation Si( )=rN~1, le syndrome Si est calculé au fur et à mesure de l'arrivée des symboles rN-1-n (dans l'ordre des poids décroissants), et obtenu dès l'arrivée du dernier symbole r0 du bloc : Si=Si (N-1) positions h(v) et les amplitudes eh(v) des erreurs. Pour résoudre ces équations, la plupart des algorithmes de décodage impliquent le calcul d'un polynôme localisateur d'erreurs #(x) de degré V dont les racines sont les éléments du corps de Galois de la forme 'v-h (v) L'expression du polynôme localisateur d'erreurs est où 1c=a0 est un élément arbitraire du corps CG(2m) et au=O pour u > V. Les coefficients de ce polynôme vérifient le système linéaire Différents algorithmes existent pour résoudre le système linéaire (6), notamment l'algorithme d'Euclide et les algorithmes de type Berlekamp-Massey. L'algorithme d'Euclide est conceptuellement simple, mais sa mise en oeuvre dans un circuit VLSI requiert une complexité plus grande (en termes de nombre de portes logiques) que les algorithmes de type Berlekamp-Massey. Les algorithmes de type Berlekamp-Massey résolvent l'équation (6) en 2t itérations successives qui s'interprètent classiquement comme une construction récursive d'un registre à décalage à opérateurs linéaires modélisant le système (6). Dans une version traditionnelle de l'algorithme de Berlekamp-Massey (voir "Theory and Practice of Error Control Codes" de R.E. Blahut, Addison-Wesley, Reading, MA, 1993), on utilise les variables suivantes - polynôme localisateur #(k) (x) égal à #(x) au terme des 2t itérations (initialement #(0) (x)=1) ; - polynôme intermédiaire B(k)(x) servant à la mise à jour du polynôme localisateur lors des itérations (initialement #(0) (x)=1) - Lk : variable entière représentant le degré de #(k) (x) (initialement L0=0) - écart de prédiction ("discrepancy") Ak à valeurs dans le corps CG(2m) ; et - #k : variable binaire, et les calculs effectués à chaque itération k (lsks2t) sont Lk = #k (k-Lk-1)+(1-#k) Lk-1 (7.3) #(k) (x) = #(k-1) (x) -#kx.# (k-1) (x) (7.4) #(k) (x) = #k#k -1 #(k-1) (x) + (1-#k) x.# (k-1) (x) 7.5 Diverses variantes de l'algorithme de Berlekamp Massey ont été proposées dans le but de simplifier son implémentation. On pourra par exemple consulter à cet égard l'article "Time Domain Algorithm and Architecture for Reed Solomon Decoding", de S. Choomchuay et al, IEEE Proceedings I, Vol. 140, N03, juin 1993, pages 189-196, ou encore le document W095/12850. L'article "VLSI Design of Inverse-Free Berlekamp-Massey Algorithm", de I.S. Reed et al, IEEE Proceedings-E, Vol.138, N 5, Septembre 1991, pages 295-298, propose une variante intéressante dans la mesure où elle permet de se dispenser de calculer l'inverse #k-1 de l'écart de prédiction (cf. équation 7.5). Cette variante revient à considérer une valeur a priori quelconque dans CG(2m) pour le coefficient K=a0, au lieu de k=1 dans la version traditionnelle énoncée ci-dessus. Une fois que le polynôme localisateur d'erreurs a été calculé, ses racines sont déterminées pour obtenir les positions h(v) des erreurs. Un procédure fréquemment utilisée pour cela, dite "recherche de Chien", consiste à calculer les valeurs du polynôme o(x) pour chacun des éléments du corps CG(2m), une erreur étant identifiée chaque fois que o(x)=O (voir "Cyclic Decoding Procedure for the Bose-Chaudhuri Hocquenghem Codes" par R.T. Chien, IEEE Trans. on Information Theory, Vol.10, 1964, pages 357-363). Cette procédure consiste en un calcul récursif des valeurs #(#1-N+n) pour n=fl.1 N-i selon en exploitant les relations de récurrence #u(n+1) = #u(n) # #u (9) initialisées par #u = #u.# Les amplitudes des erreurs sont par exemple évaluées selon l'algorithme de Forney (Voir "On Decoding BCH Codes", par G.D. Forney, IEEE Trans. on Information Theory, Vol.11, 1965, pages 549-557). Un polynôme évaluateur d'erreurs (x) est défini par l'équation-clé : (x) = [l+x.S(x)].a(x) modulo x2t (10) = #t.xt+#t-1xt-1+...+#1x + S(x) désignant le polynôme des syndromes Les amplitudes des erreurs sont alors obtenues par xI-1#(x) eh(v)= pour x = # -h(v) (11) x#'(x) #'(x) désignant la dérivée du polynôme localisateur d'erreurs. Les valeurs du dénominateur #1-N+n#'(#1-N+n) pour n=O,1,...,N-l peuvent être obtenues simplement lors de la recherche de Chien (par une somme telle que (8) dans laquelle seuls les termes pour u impair sont sommés). Les valeurs du numérateur #(I-1) (1-N+n)#(#1-N+n) peuvent être obtenues par une procédure semblable à la recherche de Chien pour n=O,1,...,N-l, étant donné que avec les relations de récurrence #u(@+l = #u(@)## U+@-1 (13) initialisées par #u(0) = #u.#(u+I-1)(1-N) Lorsque 1'équation-clé est résolue selon un algorithme de type Berlekamp-Massey, les coefficients du polynôme évaluateur cû(x) peuvent être calculés lors des 2t itérations de cet algorithme. Dans le cas de la version traditionnelle de l'algorithme énoncée ci-dessus, le polynôme évaluateur #(k) (x) est initialisé par #(0) (x)=1, un autre polynôme intermédiaire (k) (x) est initialisé par (0) (x)=0, et chaque itération k (lsks2t) comporte, en plus des calculs (7.1) à (7.5), une mise à jour des polynômes (k)(x) et p(k)(x) #(k) (k) (x) = #k #k-1 #(k-1) (x)+(1-#k)x. (k-1) (x) (7.7) Le procédé de décodage dont les grandes lignes ont été rappelées ci-dessus s'accomode bien d'une organisation en pipe-line pour réduire le temps de décodage et les capacités de mémoire tampon requises : pendant qu'une partie du circuit décodeur résout l'équation-clé à l'égard d'un bloc courant, une autre partie du circuit calcule les syndromes pour le bloc suivant et une autre partie encore procède aux corrections pour le bloc précédent. Les décodeurs actuels doivent permettre de traiter les débits d'information très élevés, pouvant atteindre la centaine de mégabits par seconde (Mbit/s). Atteindre de telles cadences de traitement avec des circuits VLSI destinés au grand public est un défi majeur pour les concepteurs de décodeurs. Le calcul des syndromes et la recherche de racines selon l'algorithme de Chien sont deux étapes cruciales en termes de débit, l'un en raison du débit d'entrée à traiter, l'autre en raison du débit auquel il faut produire les évaluations des erreurs. Les circuits multiplieurs constituent à cet égard un facteur de limitation : comme ils produisent au plus un bit par cycle d'horloge et comme les fréquences d'horloge sont limitées par la technologie, on est obligé d'augmenter sensiblement le nombre de composants pour réaliser des calculs en parallèle. Outre l'augmentation de la complexité, de tels calculs en parallèle ont l'inconvénient d'être mal adaptés aux algorithmes récursifs optimaux tels qu'exprimés par la relation (5) pour le calcul des syndromes ou par les relations (8), (9), (12) et (13) pour les calculs de racines. Un but de la présente invention est de proposer un circuit multiplieur en base duale permettant de réduire la durée nécessaire pour produire le résultat d'une multiplication sur un corps de Galois. L'invention propose ainsi un circuit multiplieur pour délivrer le produit de premier et second opérandes sur un corps de Galois de cardinal 2m, m étant un entier plus grand que 1, le premier opérande A étant représenté, dans une base standard {1,&alpha;,...,&alpha;m-1} du corps de Galois, par m coordonnées binaires a0,a1,...,am-1 telles que A=aO+a1a+ +a1am-l, a cx désignant une racine d'un polynôme générateur f(x)=xm+fm-1xm-1+...+f1x+f0 du corps de Galois dont les coefficients f0+f1,...,fm-1 sont des bits de valeurs prédéterminées, le second opérande B étant représenté, dans une base {ss0+ss1,...,ssm-1} du corps de Galois qui est une base duale de ladite base standard, par m coordonnées binaires b'0,b'1,...,b'm 1 telles que B=b'0ss0+b'1ss1+...+b'm-1ssm-1, et le produit C=AB des deux opérandes étant représenté, dans ladite base duale, par m coordonnées binaires c'0,c'1,...,c'm-1 telles que C=c'0ss0+c'1ss1+...+c'm-1ssm-1. Selon l'invention, le circuit multiplieur comprend j registres à décalage R0,R1,...,Rj-1, j étant un entier plus grand que 1 diviseur de m, chaque registre à décalage Rq (Osqsj-1) ayant m/j éléments de mémorisation M0,q,M1,q,...,M(m/j)-1,q agencés de façon que l'entrée de chaque élément de mémorisation Mp.q pour 0#p des premiers moyens de logique combinatoire pour adresser, à l'entrée de l'élément de mémorisation M(m/j)-1,r de chaque registre à décalage Rr (Osrsj-l), un bit respectif x r obtenu par l'addition binaire oùxp,q,r=fpj+q-r.zp,q si 0#r#q, et xp,q,r=f(p+1)j+q-r.zp+1,q si q+lsrsj-1 ; et des seconds moyens de logique combinatoire pour délivrer, sur chaque sortie Wr (0#r#j-1) parmi j sorties W0,W1,....,Wj-1 du circuit multiplieur, un bit respectif y'r obtenu par l'addition binaire où yp,q,r=apj+q-r.zp.q si 0#r#q, et yp,q,r=a(p+1)j+q-r.zp+1,q si q+1#r#j-1. Ainsi, en chargeant lors d'un cycle initial k=O les coordonnées binaires en base duale du second opérande B dans les registres à décalage selon Zp,q=b' q=b'pj+q pour Ospsm/j-1 et Osqsj-1, et en effectuant (m/j)-1 cycles de décalage k=l,...,(m/j)-1 dans les registres Rq, on obtient respectivement les coordonnées binaires en base duale c'kj,c'kj+1,...,c'kj+(j-1) du produit C sur les sorties W0,W1,...,Wj-1 lors du cycle k (0#k#(m/j)-1). L'invention concerne également des applications d'un tel circuit multiplieur dans un circuit de calcul de syndrome et dans un circuit de recherche de Chien, ces circuits étant utilisables dans des décodeurs Reed-Solomon ou plus généralement dans des décodeurs BCH. L'invention propose ainsi un circuit de calcul de syndrome fonctionnant en N étapes successives n=0,1,...,N-1 pendant lesquelles sont respectivement reçus des symboles rN-1,rN-2,...,r0 d'un bloc de signal reçu, chaque symbole étant un élément d'un corps de Galois de cardinal 2m, comprenant - un circuit multiplieur tel que défini ci-dessus, ayant comme premier opérande un élément constant du corps de Galois pour lequel un syndrome d'erreur est à calculer - un additionneur parallèle sur j bits ayant une première entrée sur j bits recevant lors de chaque étape n21 les coordonnées en base duale du symbole rN~1~n sous forme de m/j groupes successifs de j coordonnées binaires de poids croissants, et une seconde entrée sur j bits recevant les j bits présents sur les j sorties W0,...,Wj-1 du circuit multiplieur ; et - des moyens pour fournir un second opérande au circuit multiplieur pour chacune des N étapes successives, ledit second opérande étant égal au premier symbole rN1 du bloc pour l'étape 1, et ledit second opérande ayant pour chaque étape n+12 des coordonnées binaires en base duale correspondant aux m/j groupes de j bits respectivement délivrés par l'additionneur parallèle lors de la réception des m/j groupes de j coordonnées binaires du symbole rN-1-n au cours de l'étape précédente n, les coordonnées en base duale du syndrome étant disponibles en sortie de l'additionneur parallèle au cours de la dernière étape N-l. L'invention propose encore un circuit de recherche de Chien pour calculer en N étapes successives n=0,1,...,N-1 les valeurs, pour N éléments successifs d'un corps de Galois de cardinal 2m, d'une fonction de la forme xK.Q(x) où K est un entier et Q un polynôme de degré au plus égal à t à coefficients dans ledit corps de Galois, lesdits N éléments successifs étant des puissances consécutives #1-N, 'v 2-N ,'v0 d'un élément primitif v du corps de Galois, comprenant t+l unités de calcul de rangs respectifs O,l,...,t, chaque unité de calcul de rang u (oust) étant agencée pour délivrer, au cours d'une étape n, m/j groupes successifs de j bits représentant les coordonnées en base duale de l'élément Qu##(u+K) (1-N+n) du corps de Galois, Qu désignant le coefficient de degré u dudit polynôme ; et des moyens additionneurs parallèles sur j bits recevant les bits délivrés par chacune desdites unités de calcul, de manière à fournir lors de chaque étape n les coordonnées en base duale de la valeur prise par ladite fonction pour l'élément t1-N+n, chaque unité de calcul de rang u*-K comportant un circuit multiplieur tel que défini ci-dessus, ayant comme premier opérande l'élément vu+K du corps de Galois pour au moins chaque étape n21, et comme second opérande le produit entre le coefficient de degré u dudit polynôme et l'élément (u+K)(1-N) du corps de Galois pour l'étape n=l, et, pour chaque étape n22, le produit délivré lors de l'étape n-l par ledit circuit multiplieur, le produit délivré par chaque circuit multiplieur au cours d'une étape n#l étant adressé à une entrée parallèle sur j bits respective des moyens additionneurs parallèles. La présente invention sera mieux comprise à la lecture de la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels - la figure 1 est un schéma synoptique d'un circuit multiplieur selon l'invention - la figure 2 est un schéma d'un élément du circuit de la figure 1 - les figures 3 et 4 sont des schémas de deux exemples de circuits multiplieurs sur le corps de Galois CG - la figure 5 est un schéma de principe d'un registre utilisable dans un décodeur Reed-Solomon mettant en oeuvre l'invention - la figure 6 est un schéma synoptique d'un décodeur Reed-Solomon mettant en oeuvre l'invention - la figure 7 est un schéma d'un circuit de calcul de syndrome du décodeur de la figure 6 - la figure 8 montre des chronogrammes illustrant le fonctionnement du circuit de la figure 7 - la figure 9 est un schéma d'un circuit de résolution d'équation-clé du décodeur de la figure 6 - la figure 10 est un schéma d'une cellule de calcul du circuit de la figure 9 - la figure 11 est un schéma d'un logique de calcul du circuit de la figure 9 destinée à fonctionner avec une cellule de calcul du type représenté sur la figure 10 - la figure 12 montre des chronogrammes illustrant le fonctionnement du circuit des figures 9 à 11 ; - les figures 13 et 14 sont des schémas analogues aux figures 10 et 11 illustrant une variante du circuit de résolution d'équation-clé - les figures 15 et 16 sont des schémas de circuits de recherche de Chien du décodeur de la figure 6 - la figure 17 montre des chronogrammes illustrant le fonctionnement des circuits des figures 15 et 16 ; et - la figure 18 est un schéma illustrant une variante d'un circuit de recherche de Chien. Le circuit de la figure 1 réalise des multiplications sur un corps de Galois CG(2m) avec m > l. L'entier j plus grand que 1 désigne un diviseur de m. Le circuit multiplieur comporte j registres à décalage R0,R1,...,Rj-1 Chacun de ces registres Rq se compose de m/j éléments de mémorisation M0,q,m1,q,...,M(m/j)-1,q La figure 1 montre des cellules 30p q comportant chacune un élément de mémorisation Mp,q du registre Rq. Le schéma d'une telle cellule 30p,q est montré sur la figure 2. L'élément de mémorisation Mp,q (Ospsm/j-1, Osqsj-1), consiste typiquement en une bascule D contenant un bit noté Zp,q disponible à sa sortie et dont l'entrée est reliée à la sortie d'un multiplexeur 33p q. Ces bascules D sont cadencées par une horloge commune. Le multiplexeur 33p q a une première entrée reliée à une entrée du circuit multiplieur recevant la coordonnée en base duale b'pj+q de l'opérande B (relation (2)), et une seconde entrée reliée à la sortie de la bascule 33p+l,q si p SLB qui active les premières entrées lorsque SLB=1 (mode de chargement en parallèle) et les secondes entrées lorsque SLB=O (mode de décalage en série). On note Zm/j,q le bit présent à l'entrée série du registre à décalage Rq (0#q#j-1) La cellule 30p,q délivre j bits Xp,q,0' xp,q,1,...,xp,q,j-1 formant un j-uplet ou vecteur de j bits xp,q. pour 0#r#q, le bit xp,q,r correspond à fpj+q-r.zp,q, tandis que pour q+lsrsj-1, le bit Xp,q,r correspond à f(p+1)j+q-r.zp+1,q. Etant donné que les positions des bits fi non nuls sont connues d'après le polynôme primitif retenu pour engendrer le corps CG(2m), la cellule 30p,q peut se contenter de ne délivrer que les bits xp q r correspondant à un coefficient 1 dans le polynôme générateur, soit xp,q,r=zp,q si 0#r#q et fpj+q-r#0, et xp,q,r=zp+1,q si q+1#r#j-1 et f(p+1)j+q-r#0. Comme le montre la figure 1, une logique combinatoire 32 formant j additionneurs en parallèle fait la somme des vecteurs xp,q (0#p#m/j-1, Osqsj-1) pour délivrer un vecteur de j bits X'=fx'0,x'1,..., x 'jî) La logique 32 consiste simplement en un groupement de portes OU exclusif, l'additionneur de rang r (0#r#j-1) réalisant l'addition binaire Ce bit x'r est adressé à l'entrée du registre Rr et correspond donc au bit précédemment appelé zm/j,r qui sera chargé dans la bascule Zm/jl,r lors du prochain cycle de décalage. Pour initialiser une multiplication, on charge les coordonnées en base duale (b'0,b'1,...,b'm-1) de l'opérande B dans les registres Rq en mettant le signal SLB à 1 pendant un cycle d'horloge k=O. Les contenus des registres Rq sont alors : Zp,q (0)=b'pj+q=Tr(B&alpha;pj+q) pour Ospsm/j-l et 0#q#j-1. On a par ailleurs pour ce cycle initial k=0 : Supposons maintenant que l'on ait zm/j,q(0)=Tr(B&alpha;m+q) pour 0#q#r-1#j-1, ce qui est vrai pour r-1=0 comme on vient de le montrer. On a alors zm/j,r(0)=x'r(0) = Tr(Bam+r) Ceci démontre par récurrence que l'on a aussi zp,q(0)=Tr(B&alpha;pj+q) pour p=m/j et Osqsj-1. Une fois que les registres Rq ont été initialisés, on procède à m/j-1 cycles de décalage successifs dans les registres Rq (SLB=O). Supposons que l'on ait lors du cycle k-1 : Z (k-1)=Tr(B&alpha;(p+k-1)j+q) pour Ospsm/j et Osqsj-1 (on p,q a vu que ceci était vrai pour k-1=0). On a alors, pour 0#p#m/j-1 et 0#q#j-1 : z(k)=z(k-1)=Tr(B&alpha;(p+k)j+q) P,q p+l,q et d'autre part Le même raisonnement par récurrence que ci-dessus montre alors que, pour 0#q#j-1, z (k)= Tr(B&alpha;m+kj+q). Par conséquent, lors de chaque cycle d'horloge k (k=0,1,...), on a zp.q(k)=Tr(B&alpha;(p+k)j+q) pour 0#p#m/j et Osqsj-1. Revenant à la figure 2, la cellule 30p,q comporte j portes ET 34p,q,0,34p,q,1, ,34p,q,j-1. Pour Osrsq, la porte ET 34p,q,r a une entrée reliée à la sortie de la bascule Mp,q,une entrée recevant le bit apj+q-r préalablement chargé dans un registre non représenté, et une sortie délivrant un bit yp,q, r Pour q+1#r#j-1, la porte ET 34p,q,r a une entrée reliée à l'additionneur de rang r (0#r#j-1) réalisant l'addition binaire Ce bit y'r est adressé à une sortie Wr du circuit multiplieur. Lors du cycle de décalage k, sa valeur est = Cl kj+r En conséquence, le circuit multiplieur délivre en mode mixte série/parallèle les coordonnées en base duale du produit C=AB, et ce seulement en m/j cycles d'horloge : un cycle pour le chargement en parallèle des coordonnées des opérandes A et B dans leurs registres respectifs, et m/j-1 cycles de décalage dans les registres Rq. On observe que si on étend l'architecture du multiplieur qui vient d'être décrite au cas où j=1, alors on retrouve la structure traditionnelle du multiplieur en base duale délivrant un bit par cycle d'horloge. La figure 3 montre un cas particulier de circuit multiplieur selon l'invention, dans le cas m=8, j=2. Le corps de Galois CG(28) est ici construit à partir du polynôme générateur f(x)-x8+x4+x3+x2+i, admettant a=(02)HeX comme élément primitif, l'indice Hex faisant référence à une notation hexadécimale. La base duale de la base standard {1,&alpha;,&alpha;2,...,&alpha;7) est {ss0,...,ss7}=(AD)Hex, (D8)Hex, (Cl)Hex, (43)Hex, (02)Hex, (01)Hex, (8E)Hex, (47)Hex}. Les références Rq,zp,q,x'r,32,34p,q,r, 36,Wr utilisées sur les figures 1 et 2 ont été reprises sur la figure 3 avec Ospsm/j-1=3, Osq,rsj-1=1 pour désigner des éléments analogues, les multiplexeurs de chargement 33p,q n'étant pas représentés pour faciliter la lecture de la figure 3. Les coordonnées en base standard ai de l'opérande A sont stockées dans un registre parallèle de 8 bits 38. Avec le polynôme générateur choisi, la logique combinatoire 32 se compose de six portes OU exclusif à deux entrées 320-325, organisées en deux étages, le premier étage comportant quatre portes 320323, et le second étage deux portes 324, 325. Les portes 320, 322, 324 réalisent l'addition binaire x'0=z0,0+z1,0+z2,0+z1,1, tandis que les portes 321, 323, 325 réalisent l'addition binaire x'1=z2,0+z0,1+z1,1+z2,1. En d'autres termes, l'additionneur binaire de rang r=O ou 1 de la logique 32, dont la sortie est reliée à l'entrée série du registre Rr, a trois entrées respectivement reliées aux sorties des éléments de mémorisation Mp Iq avec Ospsm/j-1=3, rsqsj-1=1 et f2p+q-r=1 et aux entrées des éléments de mémorisation Mp,q avec 0#p#3, 0#q#r-1 et f2(p+1)+q-r=1. La logique combinatoire 36 reliant les portes ET 34p,q,r aux sorties SO,S1 du circuit multiplieur se compose de quatorze portes OU exclusif 360-373 organisées en trois étages, le premier étage comportant huit portes 360-367, le second quatre portes 368-371, et le troisième deux portes 372,373. Les portes 360, 362, 365, 367, 368, 371 et 372 réalisent l'addition binaire y 0=y0,0,0+y1,010+y2,0,0+y3,0,0+ y0,1,0+ y1,1,0+y2,1,0+y3,1,0, tandis que les portes 361, 363, 364, 366, 369, 370 et 373 réalisent l'addition binaire y'1=y0,0,1+y1,0,1+y2,0,1+y3,0,1+y0,1,1+y1,1,1+y2,1,1+y3,1,1. Ce circuit effectue une multiplication en m/j=4 cycles d'horloge au lieu de m=8 pour un multiplieur en base duale traditionel. La complexité additionnelle qu'implique cet accroissement de la vitesse reste très limitée : dans une réalisation à base de portes à deux entrées, seulement sept portes ET et dix portes OU exclusif additionnelles sont requises dans l'exemple décrit, ce qui ne représente qu'environ 15% de la surface de silicium du circuit. Lorsque l'opérande A exprimé en base standard est fixe, le circuit multiplieur peut être simplifié. Le registre 38 et les mj portes ET 34p,q,r ne sont plus nécessaires, et la logique combinatoire 36 requiert généralement un moindre nombre de portes OU exclusif. Chacun des j additionneurs binaires de la logique 36 dont la sortie constitue une des sorties Wr du circuit a alors ses entrées reliées aux sorties des éléments de mémorisation Mp Iq avec Ospsm/j-l, r#q#j-1 et apj+q-r=1, et aux entrées des éléments de mémorisation Mp,q avec Ospsm/j-1, Osqsr-1 et a(p+1)j+p-r=1. La figure 4 montre ainsi, dans le cas m=8, j=2, un circuit effectuant en m/j=4 cycles d'horloge la multiplication d'un opérande quelconque B exprimé dans la base duale par un opérande fixe A=(42)HeX. Les références de la figure 3 sont reprises sur la figure 4 pour désigner des éléments identiques. Dans ce cas particulier, la logique combinatoire 36 se compose de seulement deux portes OU exclusif 374, 375 réalisant respectivement les opérations y'0=y0,1,0+y3,0,0=z0, 1+23,0 et y'1=y0,0,1+y3,1,1=z1,0+z3,1. La figure 5 montre la structure d'un registre de m bits adapté à une architecture VLSI utilisant un ou plusieurs circuits multiplieurs du type décrit en référence aux figures 1 à 4. Comme le multiplieur, ce registre a des entrées/sorties parallèles sur j bits ou sur m bits. Sur le schéma de principe de la figure 5, le registre se compose de j registres à décalage 100,...,10j-1. Chaque registre à décalage 10q se compose de m/j bascules D 120 '12m/j-i,q montées en série de façon que l'entrée D d'une bascule 12p q (p D des bascules 12m/j-i,q' le bit de poids le plus faible (LSB) étant adressé à l'entrée D de la bascule 12m/j-1,0, et le bit de poids le plus fort (MSB) à l'entrée D de la bascule 12m/j-1. j j-1. Les sorties Q des bascules 120 q forment une sortie parallèle sur j bits 16 du registre, le bit de poids le plus faible étant délivré par la bascule 120 o, et le bit de poids le plus fort par la bascule 120 Chaque bascule D 12p,q est cadencée par un signal d'horloge CLKj qui est le même que celui qui procure les cycles de décalage dans les circuits multiplieurs précédemment décrits. Chaque bascule D a en outre une entrée de validation E (enable) qui autorise les décalages dans les registres lOq sur chaque front montant de l'horloge CLKj lorsque le signal de validation EN présent sur cette entrée E est au niveau logique 1, et une entrée de réinitialisation R (reset) qui met à zéro le contenu de la bascule sur chaque front montant de l'horloge CLKj lorsque le signal de réinitialisation RES présent sur cette entrée R est au niveau logique 1. Le registre représenté sur la figure 5 a deux sorties parallèles sur m bits 18, 20, qui seront ci-après appelées respectivement sortie de type 1 et sortie de type 2. Le bit de poids pj+q fourni sur la sortie 18 de type 1 est celui présent sur la sortie Q de la bascule 12p,q Le bit de poids pj+q fourni sur la sortie 20 de type 2 est celui présent à l'entrée D de la bascule 12p q. Selon les cas d'utilisation d'un registre de m bits selon la figure 5, on pourra avoir besoin d'un ou plusieurs des trois types de sorties 16, 18, 20, de sorte qu'une ou deux de ces sorties peuvent ne pas être câblées. On note que lorsque seule la sortie parallèle 20 de type 2 est nécessaire, on peut se dispenser des bascules 120,0,120,1,...,120,j-1. La figure 6 est un schéma synoptique général d'un décodeur Reed-Solomon incorporant l'invention. Les symboles du signal reçu parviennent sur une entrée parallèle sur m bits du décodeur. On suppose que les symboles de chaque bloc sont reçus dans l'ordre rN~1,rN~2,...,rl,rO, chaque symbole étant exprimé par ses m coordonnées binaires dans la base standard {1,&alpha;,...,&alpha;m-1}. Un circuit de conversion 40 reçoit les m-uplets de coordonnées binaires des symboles successifs et les transforme pour délivrer les coordonnées en base duale des symboles. Pour chaque symbole, les coordonnées en base duale sont délivrées en m/j groupes successifs de j coordonnées binaires de poids croissants, un groupe étant produit à chaque cycle de l'horloge CLKj. Le circuit 40 peut consister simplement en un registre dans lequel les coordonnées en base standard des symboles successifs sont écrits au rythme de l'horloge symbole CLKm, et en des portes logiques agencées pour délivrer un groupe de j coordonnées en base duale à chaque cycle de l'horloge CLKj (qui est m/j fois plus rapide que l'horloge symbole CLKm), en tenant compte des relations entre les bases {1,&alpha;,...,&alpha;m-1} et {ss0,ss1,...,ssm-1}. Dans l'exemple précédemment évoqué où m=8, j=2, f(x)=x8+x4+x3+x2+1 et a=(02)HeX, les coordonnées en base duale (a'O,...,a'7) d'un élément A du corps de Galois ayant les coordonnées (a0,...,a7) en base standard, sont délivrées par le circuit de conversion 40 en m/j=4 cycles de l'horloge CLKj de la manière suivante : a'0=a5 et a'1=a4 lors du premier cycle, a'2=a3+a7 et a'3=a2+a6+a7 lors du second cycle, a'4=a1+a5+a6+a7 et a'5=a0+a4+a5+a6 lors du troisième cycle, et a'6=a3+a4+a5 et a'7=a2+a3+a4 lors du quatrième cycle. Un module 42 calcule les 2t syndromes SO,...,S2t~ sur la base des coordonnées en base duale des symboles reçus, fournies par le circuit de conversion 40. Ces syndromes sont ensuite traités par un circuit 44 de résolution de l'équation-clé qui fournit les coefficients #0,... et et #0,...,#t du polynôme localisateur d'erreurs #(x) et du polynôme évaluateur d'erreurs #(x). Un module de calcul de correction 46 détermine les amplitudes ei des erreurs dans l'ordre i=N-1, N-2,...,1,0, ces amplitudes ei étant ajoutées aux symboles correspondants ri par l'additionneur parallèle sur m bits 48. Pour tenir compte du temps mis par les modules 40, 42, 44, 46 pour produire les amplitudes ei, un circuit 50, pouvant consister en une mémoire premier entré-premier sorti (FIFO), retarde les symboles ri à l'entrée de l'additionneur 48 d'un nombre approprié de cycles de l'horloge symbole CLKm. Les signaux d'horloge CLKj et CLKm, ainsi que les différents signaux de commande décrits ci-après sont fournis, par une base de temps non représentée du décodeur. Le module 42 se compose de 2t circuits de calcul de syndrome tels que celui représenté sur la figure 7 pour le calcul d'un syndrome Si=R(WI+i) (Osis2t-1). Le circuit de la figure 7 comporte un multiplieur en base duale 52 dont l'opérande A exprimé en base standard est fixe, égal à vizir et un additionneur parallèle sur j bits 54 dont une première entrée sur j bits reçoit un groupe de j coordonnées binaires d'un symbole rN-1-, et une autre entrée sur j bits est reliée aux sorties WO,...,Wj~1 du multiplieur 52. L'additionneur 54 réalise la somme du bit délivré par chaque sortie Wq du multiplieur avec le bit de poids q reçu sur sa première entrée. Pour fournir au multiplieur 52 son opérande B exprimé en base duale, le circuit comporte un multiplexeur 56 commandé par un signal binaire M1 et un registre 58. Le registre 58 est du type décrit en référence à la figure 5, avec une entrée parallèle sur j bits et seulement une sortie parallèle sur m bits de type 2. Le fonctionnement du circuit de calcul de syndrome de la figure 7 est illustré par les chronogrammes de la figure 8. La première ligne illustre l'arrivée des symboles successifs rN-1,rN-2,...,r1,r0 d'un bloc BL au rythme de l'horloge symbole CLKm. Le signal de commande M1 a la périodicité des blocs. Il présente une impulsion de niveau logique 1 de durée égale à une période de l'horloge symbole CLKm lors de l'arrivée du dernier symbole de chaque bloc. Lorsque M1=1, le multiplexeur 56 adresse à l'entrée parallèle du registre 58 j bits égaux à 0. Lorsque M1=0, le multiplexeur 56 adresse à l'entrée parallèle du registre 58 les j bits délivrés par l'additionneur 54. Le signal SLB de chargement de l'opérande B dans le multiplieur 52 a la périodicité des symboles. Il présente des impulsions de niveau 1 et de durée égale à une période de l'horloge CLKj, de façon que chaque front montant de l'horloge CLKm survienne lorsque SLB=1. Ainsi, un opérande B=O est chargé dans le multiplieur 52 pour une étape n=O correspondant à l'arrivée du premier symbole rN-1+n=rN-1 de chaque bloc, et l'opérande B chargé dans le multiplieur 52 au début de l'étape suivante n=1 (chaque étape dure un cycle de l'horloge CLKm) est B=Si(0)=rN~l. Au cours de chaque étape n (OsnsN-1), le symbole rNl+n parvient à l'additionneur 54, et la quantité Si(n) (cf. relation (5) ci-dessus) est délivrée par l'additionneur 54. Cette quantité Si(n) est chargée comme opérande B dans le multiplieur 52 au début de l'étape suivante n+1 (sauf pour n=N-1). Lors de la dernière étape n=N-1, l'additionneur 54 délivre, en m/j groupes de j coordonnées binaires en base duale, la valeur du syndrome Si=Si (N-1), comme illustré par la dernière ligne de la figure 8. On voit que le syndrome Si est disponible en sortie du multiplieur 54 dès l'arrivée du dernier symbole rO du bloc, à un instant noté #1, Si #0 désigne l'instant où parvient le premier symbole rN-l du bloc, le temps d'attente 81- 80 correspond à la plus petite valeur possible, à savoir la périodicité des blocs. L'utilisation du multiplieur en base duale avec j#2 à l'avantage de permettre, pour une fréquence donnée fj de l'horloge CLKj, de traiter un débit d'entrée correspondant à une fréquence de symboles de (j/m)fj, c'est-à-dire à une fréquence de symboles j fois plus élevée qu'avec les multiplieurs traditionnels (j =1). Exprimé autrement, si on se fixe une fréquence de symboles fm, le multiplieur en base duale avec j#2 permet de calculer les syndromes, avec un temps d'attente minimal, en utilisant dans le circuit VLSI une horloge CLKj de fréquence j fois plus faible que celle nécessaire avec les multiplieurs traditionnels. Ceci réduit considérablement les contraintes technologiques imposées à la conception d'un décodeur Reed-Solomon. Dans le cas fréquent où #-a et I=O, les racines 'vI+i du polynôme générateur du code dont des petites puissances de a, et la plupart d'entre elles ont un petit nombre de coordonnées non nulles en base standard. En conséquence, les multiplieurs 52 des circuits de calcul de syndrome ont des structures simplifiées, de sorte que la complexité supplémentaire qu'implique le cas j22 (typiquement j=2) reste très faible. Ce cas est notamment rencontré dans les normes DVB retenues pour le codage canal dans le domaine de la télévision numérique, avec m=8, t=8, N=204. La figure 9 montre l'architecture du circuit 44 de résolution de l'équation-clé du décodeur de la figure 6. Le circuit 44 comporte 2t registres de m bits 600,...,60u,...,602t~l cadencés par l'horloge CLKj et recevant un signal ENT comme signal de validation. Chacun de ces 2t registres 60U est du type décrit en référence à la figure 5 avec une entrée parallèle sur j bits, une sortie parallèle sur j bits et une sortie parallèle sur m bits de type 1. Chaque registre 60U est associé à un multiplexeur respectif 62U commandé par le signal M1. Le multiplexeur 62U (lsus2t-1) relie l'entrée parallèle sur j bits du registre 60U à la sortie parallèle sur j bits du registre 60u-1 lorsque M1=0, et à la sortie de l'additionneur 54 du circuit de calcul du syndrome 52t-u lorsque M1=l. Le multiplexeur 60 relie l'entrée parallèle sur j bits du registre 600 à la sortie parallèle sur j bits du registre 602t-1 lorsque M1=0, et à la sortie de l'additionneur 54 du circuit de calcul du syndrome Sn lorsque M1=1. Comme les additionneurs 54 délivrent les syndromes pendant que M1=l (figure 8), ces syndromes se trouvent chargés dans les registres 60U quand M1=1, et quand M1=0, les valeurs des syndromes tournent dans les registres 60U qui sont connectés en boucle. Pour chaque coefficient au (oust) du polynôme localisateur d'erreurs a(x), le circuit 44 comporte respectivement une cellule de calcul 64u, un multiplexeur 66U commandé par un signal M2, et un circuit de conversion 68U. Chaque circuit de conversion 68U est un agencement de portes logiques qui reçoit les m coordonnées binaires en base duale présentes sur la sortie parallèle sur m bits du registre 60U, représentant un syndrome, et les convertit pour fournir les m coordonnées binaires en base standard de ce syndrome, en tenant compte des relations entre les bases ,ssm-1} et {1,&alpha;,...,&alpha;m-1}. Dans l'exemple précédemment évoqué où m=8, j=2, f(x)=x8+x4+x3+x2+1 et &alpha;=(02) Hex, les coordonnées en base standard (bo,...,b7) d'un élément B du corps de Galois ayant les coordonnées b'0,...,b'7) en base duale sont délivrées par le circuit de conversion 60U de la manière suivante b0 = b'0+b'2+b'3+b'5+b'7, bl = b'3+b'4+b'6+b'7, b2 = b'0+b'6+b'71 b3 = b'0+b'1+b'6, b4 = b'1, b5 = b'0, b6 = b'1+b'2+b'3+b'7, et b7 = b'0+b'1+b'2+b'6. Dans l'exemple représenté sur les figures 9 à 11, le circuit de résolution d'équation-clé est agencé pour fonctionner selon la variante de l'algorithme de Berlekamp Massey décrite dans l'article précité de I.S. Reed et al. Cet algorithme procède en 2t itérations successives k=1,...,2t et fait appel à un paramètre yk-1 du corps de Galois permettant de se dispenser des calculs d'inverses nécessaires dans les versions traditionnelles de l'algorithme de Berlekamp-Massey (cf. relation (7.5)). L'algorithme de Reed et al peut s'exprimer de la manière suivante Initialisation : #(0) (x)=1, #(0) (x)=1, L0=0, &gamma;0=1, #(0) (x)=1, (0) (x)=0. Pour chaque itération k #(k) (x) = &gamma;k-1 #(k-1) (x) +#kx.#(k-1) (x) (14.3) #(k) (x) = #k #(k-1) (x) + (1-#k)# (k-1) (x) (14.4) #(k) (x) = &gamma;k-1 #(k-1) (x)+#kx. (k-1) (x) (14.5) (k) (x) = & k #(k-1) (x)+(1-#k) (k-1) (x) (14.6) Lk = #k(k-Lk-1) + (1-#k)Lk-1 (14.7) &gamma;k = #k #k + (1-#k) rk-1 (14.8) Le polynôme localisateur d'erreurs et le polynôme évaluateur d'erreurs sont obtenus au terme des 2t itérations : #(x)=#(2t) (x) et #(x)=#(2t) (x) avec En référence aux figures 9 et 10, chaque cellule 64U (oust) comporte cinq entrées 1-5 et quatre sorties 6-9. Les entrées 1 à 3 sont des entrées parallèles sur m bits, l'entrée 4 est une entrée parallèle sur j bits, et l'entrée 5 est une entrée binaire. Les sorties 6, 7 et 9 sont des sorties parallèles sur j bits et la sortie 8 est une sortie parallèle sur m bits. Chaque cellule 64U comprend deux multiplieurs en base duale 70, 72 et deux registres de m bits 74, 76 qui sont des registres du type décrit en référence à la figure 5 ayant chacun une entrée parallèle sur j bits, une sortie parallèle sur j bits, et une sortie parallèle sur m bits de type 1. Ces deux registres 74, 76 reçoivent le signal M1 comme signal de réinitialisation et le signal ENT comme signal de validation. L'opérande A en base standard du multiplieur 72 correspond aux m bits présents sur l'entrée 1 de la cellule. L'opérande A en base standard du multiplieur 70 correspond aux m bits présents sur l'entrée 2 de la cellule. L'opérande B en base duale du multiplieur 70 est lu dans le registre 74 par sa sortie parallèle sur m bits. Chaque cellule 64U comprend en outre un additionneur parallèle sur j bits 78 qui reçoit sur une entrée les j bits délivrés par le multiplieur 70 et sur l'autre entrée les j bits délivrés par le multiplieur 72. La sortie sur j bits de l'additionneur 78 est reliée à l'entrée parallèle sur j bits du registre 74. Chaque cellule 64U comprend encore un multiplexeur 80 commandé par le bit reçu sur l'entrée binaire 5, ce bit étant égal à Ak lors de l'itération k. Le multiplexeur 80 relie l'entrée parallèle sur j bits du registre 76 à la sortie parallèle sur j bits du registre 74 lorsque #k=1, et à l'entrée 4 de la cellule lorsque Sk= . La sortie parallèle sur j bits du registre 76 constitue la sortie 7 de la cellule 64U qui est reliée à l'entrée 4 de la cellule 64uni pour Osu Une logique de calcul 82 qui sera décrite ci-après fournit lors de chaque itération k les valeurs des paramètres et et Ak du corps de Galois (exprimées en base standard) et du paramètre binaire Sk utiles à la mise à jour des polynômes o et x pour cette itération (relations (14.3) et (14.4)). Les paramètres Ak et Ak sont respectivement fournis par la logique 82 sur les entrées 1 et 5 des cellules 64u Le paramètre zk-1 est présenté sur une première entrée sur m bits de chacun des multiplexeurs 66U. L'autre entrée du multiplexeur 66U reçoit les m bits délivrés par le circuit de conversion 68U. La sortie du multiplexeur 66U est reliée à l'entrée 2 de la cellule 64u Les multiplexeurs 66U sont commandés par un signal commun M2 qui sépare chaque itération en deux phases, à savoir une première phase (M2=1 : le syndrome Sk-u-l est adressé à l'entrée 2 de la cellule 64u > pour le calcul de l'écart de prédiction #k selon la formule (14.1), et une seconde phase (M2=0 : le paramètre yk-1 est adressé à l'entrée 2 de chacune des cellules 64u) pour la mise à jour des coefficients selon les formules (14.3) et (14.4). Lors de chaque itération k, des nouvelles valeurs des coordonnées en base duale des coefficients au su(k) et Bu(k) sont calculées et stockées dans les registres 74 et 76 de la cellule 64u Pour initialiser les registres 74 et 76 conformément à l'algorithme, le signal de réinitialisation (appelé RES sur la figure 5) fourni aux registres 74 et 76 peut être constitué par le signal M1. Les registres 74 et 76 de la cellule 640 doivent toutefois se réinitialiser à 1 (exprimé en base duale) et non à 0 (dans l'exemple numérique précédemment considéré, 1=55 de sorte que ce sont les bascules 122,1 des registres 74 et 76 de la cellule 640 qui sont à réinitialiser à 1). Dans la première phase de chaque itération k, les multiplieurs 70 des cellules 64U fournissent les coordonnées en base duale des quantités #(k-1)Sk-u-1 en m/j groupes successifs sur les sorties 6. Un additionneur parallèle sur j bits 84 a t+1 entrées respectivement reliées aux sorties 6 des cellules 64u La sortie sur j bits de l'additionneur 84 est reliée à l'entrée parallèle sur j bits d'un registre de m bits 86. Le registre 86 est du type décrit en référence à la figure 5 avec une sortie parallèle sur m bits de type 1. Il reçoit un signal ENA comme signal de validation. Ainsi, au terme de la première phase de l'itération k, l'écart de prédiction Ak (relation (14.1)) exprimé en base duale est stocké dans le registre 86. La figure 11 montre un schéma de la logique 82 qui traite les écarts de prédiction hk calculés dans les premières phases des itérations. Un circuit de conversion 88 identique aux circuits de conversion 68u produit les coordonnées en base standard de l'écart de prédiction Ak dont les coordonnées en base duale sont disponibles dans le registre 86. Les m coordonnées en base standard de #k ainsi obtenues sont adressées aux entrées 1 des cellules 64u La logique 82 comporte un compteur 90 sur J bits fournissant la valeur du numéro k de l'itération en cours, J étant l'entier égal ou immédiatement supérieur à log2(2t). Le compteur 90 est mis à zéro par le signal M1 et incrémenté d'une unité à chaque front montant du signal M2 qui rythme les itérations. Un registre parallèle sur J bits 92 est prévu pour contenir la valeur de la variable entière Lk. Ce registre 92 est initialisé à 0 par le signal M1, et il enregistre les bits présents à son entrée sur chaque front montant d'un signal ENL. Un comparateur 94 compare les valeurs de k et Lk présentes dans le compteur 90 et le registre 92 pour délivrer un bit valant 1 si k > 2Lkl (c'est-à-dire 2Lk~1sk-l) et valant O si ks2Lki. Ce bit est adressé à une entrée d'une porte ET 96 dont l'autre entrée est reliée à la sortie d'un circuit OU à m entrées 98. Les m entrées du circuit OU 98 reçoivent les m coordonnées binaires en base duale de l'écart #k présentes dans le registre 86. Une bascule D 100 cadencée par un signal EN# est prévue pour stocker la valeur courante du paramètre binaire Sk. L'entrée D de cette bascule 100 est reliée à la sortie de la porte ET 96, et sa sortie Q est reliée aux entrées 5 des cellules 64u La sortie de la porte ET 96 est à 1 lorsque Ak* et 2Lklsk-l et à 0 sinon, de sorte que #k est mis à jour selon les relations (14.2). La logique 82 comporte un registre parallèle de m bits 102 servant à contenir les coordonnées en base registre 102 est reliée aux premières entrées des multiplexeurs 66U, ainsi qu'à une entrée d'un multiplexeur 104 de la logique 82. L'autre entrée de ce multiplexeur 104 est reliée à la sortie du circuit de conversion 88 pour recevoir les m coordonnées en base standard de l'écart Ak, et sa sortie est reliée à l'entrée du registre 102. Le registre 102 est initialisé à 1 (=a 0 exprimé en base standard) par le signal M1, et il enregistre la valeur fournie par le multiplexeur 104 sur chaque front montant du signal ENL. Le multiplexeur 104 est commandé par le bit de sortie d'une porte ET 106 réalisant l'opération logique ET entre le bit Ak présent en sortie de la bascule 100 et le complément du signal M2, de façon qu'on ait Yk=Ak Si bk=1 et &gamma;k=&gamma;k-1 si si Sk= (relation (14.8)). La porte ET 106 commande un autre multiplexeur 108 alimentant l'entrée du registre 92. Ce multiplexeur 108 a deux entrées sur J bits, l'une reliée à la sortie du registre 92 et l'autre reliée à la sortie d'un soustracteur 110. Le soustracteur 110 a son entrée positive reliée à la sortie du compteur 90 et son entrée négative reliée à la sortie du registre 92, de façon à produire le nombre k-Lki. Le multiplexeur 108 relie l'entrée du registre 92 à la sortie du registre 92 s'il est commandé par un signal de niveau 0 issu de la porte 106, et à la sortie du soustracteur 110 sinon, de sorte qu'on a Lk= k-Lkl lorsque tik=l et Lk=Lk1 lorsque fik= conformément à la relation (14.7). Pour le calcul du polynôme évaluateur d'erreurs #(x), le circuit 44 de résolution de l'équation-clé comporte en outre t+l cellules de calcul 112o,...,112t qui sont identiques aux cellules 64U précédemment décrites, à cette seule différence près que le registre 76 de la cellule 1120 est initialisé à O et non à 1. Les registres 74 et 76 des cellules 112u contiennent respectivement les coordonnées en base duale des coefficients oU et u du polynôme évaluateur #(x) et de son polynôme intermédiaire associé (x). Le cadencement du circuit de résolution d'équationclé est par exemple conforme aux chronogrammes de la figure 12, établis dans un cas où m/j=4. Chaque itération k correspond à 2(m/j+1) cycles de l'horloge CLKj, la première phase et la seconde phase durant chacune m/j +1 cycles de l'horloge CLKj. SLa désigne le signal fourni aux multiplieurs 70, 72 des cellules pour le chargement de leurs opérandes B respectifs. Ce signal SL# a une impulsion de niveau 1 durant un cycle de l'horloge CLKj au début de chaque phase de chaque itération. Le signal M2, de période égale à la durée d'une itération, c'est-à-dire à 2(m/j+1) périodes de l'horloge CLKj, présente un front montant une période de CLKj après le début de la première phase de chaque itération et un front descendant une période de CLKj après le début de la seconde phase de chaque itération. Les signaux de validation ENL, EN#, ENT et EN# correspondent aux résultats des opérations logiques ENL=SLs ET M, EN6=SLs ET M2, ENT=SLs ET PU, et EN#-SL# ET M2. Lors de la première phase de chaque itération k (lsks2t), les registres 60U (Osusk-1) contiennent les syndromes Tu(k)=Sk-1-u Le premier cycle d'horloge CLKj de la première phase de chaque itération k est consacré au chargement des opérandes zsu(k-l) en base duale dans les multiplieurs 70 des cellules 64U (SL#=1), et à la mémorisation des valeurs de Lki et SYk~1 dans les registres 92 et 100 (ENL=1) comme indiqué sur la ligne "Reg.92,100" de la figure 12. Le compteur 90 est ensuite incrémenté par le front montant de M2 pour contenir l'index k de l'itération. Lors des m/j derniers cycles de la première phase de l'itération k, la somme des produits #u(k-1)Sk-u-1 délivrés par les multiplieurs 70 des cellules 64u est chargée dans le registre 86 (ENA=1), l'écart Ak en base duale étant ainsi calculé selon la relation (14.1) (étant noté que ou(k-l)=0 pour u#k). Le premier cycle de la seconde phase de l'itération k est consacré au chargement des opérandes en base duale #u(k-1), #u-1(k-1), #u(k-1) et u(k-1) dans les multiplieurs des cellules 64U et 112U (SL#=1) et à la mémorisation de #k dans la bascule 100 (EN6=1) comme indiqué sur la ligne "F/F 100" de la figure 12. Les paramètres yk- et #k restent dans leurs registres respectifs 102, 86 pendant la seconde phase de l'itération k. Lors des m/j derniers cycles de la seconde phase de l'itération k, les registres 74 et 76 des cellules 64u, 112u sont chargés avec les bits délivrés par les additionneurs 78 et les multiplexeurs 80 (ENT=1) pour mettre à jour les polynômes o, #, o > et u selon les relations (14.3) à (14.6). En même temps, m/j cycles de décalage sont effectués dans les registres 60U (ENT=1) pour charger les syndromes Tu(k+1)=Sk-u utiles à l'itération suivante. Les coefficients #u=#u(2t) et #u=#u(2t) des polynômes localisateur et évaluateur sont délivrés (exprimés en base duale) sur les sorties 9 des cellules 64U et 112u lors des m/j derniers cycles de l'itération 2t. Ces coefficients sont complètement disponibles à un instant désigné par 02 sur la figure 12, tel que 02- Oi correspond à 4t L'architecture du circuit 44 de résolution de l'équation-clé présente une grande régularité du fait de l'utilisation de cellules standardisées 64u, 112U. Ceci constitue un avantage important dans le cadre d'une implémentation VLSI. Le fait que les multiplieurs 70 des cellules 64U servent à la fois au calcul des écarts de prédiction (première phase) et à la mise à jour des coefficients (seconde phase) grâce aux multiplexeurs 66U, permet de réduire le nombre de circuits multiplieurs requis sans diminuer la rapidité du circuit. Le circuit reçoit les syndromes par groupes de j bits depuis le module 42 et délivre également les coefficients au, )u par groupes de j bits, ce qui convient bien à l'organisation en pipe-line du décodeur. Cette architecture du circuit de résolution d'équation-clé s'adapte aisément aux diverses variantes de l'algorithme de Berlekamp-Massey, et en particulier à la version avantageuse de Reed et al comme décrit ci-dessus. Les figures 13 et 14 illustrent l'architecture adaptée au cas de la version traditionnelle de 1 'algorithme de Berlekamp-Massey représentée par les formules (7.1) à (7.7). Les cellules 164U selon la figure 13 peuvent remplacer les cellules 64U (et 112U) sur la figure 9, tandis que la logique 182 de la figure 14 peut remplacer la logique 82. La logique 182 a une structure en grande partie identique à la logique 82 montrée sur la figure 11, de sorte que les mêmes références numériques ont été utilisées pour désigner des composants identiques. Le paramètre zk-1 est remplacé par l'inverse Ak1 de l'écart de prédiction, produit par un circuit d'inversion 103. Ce circuit 103 est par exemple constitué par un tableau de mémoire ROM de 2m emplacements de m bits. L'adressage dans ce tableau s'effectue par exemple selon une adresse de m bits correspondant aux m bits présents dans le registre 86 et représentant les coordonnées en base duale de hk. A une adresse donnée, le tableau contient l'inverse exprimé en base standard de l'élément du corps de Galois représenté en base duale par les m bits de cette adresse. La cellule 164U représentée sur la figure 13 est également très semblable à la cellule 64U décrite en référence à la figure 10. Les références numériques 70', 72', 74', 76', 78' et 80' ont été employées sur la figure 13 pour désigner des éléments identiques à 70, 72, 74, 76, 78 et 80 sur la figure 10. La cellule 164U diffère de la cellule 64U en ce que - la sortie du multiplieur 70' est reliée à l'entrée (6k=1) du multiplexeur 80' et non à l'entrée de l'additionneur 78' ; et - la sortie parallèle sur j bits du registre 74' est reliée à l'entrée de l'additionneur 78' et non à l'entrée du multiplexeur 80'. Dans le cas des figures 9, 13 et 14, le cadencement du circuit de résolution d'équation-clé est très semblable à celui des figures 9, 10 et 11. Il peut notamment être conforme aux chronogrammes de la figure 12. On note qu'il est possible de se dispenser de certains composants des cellules de calcul de #0, ot o > o et t. C'est le cas des multiplieurs 72 (ou 72') des cellules 640 et 1120 (ou 1640) puisque ceux-ci ont toujours une valeur nulle pour leur opérande B. D'autre part, les cellules 640 et 1120 peuvent partager leur multiplieur 70 et leur registre 74 puisque, conformément à l'algorithme, #0(k)=#0 (k) pour k=0,1,...,2t. Dans un cas où l'équation-clé est résolue avec k=1 (comme dans l'exemple des figures 13 et 14), on peut même se dispenser du multiplieur 70' et du registre 74' de la cellule 1640 puisque a0 - (k)=1 pour k=0,1,...,2t. Le registre 76 (ou 76') et le multiplexeur 80 (ou 80') des cellules 64t et 112t (ou 164t) ne sont également pas nécessaires. Revenant à la figure 6, le module de calcul de correction 46 comprend deux circuits 120, 122 calculant successivement les valeurs de fonctions pour les éléments t-i du corps de Galois (i=N-l,N-2,...,1,0). Le circuit 120 effectue une recherche de Chien pour obtenir les valeurs des polynômes #(x) et x#'(x), tandis que le circuit 122 effectue également une recherche de Chien pour obtenir les valeurs de la fonction x11oe(x). L'algorithme de Forney est mis en oeuvre par le module 46 pour calculer les corrections ei. Un circuit d'inversion 124 reçoit les coordonnées en base duale des quantités 'v'a' Wib'i) et délivre les inverses de ces quantités exprimés en base standard. Le circuit 124 consiste par exemple en un tableau de mémoire ROM semblable au tableau 103 précédemment décrit en référence à la figure 14. Les m bits de sortie du circuit 124 constituent l'opérande A exprimé en base standard d'un circuit multiplieur 126. L'opérande B en base duale chargé dans le multiplieur 126 est la quantité #-i(I-l)#(#-i) délivrée par le circuit 122, retardée dans un registre 128 pour tenir compte du temps de réponse du circuit d'inversion 124. Un circuit de conversion 130 reçoit les coordonnées en base duale délivrées par le multiplieur 126 par groupes successifs de j bits et les convertit en base standard. Les m coordonnées en base standard délivrées par le circuit de conversion 130, qui représentent la correction ei (relation (11)) lorsque o(v-i)=0, sont adressées à une entrée d'un multiplexeur 132. L'autre entrée du multiplexeur 132 reçoit m bits de niveau 0. Un circuit OU 134 reçoit les m coordonnées binaires en base duale des quantités o(v-1) retardées dans un registre 136 pour tenir compte du retard introduit par le circuit d'inversion 124, le multiplieur 126 et le circuit de conversion 130. Le bit de sortie du circuit OU 134 (qui vaut 0 quand o(v-i)=0) commande le multiplexeur 132 de façon que la correction ei soit fournie à l'additionneur 48 par le circuit de conversion 130 si o(v-l)=O (sinon ei=0). Le décodeur de la figure 6 a une organisation en pipe-line : pendant que l'équation-clé est résolue par le circuit 44 pour un bloc, le module 42 calcule les syndromes pour le bloc suivant, et le module 46 procède aux corrections pour le bloc précédent. Le retard global introduit par la mémoire FIFO 50 est la somme du temps 0140 mis par le module 42 pour délivrer les syndromes, du temps #2-#1 mis par le circuit 44 pour délivrer les coefficients des polynômes a(x) et (x) et du temps 03- 2 mis par le module 46 pour produire une valeur de correction. Pour réduire ce retard global qui donne le temps de réponse du décodeur et pour éviter la nécessité de mémoires tampon dans le module 46, il importe que les circuits de recherche de Chien 120, 122 produisent les valeurs des polynômes avec un débit élevé et un temps de réponse minimal. L'utilisation dans ces circuits 120, 122, ainsi que pour le multiplieur 130, de multiplieurs en base duale avec j#2 procure à cet égard un avantage important. La figure 15 montre la constitution du circuit de recherche de Chien 120. Le circuit 120 comprend t+1 unités de calcul 1380, 1381,...,138t, L'unité de calcul 138U de rang u est agencée pour délivrer les valeurs successives de #u(n)=#u #u(1+N-n) pour n=O,1,...,N-l (relation (9)). Chaque unité 138U avec ul comporte un multiplieur en base duale 140U, un registre de m bits 142U et deux multiplexeurs 144u, 146U. Les registres 142U avec u#l sont du type décrit en référence à la figure 5, avec chacun une entrée parallèle sur j bits, et une sortie parallèle sur m bits de type 2 fournissant l'opérande B en base duale au multiplieur 140U. Le multiplexeur 146U a une entrée sur j bits reliée à la sortie 9 de la cellule 64U du circuit 44 de résolution de l'équation-clé. Cette entrée du multiplexeur 146u est activée par un signal M3 qui correspond au signal M1 retardé du temps 02-01 (figure 12), de façon que le registre 142U reçoive en m/j groupes successifs de j bits les coordonnées en base duale du coefficient ou lorsque celles-ci sont délivrées sur la sortie 9 de la cellule 64u L'autre entrée sur j bits du multiplexeur 146u, activée lorsque M3=0, est reliée aux j sorties WO,...,Wj~1 du multiplieur 140U. Le circuit 120 fonctionne en N étapes successives n=0,1,...,N-1 à partir de l'instant 02 de disponibilité des coefficients ou, chaque étape durant une période de l'horloge symbole CLKm. Le multiplexeur 144u est commandé par un signal M4 (figure 17) pour fournir l'opérande A exprimé en base standard au multiplieur 140U, de façon que cet opérande A vaille 'vu Lors de chaque étape n (OsnsN-1), le multiplieur 140U (1#u#t) délivre les coordonnées en base duale de la quantité #u(n) définie par la formule (9), et ces coordonnées sont chargées dans le registre 142U. Ces coordonnées seront chargées en tant qu'opérande B dans le multiplieur 140U au début de la prochaine étape n+1. Des moyens additionneurs sont prévus pour sommer les quantités #u(n) délivrées à chaque étape n par le registre 1420 et par les multiplieurs 140U. Dans l'exemple du circuit 120 représenté sur la figure 15, ces moyens additionneurs comprennent trois additionneurs parallèles sur j bits 152, 154, 156. L'additionneur 152 fait la somme des bits de rangs correspondants des quantités #u(n) délivrées par les multiplieurs 140u avec u impair. La sortie sur j bits de l'additionneur 152 fournit ainsi, par groupes successifs de j bits, les coordonnées en base duale des valeurs du polynôme xa' (x) pour x=#-i ='vi-N+n. L'additionneur 154 fait la somme des bits de rangs correspondants des quantités Cu(n) délivrées par le registre 1420 et les multiplieurs 140U avec u pair, et ses j bits de sortie sont ajoutés aux j bits de sortie de l'additionneur 152 par l'additionneur 156. La sortie sur j bits de l'additionneur 156 fournit ainsi, par groupes successifs de j bits, les coordonnées en base duale des valeurs du polynôme o(x) pour x=#-i=#1-N+n. Le temps mis pour fournir toutes les coordonnées de la première valeur des polynômes a(x) et x#'(x) correspond à un seul cycle de l'horloge symbole CLKm (figure 17). Le circuit de la figure 15 est généralisable au calcul des valeurs aux points #1-N,#2-N,...,#-1,#0 de toute fonction de la forme xK.Q(x) où K est un entier quelconque (positif ou négatif) et Q(x) un polynôme de degré au plus égal à t à coefficients Q0,Q1,...,Qt dans le corps de Galois CG(2m). Les coefficients Qu du polynôme Q(x) sont adressés à l'entrée du multiplexeur 146U lorsque M3=1 pour initialiser le calcul. L'élément ay(u+K) (1-N) est fourni à l'entrée M4=1 du multiplexeur 144u, et l'élément vu+K est fourni à l'entrée M4=0 du multiplexeur 144u, le multiplieur 140U et le multiplexeur 144u n'étant donc pas nécessaires si u=-K. Dans l'exemple de la figure 15, qui permet en outre le calcul des valeurs de xK+1Q'(x), on a K=O et Q(x)=#(x). La figure 16 montre le circuit de recherche de Chien 122 utilisé pour calculer les valeurs de la fonction xI-1#(x) pour x=#1-N,...,#-1,#0. Ce circuit 122 correspond au cas K=I-1, Q(x)=&commat;(x). Comme le calcul de dérivée n'est pas utile, les moyens additionneurs comprennent seulement un additionneur parallèle sur j bits 150 faisant la somme des coordonnées en base duale des quantités #u(n) délivrées par les unités de calcul 138U (relation (12)). Dans les exemples des figures 15 et 16, les opérandes en base standard des multiplieurs 140U sont variables si N Une façon d'obtenir ouvu(l-N) à l'entrée du multiplexeur 246u est de prévoir une troisième entrée pour le multiplexeur 66U, recevant les m coordonnées en base standard de #u(1-N), et activée lorsque M3'=1, Le multiplieur 70 de la cellule 64u fournit alors #u#u(1-N) en m/j groupes successifs de j coordonnées en base duale lorsque M3'=1 comme requis à l'entrée du multiplexeur 246U. De même, pour fournir #u#(I-1+u) Dans les cas où #=a, l'utilisation de multiplieurs en base duale avec j#2 n'implique qu'une très faible complexité supplémentaire dans le circuit de recherche de Chien 120 réalisé selon la figure 18. Si en outre I est un petit entier (I=O par exemple), le circuit de recherche de Chien 122 est également très simplifié. REVENDICATIONS 1. Circuit multiplieur pour délivrer le produit de premier et second opérandes sur un corps de Galois de cardinal 2m, m étant un entier plus grand que 1, le premier opérande A étant représenté, dans une base standard (1,a,...,am-î} du corps de Galois, par m coordonnées binaires a0,a1,...,am-1 telles que A=a0+a1&alpha;+...+am-1&alpha;m-1, &alpha; désignant une racine d'un polynôme générateur f(x)=xm+fm-1xm-1+...+f1x+f0 du corps de Galois dont les coefficients f0,f1,...,fm-1 sont des bits de valeurs prédéterminées, le second opérande B étant représenté, dans une base {ss0,ss1,...,ssm-1} du corps de Galois qui est une base duale de ladite base standard, par m coordonnées binaires b'0,b'1,...,b'm-1 telles que B=b'0ss0+b'1ss1+...+b'm-1ssm-1' et le produit C=AB des deux opérandes étant représenté, dans ladite base duale, par m coordonnées binaires c'0,c'1,...,c'm-1 telles que C=c'0ss0+c'1ss1+...+c'm-1ssm-1, caractérisé en ce qu'il comprend j registres à décalage R0,R1,...,Rj-1, j étant un entier plus grand que 1 diviseur de m, chaque registre à décalage Rq (Osqsj-1) ayant m/j éléments de mémorisation M0, q'M1,q,...,M(m/j)-1,q agencés de façon que l'entrée de chaque élément de mémorisation M,q pour Osp Mp+i,q' Zp,q désignant le bit présent en sortie de l'élément de mémorisation M, q pour Osps(m/j)-1, et zm/j,q désignant le bit présent à l'entrée de l'élément de mémorisation M(m/j)i,q des premiers moyens de logique combinatoire (32) pour adresser, à l'entrée de l'élément de mémorisation de chaque registre à décalage Rr (0#r#j-1), un bit respectif x'r obtenu par l'addition binaire où xp,q,r=fpj+q-r.zp,q si 0#r#q, et xp,q,r=f(p+1)j+q-r#zp+1,q si q+1#r#j-1 ; et des seconds moyens de logique combinatoire (36) pour délivrer, sur chaque sortie Wr (Osrsj-1) parmi j sorties W0,W1,...,Wj-1 du circuit multiplieur, un bit respectif y'r obtenu par l'addition binaire où yp,q,r=apj+q-r.zp,q si 0#r#q, et yp,q,r=a(p+1)j+q-r#zp+1,q si q+1#r#j-1, de sorte qu'en chargeant lors d'un cycle initial k=O les coordonnées binaires en base duale du second opérande B dans les registres à décalage selon zp q=b'pj+q pour Osps(m/j)-1 et Osqsj-1, et en effectuant (m/j)-1 cycles de décalage k=1,...,(m/j)-1 dans lesdits registres, on obtient respectivement les coordonnées binaires en base duale c'kj,c'kj+1,...,c'kj+(j-1) du produit C sur les sorties W0,W1,...,Wj-1 lors du cycle k (Osks(m/j)-1). 2. Circuit multiplieur selon la revendication 1, caractérisé en ce que les premiers moyens de logique combinatoire (32) consistent en des portes OU exclusif (320325) formant j additionneurs binaires, l'additionneur binaire de rang r (Osrsj-1) ayant sa sortie reliée à l'entrée de l'élément de mémorisation M(m/j)-1,r et ses entrées respectivement reliées aux sorties des éléments de mémorisation Mp,q avec Osps(m/j)-1, r#q#j-1 et fpj+q-r=1 et aux entrées des éléments de mémorisation Mp,q avec Osps(m/j)-1, Osqsr-1 et f(p+1)j+q-r=1. 3. Circuit multiplieur selon la revendication 1 ou 2, caractérisé en ce qu'il comporte un second registre de m bits (38) dans lequel les coordonnées en base standard a0,a1,...,am-1 du premier opérande A sont initialement chargées, et en ce que les seconds moyens de logique combinatoire (36) comprennent mj portes ET (34p,q,r) pour calculer respectivement les bits Yp,q,r avec Osps(m/j)-1 et Osq,rsj-1, et des portes OU exclusif (360-373) agencées pour délivrer chaque bit y'r(0#r#j-1) en additionnant respectivement les bits Yp q r pour Osps(m/j)-1 et Osqsj-l. 4. Circuit multiplieur selon la revendication 1 ou 2, caractérisé en ce que le premier opérande A ayant des coordonnées constantes prédéterminées a0,a1,...,am-1 en base standard, les seconds moyens de logique combinatoire (36) consistent en des portes OU exclusif (374,375) formant j additionneurs binaires, l'additionneur binaire de rang r (Osrsj-1) ayant sa sortie constituant la sortie W r du circuit multiplieur et ses entrées respectivement reliées aux sorties des éléments de mémorisation Mp,q avec Osps(m/j)-1, rsqsj-1 et apj+q-r=1, et aux entrées des éléments de mémorisation Mp,q avec Osps(m/j)-1, Osqsr-l et a(p+i)j+qr=l. 5. Circuit de calcul de syndrome fonctionnant en N étapes successives n=0,1,...,N-1 pendant lesquelles sont respectivement reçus des symboles rN-1,rN-2,...,r0 d'un bloc de signal reçu, chaque symbole étant un élément d'un corps de Galois de cardinal 2m, caractérisé en ce qu'il comprend - un circuit multiplieur (52) selon la revendication 1 ayant comme premier opérande un élément constant (#I+i) du corps de Galois pour lequel un syndrome d'erreur (Si) est à calculer - un additionneur parallèle sur j bits (54) ayant une première entrée sur j bits recevant lors de chaque étape n#l les coordonnées en base duale du symbole rN-1-n sous forme de m/j groupes successifs de j coordonnées binaires de poids croissants, et une seconde entrée sur j bits recevant les j bits présents sur les j sorties W0,...,Wj-1 du circuit multiplieur (52) ; et - des moyens (56, 58) pour fournir un second opérande au circuit multiplieur pour chacune des N étapes successives, ledit second opérande étant égal au premier symbole rN1 du bloc pour l'étape 1, et ledit second opérande ayant pour chaque étape n+122 des coordonnées binaires en base duale correspondant aux m/j groupes de j bits respectivement délivrés par l'additionneur parallèle (54) lors de la réception des m/j groupes de j coordonnées binaires du symbole rN-1-n au cours de l'étape précédente n, les coordonnées en base duale du syndrome étant disponibles en sortie de l'additionneur parallèle (54) au cours de la dernière étape N-i. 6. Circuit de recherche de Chien (120;122) pour calculer en N étapes successives n=0,1,...,N-1 les valeurs, pour N éléments successifs d'un corps de Galois de cardinal 2m, d'une fonction de la forme xK.Q(x) où K est un entier et Q un polynôme de degré au plus égal à t à coefficients dans ledit corps de Galois, lesdits N éléments successifs étant des puissances consécutives #1-N, #2-N,...,#0 d'un élément primitif # du corps de Galois, caractérisé en ce qu'il comprend t+1 unités de calcul {1380, 1381,..., 138t;238u) de rangs respectifs O,l,...,t, chaque unité de calcul (138u;238u) de rang u (oust) étant agencée pour délivrer, au cours d'une étape n, m/j groupes successifs de j bits représentant les coordonnées en base duale de l'élément Qu.v(u+K) (1-N+n) du corps de Galois, Qu désignant le coefficient de degré u dudit polynôme ; et des moyens additionneurs parallèles sur j bits (152, 154, 156 ; 150) recevant les bits délivrés par chacune desdites unités de calcul (138u;238u), de manière à fournir lors de chaque étape n les coordonnées en base duale de la valeur prise par ladite fonction pour l'élément #1-N+n, et en ce que chaque unité de calcul (138U;238u) de rang u*-K comporte un circuit multiplieur (140U;240u) selon la revendication 1 ayant comme premier opérande l'élément MrU+K du corps de Galois pour au moins chaque étape n21, et comme second opérande le produit entre le coefficient de degré u dudit polynôme et l'élément (u+K) (1-N) du corps de Galois pour l'étape n=1, et, pour chaque étape n22, le produit délivré lors de l'étape n-1 par ledit circuit multiplieur (140U;240u), le produit délivré par chaque circuit multiplieur au cours d'une étape n#1 étant adressé à une entrée parallèle sur j bits respective des moyens additionneurs parallèles. 7. Circuit de recherche de Chien (120) selon la revendication 6, caractérisé en ce que les moyens additionneurs parallèles comprennent un additionneur parallèle (152) sur j bits recevant les bits délivrés par les unités de calcul de rang u pour lsust et u impair de manière à fournir lors de chaque étape n les coordonnées en base duale de la valeur prise pour l'élément 1-N+n par la fonction xK+1Q'(x), Q' désignant la dérivée du polynôme Q.