SE466822B - DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY - Google Patents
DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODYInfo
- Publication number
- SE466822B SE466822B SE9002124A SE9002124A SE466822B SE 466822 B SE466822 B SE 466822B SE 9002124 A SE9002124 A SE 9002124A SE 9002124 A SE9002124 A SE 9002124A SE 466822 B SE466822 B SE 466822B
- Authority
- SE
- Sweden
- Prior art keywords
- cell
- polynomial
- elements
- logic circuits
- logic
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Description
15 20 25 30 466 822 t.ex. BCH- och RS-koder. Genom successiva multiplikationer kan man också beräkna inversen till ett element. Inversen till ett element krävs t.ex. vid avkodníng av BCH- och RS-koder. 15 20 25 30 466 822 e.g. BCH and RS codes. Through successive multiplications, one can also calculate the inverse of an element. The inverse of an element is required e.g. when decoding BCH and RS codes.
Ett tidigare förslag till UGM resulterade i en multiplikator med för låg prestanda för praktiska ändamål. Den låga prestandan i denna tidigare UGM orsakas av en värsta signalväg på ~ Gm logiska grindnivåer vid användning över GF(2'”). En detaljerad beskrivning av denna tidigare UGM återfinnes i B.A. Laws, C.K.An earlier proposal to UGM resulted in a multiplier with too low performance for practical purposes. The low performance in this previous UGM is caused by a worst signal path at ~ Gm logic gate levels when used above GF (2 '”). A detailed description of this former UGM is found in B.A. Laws, C.K.
Rushforth, "A Cellular-Array Multiplier for GF(2m)", IEEE Trans. Comput., Vol. C- 20, pp. 1573-1578, December 1971.Rushforth, "A Cellular-Array Multiplier for GF (2m)", IEEE Trans. Comput., Vol. C- 20, pp. 1573-1578, December 1971.
Huvudändamålet med föreliggande uppfinning är att åstadkomma en ny apparat för multiplikation av element i GF(p'” ), speciellt för p = 2. Den nya apparaten kräver ett lägre antal komponenter samt har bättre prestanda än tidigare UGM.The main object of the present invention is to provide a new apparatus for multiplying elements in GF (p '”), especially for p = 2. The new apparatus requires a lower number of components and has better performance than previous UGM.
En egenskap hos uppfinningen är att den kan programmeras till att operera över olika galoiskroppar GF(pm ), 2 S m S M där M är ett godtyckligt heltal större än ett.A feature of the invention is that it can be programmed to operate over different galley bodies GF (pm), 2 S m S M where M is an arbitrary integer greater than one.
Uppfinningen samt ett för uppfinningen föredraget utförande skall i det följande beskrivas med hänvisning till bifogade ritningar.The invention and a preferred embodiment of the invention will be described in the following with reference to the accompanying drawings.
Kgflfattad beskrivning av ritningarna FIG. 1 är ett blckschema över ett för uppfinningen föredraget utförande.Description of the drawings FIG. 1 is a block diagram of a preferred embodiment of the invention.
FIG. 2 är ett mer detaljerat blockschema av ett delsystem som används för beräkning av a-A över olika galoiskroppar med karaktäristik 2 (dvs p = 2).FIG. 2 is a more detailed block diagram of a subsystem used to calculate a-A across different galaxy bodies with characteristic 2 (ie p = 2).
FIG. 3 är ett mer detaljerat blockschema av ett delsystem som används för beräkning av skalärprodukten av två binära vektorer.FIG. 3 is a more detailed block diagram of a subsystem used to calculate the scalar product of two binary vectors.
FIG. 4 visar ett för uppfinningen föredraget utförande för galoiskropparna GF(2m), 2 S m S 4.FIG. 4 shows a preferred embodiment of the galley bodies GF (2m), 2 S m S 4 for the invention.
DET E AD BE IVN AV F" ED ET UTF-'RANDE En kort sammanfattning av vissa grundläggande fakta ur galoisteorin är nödvändig för en meningsfull beskrivning av uppfinningen. En galoiskropp är en algebraisk struktur som består av ett ändligt antal, pm, element där p är ett primtal och m ett positivt heltal. Bland dessa element återfinnes alltid elementen O och 1. På elementen i kroppen definieras operationerna addition, subtraktion, multiplikation och division. Addition, subtraktion and multiplikation är associativa och kommutativa och multiplikation är distributiv med avseende på addition och subtraktion. Varje operation på ett eller flera element resulterar alltid i ett element ur kroppen. 10 15 2.0 25 30 3 466 s22 Föreliggande uppfinning avser främst, men är ej begränsad till, galoiskroppar med karaktäristik 2 vilka betecknas GF(2"'). Den minsta galoiskroppen (m=1) består endast av elementen O och 1 och kallas den binära talkroppen, GF(2). Addition och multiplikation i GF(2) utföres modulo 2, dvs 0+0=1+1=0, 0+1=1+0=1, 0-0=O-1=1-0=0, 1-1=1 och -1=1. Addition är detsamma som EXKLUSIV ELLER (XOR) medan multiplikation är detsamma som LOGISK OCH (AND).THE PRESENTATION OF THE EXECUTIVE SUMMARY A brief summary of some basic facts from the galo-theory is necessary for a meaningful description of the invention. A galoic body is an algebraic structure consisting of a finite number, pm, of elements where p is a prime number and m is a positive integer.These elements always include the elements 0 and 1. On the elements in the body the operations addition, subtraction, multiplication and division are added.Addition, subtraction and multiplication are associative and commutative and multiplication is distributive with respect to addition and subtraction.Each operation on one or fl your elements always results in an element out of the body.10 15 2.0 25 30 3 466 s22 The present invention mainly relates to, but is not limited to, galley bodies with characteristic 2 which are designated GF (2 "'). The smallest galley body (m = 1) consists only of the elements 0 and 1 and is called the binary number body, GF (2). Addition and multiplication in GF (2) are performed modulo 2, ie 0 + 0 = 1 + 1 = 0, 0 + 1 = 1 + 0 = 1, 0-0 = O-1 = 1-0 = 0, 1-1 = 1 and -1 = 1. Addition is the same as EXCLUSIVE OR (XOR) while multiplication is the same as LOGICAL AND (AND).
I GF(2"'), m > 1, representeras varje element av ett polynom av gradtal S m-l med binära koefficienter. Varje element kan ses som resultatet från en reduktion modulo ett irreducibelt polynom av gradtal m over GF(2), och alla koefficientoperationer utföres modulo 2. Alternativt, kan man se kroppen GF(2m) som ett linjärt vektorrum över GF(2) vars dimension är m.In GF (2 "'), m> 1, each element is represented by a polynomial of degrees S ml with binary coefficients. Each element can be seen as the result of a reduction modulo an irreducible polynomial of degrees m over GF (2), and all coef fi cient operations are performed modulo 2. Alternatively, one can see the body GF (2m) as a linear vector space over GF (2) whose dimension is m.
För varje heltal m existerar endast en galoiskropp med 2m element. Generellt kan dock elementen i en galoiskropp bli representerade på olika sätt beroende på vilket specifikt polynom som valts för att generera kroppen.For each integer m, there is only one gala body with 2m elements. In general, however, the elements of a galley body can be represented in different ways depending on which specific polynomial is chosen to generate the body.
Att representera ett element A som ett polynom ao + alx + + am_2xm'2 + amox m4 är detsamma som att välja elementen {1, a, ..., amâ, am'1} till bas av GF(2'"). Varje element kan därför skrivas som en linjär kombination av baselementen. Elementen ai, i = 0, 1,..., m-l representeras i denna bas av polynomen xi, i=0, 1, ..., m-l och, följaktligen, är uttrycket ao + alx + + am_2x m2 + a mox ”Hekvivalent med ao + ala + + am_2a'"'2+ amoawlßvaimämnda bas kallas polynomiell bas.Representing an element A as a polynomial ao + alx + + am_2xm'2 + amox m4 is the same as choosing the elements {1, a, ..., amâ, am'1} to the base of GF (2 '"). Each element can therefore be written as a linear combination of the base elements, the elements ai, i = 0, 1, ..., ml are represented in this base by the polynomial xi, i = 0, 1, ..., ml and, consequently, are the expression ao + alx + + am_2x m2 + a mox ”Equivalent to ao + ala + + am_2a '"' 2+ amoawlßvaimänne base is called polynomial base.
I det följand betecknar P(x) det irreducibla polynom som genererar kroppen och som har elementet a som en av sina rötter, dvs P(a) = 0. A(x) är polynomet associerat med elementet A, B(x) polynomet associerat med elementet B och C(x) polynomet associerat med produkten av A och B. Produkten kan beräknas på följande sätt C(x) =A(x)-B(x) mod P(x) = = [boA(x) + blxAa) + + bmpumhaoo] mod P(x) = = [boA(x) mod P(x)] + [b1xA(x) mod P(x)] +...+ [bm_1xm'1A(x) mod P(x)]. (1) Vi definierar nu polynomen Z¿,_(x): m-l Z¿,_(x) = zziljxj =xiA(x) mod P(x) i = 0, 1, ,m-1 (2) j=0 där zl-IJ- e GF(2). Då är C(x) = boZo,_(x) + b1Z1,_(x) + + bm_1Zm_1,_(x). (3) 10 15 20 25 4 6 6 8 2 2 Och i matrisnotation co 20,0 21,0 zm-ro bo 01 20,1 21,1 Zm-1,1 bl C = _ _-_ _ _ = z. B (4) Cm-i zo,m-1 Z1,m-1 zm-rm-i bm-i där Z är en den binära m x m matrisen i ekvation (4). Vi ser att produkten C kan erhållas genom att beräkna de m skalärprodukterna Zïj-B, j = 0,1..., m-l, där Zw- betecknar den j:te raden i Z. Först skall dock Z genereras. Vi genererar de m columnerna i Z genom kaskadkoppling av m-l identiska celler där varje cell implementerar operationen xA(x) mod P(x) (den första kolumnen Zor är element A självt, se ekvation (2)). Vi kallar nämnda cell a-cellen och den kaskadkopplade strukturen a-matrisen.In the following, P (x) denotes the irreducible polynomial which generates the body and which has the element a as one of its roots, i.e. P (a) = 0. A (x) is the polynomial associated with the element A, B (x) the polynomial associated with the element B and C (x) the polynomial associated with the product of A and B. The product can be calculated as follows C (x) = A (x) -B (x) mod P (x) = = [boA (x) + blxAa) + + bmpumhaoo] mod P (x) = = [boA (x) mod P (x)] + [b1xA (x) mod P (x)] + ... + [bm_1xm'1A (x) mod P (x)]. (1) Vi de fi nierar nu polynomen Z¿, _ (x): ml Z¿, _ (x) = zziljxj = xiA (x) mod P (x) i = 0, 1,, m-1 (2) j = 0 where zl-IJ- e GF (2). Then C (x) = boZo, _ (x) + b1Z1, _ (x) + + bm_1Zm_1, _ (x). (3) 10 15 20 25 4 6 6 8 2 2 And in matrix notation co 20.0 21.0 zm-ro bo 01 20.1 21.1 Zm-1.1 bl C = _ _-_ _ _ = z B (4) Cm-i zo, m-1 Z1, m-1 zm-rm-i bm-i where Z is a binary mxm matrix in equation (4). We see that the product C can be obtained by calculating the m scalar products Zïj-B, j = 0,1 ..., m-1, where Zw- denotes the jth row in Z. However, Z must first be generated. We generate the m columns in Z by cascading m-1 identical cells where each cell implements the operation xA (x) mod P (x) (the first column Zor is element A itself, see equation (2)). We call said cell the a-cell and the cascade-linked structure the a-matrix.
Polynomet P(x) har formen x" + xm'1pm_1+ + xpl + 1 (första och sista koeñicienten måste nödvändigtvis vara ettor annars kan P(x) ej vara irreducibelt).The polynomial P (x) has the form x "+ xm'1pm_1 + + xpl + 1 (the first and last coefficient must necessarily be ones otherwise P (x) cannot be irreducible).
Nu kan uttrycket xA(x) mod P(x) skrivas som x-A(x)= xmanbl + xm'1am_2+ + xzal + xao = 1 = am_1(xm'1pm_1+ + xpl + 1) + xm' am_2+ + xzal + xa0= m-l = and + 2 x'(am_1p¿ + au) i=1 mod P(x). (5) I ekvation (5) använde vi of” = am'1pm_1+ + apl + 1 (vilket är ekvivalent med xm = xm'1pm_1+ + xpl + 1). Ekvation (5) beskriver funktionen hos en a-cell för fix m: för varje p¿ :ß O, i = 1, 2, ..., m-l, skall en summa am_1 + am beräknas medan koeflicienten för xo ges av A's mest signifikanta koefficient am_1. Vi kallar am_ återkopplingssignalen (FB). 1 Med stöd av ovanstående matematiska grunder kan ett för uppfinningen föredraget utförande beskrivas.Now the expression xA (x) mod P (x) can be written as xA (x) = xmanbl + xm'1am_2 + + xzal + xao = 1 = am_1 (xm'1pm_1 + + xpl + 1) + xm 'am_2 + + xzal + xa0 = ml = and + 2 x '(am_1p¿ + au) i = 1 mod P (x). (5) In equation (5) we used of ”= am'1pm_1 + + apl + 1 (which is equivalent to xm = xm'1pm_1 + + xpl + 1). Equation (5) describes the function of an α-cell for fi x m: for each p¿: ß 0, i = 1, 2, ..., ml, a sum of am_1 + am shall be calculated while the coefficient of xo is given by A's most signi fi kanta koef fi cient am_1. We call the am_ feedback signal (FB). On the basis of the above mathematical principles, a preferred embodiment of the invention can be described.
Fig. 1 visar den generella strukturen hos den nya UGM. Beteckningama är konsistenta med den föregående introduktionen. Enhet 1 är a-matrisen som genererar Z såsom definierad i ekvation (4). Enhet 2 beräknar de m skalärproduktema ej = Zïj-B, j = 0,1, ..., m-l och kallas här IP-nätet. IP-nätet består i sin tur av m identiska celler, där varje cell, här kallad IP-cellen, beräknar en 10 15 20 25 30 5 466 822 skalärprodukt. För korrekt funktion måste alla oanvända koefficienter vara nollställda, i.e. ai = bi= 0, i > m-l.Fig. 1 shows the general structure of the new UGM. The terms are consistent with the previous introduction. Unit 1 is the α-matrix that generates Z as defined in equation (4). Unit 2 calculates the m scalar products ej = Zïj-B, j = 0.1, ..., m-1 and is here called the IP network. The IP network in turn consists of identical cells, where each cell, here called the IP cell, calculates a scalar product. For proper operation, all unused coefficients must be zeroed, i.e. ai = bi = 0, i> m-l.
Fig. 2 visar ett föredraget utförande för a-cellen 11, för beräkning av xA(x) mod P(x) (dvs val). a-cellen kan operera över varje galoiskropp GF(2m), 2 S m s M genom programmering av de binära vektorema P = (pl, p2, på., ..., pM_1) och S = (si, sz, S3, ..., sMi) som visas i Fig. 2.Fig. 2 shows a preferred embodiment of the α-cell 11, for calculating xA (x) mode P (x) (ie selection). the α-cell can operate over each galoid body GF (2m), 2 S ms M by programming the binary vectors P = (p1, p2, on., ..., pM_1) and S = (si, sz, S3,. .., sMi) as shown in Fig. 2.
Antag att vi vill programmera den nya UGM för operation över GF(2'”) där m ligger i det användbara intervallet. Då måste vektom S sättas som följer: Si = :z (6) Vektom S bestämmer återkopplingen FB i Fig. 2. De första m-1 komponenterna i vektorn P ges av de m-1 mittersta koefficientema i det irreducibla polynomet P(x) som genererar kroppen. De återstående koefficientema pm till pM_1 sätts till noll.Suppose we want to program the new UGM for operation over GF (2 '”) where m is in the usable range. Then the vector S must be set as follows: Si =: z (6) The vector S determines the feedback FB in Fig. 2. The first m-1 components in the vector P are given by the m-1 middle coefficients in the irreducible polynomial P (x) which generates the body. The remaining coefficients pm to pM_1 are set to zero.
Vi ser i Fig. 2 att a-cellen har en regelbunden "bit-slice" struktur bestående av m- 1 identiska subceller (enhet 111 i Fig. 2). I varje subcell återfinnes en binär adderare (XOR), en brytare SW samt en multiplexer MX. Brytaren SW i subcell #i kontrolleras av signalen si på följande sätt: SW slutes om si = 1, SW öppnas om si = 0. Multiplexern MX kontrolleras av signalen pi på följande sätt: om pi = 1 väljer MX signalen från den binära adderaren (= am_1 + ai_1), om pi = 0 väljer MX den andra signalen (= ai_1).We see in Fig. 2 that the α-cell has a regular "bit-slice" structure consisting of m-1 identical subcells (unit 111 in Fig. 2). Each subcell contains a binary adder (XOR), a switch SW and a multiplexer MX. The switch SW in subcell #i is controlled by the signal si as follows: SW is closed if si = 1, SW is opened if si = 0. The multiplexer MX is controlled by the signal pi as follows: if pi = 1, the MX selects the signal from the binary adder ( = am_1 + ai_1), if pi = 0, MX selects the second signal (= ai_1).
Fig. 3 visar ett föredraget utförande för IP-cellen 21 baserad på två-ingångars grindar. M OCH-grindar samt M -1 XOR-grindar erfodras; Multiplexern MX kopplad till utgången av IP-cellen behövs för att nollställa koefficienten ci för i > m -1 eftersom dessa ej utnyttjas. I detta fall ges signalen vi av den izte komponent i en vektor V= (vo, vi, ..., vM_1) som sätts som följer 0 iSm-l ”i ={1 i> m-1. (7) Multiplexern MX nollställer då utsignalen ci om vi = 1. Om vi = 0 väljer MX utsignalen från XOR-trädet.Fig. 3 shows a preferred embodiment of the IP cell 21 based on two-input gates. M AND gates and M -1 XOR gates are required; The multiplexer MX connected to the output of the IP cell is needed to reset the coefficient ci for i> m -1 as these are not used. In this case, the signal vi is given by the izte component of a vector V = (vo, vi, ..., vM_1) which is set as follows 0 iSm-1 ”i = {1 i> m-1. (7) The multiplexer MX then resets the output signal ci if vi = 1. If vi = 0, MX selects the output signal from the XOR tree.
Fig. 4 visar den kompletta UGM för fallet M = 4 tillsammans med en tabell över S och V för 2 .<. m S 4. Observera att m 2 2 innebär att de två första komponenterna so och sl iS alltid är noll och behöver ej genereras (multiplexern i de IP-cellerna är överflödiga). Kroppsgeneratorn P(x) anges inte men skulle kurma väljas som följer: P(x) =x4+x+1 form =4,P(x) =x3+x+1 form =3andP(x)=x2+x+1 form =2.Fig. 4 shows the complete UGM for the case M = 4 together with a table of S and V for 2. <. m S 4. Note that m 2 2 means that the first two components so and sl iS are always zero and do not need to be generated (the multiplexer in those IP cells is superfluous). The body generator P (x) is not specified but would be chosen as follows: P (x) = x4 + x + 1 shape = 4, P (x) = x3 + x + 1 shape = 3andP (x) = x2 + x + 1 form = 2.
Utvidgningen till ett nytt värde på M är uppenbar. 10 15 20 25 466 822' 6 Vid användning av den nya UGM for m < M utnyttjas endast en del av a- matrisen. Detta illustreras enkelt genom ekvation (4). Först definierar vi vektorerna CL, CU, OCh CL = (00, cmpT CU = (cm, cMpT BL = (bo bmf BU = (bm, bMpT där T indikerar transponering. Nu kan vi skriva o.. zM_1,o w _ Zl B .. z _ _ b _ L M Lm 1 m 1 = Zs (8) -- ZM-rm m 22 BU ZoM-i zm-LM-i zmM-i zM-rM-i bM-i där Z1,Z2 och Z3 är delmatriser i Z som definieras av indelningen illustrerad i ekvation (8). Den för oss intressanta produkten är CL = Zl -B L. För korrekt beräkning av CL måste den resterande produkten Z3-BU alltid vara noll, vilket är fallet då BU = 0 enligt tidigare krav. Slutligen måste termen Zz-BL, som normalt är skild ifrån noll, hindras att uppstå i CU (den oanvända delen av produktvektom som vi önskar vara noll). Nollställningen av C U kan åstadkommas genom multiplexern MX och ovannämnda signalen vi såsom visas i Fig. 3.The extension to a new value of M is obvious. 10 15 20 25 466 822 '6 When using the new UGM for m <M, only a part of the a-matrix is used. This is easily illustrated by equation (4). First we fi deny the vectors CL, CU, OCh CL = (00, cmpT CU = (cm, cMpT BL = (bo bmf BU = (bm, bMpT where T indicates transposition. Now we can write o .. zM_1, ow _ Zl B .. z _ _ b _ LM Lm 1 m 1 = Zs (8) - ZM-rm m 22 BU ZoM-i zm-LM-i zmM-i zM-rM-i bM-i where Z1, Z2 and Z3 are sub-matrices in Z as they are av niered by the division illustrated in equation (8.) The product of interest to us is CL = Z1 -B L. For the correct calculation of CL, the remaining product Z3-BU must always be zero, which is the case when BU = Finally, the term Zz-BL, which is normally non-zero, must be prevented from occurring in CU (the unused part of the product vector which we wish to be zero) .The zeroing of CU can be achieved by the multiplexer MX and the above-mentioned signal we as shown in Fig. 3.
Kgmplgxitgt a-matrisen består av m-l a-celler där varje cell innehåller m-l XOR-grindar, m-l brytare samt m-l multiplexrar. Eftersom en brytare/multiplexer är avsevärt enklare än en XOR-grind, låter vi en brytare och en multiplexer tillsammans motsvara komplexiteten för en XOR-grind. Då kan vi uppskatta komplexiteten för a- matrisen till 2(m-1)2 gates. IP-nätet består av m IP-celler där varje cell innehåller 2m-1 grindar, dvs totalt 2m2-m grindar. Slutligen krävs 3m register för lagring av kontrollvektorema P, S och V (dessa register laddas från någon extern enhet). Den totala komplexiteten NUGM blir NUGM = 2(m-1)2 + 2m2-m + 3m.The Kgmplgxitgt α matrix consists of m-1 α cells where each cell contains m-1 XOR gates, m-1 switches and m-1 multiplexers. Since a switch / multiplexer is considerably simpler than an XOR gate, we let a switch and a multiplexer together correspond to the complexity of an XOR gate. Then we can estimate the complexity of the a-matrix to 2 (m-1) 2 gates. The IP network consists of m IP cells where each cell contains 2m-1 gates, ie a total of 2m2-m gates. Finally, 3m registers are required for storing the control vectors P, S and V (these registers are loaded from some external device). The total complexity NUGM becomes NUGM = 2 (m-1) 2 + 2m2-m + 3m.
Jämfört med den tidigare UGM vars komplexitet är ~ 7m2 +3m, kräver den nya UGM nästan 50% färre komponenter. 10 15 20 ö 466 822 Bmstanda Prestanda hos den nya UGM bestäms av den kritiska signalvägen (W SP) mellan ingång och utgång. Vi skall bestämma en övre gräns på längden LWSP (i grindar) av WSP:n. För detta ändamål, låter vi fórdröjningen hos ett brytar-multiplexerpar motsvara fórdröjningen av en XOR-grind.Compared to the previous UGM whose complexity is ~ 7m2 + 3m, the new UGM requires almost 50% fewer components. 10 15 20 ö 466 822 Bmstanda The performance of the new UGM is determined by the critical signal path (W SP) between input and output. We will determine an upper limit on the length LWSP (in gates) of the WSP. For this purpose, we let the delay of a switch-multiplexer pair correspond to the delay of an XOR gate.
WSP:n genom multiplikatorn måste passera m-l a-celler och en IP-cell.The WSP through the multiplier must pass m-1a cells and an IP cell.
Längden för WSP:n genom IP-cellen är konstant lika med 1+ llogzMl grindar.The length of the WSP through the IP cell is constantly equal to 1+ llogzMl gates.
WSP:n genom a-matrisen beror egentligen på valet av P(x). Den går dock alltid genom brytare, XOR-grindar samt multiplexrar. Antalet XOR-grindar längs WSP:n kan göras mycket lägre än m-l genom lämpligt val av P(x). Foljande tabell visar antalet XOR-grindar längs WSP:n genom a-matrisen för några lämpliga P(x) av gradtal m .<_ 16: Efil-c-ä-coooflaacnßwwš Åh N FU 1 1 1 2 1 1 4 2 2 2 4 4 4 1 5 I tabellen anges endast de x-potenser i P(x) vars koeflicienter är lika med 1. Vi ser att antalet XOR-grindar ligger mellan 1 och Lg- íör m S 8. En bättre övre gräns för m > 8 verkar dock vara Vi väljer Lg- till en övre gräns för alla m.The WSP through the a-matrix actually depends on the choice of P (x). However, it always goes through switches, XOR gates and multiplexers. The number of XOR gates along the WSP can be made much lower than m-1 by appropriate selection of P (x). The following table shows the number of XOR gates along the WSP through the a-matrix for some suitable P (x) of degrees m. <_ 16: E fi l-c-ä-cooo fl aacnßwwš Oh N FU 1 1 1 2 1 1 4 2 2 2 4 4 4 1 5 The table indicates only the x-powers in P (x) whose coefficients are equal to 1. We see that the number of XOR gates is between 1 and Lg- íör m S 8. A better upper limit for m> 8, however, seems to be We choose Lg- to an upper limit for all m.
Det är inte enkelt att bestämma antalet brytare/multiplexrar längs WSP:n. Vi antar därför att WSP:n går genom m-l brytare och m-l multiplexrar. Enligt ovanstående approximation motsvarar dessa m-l XOR-grindar.Determining the number of switches / multiplexers along the WSP is not easy. We therefore assume that the WSP passes through m-l switches and m-l multiplexers. According to the above approximation, these m-1 correspond to XOR gates.
Den totala längden LWSP för WSP:n blir nu LWSP $(m-1) + m/2 + 1 + llogzMl = 1.5m + llog2Ml [Grindar] vilket är avsevärt bättre än de ~ Gm grindar hos tidigare UGM. 10 15 20 25 30 466 822 Kommentarer Det är uppenbart att uppfinningen ej får anses begränsad till det på ritningar visade och ovan beskrivna utförande. Den kan däremot, inom ramen för uppfimiingstanken, varieras på många sätt. Exempelvis, istället för att lagra vektorerna P, S och Vi register, kan man genom en simpel logisk krets erhålla både S och V från P (i detta fall måste även' koefficienten p m i P(x) användas).The total length LWSP for the WSP now becomes LWSP $ (m-1) + m / 2 + 1 + llogzMl = 1.5m + llog2Ml [Gates] which is significantly better than the ~ Gm gates at previous UGM. 10 15 20 25 30 466 822 Comments It is obvious that the invention must not be considered limited to the embodiment shown in the drawings and described above. On the other hand, within the framework of the idea, it can be varied in many ways. For example, instead of storing the vectors P, S and Vi registers, one can obtain both S and V from P through a simple logic circuit (in this case the coefficient p m in P (x) must also be used).
Programmering av UGM:en förenklas på detta sätt till en enda skrivoperation.Programming of the UGM is simplified in this way into a single write operation.
Uppfinningen kan också på ett enkelt sätt modifieras till att utföra operationen A-B + D, genom att en extra XOR-grind tillföres varje IP-cell. Vidare kan subcellen 111 konstrueras genom användande av en OCH-grind istället för multiplexem. OCH- grinden skulle då beräkna produkten am_1p¿, vilken sedan föres till XOR-grinden (istället för återkopplingssignalen and) för att där producera summan am_1p¿ + an.The invention can also be easily modified to perform the operation A-B + D, by adding an extra XOR gate to each IP cell. Furthermore, the subcell 111 can be constructed using an AND gate instead of the multiplexer. The AND gate would then calculate the product am_1p¿, which is then passed to the XOR gate (instead of the feedback signal and) to produce the sum am_1p¿ + an there.
Samma generella struktur som i Fig. 1 kan användas för UGM som opererar över kroppar med annan karaktäristik än 2. Då skulle alla koefficientoperationer utföras modulo primtalet p, p > 2, vilket är mer komplicerat än för p = 2. För p > 2 gäller att -1#1 mod p vilket innebär att vi måste ta hänsyn till tecknet hos elementen.The same general structure as in Fig. 1 can be used for UGM operating over bodies with characteristics other than 2. Then all coefficient operations would be performed modulo prime p, p> 2, which is more complicated than for p = 2. For p> 2 applies that -1 # 1 mod p which means that we must take into account the sign of the elements.
Låt P(x) vara ett moniskt (dvs med högsta koefficienten pM = 1) irreducibelt polynom av gradtal M över GF(p) som har a som rot, P(oc) = 0. Då är ad! = -OÉWJpMJ- - apl - po = dzw'lplí¿_l+ + ap1'+pó (9) där pi' är den additiva inversen av pi i GF(p). Ekvation (5) blir nu M-l M 2 x-A(x)=x aMJ +x aM_2+ +x al +xa0 = = aM_1('xM-1pM_1' ... ' ' + u. + + M-1 g = p¿aM_1 + 2 x' (pgajm + an) mod P(x). (io) i=1 a-cellens design följer direkt från ekvation (10). a-cell består av M -1 identiska subceller där varje subcell utför operationen pL-'aMJ + am plus en cell för beräkning av pó aMJ, där juxtaposition betyder modulo p-multiplikation och "+" modulo p- addition. Eftersom P är känd på förhand kan plf, i = 0, 1, 2, ..., m-l beräknas och matas in i UGM:en istället för pi. a-cellen göres programmerbar för operation över olika kroppar GF(p"'), 2 S m S M på samma sätt som vid p = 2 genom användande av brytare och vektom S. Den nya a-matrisen erhålles genom kaskadkoppling av M -1 a-celler. a-matrisen kopplas till IP-nätet som beräknar de nödvändiga skalärproduktema. IP-cellen modifieras för beräkning av skalärprodukten av två p- 466 822 nära vektorer av längd M. Kontrollvektorn V används som vid p = 2. Vi noterar slutligen att den binära representationen av elementen i GF(p) kräver I-logzp-I bits.Let P (x) be a monic (ie with the highest coefficient pM = 1) irreducible polynomial of degrees M over GF (p) which has a as root, P (oc) = 0. Then ad! = -OÉWJpMJ- - apl - po = dzw'lplí¿_l + + ap1 '+ pó (9) where pi' is the additive inverse of pi in GF (p). Equation (5) now becomes M1 M 2 xA (x) = x aMJ + x aM_2 + + x al + xa0 = = aM_1 ('xM-1pM_1' ... '' + u. + + M-1 g = p¿ aM_1 + 2 x '(pgajm + an) mod P (x). (io) i = 1 the design of the a-cell follows directly from equation (10) .a-cell consists of M -1 identical subcells where each subcell performs the operation pL -'aMJ + am plus a cell for calculating pó aMJ, where juxtaposition means modulo p-multiplication and "+" modulo p-addition. Since P is known in advance, plf, i = 0, 1, 2, ... , ml is calculated and fed into the UGM instead of the pi. a cell is made programmable for operation over different bodies GF (p "'), 2 S m SM in the same way as at p = 2 by using switch and vector S The new a-matrix is obtained by cascading M -1 a cells The a-matrix is connected to the IP network which calculates the necessary scalar products The IP cell is modified to calculate the scalar product of two p-466 822 near vectors of length M The control vector V is used as at p = 2. We finally note that the binary represents the elements of the elements in GF (p) require I-logzp-I bits.
T.ex. kräver elementen i GF(3) två bitar.For example. requires the elements in GF (3) two bits.
Claims (5)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9002124A SE466822B (en) | 1990-06-15 | 1990-06-15 | DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY |
AU80765/91A AU8076591A (en) | 1990-06-15 | 1991-05-31 | Universal galois field multiplier |
PCT/SE1991/000384 WO1991020028A1 (en) | 1990-06-15 | 1991-05-31 | Universal galois field multiplier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9002124A SE466822B (en) | 1990-06-15 | 1990-06-15 | DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9002124D0 SE9002124D0 (en) | 1990-06-15 |
SE9002124L SE9002124L (en) | 1991-12-16 |
SE466822B true SE466822B (en) | 1992-04-06 |
Family
ID=20379773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9002124A SE466822B (en) | 1990-06-15 | 1990-06-15 | DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU8076591A (en) |
SE (1) | SE466822B (en) |
WO (1) | WO1991020028A1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768168A (en) * | 1996-05-30 | 1998-06-16 | Lg Semicon Co., Ltd. | Universal galois field multiplier |
GB9622539D0 (en) * | 1996-10-30 | 1997-01-08 | Discovision Ass | Galois field multiplier for reed-solomon decoder |
GB9627069D0 (en) * | 1996-12-30 | 1997-02-19 | Certicom Corp | A method and apparatus for finite field multiplication |
JP3833412B2 (en) | 1999-04-09 | 2006-10-11 | 富士通株式会社 | Expression data generation apparatus and method in finite field operation |
US6662346B1 (en) | 2001-10-03 | 2003-12-09 | Marvell International, Ltd. | Method and apparatus for reducing power dissipation in finite field arithmetic circuits |
WO2004001701A1 (en) * | 2002-06-20 | 2003-12-31 | Hitachi, Ltd. | Code calculating device |
EP2434650A1 (en) * | 2010-09-23 | 2012-03-28 | Panasonic Corporation | Reed-Solomon encoder with simplified Galois field multipliers |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3805037A (en) * | 1972-02-22 | 1974-04-16 | J Ellison | N{40 th power galois linear gate |
US4251875A (en) * | 1979-02-12 | 1981-02-17 | Sperry Corporation | Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates |
JPH0680491B2 (en) * | 1983-12-30 | 1994-10-12 | ソニー株式会社 | Finite field arithmetic circuit |
-
1990
- 1990-06-15 SE SE9002124A patent/SE466822B/en not_active IP Right Cessation
-
1991
- 1991-05-31 AU AU80765/91A patent/AU8076591A/en not_active Abandoned
- 1991-05-31 WO PCT/SE1991/000384 patent/WO1991020028A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
SE9002124D0 (en) | 1990-06-15 |
AU8076591A (en) | 1992-01-07 |
SE9002124L (en) | 1991-12-16 |
WO1991020028A1 (en) | 1991-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6049815A (en) | Method and apparatus for finite field multiplication | |
Jenkins | The design of error checkers for self-checking residue number arithmetic | |
Kebschull et al. | Efficient graph-based computation and manipulation of functional decision diagrams | |
KR950015182B1 (en) | Galois field multiplying circuit | |
KR100953884B1 (en) | Raid system and galois field product computation method | |
JPH02242425A (en) | Programable logic unit and signal processor | |
WO2010034326A1 (en) | State machine and generator for generating a description of a state machine feedback function | |
JP3532860B2 (en) | Arithmetic device, method, and program using remainder representation | |
SE466822B (en) | DEVICE FOR MULTIPLICATION OF TWO ELEMENTS IN A GALOIC BODY | |
Swartzlander | A review of large parallel counter designs | |
Friedland | Linear modular sequential circuits | |
US20010054053A1 (en) | Method and apparatus for finite field multiplication | |
US20090077145A1 (en) | Reconfigurable arithmetic unit | |
US7296049B2 (en) | Fast multiplication circuits | |
US5008849A (en) | Apparatus adding values represented as residues in modulo arithmetic | |
Sultana et al. | Reversible implementation of square-root circuit | |
Dormido et al. | Synthesis of generalized parallel counters | |
JPH0682395B2 (en) | Bit mask generation circuit | |
Pavlatos et al. | Logic design using modules and nonlinear integer programming | |
US20090077153A1 (en) | Reconfigurable arithmetic unit | |
Mandelbaum | A method for calculation of the square root using combinatorial logic | |
RU2823911C1 (en) | Pipeline adder-accumulator by arbitrary modules | |
US6560625B1 (en) | Fast digital adder | |
Woods et al. | Programmable high-performance IIR filter chip | |
Stanković et al. | From Fourier expansions to arithmetic-Haar expressions on quaternion groups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NAL | Patent in force |
Ref document number: 9002124-7 Format of ref document f/p: F |
|
NUG | Patent has lapsed | ||
NUG | Patent has lapsed |