JPH0137049B2 - - Google Patents
Info
- Publication number
- JPH0137049B2 JPH0137049B2 JP59097975A JP9797584A JPH0137049B2 JP H0137049 B2 JPH0137049 B2 JP H0137049B2 JP 59097975 A JP59097975 A JP 59097975A JP 9797584 A JP9797584 A JP 9797584A JP H0137049 B2 JPH0137049 B2 JP H0137049B2
- Authority
- JP
- Japan
- Prior art keywords
- adder
- mod
- output
- input terminal
- carry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
産業上の利用分野
本発明はデジタル通信やデジタル記録等の採用
される有限体GF(2n)上の誤り訂正符号の符号処
理に必要な乗算を行うのに用いることができる
MOD(2n−1)(nは2以上の整数)の加算回路
に関するものである。[Detailed Description of the Invention] Industrial Application Field The present invention can be used to perform multiplication necessary for code processing of an error correction code on a finite field GF(2 n ) used in digital communication, digital recording, etc. can do
The present invention relates to an adder circuit of MOD(2 n -1) (n is an integer of 2 or more).
従来例の構成とその問題点
近年、デジタル通信やデジタル記録等で有限体
GF(2n)上の誤り訂正符号が広く用いられてお
り、その誤り訂正符号の訂正や検出などの符号処
理を行うにはGF(2n)上の乗算が必要である。Configuration of conventional examples and their problems In recent years, finite bodies have been used in digital communication, digital recording, etc.
Error correction codes on GF(2 n ) are widely used, and multiplication on GF(2 n ) is required to perform code processing such as correction and detection of the error correction codes.
GF(2n)上の乗算の1つの手法として、乗数、
被乗数をαi、αj(α:GF(2n)上の生成元、i、j
は0以上2n−1未満の整数)としたときに、まず
i、jを求めて、k≡i+j(MOD(2n−1))に
より、乗算結果αi×αj=αkを求める方法がある。
その際、αi、αjからi、jを求めるには、αiのベ
クタ表現をアドレス入力とし、iをデータ出力と
するデーブルROMを用いれがよいし、kからαk
を求めるには、kをアドレス入力とし、αkのベク
タ表現をデータ出力とするようなテーブルROM
を用いればよい。従つて残る問題は、MOD(2n−
1)の加算回路をいかに構成するかということで
ある。 One method of multiplication on GF(2 n ) is to use the multiplier,
Let the multiplicands be α i , α j (α: generator on GF(2 n ), i, j
is an integer greater than or equal to 0 and less than 2 n -1), first find i and j, and then find the multiplication result α i ×α j = α k by k≡i+j (MOD (2 n -1)). There is a way.
In this case, to obtain i and j from α i and α j , it is best to use a table ROM that takes the vector representation of α i as the address input and i as the data output, and
To find , create a table ROM that takes k as address input and the vector representation of α k as data output.
You can use Therefore, the remaining problem is MOD(2 n −
The problem is how to configure the adder circuit in 1).
以下図面を参照しながら従来のMOD(2n−1)
の加算回路について説明する。第1図は従来の
MOD(2n−1)の加算回路のブロツク図であり、
100はキヤリ入力端子のないnビツトのバイナ
リ加算器(Aとする)であり、200はキヤリ入
力端子のあるnビツトのバイナリ加算器(Bとす
る)である。Aはキヤリ出力CはBのキヤリ入力
に入力され、加算数X=(x0、x1、…、xo-1)(以
下、V=(V0、V1、…、Vo-1)と書くと、数Vを
バイナリ表現したときの各けたを下けたから書い
たときに、V0、V1、…、Vo-1となるものとす
る。)と被加算数Y=(y0、y1、…、yo-1)とがA
に入力され、Aは加算出力がBに加算数として入
力され、Bは被加算数としては(0、0、…、
0)(すなわちnビツト分の0)が入力されてい
るように構成している。 Conventional MOD (2 n −1) with reference to the drawing below.
The adder circuit will be explained. Figure 1 shows the conventional
It is a block diagram of an adder circuit of MOD(2 n −1),
100 is an n-bit binary adder (referred to as A) without a carry input terminal, and 200 is an n-bit binary adder (referred to as B) with a carry input terminal. The carry output of A is input to the carry input of B, and the addition number X = (x 0 , ), then when the number V is expressed in binary and each digit is written down, it becomes V 0 , V 1 , ..., V o-1 .) and the addend Y = ( y 0 , y 1 , ..., y o-1 ) is A
The output of A is input as the addition number to B, and B is the augend (0, 0, ...,
0) (that is, n bits of 0) are input.
以上のように構成されたMOD(2n−1)の加算
回路についてその動作を以下に説明する。前記の
MOD(2n−1)の加算回路の出力Z=(z0、z1、
…、zo-1)はその構成から考えて、Z≡X+Y+
C(MOD2n)(一般にU≡V+W(MOD(M))と
書くとVとWとをMOD(M)で加算した結果が
Uになるということを意味する。)となる。 The operation of the MOD (2 n -1) adder circuit configured as described above will be described below. the above
The output of the adder circuit of MOD (2 n −1) Z = (z 0 , z 1 ,
..., z o-1 ) is considered from its composition, Z≡X+Y+
C(MOD2 n ) (Generally written as U≡V+W(MOD(M)), it means that the result of adding V and W by MOD(M) is U.).
S≡X+Y(MOD(2n−1))とすると2n−1>
X+Y≧0のときにはC=0となるからZ=S=
X+Yとなり、X+Y≧2nのときにはC=1とな
るからZ=S=(X+Y+1)−2n=X+Y−(2o
−1)となる。従つてX+Y=2n−1以外のとき
にはこの加算回路の出力Zが加算数、被加算数
X、YのMOD(2n−1)の加算結果となる。 If S≡X+Y(MOD(2 n −1)), then 2 n −1>
When X+Y≧0, C=0, so Z=S=
When X+Y≧2 n , C=1, so Z=S=(X+Y+1)−2 n =X+Y−(2 o
-1). Therefore, when X+Y=2 n -1, the output Z of this adder circuit becomes the addition result of MOD(2 n -1) of the addends X and Y.
しかしながら、上記のような構成においては、
キヤリの伝搬が2つの加算器にまたがつているの
で演算速度が遅いという問題点を有していた。 However, in the above configuration,
Since the signal propagation spans two adders, there is a problem in that the calculation speed is slow.
発明の目的
本発明の目的は、高速なMOD(2n−1)の加算
回路を提供することである。OBJECT OF THE INVENTION An object of the present invention is to provide a high-speed MOD(2 n -1) adder circuit.
発明の構成
本発明のMOD(2n−1)の加算回路は、キヤリ
入力端子を有しないかまたはキヤリ入力が“0”
あるni(ni:正の整数、i=0、1、2、…、k−
1)ビツトの加算器AAiと、キヤリ入力が“1”
であるniビツトの加算器ABiと、セレクタSiとに
より構成される単位回路をEiとしたとき、E0、
E1、E2、…、Ek-1により構成され、n0+n1+n2+
…nk-1=n(n:2以上の整数)であり、加算器
AAiのキヤリ出力をAi、加算器ABiのキヤリ出力
をBiとしたとき、プール代数上の演算
Ci=Ai-1+k-2
〓m=1
Ai-n-1
・n
〓l=1
Bi-l+k-1
〓l=0
Bl
(ただし、Jを任意の整数としたとき、Bj+k
=Bj、Aj+k=Ajとする)
が“0”のときにはSiは加算器AAiの演算結果を
出力し、Ciが“1”のときにはSiは加算器ABiの
演算結果を出力するように構成したものであり、
これにより高速にMOD(2n−1)の加算ができる
ものである。Structure of the Invention The MOD (2 n −1) adder circuit of the present invention does not have a carry input terminal or the carry input is “0”.
Some n i (n i : positive integer, i=0, 1, 2,..., k-
1) Bit adder AA i and carry input are “1”
When a unit circuit consisting of an n i- bit adder AB i and a selector S i is E i , E 0 ,
Consisting of E 1 , E 2 , ..., E k-1 , n 0 + n 1 + n 2 +
...n k-1 = n (n: an integer greater than or equal to 2), and the adder
When the carry output of AA i is A i and the carry output of adder AB i is B i , the operation on the pool algebra is C i = A i-1 + k-2 〓 m=1 A in-1・n 〓 l=1 B il + k-1 〓 l=0 B l (However, when J is an arbitrary integer, B j +k
= B j , A j +k = A j ) is “0”, S i outputs the operation result of adder AA i , and when C i is “1”, S i outputs the operation result of adder AB i It is configured to output the results,
This makes it possible to add MOD(2 n -1) at high speed.
実施例の説明
以下本発明の一実施例について図面を参照しな
がら説明する。DESCRIPTION OF EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.
第2図は本発明の一実施例におけるMOD(2n−
1)の加算回路のn=8のときのブロツク図を示
すものである。第2図において、1,2,3,4
はキヤリ入力として“1”が入力されている2ビ
ツト加算器(それぞれ、AB0、AB1、AB2、AB3
とする)であり、5,6,7,8はキヤリ入力端
子のない2ビツト加算器(それぞれAA0、AA1、
AA2、AA3とする)であり、9,10,11,
12はセレクタ(それぞれS0、S1、S2、S3とす
る)である。セレクタS0は
C0=A3+A2・B3+A1・B2・B3
+B0・B1・B2・B3
(ブール代数上の演算)
が“1”のときにはAB0の加算結果を選択して出
力し、C0が“1”のときにはAA0の加算結果を
選択して出力し、セレクタS1は、
C1=A0+A3・B0+A2・B3・B0
+B0・B1・B2・B3
(ブール代数上の演算)
が“1”のときにはAB1の加算結果を選択して出
力し、C1が“0”のときにはAA1の加算結果を
選択して出力し、セレクタS2は、
C2=A1+A0・B1+A3・B0・B1
+B0・B1・B2・B3
(ブール代数上の演算)
が“1”のときにはAB2の加算結果を選択して出
力し、C2が“0”のときにはAA2の加算結果を
選択して出力し、セレクタS3は、
C3=A2+A1・B2+A0・B1・B2
+B0・B1・B2・B3
(ブール代数上の演算)
が“1”のときにはAB3の加算結果を選択して出
力し、C3が“0”のときにはAA3の加算結果を
選択して出力するように構成している。 FIG. 2 shows MOD (2 n −
1) shows a block diagram of the adder circuit when n=8. In Figure 2, 1, 2, 3, 4
are 2-bit adders (AB 0 , AB 1 , AB 2 , AB 3
5, 6, 7, and 8 are 2-bit adders without a carry input terminal (AA 0 , AA 1 , respectively).
AA 2 and AA 3 ), and 9, 10, 11,
12 is a selector (S 0 , S 1 , S 2 , and S 3 , respectively); Selector S 0 adds AB 0 when C 0 = A 3 + A 2 , B 3 + A 1 , B 2 , B 3 + B 0 , B 1 , B 2 , B 3 (operation on Boolean algebra) is “ 1 ”. The result is selected and output, and when C 0 is "1", the addition result of AA 0 is selected and output, and the selector S 1 is as follows: C 1 = A 0 + A 3 · B 0 + A 2 · B 3 · B When 0 +B 0 , B 1 , B 2 , B 3 (Boolean algebraic operation) is “1”, the addition result of AB 1 is selected and output, and when C 1 is “0”, the addition result of AA 1 is selected and output. is selected and output , and selector S 2 selects and outputs : When C 2 is "1", the addition result of AB 2 is selected and output; when C 2 is "0", the addition result of AA 2 is selected and output; selector S 3 is as follows: C 3 = A 2 + A 1 · B 2 +A 0・B 1・B 2 +B 0・B 1・B 2・B 3 (Boolean algebraic operation) When is “1”, the addition result of AB 3 is selected and output, and C 3 is “0”. ”, the configuration is such that the addition result of AA 3 is selected and output.
以上のように構成された本実施例のMOD(2n−
1)の加算器について以下その動作を説明する。
まず、加算数X=(x0、x1、…、x7)と被加算数
Y=(y0、y1、…、y7)とのMOD225の加算結果
が、Z=(z0、z1、…、z7)、0≦Z≦255である
とし、(x0、x1)と(y0、y1)とをAA0及びAB0
で加算し、加算結果がそれぞれ(l0、l2)、(m0、
m1)となつたとし、(x2、x3)(y2、y3)とを
AA1及びAB1で加算し、加算結果がそれぞれ
(l2、l3)、、(m2、m3)となつたとし、(x4、x5)
と(y4、y5)とをAA2及びAB2で加算し、加算結
果がそれぞれ(l4、l5)、(m4、m5)となつたと
し、(x6、x7)、と(y6、y7)とをA3及びAB3で
加算し、加算結果がそれぞれ(l6、l7)、(m6、
m7)となつたとする。このとき、
C0=1のときには(z0、z1)=(m0、m1)となり、
C0=0のときには(z0、z1)=(l0、l1)となり、
C1=1のときには(z2、z3)=(m2、m3)となり、
C1=0のときには(z2、z3)=(l2、l3)となり、
C2=1のときには(z4、z5)=(m4、m5)となり、
C2=0のときには(z4、z5)=(l4、l5)となり、
C3=1のときには(z6、z7)=(m6、m7)となり、
C3=0のときには(z6、z7)=(l6、l7)
となるので、上記のようにMOD(2n−1)の加算
回路を構成することにより、セレクタS0、S1、
S2、S3の出力は、(z0、z1、…、z7)と等しくな
るものである。 The MOD of this embodiment configured as described above (2 n −
The operation of the adder 1) will be explained below.
First, the MOD225 addition result of the addend number X = (x 0 , x 1 , ..., x 7 ) and the addend number Y = (y 0 , y 1 , ..., y 7 ) is Z = (z 0 , z 1 , ..., z 7 ), 0≦Z≦255, and (x 0 , x 1 ) and (y 0 , y 1 ) are AA 0 and AB 0
The addition results are (l 0 , l 2 ), (m 0 ,
m 1 ), and (x 2 , x 3 )(y 2 , y 3 )
Suppose that AA 1 and AB 1 are added, and the addition results are (l 2 , l 3 ), , (m 2 , m 3 ), respectively, and (x 4 , x 5 )
and (y 4 , y 5 ) are added using AA 2 and AB 2 , and the addition results are (l 4 , l 5 ) and (m 4 , m 5 ), respectively, and (x 6 , x 7 ) , and (y 6 , y 7 ) are added at A 3 and AB 3 , and the addition results are (l 6 , l 7 ), (m 6 ,
m 7 ). At this time, when C 0 = 1, (z 0 , z 1 ) = (m 0 , m 1 ), and when C 0 = 0, (z 0 , z 1 ) = (l 0 , l 1 ), and C When 1 = 1, (z 2 , z 3 ) = (m 2 , m 3 ), and when C 1 = 0, (z 2 , z 3 ) = (l 2 , l 3 ), and when C 2 = 1, Sometimes (z 4 , z 5 ) = (m 4 , m 5 ), when C 2 = 0, (z 4 , z 5 ) = (l 4 , l 5 ), and when C 3 = 1, (z 6 , z 7 )=(m 6 , m 7 ), and when C 3 = 0, (z 6 , z 7 )=(l 6 , l 7 ), so as above, MOD(2 n −1) By configuring an adder circuit, selectors S 0 , S 1 ,
The outputs of S 2 and S 3 are equal to (z 0 , z 1 , ..., z 7 ).
以上のように本実施例によれば、使用するk個
の加算器間のキヤリ伝搬をなくしたことにより、
MOD(2n−1)の加算の演算時間を短縮してい
る。なお、上の実施例ではFの加算器をキヤリ入
力端子が存在しないとしたが、Fはキヤリ入力端
子を持つていてもよく、ただそのときにはキヤリ
入力は“0”でなければならない。またこの
MOD(2n−1)の加算器の入力である加算数X
か、被加算数Yのとちらか一方の各ビツトをすべ
て反転することにより、MOD(2n−1)の減算回
路を構成することができる。 As described above, according to this embodiment, by eliminating the carry propagation between the k adders used,
The calculation time for addition of MOD(2 n -1) is shortened. In the above embodiment, the adder of F does not have a carry input terminal, but F may have a carry input terminal, but in that case, the carry input must be "0". Also this
Addition number X, which is the input of the adder of MOD (2 n −1)
By inverting all the bits of either the augend Y or the augend Y, a MOD(2 n -1) subtraction circuit can be constructed.
発明の効果
以上の説明から明らかなように、本発明は使用
するk個のnビツトのバイナリ加算器どうしのキ
ヤリ伝搬をなくしたことにより、演算速度が従来
のものよりもk倍近く向上するという優れた効果
が得られる。らに加算数か被加算数のどちらか一
方の各ビツトをすべて反転して、本発明の加算回
路に入力することにより、MOD(2n−1)の減算
回路が容易に構成できる。Effects of the Invention As is clear from the above explanation, the present invention improves the calculation speed by nearly k times compared to the conventional one by eliminating the carry propagation between the k n-bit binary adders used. Excellent effects can be obtained. Furthermore, by inverting all the bits of either the addend number or the addend number and inputting the inverted bits to the adder circuit of the present invention, a MOD(2 n -1) subtracter circuit can be easily constructed.
第1図は従来のMOD(2n−1)の加算回路のブ
ロツク図、第2図は本発明の一実施例における
MOD(2n−1)の加算回路のブロツク図である。
1,2,3,4……キヤリ入力端子のある2ビ
ツト加算器、5,6,7,8……キヤリ入力端子
のない2ビツト加算回路、9,10,11,12
……セレクタ、100……キヤリ入力端子のない
nビツトバイナリ加算器、200……キヤリ入力
端子のあるnビツトバイナリ加算器。
Figure 1 is a block diagram of a conventional MOD (2 n -1) adder circuit, and Figure 2 is an example of an embodiment of the present invention.
FIG. 2 is a block diagram of an adder circuit of MOD(2 n -1). 1, 2, 3, 4... 2-bit adder with a carry input terminal, 5, 6, 7, 8... 2-bit adder circuit without a carry input terminal, 9, 10, 11, 12
...Selector, 100...n-bit binary adder without a carry input terminal, 200...n-bit binary adder with a carry input terminal.
Claims (1)
力が“0”であるni(ni:正の整数、i=0、1、
2、…、k−1)ビツトの加算器AAiと、キヤリ
入力が“1”であるniビツトの加算器ABiと、セ
レクタSiとにより構成される単位回路をEiとした
とき、E0、E1、E2、…、Ek-1により構成され、
n0+n1+n2+…+nk-1=n(n:2以上の整数)
であり、AAiの入力端子とABiの入力端子が結線
されており、前記加算器AAiのキヤリ出力をAi、
前記加算器ABiのキヤリ出力をBiとしたとき、ブ
ール代数上の演算 Ci=Ai-1+k-2 〓m=1 Ai-n-1 ・n 〓l=1 Bi-l+k-1 〓l=0 Bl (ただし、jを任意の整数としたとき、Bj+k
=Bj、Aj+k=Ajとする) が“0”のときにはSiは前記加算器AAiの演算結
果を出力し、Ciが“1”のときにはSiは前記加算
器ABiの演算結果を出力するように結線されてい
て、加算器AAiの入力端子を入力端子とし、セレ
クタSiの出力端子を出力端子とすることを特徴と
するMOD(2n−1)の加算回路。[Claims] 1 n i (n i : positive integer, i=0, 1,
2,...,k-1) When a unit circuit consisting of an adder AA i of bits, an adder AB i of n i bits whose carry input is "1", and a selector S i is E i . , E 0 , E 1 , E 2 , ..., E k-1 ,
n 0 +n 1 +n 2 +…+n k-1 = n (n: integer greater than or equal to 2)
The input terminal of AA i and the input terminal of AB i are connected, and the carrier output of the adder AA i is A i ,
When the carry output of the adder AB i is B i , the operation on Boolean algebra C i = A i-1 + k-2 〓 m=1 A in-1・n 〓 l=1 B il + k- 1 〓 l=0 B l (However, when j is an arbitrary integer, B j +k
= B j , A j +k = A j ) is "0", S i outputs the operation result of the adder AA i , and when C i is "1", S i outputs the operation result of the adder AB i addition of MOD(2 n −1), characterized in that the input terminal of the adder AA i is used as the input terminal, and the output terminal of the selector S i is used as the output terminal. circuit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59097975A JPS60241331A (en) | 1984-05-16 | 1984-05-16 | Adding circuit of mod(2n-1) |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59097975A JPS60241331A (en) | 1984-05-16 | 1984-05-16 | Adding circuit of mod(2n-1) |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60241331A JPS60241331A (en) | 1985-11-30 |
| JPH0137049B2 true JPH0137049B2 (en) | 1989-08-03 |
Family
ID=14206662
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59097975A Granted JPS60241331A (en) | 1984-05-16 | 1984-05-16 | Adding circuit of mod(2n-1) |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60241331A (en) |
-
1984
- 1984-05-16 JP JP59097975A patent/JPS60241331A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60241331A (en) | 1985-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4953115A (en) | Absolute value calculating circuit having a single adder | |
| JP3244506B2 (en) | Small multiplier | |
| JP3487903B2 (en) | Arithmetic device and arithmetic method | |
| KR950015182B1 (en) | Galoa field multiplication circuit | |
| JPH0479013B2 (en) | ||
| EP0416869B1 (en) | Digital adder/accumulator | |
| US6546411B1 (en) | High-speed radix 100 parallel adder | |
| JPH0137049B2 (en) | ||
| JPH0519170B2 (en) | ||
| JP2917577B2 (en) | Arithmetic unit | |
| CA1314995C (en) | Method and apparatus for decoding reed-solomon code | |
| JP2578482B2 (en) | Floating point arithmetic unit | |
| JPH11317676A (en) | Reciprocal incarnation circuit for optional element of finite field | |
| JPH0137050B2 (en) | ||
| US6076098A (en) | Adder for generating sum and sum plus one in parallel | |
| JPH0778748B2 (en) | Galois field arithmetic unit | |
| JP2991788B2 (en) | Decoder | |
| JP2914813B2 (en) | Error correction decoding device | |
| SU1179322A1 (en) | Device for multiplying two numbers | |
| SU1488796A1 (en) | Modulo multiplier | |
| JP2546014B2 (en) | Digital signal processor | |
| JPH0642632B2 (en) | Arithmetic unit on Galois field | |
| JPH03149924A (en) | Error correcting decoder | |
| JPS58119046A (en) | Adder and subtracter | |
| JPH05268101A (en) | Chain search circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |