JP3232602B2 - ユークリッドの互除回路 - Google Patents

ユークリッドの互除回路

Info

Publication number
JP3232602B2
JP3232602B2 JP25418391A JP25418391A JP3232602B2 JP 3232602 B2 JP3232602 B2 JP 3232602B2 JP 25418391 A JP25418391 A JP 25418391A JP 25418391 A JP25418391 A JP 25418391A JP 3232602 B2 JP3232602 B2 JP 3232602B2
Authority
JP
Japan
Prior art keywords
output
register
euclidean
result
division
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
JP25418391A
Other languages
English (en)
Other versions
JPH0567981A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP25418391A priority Critical patent/JP3232602B2/ja
Priority to US07/939,593 priority patent/US5367478A/en
Priority to DE4229666A priority patent/DE4229666C2/de
Priority to GB9218875A priority patent/GB2259378B/en
Publication of JPH0567981A publication Critical patent/JPH0567981A/ja
Application granted granted Critical
Publication of JP3232602B2 publication Critical patent/JP3232602B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は本発明はユークリッドの
互除演算を行なうユークリッドの互除回路に関する。
【0002】
【従来の技術】BCH符号やリード・ソロモン符号に代
表される誤り訂正符号を用いて誤り訂正システムを実現
する場合には、受信信号から生成されるシンドロームか
ら誤り位置多項式を求める手段が最も重要になる。この
過程を実現する一手法としてユークリッドの互除アルゴ
リズムを用いる方法が広く知られている。一般にユーク
リッドの互除法とは、2つの多項式の最大公約多項式
(MostCommon Devisor)を求めるア
ルゴリズムとして知られている。誤り訂正符号において
は、ユークリッドの互除法の過程で用いられる演算手順
をうまく適用することにより、シンドロームから誤り位
置多項式を算出することが出来る。ユークリッドの互除
法の演算過程は、シストリックアレイアーキテクチャで
構成できる利点があり、比較的簡単な演算ユニット(互
除ユニットと呼ぶ)を複数個縦続接続することで実現で
きる。
【0003】“Shao”らによりユークリッドの互除
法のアルゴリズムをシストリックアレイで実現する例が
示されている(この構成方法を以下の文章では構成方法
Aと呼ぶ)が(Howard M.Shao et.a
l.”A VLSl Design of a Pip
eline Reed−Solomon Decode
r”lEEE Trans.on Computers
vol.C−34May 1985)、この構成方法
はアルゴリズムが不完全な上、各ユニットに2つの有限
体乗算器が必要になり高速実時間処理が必要なシステム
を構成する場合、回路規模が大きくなるという欠点があ
った。この改良方法として、特願平01−335883
号、特願平01−335884号で示される2つの方法
(この構成法を以下の文章では構成方法Bと呼ぶ。)を
筆者が提案した。構成方法Bでは文献“Howard
M.Shao et.al.”A VLSl Desi
gn of a Pipeline Reed−Sol
omon Decoder”lEEE Trans.o
n Computers vol.C−34 May
1985”で示されているアルゴリズムに改良を加えた
アルゴリズムを用いるとともに互除ユニット中の2つの
有限体乗算器を1つの有限体乗算器と1つの有限体割算
器に置き換え、さらに縦続接続されている複数の互除ユ
ニット中の有限体割算器を1つの有限体割算器で共有す
ることにより回路規模の削減を実現している。しかし、
複数の互除ユニットから有限体割算器を共有するために
必要な制御回路が複雑になり動作速度が向上しない欠点
がある。また、有限体割算器を共有しても多項式の次数
から動作を判定する回路や制御回路が各互除ユニットに
必要なため回路規模がやや増大する欠点がある。以下に
構成方法Bの内容を詳細に説する。
【0004】《誤り訂正手法》 先ず、誤り訂正の手法について述べる。なお、本方式は
誤り訂正のみならず、ユークリッドの互除法を高速で実
現する必要がある全てのシステムに有効であるが、ここ
ではリード・ソロモン符号を用いた誤り訂正に応用する
場合について説明する。なお、以下の説明文中において
は、“^”の後にあるアンダーラインが付された半角文
字によって指数を表わし、“^”が無いアンダーライン
付きの半角文字によって添字を表わすものとする。
【0005】GF(2^m)の有限体を用いてtシンボ
ル誤り訂正可能で符号長がnの誤り訂正システムを考え
る。誤り位置を符号の先頭を0番目と数えてj番目にあ
る時にα^jで表すとする。すると、符号全体にm個の
誤りがあるとすれば、符号全体の誤りは、誤り位置X
(但し、i=1、…、m)及び誤りパターンY(但
し、i=1、…、m)で記述することができる。つま
り、全部でm(m≦2t)個の誤りがあった場合には、
m組の(X、Y)が必要になる。この誤り位置X
(但し、i=1、…、m)を用いて、誤り位置多項式σ
(X)と呼ばれる多項式を定義する。誤り位置多項式σ
(X)は、誤り位置X=X−1(但し、i=1、
…、m)で0になる
【数1】 σ(X)の係数を、
【数2】 と表す。さらに、誤り位置多項式σ(X)とシンドロー
ム多項式S(X)とを用いて誤り評価多項式ω(X)
を、
【数3】 と定義する。
【0006】次に、誤り訂正の過程を順に説明する。 <ステップ1>2t個のシンドロームS
【数4】 が、受信信号rとパリティ検査行列Hとの積として求め
られる。つまり、
【数5】 となる。このように求められたシンドロームSを多項式
の係数に持つシンドローム多項式S(X)と呼ばれる多項
式を定義する。
【数6】 <ステップ2>シンドローム多項式S(X)から誤り位置
多項式σ(X)が求められる。ここで、ユークリッドの互
除法よるアルゴリズムを用いる。 <ステップ3>誤り位置X=Xi-1(但し、i=1、
…、m)をサーチする。ステップ2で求められた誤り位
置多項式σ(X)の係数を使用して、σ(X)にGF(2∧
m)に含まれる全ての要素X=α∧0…α∧n-1を代入し
てσ(X)=0となる位置が誤り位置Xi(但し、i=1、
…、m)であることが判る。 <ステップ4>誤り位置Xi(但し、i=1、…、m)
が求められると、誤りパターンYi(但し、i=1、
…、m)は、誤り評価多項式ω(X)を用いて次のように
算出される。
【数7】 <ステップ5>求められた誤り位置Xi(但し、i=
1、…、m)および誤りパターンYi(但し、i=1、
…、m)を用いて受信信号に対して訂正を行なう。以
上、ステップ1〜5の過程で誤り訂正が行なわれる。詳
細については前述の先願で述べてある。
【0007】 《ユークリッドの互除法による誤り位置多項式の導出》
次に、誤り位置多項式の導出方法について述べる。これ
は、上に述べた誤り訂正の過程のステップ2に当たるも
のである。シンドローム多項式S(X)からユークリッド
の互除法によるアルゴリズムを用いて誤り位置多項式σ
(X)を求める方法は、次のように知られている。 [誤り位置多項式導出方法]今、r-1(X)=X∧2t、r0
(X)=S(X)とおく。S(X)の次数は2t−1次であるか
ら、deg(r0(X))<deg(r-1(X))である。このr-1(X)、
0 (X)を用いて多項式qi(X)を商とする割算を繰り返し
行なってゆく。これがユークリッドの互除法と同じ演算
であり、次に示すようになる。まず、次に示す演算を順
次、行ない、
【数8】 次に示す条件を満たしたら、停止する。
【数9】 この時に、rj(X)は、割算の過程で得られたr1(X)、r
2(X)…rj-1(X)の式に下から順次代入計算することによ
り、最初に定義されたr-1(X)=X∧2t、r0(X)=S(X)
を用いて次式のように表現することが出来る。
【数10】 この時に得られるrj(X)、A(X)が各々ω(X)、σ(X)に
なる。
【0008】この手順をハードウェアで実現するために
は、割算を如何に逐次実行してq(X)、r(X)
を求めるかと共に、得られたr(X)、r(X)、
…、rj−1(X)から、σ(X)を求めるために逆順
代入計算する手順を如何に実現するかが課題となる。ま
た、ユークリッドの互除法の過程では、割算の結果、余
りの次数が1回の割算で2次以上低下する場合がある。
ユークリッドの互除法を実現するハードウェアの構成
は、このような場合にも破綻なく動作する構成でなくて
はならない。実は、この一連の手順は、上述したアルゴ
リズムを通常のユークリッドの互除アルゴリズムを次数
が1次ずつ減少してゆくように書き直すことにより、次
に示す系統的なアルゴリズムを用いて実現することが出
来る。これは、文献“HowardM.Shao e
t.al.”A VLSl Design of aP
ipeline Reed−Solomon Deco
der” lEEETrans.on Compute
rs vol.C−34 May 1985”で提示さ
れているアルゴリズムを筆者が改定したものであり、特
願平01−335883号、特願平01−335884
号に示してある。以下にそのアルゴリズム(このアルゴ
リズムを以下の文章では、改定ユークリッドの互除法
(2)と呼ぶ。)の概要を示す。
【0009】[改定ユークリッドの互除法(2)] (初期条件)
【数11】 (繰り返し) 第iステップにおいて
【数12】
【数13】
【数14】
【数15】 (停止条件) 2t回繰り返した時停止する。
【数16】 (結果)
【数17】
【0010】このように停止条件として、演算ステップ
を必ず2t回行なう場合には、最終的に得られるdR2t
はC(X)の次数を示すことになる。当然ながら、σ(X)の
次数はdR2t+1である。このアルゴリズム従えば、2
tステップの演算の後にσ(X)、ω(X)を求めることが出
来る。特願平01-335883号、特願平01-335884号に書いて
あるが、dR2tは、最終的にはR2t(X)、つまりω(X)の
次数を表している。また、ノーマルモード及びクロスモ
ードで演算が行なわれる場合には、演算の途中の過程に
おけるdRi、dQiはRi(X)、Qi(X)の次数を表してい
るが、Ri(X)の最上位係数が0になるシフトモードの時
には、次数を表していないことに注意されたい。これ
は、ユークリッドの互除法の過程において、1回の割算
で余りの次数が2次以上低下する場合でも、この特願平
01-335883号、特願平01-335884号のアルゴリズムではd
iは、1ずつしか値が減らない事に起因する。この詳
細については、特願平01-335883号、特願平01-335884号
に詳細な実例を示してあるので参照のこと。
【0011】《従来のユークリッドの互除アルゴリズム
のハードウェア化》ユークリッドの互除法のアルゴリズ
ムをシストリックアレイアーキテクチャを用いてハード
ウェアで実現する例が文献“Howard M. Shao et.al."A
VLSI Design of a Pipeline Reed-Solomon Decoder" IE
EE Trans. on Computers vol.C-34May 1985”により示
されている(構成方法A)。しかし、このハードウェア
は、ユークリッドの互除法における割算の途中で余りの
次数が一度に2次以上低下する場合に対応しておらず、
完全にユークリッドの互除アルゴリズムを実現していな
い。また、構成方法Aでは各ユニットに2つの有限体乗
算器が必要になり高速実時間処理が必要なシステムを構
成する場合、回路規模が大きくなるという欠点がある。
【0012】この改良方法として、上で説明した構成方
法Bを筆者が提案した。この方法では、構成方法Aで示
されている互除ユニット中の2つの有限体乗算器を1つ
の有限体乗算器と1つの有限体割算器とに置き換え、さ
らに縦続接続されている複数の互除ユニット中の有限体
割算器を1つの有限体割算器で共有することにより回路
規模の削減を実現している。構成方法Bでは、図7に示
すような基本的な演算ユニット(互除ユニットと呼
ぶ。)101を使用する。この互除ユニット101は、
上で述べた改定ユークリッドの互除法(2)の1ステッ
プを実行する。ユークリッドの互除法の各ステップの入
力であるRi−1(X)、Qi−1(X)、λi−1
(X)、μi−1(X)の4つの多項式はdQi−1
の係数から順に入力する。SFは、最初の係数を示すフ
ラグである。同時に、dRi−1、dQi−1を入力す
る。互除ユニット101の点線部はデータの経路切替器
である。演算が、クロスモードの時にデータがクロスす
るように選択され、それ以外の場合はクロスせずに選択
される。つまり、dRi−1次の係数が入力された時
(つまり、SFフラグが入力された時)にRi−1
(X)のdRi−1次の係数ai−1が0であるか否か
を判断し、ai−1≠0、dRi−1<dQi−1の場
合のみクロスすることになる。その結果、クロスの場合
i−1/bi−1がそれ以外の場合にはbi−1/a
i−1がレジスタ102に保持され、多項式の全ての係
数に対して演算が行なわれる。その結果、入力データが
この互除ユニット101を1回通過する毎に改定ユーク
リッドの互除法(2)の1ステップが演算されて行くこ
とになる。
【0013】従って、図8のように、この互除ユニット
を2t個縦続接続して並べ、入力として
【数18】 を入れると、2t番目の互除ユニットの出力としてσ
(X)、ω(X)が得られることになる。特願平01−
335883号、特願平01−335884号に示す例
題を用いて動作例を図9〜図12に示す。この例では、
図9、図11がクロスモード、図10、図12がノーマ
ルモードで演算されている。図12のように互除ユニッ
ト101を4回、通過した結果、最終段の互除ユニット
101でσ(X)、ω(X)が求められていることが判
る。また、アルゴリズムから明らかであるが、σ
(X)、ω(X)の2つの多項式は、実際に起きている
誤り数がt未満の場合には2tステップの演算の後に
は、見かけ上、2t次の多項式であるかのように上位に
シフトされて出力される。従って、dR2tの値を見て
次数を合わせるか、又は、改定ユークリッドの互除法
(2)において停止条件をdR<tと変更すれば良
い。なお、これらの図はあくまで原理的な図であり素子
の遅延時間等を考慮していない。詳細のインプリメンテ
ーションについては筆者による先願を参照のこと。
【0014】さらに、構成方法Bでは、各互除ユニット
10の有限体割算器103が同時に動作する必要が無い
ことに着目して、図13に示す如く前記各互除ユニット
101から有限体割算器103を除いた互除ユニット1
01aを縦続接続し、かつ各互除ユニット101aのR
i-1(X)、Qi-1(X)を取り出してこれを切替スイッチ10
5によって順次、選択して有限体割算器106で割算し
た後、対応する互除ユニット101aに戻すようにし
て、1つの有限体割算器106を時分割で共有し、全体
のゲート規模の削減を実現した。
【0015】
【発明が解決しようとする課題】しかし一方では、この
構成では、複数の互除ユニット101aによって有限体
割算器106を共有するために必要な制御回路が複雑に
なり動作速度が向上しないという欠点がある。また、有
限体割算器106を共有しても多項式の次数とRi-1(X)
のdRi-1次の係数の0検出を行なって動作を判定する
回路や、データ切替器等の制御回路が各互除ユニット1
01a毎に必要なため回路規模がやや増大するという欠
点がある。加えて、この方法を用いる場合には、シンド
ローム多項式S(X)の係数であるシンドロームS2t、S2
t-1、…、S1が上位の係数から順に入力する必要があ
る。所が、シンドロームはS2t、S2t-1、…、S1が同
時に求められるため、この同時に求められたシンドロー
ムを上位の係数から順に入力するように変換する回路が
別途必要になる。
【0016】本発明は上記の事情に鑑み、回路規模を大
幅に低減させることができるとともに、高速動作を可能
にしてスループットを大幅に向上させることができるユ
ークリッドの互除回路を提供することを目的としてい
る。
【0017】
【課題を解決するための手段】上記の目的を達成するた
めに本発明によるユークリッドの互除回路は、訂正数に
対応した数だけ縦続接続され、かつ各々Ri(X)、Qi
(X)、λi(X)、μi(X)用のレジスタを有し、割算結果お
よび前段から出力される値を取り込むとともに、切替指
令に応じてノーマル接続演算、クロス接続演算のいずれ
か一方を行なうブロックBと、Ri(X)、Qi(X)、λi
(X)、μi(X)用のレジスタおよび割算器を有し、前記ブ
ロックBの最終段から出力される値を取り込むととも
に、切替指令に応じてノーマル接続割算演算、クロス接
続割算演算のいずれか一方を行ない、この演算結果を前
記各ブロックBに供給するブロックAと、予め設定され
ている初期値と前記ブロックAのレジスタに格納されて
いる値とに基づいてノーマル接続またはクロス接続のい
ずれかを指定する切替指令を生成して前記ブロックA、
Bに供給する接続切替判定ブロックとを備えたことを特
徴としている。
【0018】
【作用】上記の構成において、接続切替判定ブロックに
よって予め設定されている初期値と前記ブロックAのレ
ジスタに格納されている値とに基づきノーマル接続また
はクロス接続のいずれかを指定する切替指令が生成さ
れ、この動作と並行して各ブロックBによって割算結果
および前段から出力される値が取り込まれるとともに、
切替指令に応じてノーマル接続演算、クロス接続演算の
いずれか一方が行なわれ、さらにブロックAによって前
記ブロックBの最終段から出力される値が取り込まれる
とともに、切替指令に応じてノーマル接続割算演算、ク
ロス接続割算演算のいずれか一方が行なわれ、この演算
結果が前記各ブロックBに供給されてユークリッドの互
除演算が行われる。
【0019】
【実施例】本件で提案する構成方法は、ユークリッドの
互除法を実現する方法として、上述した以前提案した構
成方法と全く異なる構成を用いてより簡単な回路構成で
ユークリッドの互除法のアルゴリズムを実現するもので
ある。本構成方法によれば、従来の構成と異なり、割算
をすべきデータが常に同じ場所から取り出せるため、有
限体割算器を共有するための回路やその制御回路が不要
になる。さらに、多項式の次数から動作を判定する回路
や制御回路がただ1つで実現されるため規模が削減され
る。
【0020】提案する構成方法Cを図1に示す。図1の
ように構成は1つのブロック(A)1と、複数のブロッ
ク(B)2と、接続切替判定ブロック3に分けることが
出来る。ブロック(A)1は誤り訂正数tに拘らず1つ
のユニットがあれば良い。一方のブロック(B)2は、
tシンボル誤り訂正システムの場合2t−1個のブロッ
クが必要である。そして、これらブロック(A)1、各
ブロック(B)2に設けられている各レジスタ群は縦方
向に分割され、各々左側から順にR(X)、Q
(X)、λ(X)、μ(X)の係数を格納するため
のレジスタ群となる。これらのレジスタ群には、dR
、dQで示される次数にしたがって上位から順に係
数が格納される。これらの初期設定値として、レジスタ
RR2t−1…RRに順にR(X)=S(X)の係
数が代入される。以下、同様に、RQ2t−1…RQ
に順に、Q(X)=X2tの上位の係数から順に代入
される。これによって、最上位が1で残りが全て0、す
なわちレジスタRλ2t…Rλは全て0、レジスタR
μ2t−1…Rμは最下位Rμが1で残りは全て0
とする。ブロック(B)2の最後のブロックの下位ブロ
ックから入力端子には常に0を入力する。ブロック
(A)1のR(X)のdR次の係数用のレジスタR
2t−1に格納されている係数は接続切替ブロック3
に設けられている0検出回路5で0検出が行われる。ま
た、接続切替ブロック3のレジスタDR、DQは各々d
、dQが格納される。初期値は各々、2t−1、
2tである。レジスタDR、DQの出力は、切替器を介
して、レジスタDR、DQの何れかに入力される。この
時、レジスタDRへの入力値に対しては、−1が加算さ
れる。切替器は、後述するブロック(A)1及びブロッ
ク(B)2の切替器と同様に、判定回路8の切替指令に
応じて、ノーマル接続とクロス接続とが制御される。な
お、初期値を設定する回路は構成図の他に別途必要であ
る。しかし、これは本質的なものではなく、簡単な回路
であるので、ここでは省略する。
【0021】次に、図1を参照しながらこの実施例の動
作を説明する。まず、初期値が設定されたレジスタD
R、DQの値は比較回路6で比較され、DR<DQで、
且つ0検出回路5からレジスタRR2t−1≠0の状態
が判定回路8に知らされた場合に点線で示した切替器を
クロス側に切替える。その他の場合にはクロスしない。
この切替えは構成図全体の切替器、全てを同時に行なえ
ば良い。そして、ブロック(A)1では、切替器が切替
えられた後に、Ri−1(X)のdRi−1次の係数と
i−1(X)のdQi−1次の係数が切換器を通って
有限体割算器7に入力される。有限体割算器7では、図
中のE、Fの入力に対してE/Fの割算を行い、その結
果Sを出力する。この有限体割算器7の結果Sを用いて
ブロック(A)1、各ブロック(B)2の乗算器9、1
0、加算器11、12により、演算が行なわれる。この
手順によると、多項式R(X)は、dR次の係数か
ら0次の係数がレジスタRR2t−1からレジスタRR
まで上位の係数から順に格納される。また、多項式Q
(X)も同様に、dQ次の係数から0次の係数がレ
ジスタRQ2tからレジスタRQまで順に格納され
る。λ(X)、μ(X)の各多項式についても同様
に各係数がレジスタRλ2t−1からレジスタRλ
で、またレジスタRμ2t−1からレジスタRRμ
で上位の係数から順に格納される。以上述べた手順によ
り、改定ユークリッドの互除法(2)の1ステップの演
算が行われる。したがって、この手順を2t回繰り返す
ことにより構成方法Bと同様にσ(X)、ω(X)が求
められる。
【0022】実際の動作例を図2〜図6に示す。図2に
示すレジスタDR、DQ、RR2t−1〜RR、RQ
2t〜RQ、Rλ2t−1〜Rλ、Rμ2t−1
RRμは全て初期設定が行われている。図2では、d
=3、dQ=4、R(X)のdR次の係数が
α^とクロスする条件が満たされているので、全ての
切替器はクロス側に切替えられている。有限体割算器7
では、1/α^なる演算が行われ割算結果のα^
ブロック(A)1、各ブロック(B)2の乗算器9、1
0に入力される。各々の演算ユニットで行われた演算結
果は次のステップでレジスタに格納され、図3のような
結果となる。この結果は図9に示す先に説明した構成方
法Bによる結果と一致している。図3では、dR
3、dQ=3であり、クロスする条件が満たされない
ため、全ての切替器は、ノーマル接続とされ、有限体割
算器7では、α^/α^なる演算が行われ、割算結
果のα^がブロック(A)1、各ブロック(B)2の
乗算器9、10に入力される。各々の演算ユニットで行
われた演算結果は次のステップでレジスタに格納され、
図4のような結果となる。図4では、dR=2、dQ
=3であり、R(X)の2次の係数がα^となり
クロスする条件が満たされるため、全ての切替器は、ク
ロス接続とされ、有限体割算器7では、α^/α^
なる演算が行われ、割算結果のα^がブロック(A)
1、各ブロック(B)2の乗算器9、10に入力され
る。各々の演算ユニットで行われた演算結果は次のステ
ップでレジスタに格納され、図5のような結果となる。
図5では、dR=2、dQ=2であり、クロスする
条件が満たされないため、全ての切替器は、ノーマル接
続とされ、有限体割算器7では、α^14/α^なる
演算が行われ、割算結果のα^がブロック(A)1、
各ブロック(B)2の乗算器9、10に入力される。各
々の演算ユニットで行われた演算結果は次のステップで
レジスタに格納され、図6のような結果となる。図6で
は、dR=1、 dQ=2であり、dRiがt=2
未満となったので、演算は終了し、ω(X)及びσ
(X)が算出される。結局、図2以下、第1、3ステッ
プがクロスモード、第2、4ステップがノーマルモード
で演算が行われ、最終的に図6においてσ(X)、ω
(X)が得られる。
【0023】以上説明したように、この実施例において
は、先に説明した構成方法Bとは本質的な考え方が異な
っている。つまり、構成方法Bは、互除ユニット101
を各多項式の係数が上位から順にシリアルに入力し演算
されているのに対し、本方法では、全ての係数がレジス
タDR、DQ、RR2t-1〜RR0、RQ2t〜RQ0、Rλ
2t-1〜Rλ0、Rμ2t-1〜RRμ0に格納される。この結
果、改定ユークリッドの互除法(2)の1ステップの演
算に対して、構成方法Bでは、多項式の全ての係数が1
つの互除ユニット101でシリアルに演算されるのに対
して、本方法では、全ての演算ユニット(ブロック
(A)1、各ブロック(B)2)において、各々1つず
つの係数に対しての演算が行なわれる。従って、演算量
自体は変化していないが構成方法が大幅に簡単化され
る。
【0024】また、図1の構成図で説明したように本構
成法によれば、ブロック(A)1のレジスタRR2t-1
RQ2t-1には、有限体割算器7の入力となるRi(X)のd
i次の係数とQi(X)のdQi次の係数が格納される。し
たがって有限体割算器7の入力は、常にブロック(A)
1のRi(X)及びQi(X)用の切替器の直後から入力される
ことになる。このように本構成法では、有限体割算器7
に対して常に同じ場所からデータを入力することが可能
になるため、有限体割算器7を共有するための付加回路
が不要になり、構成全体の規模低減が可能になる。
【0025】また、構成方法Bでは、dRi、dQiの大
小判定とRi(X)のdRi次の係数の0検出して各切替器
の制御を行なう回路を各互除ユニット101に各々独立
に持つ必要があったが、本構成法によれば接続切替判定
ブロック3だけでこの処理を行なう。このため規模低減
が可能になる。さらに、構成方法Bでは、訂正可能なシ
ンボル数がtの場合に各互除ユニット101に2個ずつ
合計4t個の乗算器が必要であったが、本構成法では、
4t−1個に削減されている。さらに、初期設定におい
て構成方法Bでは、入力信号R0(X)、即ちシンドローム
多項式の係数S1、S2…S2tを上位係数から順にシリア
ル入力する必要があるのに対して、本構成法では、2t
個のシンドローム多項式の係数を同時に入力して初期化
することが出来る。
【0026】また、シンドロームは行列計算の結果とし
て得られるため、本質的に同時に求めることができる。
従って、構成方法Bでは、同時に求められたシンドロー
ムをシリアル化して入力する必要があるのに対して、本
構成法を用いれば、同時に求められたシンドローム多項
式の係数をそのまま直接入力することが出来るのでシリ
アル化する回路が不要になる。それと同時にシリアル化
することにより結果が得られるまでの時間(スループッ
トタイム)が増加するのを回避することが出来る。ま
た、本構成法おいて各々のレジスタDR、DQ、RR2t
-1〜RR0、RQ2t〜RQ0、Rλ2t-1〜Rλ0、Rμ2t-
1〜RRμ0を初期化するには様々な方法がある。各レジ
スタDR、DQ、RR2t-1〜RR0、RQ2t〜RQ0、R
λ2t-1〜Rλ0、Rμ2t-1〜RRμ0の入力にセレクタを
設けて実現すれば全てのレジスタを同時に初期化するこ
とが可能である。一方、各々の多項式の最下位のレジス
タの入力として各々の多項式の初期値をシリアルに入力
することにより順次初期化することも可能である。
【0027】
【発明の効果】以上説明したように本発明によれば、回
路規模を大幅に低減させることができるとともに、高速
動作を可能にしてスループットを大幅に向上させること
ができる。
【図面の簡単な説明】
【図1】本発明によるユークリッドの互除回路の一実施
例を示すブロック図である。
【図2】図1に示すユークリッドの互除回路の動作例を
示す模式図である。
【図3】図1に示すユークリッドの互除回路の動作例を
示す模式図である。
【図4】図1に示すユークリッドの互除回路の動作例を
示す模式図である。
【図5】図1に示すユークリッドの互除回路の動作例を
示す模式図である。
【図6】図1に示すユークリッドの互除回路の動作例を
示す模式図である。
【図7】従来から知られているユークリッドの互除回路
で使用される互除ユニットの一例を示すブロック図であ
る。
【図8】従来から知られているユークリッドの互除回路
の一例を示すブロック図である。
【図9】図8に示すユークリッドの互除回路の動作例を
示す模式図である。
【図10】図8に示すユークリッドの互除回路の動作例
を示す模式図である。
【図11】図8に示すユークリッドの互除回路の動作例
を示す模式図である。
【図12】図8に示すユークリッドの互除回路の動作例
を示す模式図である。
【図13】従来から知られているユークリッドの互除回
路の他の一例を示すブロック図である。
【符号の説明】 1 ブロックA(ブロック(A)) 2 ブロックB(ブロック(B)) 3 接続切替判定ブロック DR、DQ レジスタ RR2t-1〜RR0 レジスタ RQ2t〜RQ0 レジスタ Rλ2t-1〜Rλ0 レジスタ Rμ2t-1〜RRμ0 レジスタ

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 訂正数に対応した数だけ縦続接続され、
    且つ、各々多項式Ri(X)、Qi(X)、λi
    (X)、μi(X)の係数データを格納する複数のレジ
    スタを有し、割算結果及び前段から出力される値を取り
    込むとともに、切替指令に応じてノーマル接続演算、ク
    ロス接続演算の何れか一方を行なう第1の演算手段と、 多項式Ri(X)、Qi(X)、λi(X)、μi
    (X)の各係数データを格納する複数のレジスタ及び前
    記多項式Ri(X)及びQi(X)の係数データを格納
    するレジスタの出力に対して割算を行う割算器を有し、
    前記第1の演算手段の最終段から出力される値を取り込
    むとともに、切替指令に応じてノーマル接続割算演算、
    クロス接続割算演算の何れか一方を行い、この演算結果
    を前記各第1の演算手段に供給する第2の演算手段と、 予め設定されている初期値と前記第2の演算手段に格納
    されている値とに基づいてノーマル接続又はクロス接続
    の何れかを指定する上記切替指令を生成し、上記第1及
    び第2の演算手段に供給する切替判定手段と、 を備えたことを特徴とするユークリッドの互除回路。
  2. 【請求項2】 上記第1の演算手段は、上記訂正数がt
    の時、2t−1個縦続接続される請求項1に記載のユー
    クリッドの互除回路。
  3. 【請求項3】 上記第1の演算手段は、 Ri(X)(又はQi(X))を格納する上記レジスタ
    の出力と上記割算器の割算結果とを乗算する乗算器と、 Qi(X)(又はRi(X))を格納する上記レジスタ
    の出力と上記乗算器の出力とを加算する加算器と、 λi(X)(又はμi(X))を格納する上記レジスタ
    の出力と上記割算器の割算結果とを乗算する乗算器と、 μi(X)(又はλi(x))を格納する上記レジスタ
    の出力と上記乗算器の出力とを加算する加算器と、 を備える請求項1に記載のユークリッドの互除回路。
  4. 【請求項4】 上記第2の演算手段は、 λi(X)(又はμi(X))を格納する上記レジスタ
    の出力と上記割算器の割算結果とを乗算する乗算器と、 μi(X)(又はλi(X))を格納する上記レジスタ
    の出力と上記乗算器の出力とを加算する加算器と、 を備える請求項1に記載のユークリッドの互除回路。
  5. 【請求項5】 上記切替判定手段は、 次数データdRi及びdQiを各々格納する2つのレジ
    スタと、 上記2つのレジスタの出力を比較する比較手段と、 上記第2の演算手段の上記多項式Ri(X)の係数デー
    タを格納するレジスタの出力が0であるか否かを判定す
    る検出手段と、 上記比較手段の比較結果及び上記検出手段の検出結果に
    基づいて、 dRi<dQiで、且つ、多項式R
    i(X)の係数データ≠0の時、上記第1及び第2の演
    算手段に対して、クロス接続を指定する上記切替指令を
    発生する判定手段と、 を備える請求項1に記載のユークリッドの互除回路。
