JPH0642632B2 - ガロア体上の演算装置 - Google Patents

ガロア体上の演算装置

Info

Publication number
JPH0642632B2
JPH0642632B2 JP60026212A JP2621285A JPH0642632B2 JP H0642632 B2 JPH0642632 B2 JP H0642632B2 JP 60026212 A JP60026212 A JP 60026212A JP 2621285 A JP2621285 A JP 2621285A JP H0642632 B2 JPH0642632 B2 JP H0642632B2
Authority
JP
Japan
Prior art keywords
circuit
memory
output
input terminal
data
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 - Lifetime
Application number
JP60026212A
Other languages
English (en)
Other versions
JPS61187422A (ja
Inventor
裕治 畑中
宏夫 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60026212A priority Critical patent/JPH0642632B2/ja
Publication of JPS61187422A publication Critical patent/JPS61187422A/ja
Publication of JPH0642632B2 publication Critical patent/JPH0642632B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はディジタル信号の誤り訂正回路に係り、特にリ
ード・ソロモン符号の復合に好適なガロア体上の演算装
置に関する。
〔発明の背景〕
リード・ソロモン符号等の誤り訂正符号の復合を行うに
はガロア体上での演算(乗算,除算及び加算)を行う必
要がある。特に最小距離の大きなリード・ソロモン符号
の復合を行う場合、高次の多項式演算を行わなければな
らない。
従来のガロア体上での演算装置としては、特開昭58-219
848号に記載のように、乗数を2つの部分に分け、被乗
数を乗数の各ビットごとにゲート制御を行い、その出力
を順次加算していく部分乗算を2回、各部分乗算出力の
加算を1回行うものが知られている。この装置では大容
量のメモリーを必要としないため、回路規模を縮小する
ことができる。
しかし、制御が複雑であり、1度の乗算に2ステップの
処理が必要である。また高次多項式の演算を行う時、べ
き乗の演算,演算結果の記憶等に対する考慮がなされて
いないため、作業用バッファとしてのRAMとのアクセス
が頻繁になり、演算ステップ数が増大してしまう問題が
ある。
〔発明の目的〕
本発明の目的は、複雑な高次多項式の演算を少ないステ
ップ数で実行することのできるガロア体上での演算装置
を提供することにある。
〔発明の概要〕
本発明の演算装置では、乗算または除算と加算を同時に
行ない、高速の乗算,除算回路に補助レジスタを組み入
れることにより、高次多項式におけるべき乗演算のステ
ップ数を減少させ、さらに加算回路の入力部に、データ
・バスからの入力と乗除算回路出力との選択回路を組み
入れることにより、多項式演算のステップ数の減少を実
現している。
〔発明の実施例〕
以下、本発明の一実施例を第1図により説明する。同図
において、1,5,6はデータ・バスからの入力データ
を記憶するレジスタ、2はY−レジスタ1の出力から逆
数を求める変換ROM、7はガロア体GF(2m)上での乗
算を行なう乗算回路、4は、乗算回路7の乗数としてY
−レジスタ1の出力、逆数変換ROM2の出力及びLX
−レジスタ5の出力のうちどれかを選択するMPX回路
である。また、11はガロア体GF(2m)上での加算を行な
う加算回路、8は加算回路における加数としてデータ・
バスからの入力データか演算装置の出力のうちどれかを
選択するMPX回路、10はMPX回路8の出力をゲート
制御するゲート回路、12は加算回路11の出力をデータ・
バス上に出力するためのAuバッファである。また、13,1
6,17,18は、それぞれY−レジスタ1、Z−レジスタ
9、X−レジセスタ6、LX−レジスタ5のYCP、Z
CP、XCP、LXCPパルス入力端子、14,15はそれ
ぞれMPX回路4,8のYS、ZS制御信号入力端子、
19はゲート回路10のZCゲート信号入力端子である。
まず、ガロア体GF(2m)上での演算回路について、GF
(23)を例にして説明する。
GF(2)上の既約多項式F(x)の根の1つをαとすると、
GF(2)の元“0”,“1”にαのべき乗で表わされる
6個の元を加えた集合 {0,1,α,α,α,α,α,α} はGF(23)を構成する。
F(x)=x+x+1 とすると、 α=α+1 となる。この時のGF(23)のべき表現と、ベクトル表現
を表1に示す。
ここで、GF(23)上の乗算をX*Y,GF(23)上の除算
をX/Y,GF(23)上の加算をXYとし、 A=(a,a,a)=a2x2+a1x+a0 B=(b,b,b)=b2x2+b1x+b0 とすると、 AB=(a2+b2,a1+b1,a0+b0) A*B=(a2x2+a1x+a0)・(b2x2+b1X+b0)mod(x3+x+1) =(a2b2+a2b0+a1b1+a0b2)x2 +(a2b2+a2b1+a1b2+a1b0+a0b1)x +(a2b1+a1b2+a0b0) となる。ただしmod(x3+x+1)は(x3+x+1)を法とする乗算
を示している。通常、ディジタル信号は2進数(すなわ
ち表1におけるベクトル表現)として扱われるため、加
算については各ビットでmod2の加算(排他的論理和)を
行なえばよい。
c=(c,c,c)=AB とした時の加算回路11を図2に示す。同図において、21
はA入力端子、22はB入力端子、23はC出力端子であ
る。なお、明らかにガロア体上での減算は加算と同じに
なる。
また、乗算については D=(d,d,d)=A*B とおくと、 となり、この演算は、第3図に示すように9個のAND
回路と9個のEOR回路によって実現される。同図にお
いて31はD出力端子である。
他のガロア体、例えばGF(28)等についても同様にして
加算回路及び乗算回路を構成することができる。
次いで、除算について説明する。
除算 E=A/B は次のように変形できる。
E=A*(1/B) したがってBの逆数(1/B)を求めれば、第3図の乗算回
路を用いて除算を行なうことができる。第1図に示した
Y−ROM2は、Y−レジスタ1の出力Yから逆数1/Y
を求めるもので、MPX回路4がMを選択することによ
り除算が実行できる。
なお第1図のゲート回路10は、加算回路11における加数
Zb=(Zb2,Zb1,Zb0)として、MPX回路の8の出力Z
a=(Za2,Za1,Za0)か0かを選択するゲートであり、第
4図に示したようなAND回路より構成される。同図に
おいて、41はMPX回路8からのZa入力端子、42は加
算回路11へのZb出力端子、19はZCゲート信号入力端子
である。
次に、以下に示した高次多項式の演算を例に取って、第
1図の演算装置の具体的な動作について説明する。
R=ST*S1/U*SV*SW レジスタ1,5,6,9,MPX回路4,8、ゲート回
路10等の動作は表2に示すとうりになるが、以下に各ス
テップごとの説明を述べる。ここで、各レジスタにデー
タをラッチするには、YCPパルス入力端子13(Y−レ
ジスタ1)、ZCPパルス入力端子16(Z−レジスタ
9)、XCPパルス入力端子17(X−レジスタ6)、L
XCPパルス入力端子18(LX−レジスタ5)に制御パ
ルスを加えれば良い。またMPX回路4は、YS制御信
号入力端子14に2bit制御信 号(3選択なので2bit必要)を送り、L,M,Nの選
択を行ない、MPX回路8は、ZS制御信号入力端子15
へ送る制御信号によって、Q,Pの選択を行なう。また
ゲート回路10の出力がZaをとる時は1を、0をとる時は
0をZC端子19に加えれば良い。
MPX回路8をQに選択し、データWをZ−レジスタ
9にラッチする。
データVをY−レジスタ1にラッチする。
データSをX−レジスタ6とLX−レジスタ5にラッ
チする。以後LX−レジスタ5にはデータのラッチを行
なわず、常にSの値が保持されるようにする。
MPX回路4をLに選択し、ゲート回路10へのゲート
信号入力を1にすると、加算回路11の出力は、 X*YZ=S*VW=V*SW となる。この時MPX回路8をPに選択しておくことに
よって、この演算結果がZ−レジスタ9にラッチされ
る。またAuバッファ12を端子20の制御信号によりデータ
・バスへの出力を制御することによりバスがフリーとな
るので、このステップ中にデータUをY−レジスタ1に
ラッチすることができる。Y−ROM2から逆数1/Uが
出力される。
MPX回路4をNに選択し、ゲート回路10のゲート信
号入力を0にすると、加算回路11の出力は、 となり、これをデータ・バスへ出力した後に、X−レジ
スタ6にラッチする。
X=S となる。また、ラッチ3に、端子0へのパルスによりY
−ROM2の出力1/Uをラッチする。
MPX回路4をMに選択し、ゲート回路10のゲート信
号入力を1にすると、加算回路11の出力は、 X*(1/Y)Z=S*1/U(V*SW) =1/U*SV*SW となる。MPX回路8をPに選択し、Z−レジスタ9に
このデータをラッチする。同時にデータTをY−レジス
タ1にラッチする。
ステップと同様にすると加算回路11の出力は、 となり、これをX−レジスタ6にラッチする。
ステップと同様にしてZ−レジスタに、X*YZ
=S*T(1/U*SV*SW) =T*S1/U*SV*SW をラッチする。
MPX回路4をNに選択し、ゲート回路10のゲート入
力信号を1にすると、加算回路11の出力は、 X*LXZ=S*S(T*S1/U*S
V*SW) =ST*S1/U*SV*SW となり、これをデータ・バス上に出力する。
以上の様にLX−レジスタ5にデータSを記憶させ、同
時にゲート回路10でゲート制御を行うことにより、S
からSK+1を求める演算を新たにデータSを入力した
り、Z−レジスタ9を操作したりせずに行なうことがで
きる。またMPX回路8により、演算結果をデータ・バ
スを介さずにZ−レジスタ9にラッチすることができる
ため、多項式演算のステップ数を減少させることができ
る。
ところで上記の演算において、MPX回路4とゲート回
路10の制御を別々に行なっていたが、MPX回路4が
Nを選択する時にゲート回路10のゲート入力信号を0と
することにより、制御信号の数を減らすことができる。
この場合のブロック図を第5図に示す。同図は、第1図
におけるゲート回路10のZCゲート信号入力端子19を、
MPX回路4のYS制御信号入力端子14の内の1bitY
と共用させたものである。
第5図の装置を用いた場合、表2からわかるようにステ
ップ〜ステップまでは全く同様の演算が行なえる。
以下にステップ以降の動作について、他の実施例とし
て説明する。
′ステップと同様にしてZレジスタ9にX*YZ
=S*T(1/U*SV*SW =T*S1/U*SV*SW をラッチし、同時にデータSをY−レジスタ1にラッチ
する。
′MPX回路4をLに選択すると加算回路11の出力
は、 X*YZ=S*S)T*S1/U*S
*SW) =ST*S1/U*SV*SW となり、これをデータ・バス上に出力する。
このようにゲート回路10の制御入力として、MPX回路
4の制御入力の一部を用いても、演算の方法によりステ
ップ数を同じにすることができる。
〔発明の効果〕
本発明によれば、ガロア体上の演算装置において、高次
多項式の演算ステップ数を減少させる効果がある。
【図面の簡単な説明】
第1図は本発明の演算装置のブロック図、第2図は加算
回路図、第3図は乗算回路図、第4図はゲート回路図、
第5図は他の実施例として、演算ステップ数を変化させ
ずに制御信号の数を減少することができる演算装置のブ
ロック図の一例である。 1,3,5,6,9……ラッチ回路 2……変換ROM、4,8……MPX回路 7……乗算回路、10……ゲート回路 11……加算回路、12……出力バッファ 13,14,15,16,17,18……制御信号入力端子

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ガロア体GF(2)上で演算を行う演算
    装置において、外部よりデータの入力を行うデータバス
    と、 第1の記憶命令を入力する第1の記憶命令入力端子(13)
    と、 第2の記憶命令を入力する第2の記憶命令入力端子(18)
    と、 第3の記憶命令を入力する第3の記憶命令入力端子(17)
    と、 第4の記憶命令を入力する第4の記憶命令入力端子(16)
    と、 該データバス上のデータを、該第1の記憶命令入力端子
    より入力される第1の記憶命令に従って記憶する第1の
    記憶回路(1)と、 該データバス上のデータを、該第2の記憶命令入力端子
    より入力される第2の記憶命令に従って記憶する第2の
    記憶回路(5)と、 該データバス上のデータを、該第3の記憶命令入力端子
    より入力される第3の記憶命令に従って記憶する第3の
    記憶回路(6)と、 該第1の記憶回路に記憶されたデータの逆数を出力する
    変換回路(2)と、 該第1の記憶回路の出力か、該第2の記憶回路の出力
    か、該変換回路の出力のうちいずれかを選択する第1の
    選択回路(4)と、 該第1の選択回路の出力と該第3の記憶回路の出力のガ
    ロア体GF(2)上での乗算を行う乗算回路(7)と、 該データバス上のデータか、該演算装置の出力のうちい
    ずれかを選択する第2の選択回路(8)と、 該第2の選択回路の出力を、該第4の記憶命令入力端子
    より入力される第4の記憶命令に従って記憶する第4の
    記憶回路(9)と、 該第4の記憶回路の出力をそのまま出力するかまたは0
    を出力するゲート回路(10)と、 該乗算回路の出力と該ゲート回路の出力とのガロア体G
    F(2)上での加算を行い、該加算結果を該演算装置
    の出力とする加算回路(11)よりなることを特徴とするガ
    ロア体上の演算装置。
