Claims
- 1. An adder for adding two binary numbers (A,B), said adder comprising:
- means for generating a carry word (C) and producing a result (S), using K groups, with K.gtoreq.2, of m consecutive bits extracted from said binary numbers (A,B), carry word (C) and result (S) and formed respectively by bits a.sub.i,j, b.sub.i,j, c.sub.i,j and s.sub.i, j, where i={1,2, . . . , K} and indicates one of said K groups and i=1 for the m least significant bits, j={1,2, . . . , m} and indicates a significance of a bit in a group, c.sub.1,1, is a first input carry bit for the adder and c.sub.i,1, with i={2, . . . , K}, are second input carry bits, said generating means calculating, for i.noteq.1 and j={1,2, . . . , m}, the following values:
- p.sub.i,j =a.sub.i,j .sym.b.sub.i,j
- g.sub.i,j =a.sub.i,j .multidot.b.sub.i,j
- and, for i=1, the following values:
- p.sub.1,j =a.sub.1,j .sym.b.sub.1,j
- for
- j={2, . . . , m}
- g.sub.1,1 =a.sub.1,1 .multidot.b.sub.1,1 +a.sub.1,1 .multidot.c.sub.1,1 +b.sub.1,1 .multidot.c.sub.1,1
- g.sub.1,j =a.sub.1,j .multidot.b.sub.1,j
- for
- j={2, . . . , m};
- a parity generator circuit (50', 60) receiving said calculated values and K parity bits of said respective binary numbers (A,B) and calculating K parity bits (PS.sub.i) of said respective K groups extracted from said result (S), said parity generator circuit including a first operator (61a) for calculating a value G.sub.1,j of G.sub.i,j, with i=1, as follows:
- G.sub.1,j =g.sub.1,j +p.sub.1,j .multidot.G.sub.1,j-1
- for
- j={2, . . . , m}
- and with G.sub.1,1 =g.sub.1,1
- and a second operator (61b) for calculating:
- Y.sub.1 =c.sub.1,1 .sym.G.sub.1,1 .sym.G.sub.1,2 .sym. . . . .sym.G.sub.1,j . . . .sym.G.sub.1,m-1 .sym.PA.sub.1 .sym.PB.sub.1
- where PA.sub.1 and PB.sub.1 are values of said parity bits PA.sub.i and PB.sub.i, with i=1 and Y.sub.1 is a value corresponding to a parity bit PS.sub.1 of said parity bits PS.sub.i with i=1.
- 2. The adder of claim 1, wherein:
- said first operator (61a) includes logic modules of a first type (M1) receiving four inputs (P.sub.x, G.sub.x, P.sub.y and G.sub.y) and providing two outputs (P.sub.z, G.sub.z) as follows:
- P.sub.z =P.sub.y .multidot.P.sub.x
- G.sub.z =G.sub.y +P.sub.y .multidot.G.sub.x ;
- and logic modules of a second type (M3) receiving three inputs (P.sub.x, G.sub.x and c.sub.y) and providing an output (c.sub.z) as follows:
- c.sub.z =G.sub.x +P.sub.x .multidot.c.sub.y ;
- and
- said modules of said first and second types being used in connection with the following recurrent steps:
- a) for j=1, G.sub.1,1 =g.sub.1,1 is obtained directly;
- b) for j=2, a first module (1') of said second type (M3) operates on p.sub.1,2, g.sub.1,2 and g.sub.1,1 and furnishes G.sub.1,2 ;
- c) for j={3,4}, a first module (2') of said first type (M1) operates on p.sub.1,3, g.sub.1,3 and p.sub.1,4, g.sub.1,4 and furnishes two outputs, a second module (3') of said second type (M3) operates on G.sub.1,2, p.sub.1,3 and g.sub.1,3 and furnishes G.sub.1,3, a third module (4') of said second type operates on G.sub.1,2 and said outputs of said first module (2') of said first type and furnishes G.sub.1,4, thus forming an initial assembly for j={1, . . . , 2.sup.n } with n=2, and
- d) for j={2.sup.n +1, . . . , 2.sup.n+1 } an assembly is recurrently obtained by adding said modules of said first type (M1) disposed in accordance with said initial assembly but offset by 2.sup.n ranks toward the most significance bits in order to furnish additional outputs; and 2.sup.n modules of said second type (M3) for operating on the most significant outputs G.sub.1,2.sup.n of said initial assembly and each of said additional outputs, respectively, and furnishing said following values (G.sub.1,5 -G.sub.1,8), respectively.
- 3. The adder of claim 2, wherein said second operator includes logic gates of EXCLUSIVE-OR type disposed in a tree having inputs for receiving said outputs G.sub.1,j through G.sub.1,m-1 of said first operator, said parity bits PA.sub.1 and PB.sub.i and said first input carry bit c.sub.1,1, said outputs, parity bits and input carry bit being taken two by two as much as possible and said gates being disposed to calculate said value Y.sub.1.
- 4. The adder of claim 1, wherein said second operator includes logic gates of EXCLUSIVE-OR type disposed in a tree having inputs for receiving said outputs G.sub.1,j through G.sub.1,m-1 of said first operator, said parity bits PA.sub.1 and PB.sub.1 and said first input carry input c.sub.1,1, said outputs, parity bits and input carry bit being taken two by two as much as possible and said gates being disposed to calculate said value Y.sub.1.
- 5. The adder of claim 1, wherein said parity generator circuit further includes:
- third operators (62a, 63a, 64a) for calculating respective values for respective values of i={2, . . . , K}, of
- G.sub.i,j =g.sub.i,j +p.sub.i,j .multidot.G.sub.i,j-1
- for
- j={2, . . . , m}
- and with G.sub.i,1 =g.sub.i,1
- P.sub.i,j =p.sub.i,j .multidot.P.sub.i,j-1
- for
- j={2, . . . , m}
- and with P.sub.i,1 =P.sub.i,1
- fourth operators (62b, 63b, 64b) for calculating respective values, for i={2, . . . , K}, of:
- Y.sub.i =G.sub.i,1 .sym.G.sub.i,2 .sym. . . . .sym.G.sub.i,m-1 .sym.PA.sub.i .sym.PB.sub.i
- X.sub.i =P.sub.i,1 .sym.P.sub.1,2 .sym. . . . .sym.P.sub.i,m-1
- where PA.sub.i and PB.sub.i represent parities of respective i.sup.th bit of said binary numbers A and B, and
- fifth operators (52, 53, 54) for calculating respective values, for i={2, . . . , K}, of:
- PS.sub.i =Y.sub.i .sym.c.sub.i,1 .multidot.X.sub.i *
- where c.sub.i,1, are said second input carry bits and X.sub.i * is the complement of X.sub.i.
- 6. The adder of claim 5, wherein said fifth operator (52) for i=2 uses said second input carry bit c.sub.2,1 as follows:
- c.sub.2,1 =G.sub.1,m,
- and
- said parity generator circuit further comprises means (M3) for calculating said second input carry bits c.sub.i,1, for i={3, . . . , K}, used by said respective fifth operators, as follows:
- c.sub.i,1 =G.sub.i-1,m +P.sub.i-1,m .multidot.c.sub.i-1,1.
- 7. The adder of claim 1, wherein said generating means is separated from said parity generator circuit.
- 8. The adder of claim 1, wherein p.sub.1,1 =a.sub.1,1 .sym.b.sub.1,1 .sym.c.sub.1,1.
- 9. The adder of claim 1, wherein said carry word (C) is generated by carry means (60) connected to said generating means to receive said values p.sub.i,j, except for value p.sub.1,1, and said values g.sub.i,j.
- 10. The adder of claim 1, wherein said result (s) is produced by adding means (30, 31', 32-34) from the following relation:
- s.sub.i,j =p.sub.ij .sym.c.sub.ij
- with
- s.sub.1,1 =p.sub.1,1 =a.sub.1,1 .sym.b.sub.1,1 .sym.c.sub.1,1
- and
- s.sub.1,2 =p.sub.1,2 .sym.g.sub.1,2.
Priority Claims (1)
Number |
Date |
Country |
Kind |
93 14287 |
Nov 1993 |
FRX |
|
Parent Case Info
This is a Continuation of application Ser. No. 08/350,189, filed Nov. 30, 1994 now abandoned.
US Referenced Citations (4)
Foreign Referenced Citations (2)
Number |
Date |
Country |
0329545 |
Feb 1989 |
EPX |
0339296 |
Apr 1989 |
EPX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
350189 |
Nov 1994 |
|