JP25418391A 1991-09-06 1991-09-06 ユークリッドの互除回路 Expired - Lifetime JP3232602B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP25418391A JP3232602B2 (ja) 1991-09-06 1991-09-06 ユークリッドの互除回路
US07/939,593 US5367478A (en) 1991-09-06 1992-09-02 Mutual division circuit
DE4229666A DE4229666C2 (de) 1991-09-06 1992-09-04 Wechselseitig arbeitende Divisionsschaltung
GB9218875A GB2259378B (en) 1991-09-06 1992-09-07 Mutual division circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25418391A JP3232602B2 (ja) 1991-09-06 1991-09-06 ユークリッドの互除回路

Publications (2)

Publication Number Publication Date
JPH0567981A JPH0567981A (ja) 1993-03-19
JP3232602B2 true JP3232602B2 (ja) 2001-11-26

Family

ID=17261388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25418391A Expired - Lifetime JP3232602B2 (ja) 1991-09-06 1991-09-06 ユークリッドの互除回路

Country Status (4)

Country Link
US (1) US5367478A (ja)
JP (1) JP3232602B2 (ja)
DE (1) DE4229666C2 (ja)
GB (1) GB2259378B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442578A (en) * 1991-12-12 1995-08-15 Sony Corporation Calculating circuit for error correction
JP2694792B2 (ja) * 1993-01-27 1997-12-24 日本電気株式会社 誤り位置多項式演算回路
JP2605966B2 (ja) * 1993-02-12 1997-04-30 日本電気株式会社 誤り訂正回路
EP0620654B1 (en) * 1993-03-31 1998-11-18 Kabushiki Kaisha Toshiba Circuit for performing the Euclidian algorithm in decoding of arithmetical codes
US5615220A (en) * 1995-01-31 1997-03-25 Philips Electronics North America Corporation Polynomial divider which can perform Euclid's Algorithm to produce an error locator polynomial from an error syndrome polynomial, and apparatus including the polynomial divider
AU744385B2 (en) * 1997-06-20 2002-02-21 Align Technology, Inc. Method and system for incrementally moving teeth
US5975893A (en) 1997-06-20 1999-11-02 Align Technology, Inc. Method and system for incrementally moving teeth
US6802713B1 (en) 1998-10-08 2004-10-12 Align Technology, Inc. Defining tooth-moving appliances computationally
US6572372B1 (en) 2000-04-25 2003-06-03 Align Technology, Inc. Embedded features and methods of a dental appliance
US6454565B2 (en) 2000-04-25 2002-09-24 Align Technology, Inc. Systems and methods for varying elastic modulus appliances
US7245977B1 (en) 2000-07-20 2007-07-17 Align Technology, Inc. Systems and methods for mass customization
US7383198B1 (en) 2000-07-24 2008-06-03 Align Technology, Inc. Delivery information systems and methods
US7092784B1 (en) 2000-07-28 2006-08-15 Align Technology Systems and methods for forming an object
US7040896B2 (en) 2000-08-16 2006-05-09 Align Technology, Inc. Systems and methods for removing gingiva from computer tooth models
US6386878B1 (en) 2000-08-16 2002-05-14 Align Technology, Inc. Systems and methods for removing gingiva from teeth
US6497574B1 (en) 2000-09-08 2002-12-24 Align Technology, Inc. Modified tooth positioning appliances and methods and systems for their manufacture
US6607382B1 (en) * 2000-09-21 2003-08-19 Align Technology, Inc. Methods and systems for concurrent tooth repositioning and substance delivery
US6726478B1 (en) 2000-10-30 2004-04-27 Align Technology, Inc. Systems and methods for bite-setting teeth models
US6783360B2 (en) 2000-12-13 2004-08-31 Align Technology, Inc. Systems and methods for positioning teeth
US6979196B2 (en) 2002-06-21 2005-12-27 Align Technology, Inc. Systems and methods for automated bite-setting of tooth models
US8899976B2 (en) 2004-09-24 2014-12-02 Align Technology, Inc. Release agent receptacle
US20070092853A1 (en) * 2005-10-24 2007-04-26 Liu Frank Z Multi-layer casting methods and devices
US20060115785A1 (en) 2004-11-30 2006-06-01 Chunhua Li Systems and methods for intra-oral drug delivery
FR2897964B1 (fr) * 2006-02-28 2017-01-13 Atmel Corp Procede de calcul numerique incluant la division euclidienne
US8172569B2 (en) 2008-06-12 2012-05-08 Align Technology, Inc. Dental appliance

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096163B1 (en) * 1982-06-15 1988-06-01 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
EP0096165B1 (en) * 1982-06-15 1988-06-08 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
WO1985003371A1 (en) * 1984-01-21 1985-08-01 Sony Corporation Circuit for calculating finite fields
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
EP0364627B1 (en) * 1988-10-18 1996-08-28 Koninklijke Philips Electronics N.V. Data processing apparatus for calculating a multiplicatively inverted element of a finite field