JP60026212A 1985-02-15 1985-02-15 ガロア体上の演算装置 Expired - Lifetime JPH0642632B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60026212A JPH0642632B2 (ja) 1985-02-15 1985-02-15 ガロア体上の演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60026212A JPH0642632B2 (ja) 1985-02-15 1985-02-15 ガロア体上の演算装置

Publications (2)

Publication Number Publication Date
JPS61187422A JPS61187422A (ja) 1986-08-21
JPH0642632B2 true JPH0642632B2 (ja) 1994-06-01

Family

ID=12187123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60026212A Expired - Lifetime JPH0642632B2 (ja) 1985-02-15 1985-02-15 ガロア体上の演算装置

Country Status (1)

Country Link
JP (1) JPH0642632B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2622861B2 (ja) * 1988-08-17 1997-06-25 松下電器産業株式会社 ガロア拡大体演算器
JP2701378B2 (ja) * 1988-10-26 1998-01-21 三菱電機株式会社 演算方式

Also Published As

Publication number Publication date
JPS61187422A (ja) 1986-08-21

Similar Documents

Publication Publication Date Title
JPH0680491B2 (ja) 有限体の演算回路
JPH0642632B2 (ja) ガロア体上の演算装置
JP2842947B2 (ja) ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ
US5341322A (en) Bit level pipeline divide circuit and method therefor
Srinivas et al. A fast radix 4 division algorithm
JP2737933B2 (ja) 除算装置
JP2991788B2 (ja) 復号器
JPH11317676A (ja) 有限フィ―ルドでの任意要素の逆数具現回路
JPH0778748B2 (ja) ガロア体演算ユニット
KR920010993B1 (ko) 고차 다항식 연산장치
JP3250363B2 (ja) 演算装置
JP2701378B2 (ja) 演算方式
JP3206863B2 (ja) コード変換方法及びコード変換器
JP2705162B2 (ja) 演算処理装置
JP2529890B2 (ja) 乗算剰余演算器
JP3517162B2 (ja) 除算・開平演算装置
JP3131969B2 (ja) 演算装置
JP2800598B2 (ja) 誤り訂正復号装置
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
US6041341A (en) Method and circuit for adding operands of multiple size
JPH0834440B2 (ja) ガロア体演算方法
JPH0137049B2 (ja)
JPH01237831A (ja) 除算装置
JPH05266060A (ja) マトリクス演算回路
JPH0580978A (ja) 演算処理回路

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term