【発明の詳細な説明】
主方程式の求解回路と、このような回路に含まれるリード−ソロモン型デコーダ
本発明は主方程式の求解回路と、そしてこの回路をエラーデコーダ−修正器に
応用することに関する。ガロワ体に関する算術演算は、幾つかの応用に有用であ
る。重要な応用の1つは、BCH型とそして特にリード−ソロモン型巡回コード
を利用する伝送エラーのコーダおよびデコーダ−修正器の製作である(E.R.
バールカンプ著「代数学的コード化理論」マックグローヒル、ニューヨーク、1
946参照)。
基数2mのガロワ体CG(2m)に関心が寄せられている。なお、この場合mは
1以上の整数である。ガロワ体CG(2m)を生成するために用いられる次数m
の生成多項式は、
f(x)=xm+fm-1 xm-1+fm-2 xm-2+...+f1x+f0で表され
おいてf0=1であり、そしてαは多項式f(x)の根であるCG(2m)の基
本要素である。αの連続累乗αi(0≦i<2m −1)はC(2m)の2m−1個
の非空白要素を定義する。
基本要素αに関連するガロワ体CG(2m)のいわゆる標準基は要素α0=1
,α1=α,α2,.....αm-1 によって構成される。ガロワ体CG(2m)
の全要素Aは、標準基(1,α,...αm-1)内のAの座標を構成する固有の
ができる。すなわち
ガロワ体CG(2m)に関して、その他の基を定義することもできる。例えば、
ガロワ体CG(2m)はまたガロワ体CG(2)に対するm次元のベクトル空間と
して考えることもでき、CG(2m)から線形に独立している全ての昇順m
個の要素がその基を構成する。特に、CG(2m)の全要素xに対して、以下の
式、すなわちによって定義されているTr(・)で示される「対角和」関数の特性によって、
することができる。
この関数Trは線形でありそしてCG(2)にそれらの値をとる。標準基(1
,α,...αm-1)の双対基は、0≦i≦m−1でかつi≠kの場合のTr(
αi βiゲ)=1およびTr(αi βk)=0ようなCG(2m)の固有な昇順
は、以下の式すなわち
ただし、b’i=Tr(Bαi)
有な昇順mビット(b’0,b’1 ,...,b’m-1)によって表すことがで
きる。
「ビット直列リード−ソロモン型エンコーダ」(情報理論に関する米国電気電
子学会の会報、IT−28巻、6号、1982年11月参照)において、E.R
.バールカンプはリード−ソロモン型コーダに用いることができる乗算回路を提
示しているが、これではオペランドAの1つは標準基(関係式(l))で、他の
オペランドBは双対基(関係式(2))で表され、そして)C=ABの積は、以
下の式、すなわち
により双対基で出される。
双対基によるこの乗算回路は、最下位のビットから始め各サイクルごとに1ビ
ットの割合で、mクロック周期の2つのオペランドの積C=ABの双対基による
座標を級数として提供する。
本発明は、特にリード−ソロモン型デコーダにその応用例を見出している。ガ
ロワ体CG(2m)に関して定義されているリード−ソロモンRSのコード(N
,N−2t,t)に関心が寄せられている。リード−ソロモンコードはブロック
になっている巡回コードであって、CG(2m)における係数を有する次数2t
の生成多項式g(x)は、以下の式、すなわち
に基づき、だだし、Iは整数の定数であるが、その根としてガロワ体CG(2m
)の基本要素Ψの2t連続累乗を有し、Ψはαに等しいか、またはより一般的に
はガロワ体の生成多項式f(x)のあらゆる根に等しい。各コードワードは、独
立のN−2t個の情報記号を表すガロワ体CG(2m)のN個の記号(N<2m
)から成る。数値tは、コードが代数的に修正可能なエラー記号の最大値である
。デコーダによって受信される各ブロックは、以下の式、すなわち
個の記号から成る。
受信記号にエラーがない場合、コードg(x)の生成多項式はこの多項式R(
x)の1因子にである。
一般的に復号方法にはエラーシンドロームの計算が含まれる。1つのシンドロ
ームは、ガロワ体のある要素に対する多項式R(x)の値である。多くの場合、
コードの生成多項式の2t個の根に対するシンドロームの以下のような式、すな
わち、Si=R(ΨI+i)、ただし0≦i≦2t−1による計算に限定される。
受信ブロックがV個のエラー記号、すなわち
び0≦h(v)≦N−1)を含むならば、そのとき各シンドロームSiは以下の
式、すなわち
(ただし、この式でeh(v)は記号Rh(v)に関するエラーの振幅を示す。)を満た
す。
以下の式、すなわち
によって、シンドロームSiを計算する便利な方法は、反復関係式を利用するた
めに主として乗算器と加算器とそしてレジスタとから成る回路を用いることであ
る。
初期化状態Si(0)=rN-1で、シンドロームSiは、記号rN-1-nが(降位
するとすぐに以下の式、すなわちSi=Si (N-1)によってその値が得られる。
2t個の関係式(4)、は、2V個の未知数、すなわちエラーの位置h(v)
と振幅eh(v)を有する。これらの方程式を解くために、大部分の復号代数演算に
は、その根は当該形式のガロワ体の要素Ψ-h(v) である次数Vのエラー位置決定
多項式σ(x)の計算が含まれる。エラー位置決定多項式は、以下の通りである。
すなわち
ここで、k=σ0はガロワ体CG(2m)の任意の要素であり、u>Vのときσu
=0である。この多項式の係数は以下の式、すなわち
で表される線形システムを満足させる。
この線形システム(6)を解くには、様々な算法、特にユークリッド算法とバ
ールカンプ−マッセイ型の算法がある。ユークリッド算法は概念的には単純であ
るが、超大規模集積回路でこれを用いると、バールカンプ−マッセイ型算法より
も(論理ゲートの数の面で)複雑になる。バールカンプ−マッセイ型算法は2t
回の連続反復でこの方程式(6)を解くが、この反復は伝統的には、当該システ
ム(6)を理論的モデルで表す線形演算子を備えたシフトレジスタという反復構
造として理解されている。バールカンプーマッセイ型算法の伝統的な変形では(
R.E.ブラハト,アディソン−ウェズレイ共著の「エラー制御コードの理論と
実際」リーディング社、マサチューセッツ、1993年を参照せよ)、以下の様
な変数、すなわち、
― 2t回の反復の終了時にσ(x)に等しくなる位置決定多項式σ(k)(x)
― 反復のとき、位置決定多項式の更新に利用する中間多項式λ(k)(x)と
―σ(k)(x)の次数を表す変数: Lk (初期値L0=0)と、
― ガロワ体CG(2m)内の値の予測偏差(「ずれ」)Δkと、そして
― 2値変数:δk
とが用いられ、そして各反復k(1≦k≦2t)ごとになされる計算は、以下の
式、すなわち
とによる。
バールカンプ−マッセイ型算法の様々な変形が、その実施を簡単にするために
、提案された。それには例えば、S.チョームチェイ他の論文「リード−ソロモ
ン復号たのための時間領域算法とアーキテクチャ」、米国電気電子学会の会報−
I、140巻、3号、1993年6月、頁189〜196、または特許文書WO
95/12850を参照することができる。I.S.リード他の論文「逆数不要
のバールカンプ−マッセイ型算法の超LSI設計」、米国電気電子学会会報−E
、138巻、5号、1991年9月、頁295〜298においては、予測偏差値
の逆数Δk -1を計算しなくてもよい点において(式7.5参照)、興味深い変形
におけるk=1の代わりに、ガロワ体CG(2m)内に先験的に何らかの値を考
えておくことに帰す。
エラー位置決定多項式がいったん計算されると、エラーの位置h(v)を得る
ために、その根が決定される。そのためにしばしば用いられる手続き、すなわち
、いわゆる「チャンのリサーチ」では、ガロワ体CG(2m)の各要素に対する
多項式σ(x)の値が計算され、σ(x)=0になるごとに1つのエラーが識別
される(R.T.チャンによる論文「BCHコードのための巡回復号手続き」、
米国電気電子学会の会報「情報理論について」10巻、1964年、頁357〜
363を参照せよ)。この手続きは、以下の式、すなわち
によって、n=0.1,...,N−1に対して、値σ(Ψ1-N+n)の反復的計算
を行う。
そのとき、以下の式、すなわち
によって、反復関係式を更新し、
初期値は以下の式、すなわちによって出される。
エラーの振幅は、例えば、フォーネイの算法によって評価される(G.D.フ
ォーネイによる論文「BCHコードの復号について」、米国電気電子学会の会報
「情報理論」11巻、1965年、頁549〜557を参照せよ)。エラー評価
多項式ω(x)は以下の主方程式、すなわち
によって定義される。
シンドロームの多項式は、以下のS(x)、すなわち
によって表される。
その時、エラーの振幅は以下の式、すなわち
によって得られる。
ただし、この式においてσ’(x)はエラー位置決定多項式の導関数を示す。n
=0,1,...,N−1に対する分母Ψ1-N+n σ’(Ψ1-N+n)は、シャンの
リーサーチの時に〔奇数uに対する項を合計する(式8)のような和によって)
簡単に得ることができる。分子Ψ(I-1)(1-N+n)ω(Ψ1-N+n)は、以下の式、す
なわち
によって、n=0,1,...,N−1に対するシャンのリーサーチと類似の手
続きで得ることができ、
その時、以下の反復関係式、すなわちも用いられ、
初期化は以下の式、すなわち
による。
主方程式がバールカンプ−マッセイ型算法によって解かれるとき、評価多項式
ω(x)の係数は、この算法の2t回の反復時に計算することができる。上述し
れ、そして各反復k(1≦k≦2t)には、(式7.1)から(式7.5)まで
の計算に加えて、ω(2t)(x)=ω(x)に導く(式7.4)および(式7.5
)に類似している以下の関係式、すなわち
とによる多項式ω(k)(x)とμ(k)(x)の更新が含まれる。
その概要についてはすでに上述されている復号プロセスは、必要な復号時間お
よびバッファ記憶容量を減少させるためのパイプライン方式の構造を充分満足さ
せるものであって、復号回路の1部が現行のブロックに関して主方程式を解いて
いる間に、この回路のもう1つ別の部分が次のブロックに関するシンドロームを
演算し、そして更にもう1つの部分が先行のブロックに対する修正を行う。
実際のデコーダは、1秒間に数百メガビット(Mbit/s)に達することも
あり得る、非常に速い情報の流れを処理できなければならない。大衆用の超LS
I回路でそのような処理速度を達成することは、デコーダの設計者にとって大き
な挑戦である。
集積の制約に応えるには、デコーダは、一定の処理速度を得るのに必要な回路
素子数を最小限に抑えながら、均整のとれた構造を示すことが必要である。特に
、かなりの珪素表層を必要とする乗算回路の数を制限することが望ましい。バー
ルカンプ−マッセイ型算法の典型的な実施例においては、位置決定多項式の各係
数に対して少なくとも3つの乗算器が必要であり、その1つは方程式(7.1)
の積σu (k-1) SK-u-1を得るため、もう1つは方程式(7.4)で用いられてい
る積Δk λu-1 (k-1) のため、そして第3は方程式(7.5)のために利用され
る積Δk -1σu (k-1) のためである。特許文書WO95/12850には、
各係数に対して2つの乗算器しか用いていないアーキテクチャが記載されている
。しかし、このアーキテクチャは、予測偏差が計算されると同時に中間多項式が
各反復ごとの第1の段階で更新され、そして各反復ごとの第2の段階で位置決定
多項式が更新されるバールカンプ−マッセイ型算法の特殊な変形のためにのみ、
ふさわしい。
本発明の1つの目的は、BCMデコーダ、特にリード−ソロモン型デコーダに
おいて主方程式の求解に必要な構成要素の数を制限するためのもう1つ別の解決
法を供することと、そして各反復ごとの第1の段階で予測偏差が計算されかつ各
反復ごとの第2の段階で位置決定多項式および中間多項式が更新されるバールカ
ンプ−マッセイ型算法の様々な変形に対して上記解決法が互換性があることとで
ある。
したがって本発明は、2t個のエラーシンドロームからエラー位置決定多項式
の係数を形成するための主方程式の求解回路において、上記シンドロームと位置
決定多項式の上記係数とは基数2ズ のガロワ体CGの要素であり、主方程式の求
解回路は2t回の連続反復で作動し、各反復には予測偏差を計算する第1の段階
とそして位置決定多項式および関連中間多項式の係数を更新する第2の段階とが
含まれる主方程式の求解回路を供する。この主方程式の求解回路には、
― 0桁からt桁までのt+1個の演算セルであって、u桁(0≦u≦t)の各
セルはそれぞれ位置決定多項式の次数uの係数に関連させられおり、そして各反
復k(0≦k≦2t)、ごとの第1の段階のとき、2tシンドロームの1つと反
復k−1の際に得られた関連係数の値との積を転送するようになっている0桁か
らt桁までのt+1個の演算セルと、
― 各反復に対して予測偏差を供給するように各反復の第1の段階のときt+1
個のセルによって転送された上記積を加算するための加算手段と、そして
― 上記反復のためと先行の各反復のために供給された予測偏差に対応して各反
復ごとに得られたガロワ体の第1と第2のパラメタおよび2値パラメタを演算セ
ルの各々に供給するための論理手段
とが含まれる。
0≦u≦tであるu桁の各演算セルには、位置決定多項式の次数uの係数を保
存するためのmビットの第1のレジスタと、セルの第1の入力に供給される第1
のオペランドとセルの上記第1のレジスタに読み込まれる第2のオペランドとを
有する第1の乗算回路と、そしてセルの第2の入力に供給される第1のオペラン
ドと上記中間多項式のu−1次数の係数に等しい第2のオペランドとを有する第
2の乗算回路とが含まれている。0≦u≦t−1であるu桁の各演算セルは、中
間多項式の次数uの係数を保存しかつこの係数をu+1桁のセルの第2の乗算回
路に供給するためのmビットの第2のレジスタを含む。論理手段は、0≦u≦t
であるu桁の各セルの上記第2の入力にガロワ体の上記第2のパラメタを供給す
る。1≦u≦tである次数uの各演算セルはマルチプレクサに連結されており、
このマルチプレクサは、各反復の第1の段階のための2tシンドロームの1つと
、そして各反復の第2の段階のために論理手段によって供給されたガロワ体の上
記第1のパラメタとを、当該セルの上記第1の入力にそれぞれ供給する。上記加
算手段は上記第1の加算回路によって転送された積を受信する。次数uの当該セ
ルの第1と第2の乗算回路により転送された積と、次数uのセルのmビットの第
1のレジスタの内容と、次数u−1のセルのmビットの第2のレジスタの内容と
、そして論理手段により供給された2値パラメタの内容とに対応して、1≦u≦
tである次数uの各セルはまた、各反復の第2の段階の時に、mビットのその第
1のレジスタおよび/またはmビットのその第2のレジスタの内容を更新するた
めの手段を含む。
したがって、双対基の乗算器であることが好ましい2つの乗算器と、mビット
の2つのレジスタと、そしてマルチプレクサおよび加算器からなる簡単な更新手
段とのみを各係数のために利用して、エラー位置決定多項式を計算することがで
きる〔システム(6)の求解〕。
本発明のもう1つの側面は、基数2m のガロワ体のN個の記号から成るブロッ
クをリード−ソロモンのコードに従って復号するためのリード−ソロモン型デコ
ーダであって、上記コードの生成多項式はi=0,1,...,2t−1に対し
てΨI+i 形式の2t個の根を有し、この場合Ψはガロワ体の基本要素を表しそし
てIは整数の定数を表すリード−ソロモン型デコーダにおいて、このデコーダに
は、
当該コードの生成多項式の2t個の根に関連するN個の記号から成る各ブロッ
クに対する2t個のエラーシンドロームの値を供給するためのシンドローム演算
モジュールと、
上記シンドローム演算モジュールによって供給された2t個のシンドロームか
らエラー位置決定多項式の係数を生成するための上記一定タイプの主方程式の求
解回路と、そして
主方程式の求解回路により供給された係数に応じてブロックの各記号ごとに修
正項を評価するための修正演算モジュールであって、上記修正項はブロックの記
号における不測のエラーを修正するためにそれぞれの記号に付け加えられる修正
演算モジュール
とが含まれるリード−ソロモン型デコーダに関するものである。
本発明は、以下の添付の図面を参照しながらなされる、非限定的な幾つかの実
施例に基づく下記の説明を読めば、より良く理解できるであろう。すなわち、
― 図1は、本発明による乗算回路の系統図であり、― 図2は、図1の回路素
子を表す図、
― 図3および4は、ガロワ体CG(28)に関する乗算回路の2つの実施例の
図、
― 図5は、本発明を用いたリード−ソロモン型デコーダ内に用いられるレジス
タの単線結線図、
― 図6は、本発明を用いたリード−ソロモン型デコーダの系統図、
― 図7は、図6のデコーダのシンドローム演算回路の図、
― 図8は、図7の回路の動作を表す時系列図表を示すものであり、
― 図9は、図6のデコーダの主方程式の求解回路図であり、
― 図10は、図9の回路の演算セルの図、
― 図11は、図10に示されているタイプの演算セルと共に作動するように設
計されている図9の回路の演算論理図、
― 図12は、図9〜11の回路の動作を表す時系列図表を示し、
― 図13および14は、主方程式の求解回路の1つの変形例を表す図10と1
1とに類似の図、
― 図15および16は、図6のデコーダのチャンのリサーチ回路図、
― 図17は、図15と16の回路の動作を表す時系列図表を示し、そして
― 図18は、チャンのリサーチ回路の変形例を表す図である。
図1の回路は、m>1であるガロワ体CG(2m)関する乗算を具体化したも
のである。1より大きい整数jはmの除数を表す。乗算回路は、j個のレジスタ
)-1,q から成る。図1はそれぞれに1つのレジスタRqの記憶素子Mp,ヂ を含む
セル30p,ヂ を示している。このようなセル30p,qの回路図は図2に示されて
いる。記憶素子Mp,q(0≦p≦m/j−1,0≦q≦j−1)は典型的には、
その出力で利用可能なzp,ヂ と表示されている1ビットを含むフリップフロッ
プDから成り、そしてその入力は、マルチプレクサ33p.qの出力に接続されて
いる。これらのフリップフロップDは共通クロックによってその速度を調整され
ている。このマルチプレクサ33p,qは、オペランドBの双対基座標b' pj+q〔関
係式(2)〕を受信する乗算回路の入力に接続される第1の入力と連結されてお
り、そしてp<m/j−1ならばフリップフロップ33p+1,qの出力にそしてp
=m/j−1ならばシフトレジスタRヂ の直列入力に接続される第2の入力とも
連結されている。マルチプレクサ33p,qは、1つの共通2進信号SLBによっ
て制御され、この信号は、SLB=1のとき(並列ロードモード)、第1の入力
を活動化し、そしてSLB=0のとき(直列シフトモード)、第2の入力を活動
化する。シフトレジスタRq(0≦q≦j−1)の直列入力にあるビットをzm/j ,q
とする。
セル30p,qは昇順のj個のビットXp,qまたはj個のビットXp,qのベクト
≦r≦qでは、ビットxp,q,rはfpj+q-r・zp,qに対応し、一方q+1≦r≦j
−1では、ビットxp,q,rはf(p+1)j+q-r・zp+1qに対応する。非空白のビット
fiの位置は、ガロワ体CG(2m)を生成するために保持されている基本多項式
によって既知であるので、セル30p,qは、生成多項式内の係数1に相当するビ
ットxp,q,r、すなわち、もし0≦r≦qかつfpj+q-r≠0ならば、xp. q,r
=zp,qであり、そしてもしq+1≦r≦j−1でかつf(p+1)j+q-r≠0なら
ば、xp,q,r=zp+1,qである上記ビットxp,q,rを転送するだけにすること
’1,...,x’j-1)を転送するために、並列のj個の加算器を形成する組
合せ論理回路32は、ベクトルXp,q(0≦p≦m/j−1,0≦q≦m/j−
1)を合算する。論理回路32は単に、排他的ORゲート群から成り、r桁の加
算器(0≦r≦j−1)は以下の式、すなわち
によって、2進加算を行う。
このビットX'rは、レジスタRrの入力にアドレス指定され、したがって当該
ビットは次のシフト周期のときにフリップフロップzm/j-1,r内にロードされる
ことになるzm/j,rと以前に呼ばれていたビットに対応する。
乗算を初期化するには、クロック周期k=0の間に、信号SLBを1にしてお
)をレジスタRqにロードする。レジスタRqの内容は、そのとき以下のように
=b’pj+q=Tr(Bαpj+q)である。その他、この初期周期k=0の場合、以
下の式が成り立つ。すなわち
今示したばかりのように、r−1=0のときに生じることであるが、0≦q≦
、以下の式が得られる。すなわち
こうして、P=m/j,かつ0≦q≦j−1ならば、またzp,ヂ(0)=Tr
(Bαpj+q)であることが、反復によって示されている。
レジスタRqがいったん初期化されれれば、レジスタRq内でm/j−1周期
の連続シフトがなされる(SLB=0)。周期k−1のとき、0≦p≦m/jで
かつ0≦q≦j−1ならば、zp,q (k-1)=Tr(Bα(p+k-1)j+q)であると仮定
する(k−1=0でそうなることは既に分かっている)。そのとき、0≦p≦m
/j−1かつ0≦q≦j−1ならば、以下の式が成り立つ。すなわち
そして、一方以下の式も成り立つ。すなわち
反復によって、上記と同じ理由でこの場合も0≦q≦j−1ならば、zm/j,q ( k)
=Tr(βαm+kj+q)であることが示される。
その結果、各クロック周期k(k=0,1...)に際して、0≦p≦m/j
でかつ0≦q≦j−1であれば、zp,q (k)=Tr(Bα(p+k)j+q)である。
1,...,34p,q,j-1 を含む。0≦r≦qならば、ANDゲート34p,q,rは
、フリップフロップMp,qの入力に接続されている入力と、図示されていないレ
ジスタに事前にロードされているビットapj+q-rを受信する入力と、そしてビッ
トyp,q,rを転送する出力とを有している。q+1≦r≦j−1ならば、AND
ゲート34p,q,rは、マルチプレクサ33p,q,rの第2の入力に接続される入力(
SLB=0)と、ビットa(p+1)j+q-rを受信する入力と、そしてビットyp, q,j-1は、セル30p,qから供給される昇順j個のビットyp,qまたはj個のビッ
トyp,qのベクトルを形成する。
図1に示されているように、並列のj個の加算器を形成する組合せ論理回路3
送するために、ベクトルYp,q(0≦p≦m/j−1,0≦q≦j−1)の合算
を行う。論理回路36は単に、排他的なORゲートの群から成り、r桁(0≦r
≦j−1)の加算器は以下の式、すなわち
によって2進加算を行う。
このビットy’rは乗算回路の出力Wrにアドレス指定される。シフト周期kの
とき、その値は以下の式で表される。すなわち、
したがって、乗算回路は直列/並列混合モードで積C=ABの双対基座標を転
送し、しかもそれはm/jのクロック周期、すなわちオペランドAおよびBの座
標をこれらの各レジスタ内に並列ロードするための周期と、そしてレジスタRq
内のm/j−1のシフト周期とでのみ行われる。
j=1の場合で上述されたばかりの乗算器のアーキテクチャを拡張すれば、ク
ロック周期で1ビットを転送する双対基乗算器の伝統的構造を見出すことになろ
う。
図3は、m=8,j=2の場合における、本発明による乗算回路の特殊な事例
を示している。ガロワ体CG(28)は、16進法にしたがっている指標Hex
、α=(02)Hexを基本要素として認めて、この場合では生成多項式f(x)
=x8+x4+x3+x2+1から作られる。標準基(1,α,α2,...,
C1)Hex,(43)Hex,(02)Hex,(01)Hex,(8E)Hex,(47)H ex
〕である。
図1と2で用いられている参照記号のRq,zp.q'x'r,32、34p,q,r'3
6,Wrは、類似の要素を示すために、0≦p≦m/j−1=3.0≦q≦j−
1=1として図3にも繰り返されているが、ロードマルチプレクサ33p,qは図
3を読み取り易くするために図示されていない。オペランドAの標準基座標ai
は、8ビットの並列レジスタ38内に保存される。選択された生成多項式と共に
、組合せ論理回路32は、2つの入力を有する6つの排他的ORゲート320〜
325から成り、これらのゲートは2段になっており、第1の段は4つのゲート
320〜323、そして第2の段は、2つのゲート324、325を有してい
+z1,1を実施し、一方ゲート321,323、325は2進加算x’1=z2, 0または1の2進加算器は、その出力はレジスタRrの直列入力に接続されてい
るが、3つの入力を有しており、これらの入力は、0≦p≦m/j−1=3、r
≦q≦j−1=1、かつf2p+q-r=1であれば、記憶素子Mp,qの出力にそれぞ
れ接続され、0≦p≦3、0≦q≦r−1、かつf2(p+1)+q-r=1であれば、記
憶素子Mp,ヂ の入力にそれぞれ接続される。
路36は、3段になっている14の排他的ORゲート360〜373から成り、
第1の段は8つのゲート360〜367、第2の段は4つのゲート368〜37
1、そして第3の段は2つのゲート372、373を有している。ゲート360
、362、365、367、368、371,そして372は、2進加算y’0
0、そして373は、2進加算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を実施する。
この回路は、伝統的な双対基乗算器におけるm=8ではなく、m/j=4のク
ロック周期で乗算を実行する。こうした速度上昇によって生じる複雑さは、非常
に限定されたものである。つまり、2つの入力を有するゲートをベースにした実
施例においては、7つのANDゲートと10の排他的ORゲートの追加が、説明
されている具体例に必要なだけであって、これは、当該回路の珪素表層の約15
%を占めるに過ぎない。
標準基で表されているオペランドAが一定であるとき、乗算回路は単純化する
ことができる。レジスタ38とmj個のANDゲート34p,q,rはもはや必要で
はなく、組合せ論理回路36は一般的により少数の排他的ORゲートしか必要と
しない。その出力がこの回路の出力Wrの1つを構成する論理回路36のj個の
2進加算器の各々はそのとき、その複数の入力を有し、これらの入力は、0≦p
≦m/j−1、r≦q≦j−1、かつapj+q-r=1の場合では記憶素子Mp,qの
出力に接続され、そして0≦p≦m/j−1、0≦q≦j−1、かつa(p+1)j+q -r
=1の場合では記憶素子Mp,qの入力に接続される。したがって、図4には、
m=8,j=2の場合、固定オペランドA=(42)Hex と双対基で表される何
らかのオペランドBの乗算をm/j=4のクロック周期で行う回路が示されてい
る。図3の参照記号は、同様な要素を示すために図4でも繰り返されている。特
する2つの排他的ORゲートのみで構成されている。
図5には、図1〜4を参照しながら上述されたタイプの1つ以上の乗算回路を
利用する超LSIアーキテクチャに相応しいmビットのレジスタ構造が示されて
いる。乗算器のように、このレジスタはjビットまたはmビットを並列処理する
幾つかの入力/出力を有している。図5の単線結線図では、このレジスタはj個
成り、これらのフリップフロップは、フリップフロップD12p,q(p<m/j
−1)の入力DがフリップフロップD12p+1,qの出力Qに接続されるように、
直列に取り付けられている。レジスタのjビット14の並列入力は、フリツプフ
ロップD12m/j-1,qのj個の入力に対応し、最下位のビット(LSB)はフリ
ト(MSB)はフリップフロップD12m/j-1,j-1の入力Dにアドレス指定され
フリップフロップD12p,qは、上記乗算回路にシフト周期を与えるクロツク信
号と同じクロック信号CLKjによって速度を調整される。各フリップフロップ
Dにはその外に、妥当性検査入力E(イネーブル)と再初期化入力R(リセット
)とを有するが、入力Eは、この入力Eに存在する妥当性検査信号ENが論理回
路1のレベルにあるとき、クロックCLKj の各立ち上がり前縁ごとにレジスタ
10q内のシフトを許可し、1そして入力Rは、この入力Rに存在する再初期化
信号
RESが論理回路1のレベルにあるとき、クロックCLKjの立ち上がり前縁ご
とに、フリップフロップの内容をゼロにする。図5に示されているレジスタはm
ビット18、20に対して並列処理する2つの出力を有しており、これらは以後
それぞれタイプ1の出力、タイプ2の出力と呼ばれる。タイプ1の出力18に与
えられる重みpj+qのビットはフリップフロップDp.qの出力Qにあるビット
である。タイプ2の出力20に与えられる重みpj+qのビットはフリップフロ
ップDp.qの入力Dにあるビットである。
図5に示されているmビットのレジスタを利用する場合には、3つのタイプの
出力16、18、20のうち、その1つまたは2つがもつれないように、それら
の1つまたはいくつかを必要とすることがある。タイプ2の並列出力しか必要で
きることに留意して欲しい。
図6は、本発明を含むリード−ソロモン型デコーダの一般系統図である。受信
信号の記号は、このデローダのmビットに対する並列入力に達する。各ブロック
各記号は標準基(1,α,...,αm-1)でそのm個の2進座標により表され
る。変換回路40は、連続記号の昇順m個の2進座標を受信し、そして記号の双
対基座標を転送するためにこれらを変換する。各記号に対して、重みが増大する
j個の2進座標のm/j個の群として双対基座標が転送されるが、1つの群はク
ロックCLKjの各周期ごとに生成される。回路40は単に1つのレジスタとそ
して幾つかの論理ゲートから成り立つようにすることができるが、このレジスタ
内では、連続記号の標準基座標は、記号CLKjのクロックのリズムで書かれ、
,...,βm-1)との関係を配慮しながら、クロックCLKj(記号CLKjの
クロックよりm/j倍速い)の周期ごとにj個の双対基座標を転送するようにな
っている。m=8、j=2、f(x)=x8+x4+x3+x2+1そしてα
ロックCLKjのm/j=4周期で変換回路40によって以下のように転送され
そして第2の周期では、a’2=a3+a7かつa’3=a2+a6+a7にな
+a4+a5+a6に、そして第4の周期では、a’6=a3+a4+a5かつa’7=
a2+a3+a4になるように、転送される。
モジュール42は、変換回路40により供給された受信記号の双対基座標の基
ドロームは次に主方程式の求解回路44によって処理され、この回路44はエラ
,N−2,...,1,0の順でエラーの振幅eiを決定する。記号に付け加え
られるこれらの振幅eiは、mビット48の並列処理加算器によってriに対応す
る。振幅eゲを生成するためにモジュール40、42、44、46に要する時間
に配慮しながら、先入れ先出し(FIFO)メモリから構成されることも可能な
回路50は、加算器48の入力において記号rゲを遅延させる。
上述の様々な制御信号と同様に、クロック信号CLKjとCLKmは、デコーダ
の時間基準にしたがって供給される。
シンドロームSi=R(ΨI+i)(0≦i≦2t−1)の演算のために、モジ
ュール42は、図7に示されている回路のような2t個の演算回路から成る。図
7の回路には、双対基の乗算器とjビット54の並列処理加算器とが含まれてお
り、上記乗算器の標準基で表されているオペランドAは一定であり、ΨI+iに等
しく、そしてjビットに対する上記加算器の第1の入力は記号rN-1-nのj個の
2進座標の1群を受信し、さらにjビットに対する上記加算器のもう1つの入力
算器の各出力Wヂより転送されたビットと、その第1の入力に受信した重みqの
ビットとの加算を行うdl乗算器52に双対基で表されているそのオペランドBを
供給するために、この回路には、2進信号M1により制御される乗算器56と、
そしてレジスタ58とが含まれる。このレジスタ58は図5を参照しながら上述
したタイプであり、jビットを並列処理する1つの入力と、そしてタイプ2の
mビットに並列な1つのみの出力を有している。
図7のシンドローム演算回路の作動は、図8の時系列図表に示されている。第
1の行は、記号CLKmのクロックのリズムにしたがった1ブロックの連続記号
、ブロックの周期性を有する。この信号は、各ブロックの最終記号の到達時に、
記号CLKmのクロックの周期と同じ期間続く論理レベル1のパルスを示す。M
1=1のとき、マルチプレクサ55はレジスタ58の並列入力に0であるjビッ
トのアドレスを指定し、M1=0のとき、マルチプレクサ55はレジスタ58の
並列入力に加算器54によって転送されたjビットのアドレスを指定する。マル
チプレクサにおけるオペランドBのロード信号SLBは、記号の周期性を有する
。SLB=1のとき、クロックCLKmの立ち上がり前縁がそれぞれ出現するよ
うに、この信号は、クロックCLKjの周期に等しい期間を有しかつレベル1の
パルスを示す。したがって、各ブロックの最初の記号rm-1+n=rN-1の到達に相
当する段階n=0に対してオペランドB=0がマルチプレクサ52にロードされ
、次の段階すなわちn=1(各段階はクロックCLKmの1周期だけ続く)の
である。各段階n(0≦n≦N−1)の間、記号rm-1+nは加算器54に達し、
そして数値Sゲ(n)は(上記関係式(5)参照)加算器54によって転送される
。次の段階n+1(ただしn=N−1のときは除く)の初めにこの数値Sゲ(n)
はオペランドBとしてマルチプレクサ52にロードされる。n=N−1の最後の
段階において、図8の最終行に示されているように、加算器54は双対基のj2
進座標のm/j個の群として、シンドロームの値Si=Si <N-1>を転送する。
図示されているように、ブロックの最終記号r0が到達するとただちに、すな
わちΘ1と記されている瞬間に、シンドロームSiが、マルチプレクサ54の出
る。j≧2である双対基乗算器を利用することは、クロックCLK1の一定の周
波数f1に対して、(j/m)fjの記号周波数、すなわち伝統的乗算器(j=
1)の場合よりj倍高い記号周波数に相当する入力の流れを処理できるという利
点がある。言い換えれば、記号周波数fmが定められると、j≧2である双対基
乗算器は、伝統的乗算器に必要なものよりもj倍低い周波数のクロックCLKj
を超LSI回路で用いることによって、最小の待機時間でシンドロームを計算で
きる。その結果、リード−ソロモン型デコーダのコンセプトに課せられていた技
術的制約がかなり軽減される。
しばしばあるΨ=αかつI=0の場合、コードの生成多項式の根ΨI+iのうち
αの乗数が小さい根と、そしてこれらの根の大部分とは、少数の標準基の非空白
座標を有する。したがって、シンドローム演算回路の乗算器52は単純な構造を
有し、そのためj≧2(典型的にはj=2)の場合を含み、あまり複雑にはなっ
てはいない。これは、m=8,t=8、N=204である、数値テレビジョンの
分野でチャンネルコード化のために定められている装置基本制御ブロック(DV
B)規格において、よく遭遇する事例である。
図9は、図6のデコーダの主方程式の求解回路44のアーキテクチャを示す。
回路44には、クロックCLKjによって歩調を合わせられておりかつ妥当性検
60u,...,602t-1が含まれる。これら2t個のレジスタ60uは、図5を
参照しながら上述されたタイプのものであり、jビットに対する1つの並列入力
と、jビットに対する1つの並列出力と、そしてタイプ1のmビツトに対する1
つの並列出力とを有する。各レジスタ60uは信号M1によって制御される各マ
ルチプレクサ62uに連結されている。マルチプレクサ62u(0≦u≦2t−1
)は、M1=0のときレジスタ60u-1のjビットに対する並列出力に、そして
M1=1のときシンドロームS2t-uの演算回路の加算器54の出力に、レジスタ
60uのjビットに対する並列入力を接続する。マルチプレクサ60は、M1=
0のときレジスタ602t-1のjビットに対する並列出力に、そしてM1=1のと
きシンドロームS0の演算回路の加算器54の出力に、レジスタ600のjビッ
トに対する並列入力を接続する。加算器54は、M1=1の間シンドロームを転
送する(図8)ので、M1=1のとき、これらのシンドロームはレジスタ60u
にロードされ、そしてM1=0のとき、シンドロームの値は、ループ接続されて
い
る複数のレジスタ60u内を回る。
エラー位置決定多項式σ(x)の各係数σu(0≦u≦t)に対して、回路4
4には、それぞれ演算セル64uと、信号M2によって制御されているマルチプ
レクサ66uと、そして変換回路68uとが含まれている。各変換回路68uは幾
つかの論理ゲートから成る装置であって、これらのゲートは、レジスタ60uの
mビットに対する並列出力に存在する、シンドロームを表すm個の双対基2進座
)と(1,α,...,αm-1)との関係を配慮しながら、このシンドロームの
m個の標準基2進座標を供給するために、上記双対基2進座標を変換する。 m
=8、j=2、f(x)=x8+x4+x3+X2+1かるα=(02)Hexで
図9〜11に示されている実施例では、主方程式の求解回路は、上述のI.S
.リード他の論文に記載されているバールカンプ−マッセイ型算法にしたがって
動作するように、配置されている。この算法は2t個の連続反復k=1,...
,2tにより実行され、そして、バールカンプ−マッセイ型算法の従来の変形で
は必要であった逆数の計算なしにすませられるガロワ体のパラメタγk-1を利用
する(関係式(7.5)参照)。リード他の算法は、以下の式で表すことができ
る。すなわち
初期化:
各反復kに対して:
エラー位置決定多項式とエラー評価多項式は、2t回の反復の終了時、すなわ
ちσ(x)=σ(2t)(x)およびω(x)=ω(2t)(x)のときに、以下の式、
すなわち
によって得られる。
図9および10を参照すると、各セル30u(0≦u≦t)には、5つの入力
1〜5と4つの出力6〜9がある。入力1〜3はmビットに対して並列な入力で
あり、入力4はjビットに対して並列な入力、そして入力5は2値入力である。
1〜5と4つの出力6〜9がある。入力1〜3はmビット並列入力であり、入力
4はjビット並列入力、そして入力5は2値入力である。出力6、7および9は
jビット並列出力でありそして出力8はmビット並列出力である。各セル64パ
には2つの双対基乗算器70、72と、図5を参照しながら上述したタイプのレ
ジスタであるmビットレジスタが2つ含まれており、それぞれ1つのjビット並
列入力と1つのjビット並列出力、そしてタイプ1のmビット並列出力を1つを
備えている。これら2つのレジスタ74、76は再初期値化信号として信号M1
、そして妥当性検査信号として、信号ENTを受信する。乗算器72の標準基オ
ペランドAはセルの入力1に存在するmビットに対応する。乗算器70の標準基
オペランドAは、セルの入力2に存在するmビットに対応する。乗算器70の双
対基オペランドBはそのmビット並列出力によってレジスタ74に読み込まれる
。各セル64uはその外に、一方の入力で乗算器70により転送されたjビット
を受信しそして他方の入力で乗算器72により転送されたjビットを受信するj
ビット並列加算器を含んでいる。加算器78のjビット出力は、レジスタ74の
jビット並列入力に接続されている。各セル64uにはまた、2値入力5に受信
されるビットによって制御されるマルチプレクサ80が含まれており、このビッ
トは反復k時にはδkに等しい。マルチプレクサ80を介して、レジスタ76の
jビット並列入力は、δk=1のとき、レジスタ74のjビット並列出力に、そ
してδk=0のとき、セルの入力4に接続される。レジスタ76のjビット並列
出力は、0≦u<tのときセル64u+1の入力4に接続されているセル64パの出
力7を構成する。レジスタ76のmビット並列出力は、0≦u<tのときセル6
4u+1の入力3に接続されているセル64uの出力8を構成する。セル640の入
力3およ4はレベル0のビットを受信する。乗算器72の双対基オペランドBは
セルの入力3にあるビットに対応する。セルの出力9はその加算器78の出力に
よって構成される。
以下に説明される演算論理回路82は、各反復k毎に(標準基で表されている
)ガロワ体のパラメタ(γk-1とΔk)の値と、この反復のための多項式σおよび
λの更新に利用される2値パラメタδkの値とを供給する(関係式(14.3)
と(14.4))。これらのパラメタΔkとδkは、セル64uの入力1および5
に論理回路82によってそれぞれ供給される。パラメタγk-1は各マルチプレクサ
66uの第1のmビット入力に現れる。マルチプレクサ66uの他方の入力は、変
換回路68jにより転送されたmビットを受信する。マルチプレクサ6
6パ の出力はセル64uの入力2に接続される。2つの段階、すなわち式(14
.1)による予測偏差Δkの計算のための第1の段階(M2=1:シンドローム
Sk-u-1がセル64uの入力2にアドレス指定される)と、そして式(14.3)
と(14.4)による係数の更新のための第2の段階(M2=0:パラメタγk- 1
が各セル64u、の入力2にアドレス指定される)とに、それぞれの反復を2つ
に分ける共通信号M2により、マルチプレクサ66uは制御される。
各反復k時に、係数σu (k)およびλu (k)双対基座標の更新値が演算されそして
セル64uのレジスタ74と76に保存される。当該算法に基づいてレジスタ7
4と76を初期化するために、レジスタ74と76に供給された再初期値化信号
(図5ではRESと呼ばれている)は、信号M1から構成され得る。しかし
ければならず、0ではならない(上述の数値例では、1=β5であり、その結果
D122.1である)。
各反復kの第1の段階において、セル64uのマルチプレクサ70は連続m/
j群として数量σ(k-1)Sk-U-1の双対基座標を供給する。jビット並列加算器8
4は、セル64uの出力6にそれぞれ接続されているt+1個の入力を有する。
加算器84のjビット出力は、mビットのレジスタ86のjビット並列入力に接
続されている。レジスタ86は、図5を参照しながら上述された、タイプ1のm
ビット並列出力を有するタイプである。これは、妥当性検査信号として信号EN
Δを受信する。こうして、双対基で表されている予測偏差Δk(関係式(14.
)参照)はレジスタ86に保存される。
図11には、反復の初期の諸段階において演算される予測偏差Δkを処理する
論理回路82の図が示されている。変換回路68uと類似の変換回路88は予測
偏差Δkの標準基座標を生成するが、この予測偏差Δkの双対基座標はレジスタ8
6で得ることができる。このようにして得られたΔkのm個の標準基座標は、セ
ル64uの入力1にアドレス指定される。論理回路82には、現行の反復のk番
目の値を供給するjビットコンピュータが含まれる。なお、jはlog2(2t)に
等しいかまたはそれより幾分大きい整数である。コンピュータ90は、信号M1
によってゼロに初期値化され、そして反復を調整する信号M2の各立ち上がり前
縁ごとに、1単位づつ増分される。jビット並列レジスタ92は整数の変数Lk
゛の値を保存するために備えられている。このレジスタ92は信号M1によって
ゼロに初期値化され、そして信号ENLの立ち上がり前縁毎とにその入力に存在
するビットを記録する。コンパレータ94はコンピュータ90およびレジスタ9
2内に存在するkの値とLkの値を比較し、そしてk>2Lk-1(すなわち、2Lk-1
≦k−1)を転送し、もしk≦2Lk-1ならば値0のビットを送る。このビッ
トはANDゲート96の一方の入力にアドレス指定され、その他方の入力はm個
の入力を有するOR回路98の出力に接続される。OR回路98のm個の入力は
、レジスタ86に存在する偏差Δkのm個の双対基2進座標を受信する。信号E
Nδによって同期をとられているフリップフロップD100は、2値パラメタδk
の現行の値を保存するために設置されている。このフリップフロップ100は
ANDゲート96の出力に接続され、そしてその出力Qはセル64パの入力5に
接続されている。ANDゲート96の出力は、Δk≠0かつ2Lk-1≦k−1のと
き、1であり、それ以外の場合では0であって、その結果δkは関係式(14.
2)にしたがって更新される。
論理回路82には、反復kのときにパラメタγk-1の標準基座標を保持するの
に必要なmビット並列レジスタ102が含まれている。このレジスタ102の出
力は、論理回路82のマルチプレクサ104の入力と同様に、マルチプレクサ6
6uの第1の入力にも接続されている。このマルチプレクサの他の入力は、偏差
Δkのm個の標準基座標を受信するために、変換回路88の出力に接続され、そ
してその出力はレジスタ102の入力に接続される。レジスタ102は信号M1
によって1(=標準基ではα0)に初期値化され、信号ENLの各立ち上がり前
縁ごとにマルチプレクサ104によって供給された値を記録する。マルチプレク
サ104は、ANDゲート106の出力ビットによって制御され、δk=1なら
ばγk=Δkに、δk=0ならばγk=Δkになるように、フリップフロップ100
の出力に存在するビットδkと信号M2とで論理積演算を行う(関係式(14.
8))。ANDゲート106は、レジスタ92に送信するもう1つのマルチプレ
クサを制御する。このマルチプレクサ108は2つのjビット入力を有し、
その1つはレジスタ92の出力に接続され、他の1つは減算器110の出力に接
続される。この減算器110は、数値K−Lk-1を生成するように、コンピュー
タ90の出力に接続されているその正の入力と、レジスタ92の出力に接続され
ているその負の入力とを有している。関係式(14.7)にしたがってδk=1
のときLk=k−Lk-1、そしてδk=0のときLk=K−Lk-1になるように、マル
チプレクサ108は、ゲート106からのレベル0の信号によって制御されてい
れば、レジスタ92の出力に、そうでない場合は、減算器110の出力にレジス
タ96の入力を接続する。
エラー評価多項式ω(x)の計算には、主方程式の求解回路44にはその外に
,112tが含まれている。セル112uのレジスタ74と76にはそれぞれ、評
価多項式ω(x)とその関連中間多項式μ(x)との係数ωuとμuとの双対基座
標が含まれている。主方程式の求解回路の調整は、例えば、m/j=4のときに
設定される、図12の時系列図表に従う。各反復kはクロックCLKjの2(m
/j+1)周期に対応し、第1の段階と第2の段階はそれぞれクロックCLKj
のm/j+1周期の間続く。SLσは、各乗算器のオペランドBをロードするた
めに、これら乗算器70、72にセルを供給する信号を指す。この信号SLσ、
各反復のそれぞれの段階の開始時に、クロックCLKjの1周期の間レベル1の
パルスを有する。1反復時間すなわちクロックCLKjの2(m/j+1)周期
に等しい時間、信号M2は、各反復の第1の段階の開始後クロックCLKゴの1
周期の間、立ち上がり前縁を示し、そして各反復の第2の段階の開始後クロック
CLKjの1周期の間、立ち下がり前縁を示す。妥当性検査信号ENL、ENδ
、ENTおよびENΔは、ENL=SLσ AND M2、ENδ=SLσ A
ND M2、ENT=SLσ AND M2、そしてENΔ=SLσ AND
M2という論理演算の結果に対応している。
各反復の第1の段階(1≦k≦2t)の間、レジスタ60u(0≦u<k−1
)はシンドロームTu (k)=Sk-u-1を保管している。各反復の第1の段階におけ
るクロックCLKjの第1の周期は、セル64uの乗算器70内における双対
基による演算σu (k-1)のロードと、図12の行「Reg.92.100」に示さ
れているように、レジスタ92と100(ENL=1)へのLk-1とγk-1の値の
記憶とを実施する。コンピュータ90は次に、反復の指標を保管するためにM2
の立ち上がり前縁分だけ増分される。反復kの第1の段階の最近のm/j周期の
間、セル64uの乗算器72により送信された積σu (k-1)Sk-u-1の総計はレジス
タ86(ENΔ=1)にロードされ、双対基における偏差Δkはこのようにして
関係式(14.1)によって計算される(u≧kならば、σu (k-1)=0であるこ
とに留意)。反復kの第2の段階の第1の周期では、セル64uと112uの乗算
器に双対基オペランドσu (k-1),λu-1 (k-1),ωu (k-1),μu (k-1)をロードする
ことと、そして図12の行「F/FI00」に示されているように、フリップフ
ロップ100にδkを記憶させる(ENδ=1)ことが実行される。反復kの第
2の段階の間、パラメタγk-1とΔkはそれぞれのレジスタ102に留まっている
。反復kの第2の段階の最近のm/j周期の間、関係式(14.3)〜(14.
6)に基づき多項式σ、λ、ωおよびμを更新するために、セル64u、112u
のレジスタ74と76は加算器74とマルチプレクサ80により転送されたビッ
トでロードされる。同時に、次の反復に利用するシンドロームTu (k+1)=Sk-1
をロードするために、m/j周期のシフトがレジスタ60uで実施される(EN
T=1)。
反復2tの最近のm/j周期の間、(双対基で表された)位置決定多項式と評
価多項式との係数σu=σu (2t)およびωu=ωu (2t)はセル64uと112uの出力
9に転送される。θ2−θ1がクロックCLKjの4t(1+m/j)周期に対応
しているように、これらの係数は図12にθ2として示されている瞬間に完全に
利用できる。
主方程式の求解回路44のアーキテクチャは、標準化されたセル64u、11
2uの利用のために非常に規則的である。これは、超LSIを実現するために非
常に有利である。セル64uの乗算器70が、正確な偏差の計算にも(第1の段
階)、マルチプレクサ66uの支援による係数の更新(第2の段階)にも役立つ
ことによって、回路の速度を落とすことなく必要な乗算器の数を少なくすること
が可能になる。この回路は、モジュール42からjビットの群ごとにシンドロー
ムを受信し、そして同様にjビットの群毎に係数σu、ωuを送信するが、これは
非常にデコーダのパイプライン方式の構成に都合がよい。
主方程式の求解回路のこうしたアーキテクチャは用意にバールカンプ−マッセ
イ型算法の様々な変形に、そして特に上述のようにリード他の有利なバージョン
に適用できる。図13と14は、式(7.1)〜(7.7)によって表されてい
るバールカンプ−マッセイ型算法の従来型の場合に採用されているアーキテクチ
ャを示している。図13によるセル164uは図9のセル64u(および112パ
)に代わり得るし、一方図14の論理回路182は、論理回路82に代わリ得る
。
論理回路182は多くの部分で図11に示されている論理回路82に類似の構
造を持っており、その結果同様な構成要素を示すために同一の参照番号が用いら
れた。パラメタγk-1は、逆転回路103から作られた、予測偏差の逆数Δザ-1に
代えられている。この回路103は例えば、mビットの2m個の記憶位置からな
るROM素子のアレイにより構成されている。このアレイ内のアドレス指定は、
レジスタ86に存在するmビットに対応し、そしてΔkの双対基座標を示す。あ
るアドレスに対して、アレイには、このアドレスのmビットにより双対基で表さ
れているガロワ体の要素の標準基表示の逆数が含まれている。
図13に示されているセル164uも、図10を参照して上述されたセル64u
に非常に似ている。参照番号は、図10における70、72、74、76、78
、および80に類似の要素をしめすために、参照番号70’、72’、74’、
76’、78’、および80’が用いられた。セル164uはセル64uと以下の
点で異なる。すなわち
― 乗算器70’の出力は加算器78’の入力にではなくマルチプレクサ80’
の入力(δk=1)に接続されていることと、そして
― レジスタ74’のjビット並列出力はマルチプレクサ80’の入力ではなく
、加算器78’の入力に接続されえていること。
図9、13および14においては、主方程式の求解回路の調整は、図9、10
および11のそれと非常によく似ている。この調整は図12の時系列図と特に準
拠することができる。
40)の乗算器72(または72’)の場合、これらセルはそのオペランドBに
0とそのレジスタ74を共有することができるが、これは、当該算法に従えば、
程式が(図13と4の場合のように)k=1として解かれる場合、k=0,1,
レジスタ74’とは、なくても差し支えがないからである。セル64uと112
t(または164t)のレジスタ76(または76’)とマルチプレクサ80(
または80’)も必要ではない。
図6に戻ると、修正演算モジュール46には、ガロワ体の要素Ψ+i(i=N−
1,N−2,...,1,0)のために機能値を連続的に計算する2つの回路1
20.122が含まれる。回路120は、多項式σ(x)およびxσ’(x)の
値を得るためにチャンのリサーチを行い、一方、回路122も同様に関数xI-1
ω(x)の値をえるためにチャンのリサーチを行う。フォーネイの算法は修正eゲ
を計算するためにモジュール46によって実施される。逆転回路124は数量
Ψ-iσ’(Ψ-i)の双対基座標を受信し、そして標準基表示のこれらの数量の逆
数を転送する。回路24は例えば、図14を参照しながら上述されたアレイに類
似のROM素子アレイがら成る。回路124の出力のmビットは乗算回路126
の標準基表示のオペランドAを構成する。乗算器126にロードされる双対基オ
ペランドBは、回路122に転送される数量Ψ-1(I-1)σ’(Ψ-i)であるが、こ
れは逆転回路124の応答時間を考慮してレジスタ108内で遅延させられる。
変換回路130は、jビットの連続群ごとに乗算器126により転送された双対
基座標を受信し、そしてそれらを標準基に変換する。σ(Ψ-i)=0のとき修正
eゲを表す(関係式(11))、変換回路130によって転送されるmビット標
準基座標は、マルチプレクサ132にアドレス指定される。マルチプレクサ13
2の他の入力は、レベル0のmビットを受信する。逆転回路124と乗算器12
6とそして変換回路30とによる遅延を考慮してレジスタ136内で遅延
させられた数量σ(Ψ-i)のm個の双対基2進座標を受信する。σ(Ψ-i)=0
ならば(さもなければei=0)修正eiが加算器48に供給されるように、(σ
(Ψ-i)=0のとき、0である)OU回路の出力ビットはマルチプレクサ132
を制御する。
図6のレコーダは、パイプライン方式の構成を有する。すなわち、主方程式が
1ブロックのために回路44によって解かれている間に、モジュール42は次の
ブロックのためにシンドロームの演算を行い、そしてモジュール46は、以前の
ブロックのために修正を行う。メモリFIFO50によって導入される遅延合計
多項式σ(x)とω(x)との係数を転送するために回路44が定めた時間θ2
−θ1と、そして修正値を生成するためにモジュール46が定めた時間θ3−θ
2との総計である。デローダに応答時間を与えるこの総遅延時間を減少させるた
めに、そしてモジュール46におけるバッファ記憶装置の設置を避けるために、
チャンのリサーチ回路120、122が高速で、しかも最小の応答時間で多項式
の解を出すことが重要である。j≧2であるこれらの双対基除算回路120、1
22を、乗算器130と同様に用いることは、こうした点で大きな利益がある。
図15はチャンのリサーチ回路の構造を示す。回路20はt+1個の計算ユニッ
は、n=0,1,...,N−1のときζu(n)=σu・Ψu(1+N-n)の連続値を
転送するために配置されている(関係式(9))。u≧1のとき、各ユニット1
38uは、双対基乗算器140uと、mビットレジスタ142uと、そして2つの
マルチプレクサ1144uおよび146uとを備えている。u≧1であるレジスタ
142uは、図5を参照しながら上述されたタイプのもので、それぞれ1つのm
ビット並列出力と、1つのタイプ1のmビット並列出力とを有し、マルチプレク
サ140uに双対基オペランドBを供給する。マルチプレクサ146uは主方程式
の求解回路44のセル64uの出力9に接続されている1つのjビット入力を持
つ。係数σuがセル64uの出力9に転送される時、m/j個のjビット連続群で
係数σuの双対基座標を受信するように、マルチプレクサ146uのこの入力は、
時間遅延θ2−θ1信号M1に対応する信号M3によって活動化される。
M3=0のとき、活動化されるマルチプレクサ146uの他のjビット入力は、
、係数σuが入手可能になった瞬間θ2から、N連続段階n=0,1,...,N
−1で作動し、各段階は記号CLKmのクロックの一周期の間、続く。あるブロ
ックに対して第1の段階n=0のとき、オペランドAがΨu(1-n)の値になり、そ
して次に続く段階の各々がn=1,2,...,N−1になるとき、Ψuの値に
なるように、乗算器140uに標準基で表されたオペランドAを供給するために
、マルチプレクサ144uは信号M4によって制御される(図17)。マルチプ
レクサ144パは、N=2m-1のとき、Ψu(1-n)=Ψuであるので、図15
各段階n(0≦n≦N−1)の間、乗算器140u(1≦u≦t)は式(9)
によって定義されている数量ζu (n)の双対基座標を転送し、そしてこれらの座標
はレジスタ142uにロードされる。これらの座標は、次の段階n+1の初めで
乗算器140u内のオペランドBである限りロードされるであろう。各段階n
合計するために、加算手段が備えられている。図15に示されている回路120
の実施例では、この加算手段には3つのjビット並列加算器152、154、1
56が含まれている。加算器152は、uは奇数である乗算器140uにより転
送された数量ζu (n)に対応する桁のビットの合算を行う。加算器152のjビッ
ト出力は、このようにしてjビットの連続群ごとに、x=Ψ-i=Ψ1-N+nのとき
多項式Xσ’(x)の値の双対基座標を供給する。加算器154は、レジスタ
応する桁のビットの合算を行い、そしてこれらの出力のjビットは加算器156
によって上記加算器152の出力jビットに加算される。加算器156のjビッ
トの出力はこのようにして、jビット連続群ごとに、x=Ψ-i=Ψ1-N+nのとき
多項式Xσ(x)の値の双対基座標を供給する。多項式σ(x)とXσ’(x)
との第1の値の全ての座標を供給するための時間は、記号CLKmのクロックの
1周期に相当する(図17)。
図15の回路は、xk・Q(x)の形態の何らかの関数の点Ψ1-ホ,Ψ2-ホ,.
..,Ψ-1,Ψ0における演算に一般化できる。ただし、この場合、kは何らか
の整数(正または負)で、Q(x)はガロワ体CG(2m)における係数Q0,Q
1,...,Qドを有するt以上の次数の多項式である。多項式σ(x)の係数Qu
は、演算を初期化するために、M3=1のときマルチプレクサ146uの入力に
アドレス指定される。要素Ψ(u+k)(1-N)はマルチプレクサ144uの入力M4=
に供給され、そして要素ΨU+kはマルチプレクサ144uの入力M=0に供給され
、したがったマルチプレクサ140uとマルチプレクサ144uとは、u=kなら
ば不必要である。その外に、xk+1 Q’(x)ができる、図15の実施例の場合
、k=0かつQ(x)=σ(x)である。
図16には、x=Ψ1-n,...,Ψ-1,Ψ0である関数xI-1ω(x)を計算
するために用いられるチャンのリサーチの回路が示されている。この回路122
はk=I−1、Q(x)=ω(x)の場合に対応している。導関数の計算は有効
ではないので、加算手段には、演算ユニット138uによって転送された数量ζパ
(n)の双対基座標の合算を行うjビット並列加算器1501つのみしか、含ま
れていない(式(12))。
図15および16の実施例では、マルチプレクサ140uの標準基オペランド
140パは、N<2m−1ならば、変数である。これらのオペランドを乗数にし、
したがって乗算器の構造を簡単にするために、チャンのリサーチの回路演算ユニ
ットを図18に示されているユニット238に準拠させることができる。このユ
ニット238uには、標準基のオペランドAがΨu+kに等しくなるように固定され
ている1つの乗算器240uと、段階nのときには数量ζ(n)(またはζu (n))を
受信しそして段階n+1の開始時にこれを送信するためのレジスタ142パに類
似のレジスタ242uと、そしてマルチプレクサ246uとが、含まれる。マルチ
プレクサ246uは、記号CLKmクロックの1周期だけ遅延している信号M3に
対応する信号M’3によって制御される。M’3=0のとき、レジスタ242パ
により転送された積はレジスタ242uのjビット並列入力
にアドレス指定される。M’3=1のとき、レジスタ242uのjビット並列入
力は、j個のjビット並列双対基座標のm/j個の連続群として、数量Qパ・Ψ( u+k)(1-N)
を受信する。マルチプレクサ246uのjビットの出力はその外に加算
手段150(または152、154)の各入力に接続される。u=kならば、演
算ユニットは乗算器を含まず、そしてレジスタ242パはマルチプレクサ246u
の入力(M3’=0)に接続されているjビット並列出力を有する。段階n=0
のとき、数量ζu(0)=Qu・Ψ(u+k)(1-N)は直接、加算手段に供給される。段
階n≧1のとき、乗算器240uは第1のオペランドとしてζu (n-1)を有し、そ
してζu (n)を転送し、加算手段に供給する。
マルチプレクサ246uの入力にσuΨu(1-N)を獲る方法は、Ψu(1-N)のm個
の標準基座標を受信するマルチプレクサ66uための、M’3=1のときに活動
化する第3の入力を設置することである。セル64uの加算器70はそのとき、
マルチプレクサ246uの入力に必要なように、M’3=1のとき、j個の双対
基座標のm/j個の連続群としてσuΨu(1-N)を供給する。同様に、ωuΨ(I-1+ u)(1-N)
を供給するには、M’3=0ならばγk-1を送信し、M’3=1ならばΨ
(I-1+u)(1-N)を送信、し、セル112uの乗算器70はそのとき、求められてい
るM’3=1のときωuΨ(I-1+u)(1-N)を供給する。
Ψ=αの場合、j≧2である双対基乗算器を利用しても、図8に従って具体化
したチャンリサーチの回路120が複雑さを増すことはあまりない。その外、I
が小さい整数(例えば、I=1)ならば、チャンのリサーチ回路122は同様に
非常に簡単になる。