Also Published As

Publication number Publication date
US5367478A (en) 1994-11-22
GB2259378A (en) 1993-03-10
GB9218875D0 (en) 1992-10-21
JPH0567981A (ja) 1993-03-19
DE4229666A1 (de) 1993-03-11
GB2259378B (en) 1995-08-23
DE4229666C2 (de) 2001-06-07

Similar Documents

Publication Publication Date Title
JP3232602B2 (ja) ユークリッドの互除回路
US5631914A (en) Error correcting apparatus
US5442578A (en) Calculating circuit for error correction
JP2001502153A (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
EP0836285B1 (en) Reed-Solomon decoder with general-purpose processing unit and dedicated circuits
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
US4899341A (en) Error correction circuit
JP3345385B2 (ja) チェンサーチ装置
JP2000004169A (ja) Crc演算方法及びcrc演算回路
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
JP2001127645A (ja) 誤り訂正方法および誤り訂正装置
EP0595326B1 (en) Reed-Solomon decoding with Euclid algorithm
JP2553565B2 (ja) ガロア体演算装置
JPH06244740A (ja) 誤り訂正回路
KR20170112645A (ko) 폴딩된 곱셈기가 적용된 bch 디코더
JP3252421B2 (ja) ユークリッドの互除回路
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JPH10322226A (ja) リードソロモン復号方法
JP3252420B2 (ja) ユークリッドの互除回路
JPH0834439B2 (ja) ガロア体演算装置
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JPH0750595A (ja) 復号化装置
JPH0834440B2 (ja) ガロア体演算方法
JP2605269B2 (ja) エラー訂正方法
JPH10308675A (ja) リードソロモン復号装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

EXPY Cancellation because of completion of term