JP2000209102A - リ―ドソロモン符号器/復号器装置 - Google Patents

リ―ドソロモン符号器/復号器装置

Info

Publication number
JP2000209102A
JP2000209102A JP11368117A JP36811799A JP2000209102A JP 2000209102 A JP2000209102 A JP 2000209102A JP 11368117 A JP11368117 A JP 11368117A JP 36811799 A JP36811799 A JP 36811799A JP 2000209102 A JP2000209102 A JP 2000209102A
Authority
JP
Japan
Prior art keywords
decoder
reed
encoder
data
solomon
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.)
Pending
Application number
JP11368117A
Other languages
English (en)
Inventor
Tod D Wolf
ディ、ウォルフ トッド
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2000209102A publication Critical patent/JP2000209102A/ja
Pending 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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
    • H03M13/1515Reed-Solomon codes
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【課題】 広範囲の応用に対して符号器および復号器に
柔軟性のある再プログラミングを可能にさせる、プログ
ラム可能で、再構成可能なリードソロモン符号器/復号
器が求められている。 【解決手段】 ガロア体オーダーの標準リードソロモン
パラメータ、原始多項式、送信したものの各符号語に対
する記号数およびソースデータが、書き込み可能なレジ
スタ(912)によって設定可能である。リードソロモ
ン符号器/復号器は、データメモリ空間のデータレジス
タ空間を介して書き込み可能なレジスタ内に取り込まれ
るパラメータを特定するところの、デジタル信号プロセ
ッサに接続されている。復号器および符号器パラメータ
は、別々に特定され、復号器および符号器は同時にかつ
独立して作動する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信誤り訂正のた
めの電子回路に関する。
【0002】
【従来の技術】ここ2、30年の間に、デジタル通信シ
ステムは、複雑さの度合いを更に高めてきている。つい
先ごろまでは多大な投資をもってのみ搭載が可能となっ
ていた機能が、今や、家電製品を含む広範囲の製品に利
用できるようになってきた。特に、誤り検出訂正(ED
AC)技術は、長らく、数学的に理解されてきたもので
あって、ハードウェアコストの観点からは、しばしば、
実用的なものではなかった。唯一、単一ビット訂正を持
つ単純なハミングコードEDACのみが、低コスト製品
で実用的なものであった。一方、リードソロモンEDA
Cは、厳しい宇宙通信のような高雑音干渉環境で引き起
こされる多重ビット誤りの訂正に対しては、優れた、強
力な符号化・復号化技術を用いているが、中程度のコス
ト製品にも広く用いるために、妥当なコストで生産でき
るものとなっている。最近の電子技術の進歩によって、
高速のデジタル通信が、多様な製品と応用分野に普及し
ている。デジタル通信技術は、今や、電話のための音声
信号に用いられており、ビデオ電話がいくつかの場所で
可能となっている。コンピュータ間のデジタル通信もま
た、特に、インターネットの出現とともに普及してい
る。専用線接続(例えば、ローカルエリアネットワー
ク)や呼び出し接続によるコンピュータ同士のネットワ
ークもまた、近年、普及しつつある。
【0003】
【発明が解決しようとする課題】これらの方法によって
実現される通信の品質は、受信信号と送信信号との間の
一致の精度に依存している。音声通信のようなある種の
通信は、ビット損失に対して、比較的高いレベルの耐性
をもっている。しかし、デジタルデータ、特に、実行プ
ログラムの通信には、これを完全に用いることができる
ような、正確な忠実度が必要となる。従って、伝送され
るデジタルビットストリーム中の誤り検出と訂正のため
に、様々な技術が開発されてきた。実際には、誤り訂正
技術によって、既設の電話線のような利用可能な通信装
置を介したデジタル通信について、これらの設備を介し
た高周波通信に固有な誤り率に対しても効率的に通信が
行えるようになってきている。誤り訂正は、ネットワー
クを介したデータや他の信号の通信以外の応用にも用い
られる。例えば、コンピュータが、その磁気記憶装置か
ら格納データを検索する際にも、検索データの正確な忠
実度を確保するために、誤り訂正技術が用いられる。こ
のような忠実性は、コンピュータがその大容量記憶装置
に格納された実行可能なプログラムコードに従った操作
を、信頼性の高いものとする上で不可欠なものである。
コンパクトデスク再生装置やデジタルオーディオ録音再
生装置などのデジタル娯楽機器をはじめとした同種の機
器も、高い忠実性をもった出力を与えるために、一般的
に誤り訂正技術を採用している。
【0004】誤り検出ならびに誤り訂正技術の重要な種
類のものは、リードソロモン符号化と呼ばれ、これは、
初めは、リードソロモン論文「ある種の有限体上の多項
コード」(参考文献1)に記述されたものである。リー
ドソロモン符号化は、ガロア体算術を用い、通信ブロッ
クをより大きなブロックに写像するものである。実際に
は、各符号化ブロックが、入力ブロックに依存した過度
に指定された多項式に対応するものとなっている。リー
ドソロモン符号を用いたEDACは、衛星、モデム、オ
ーディオコンパクトディスク、無線電話など、今や、数
多くの通信システムに用いられている。これらのシステ
ムの各々は、規格によって定義されている。規格は、リ
ードソロモン符号器/復号器のためのパラメータを定義
するものである。符号器/復号器とは、復号器を伴なっ
た符号器を指すものである。下の表1は、いくつかの通
信規格のための、リードソロモンパラメータの一部を示
したものである。各通信規格は、リードソロモン符号を
定義するパラメータについて、異なる値をもっている。
【0005】
【表1】
【0006】以下、ガロア体、n、k、tおよびp
(x)の各パラメータについて説明するリードソロモン
符号器/復号器は、しばしばガロア体算術と呼ばれ、多
くのデータ処理ステップでの加法、乗法、除法、累乗を
含む有限体算術を用いる。これらの算術演算の規則は、
通常の2進算術演算とは完全に異なるものである。原始
多項式p(x)は、結果を定義するために用いられる。
表記GF(X)は、所定の規格の記号の可能なビット組
み合わせの数を指している。例えば、GF(256)は
8ビット記号を表し、GF(8)は3ビット記号を表す。
リードソロモン符号は、ブロックコードであり、送信元
のメッセージが所定の数のビットmを有する記号のIC
ブロックに分割されることを意味している。表記の表の
規格の1つによって定義されたあるシステムについて、
例えば、さらに2つのパラメータが用いられる。“n”
は、チャンネル符号語の中の記号の数であり、“t”
は、kこのブロックの各メッセージ毎に訂正される記号
ブロックの数である。このように、特定のリードソロモ
ン符号の選択のしかたは、RS(N,K,T)によって
表される。送信元の符号語である、記号のICブロック
は、i(x)により表され、記号のnブロックのチャン
ネル符号語は、c(x)により表される。(n−k)こ
の余剰記号は、パリティ記号と呼ばれ、符号語を構成す
るために送信元の語に加えられ、本システムが訂正可能
な記号誤りの数は、t=(n−k)/2となる。リード
ソロモン符号器/復号器は、送信元情報に冗長性を加え
ることにより、前方誤り訂正(FEC)を提供する。前
方誤り訂正とは、受信側は、送信元と通信する機会を持
たないという考え方に相当するものである。この一例と
しては、地球上の受信機と相互に通信できず、受信した
データに基づいて調整する(例えば、受信したものの、
損傷を受けていると判定されたデータの新たな複製を再
送信する)、離れた衛星にある送信機がある。データ
は、誤りを引き起こす恐れのある不完全なチャンネルを
介して送信され、受信機によって受信される。リードソ
ロモン復号器は、データを復号し訂正する。リードソロ
モン符号器/復号器の全体を、図1に示す。リードソロ
モン符号器は、n記号を含む送信元符号語I(x)を受
信し、符号化する。チャンネル符号語c(x)は、不完
全な通信チャンネルによって送信される。不完全なチャ
ネルは、図1のe(x)で示される誤りを生じせしめ
る。受信側符号語r(x)は、記号の損傷を含む可能性
がある。リードソロモン復号器は、リードソロモン符号
器の逆操作を実行するとともに、EDAC機能をもって
いる。もし、誤りがなにもない場合には、復号化された
符号語i’(x)は、誤り訂正の必要なしに、送信元符号
語と同一の符号語に復元される。従って、
【数1】i’(x) = i(x) さらに、もし記号誤りが、受信側符号語r(x)中のt
以下の場合には、復号されたキーワードi’(x)も、誤
り訂正後に、発行元符号語i(x)と同一の符号語に復元さ
れる。従って、
【数2】i’(x) = i(x) リードソロモン符号器は、チャネル符号語c(x)を生
成するために、以下の式の生成多項式γ(x)を用い
る。チャネル符号語の式は、体系的な形式に定められた
ものである。
【0007】
【数3】 γ(x)は、次式で定義される。
【数4】 ここで、joは、整数であり、γ(x)の結果を変化させ
るために用いられる。誤り多項式は、e(x)で表され、
【数5】r(x) = c(x) + e(x) リードソロモン復号器の目的は、e(x)を解き、i’(x)
を計算することにある。もし、ブロックに付加される誤
りの数がt以下ならば、i(x) =i’(x)である。
【0008】リードソロモン符号器/復号器は、ASI
C(特定用途向け集積回路)処理要素、DSP(デジタ
ル信号プロセッサ)チップ、SRAM(スタティック・
ランダム・アクセス・メモリ)、EPROM(消去可能
プログラマブル読み出し専用メモリ)、およびその他の
特殊回路素子とから構成されたチップセットを用いて構
成されている。この種のシステムは、数多くの細分化さ
れた製品に広く用いられている。しかし、たとえ取って
代わる製品について多数の類似点があるにせよ、これら
のシステムの各変形例の設計には、多大なる努力と投資
(例えば、新たなASICチップ)が要求されるものと
なっている。
【0009】図2および図3は、従来のリードソロモン
符号器/復号器デバイスの共通的な特徴を示すものであ
る。図2は、リードソロモン符号器の構成についての従
来技術の一例を示すものである。図2において、各記号
は、8ビットからなるバイトサイズを有している(すな
わち、m=8である)。図2の例は、ガロア体の大きさ
が28であるガロア体算術を用いる。図2では、最大符
号語長は、28−l,あるいは 255この記号であ
る。他の構成は、同一のメッセージのための復号化され
た符号語を求めたり、記号係数Czを検査する、あるい
は、他の記号長さ、あるいは他の最大符号語長のための
復号化された符号語を求めたりする。図2の例では、各
符号語について、16の検査記号が生成され、従って、
各符号語あたり8つの誤りを訂正することができる。従
来のリードソロモン符号化によれば、検査記号(C15
14、…、C0)を生成するために、符号語中のICメ
ッセージバイト(Mk-1、Mk-2、…、M0)が用いられ
る。これらの検査記号Czは、多項式C(x)の係数で
ある。ここで、C(x)は、
【数6】 C(x) = C1515 + C1414 + … + C0 であり、係数としてメッセージバイトを有するメッセー
ジ多項式M(x)
【数7】 M(x) = Mk―1k-1 + Mk―2k-2 + … + M0 を、生成多項式G(x)
【数8】 G(x)=(x−a0)(x−a1)(x−a2)…(x−a15) と呼ばれる除数によって割ったものの余りである。ここ
で、各値aiは、2進原始多項式x8+x4+x3+x2+1
の根である。図2の構成例は、16個のシフトレジスタ
ラッチ220から235を含んでおり、多項式の割り算
の結果の余り値を含むものであり、従って、各々が、検
査記号係数C15からC0を含むものとなる。8ビットの排
他的論理和機能241から255は、シフトレジスタラ
ッチ220から235の各組の間に設けられ、ラッチ2
35、234間のXOR機能を用いて、ガロア体加算を
行う。排他的論理和機能267により発生するフィード
バック経路は、入力記号269と最終ラッチ235の出
力の両方をするものであり、各割り算処理での商を表
す。この商は、16この一定値ガロア体乗算器265か
ら260に同時配信される。この乗算器は、商と係数G
15からG0の各々とを掛け合わせる。作動中には、最初
のk記号は、メッセージ自身を含み、符号語の先頭部分
として直接出力される。これらのメッセージ記号Mz
各々は、IN信号線269を通して図2の符号器に入
り、この符号器により実行される割り算操作に適用され
る。これらのメッセージバイトについての、図2の構成
の処理が完了すると、シフトレジスタラッチ235から
220に保持された剰余値は、検査記号C15からC0
対応し、これらは、kメッセージ記号の後ろの符号化さ
れた符号語に添付される。
【0010】これらの符号化された符号語は、次に、適
切なフォーマット化の後、デジタル化されたビットスト
リーム中で通信され、所期の方法で通信される。電話設
備による通信については、符号語は、デジタル化された
形、あるいは、アナログ信号に変換された形のいずれか
で通信されるものであってよい。デジタルネットワーク
あるいはコンピュータ間通信では、符号語はデジタル形
式を保って扱われる。通信媒体によらず、誤りが通信信
号に発生する恐れがある。これらの誤りは、図2の符号
化処理の以前に、入力ビットストリーム中の誤りとは反
転した2値状態として、受信したビットストリーム中に
現れる。復号化処理は、これらの誤りを訂正しようとす
る。この復号化処理について、図3に関連した一般的な
方法で説明する。
【0011】図3の復号器300は、符号語記号の入力
ビットストリームを受信する、単一の符号語は、図1に
示した受信符号語r(x)からなる。受信符号語r
(x)は、シンドロームアキュームレータ312に適用
され、ここで、次の形式をもつシンドローム多項式s
(x)302を生成する。
【数9】 シンドローム多項式s(x)302は、通信設備を介し
て送られてきた通信信号の中に誤りが混在しないかどう
かを示すものである。もし、s(x)=0ならば、なに
も誤りが存在しないことを意味する。もし、s(x)が
ゼロでないならば、ひとつあるいはより多くの誤りが、
検定中の符号語に含まれていることになる。係数の系列
の形であらわされるシンドローム多項式s(x)は、次
に、ユークリッド配列ブロック315に送られる。
【0012】ユークリッド配列ブロック315は、シン
ドロームアキュームレータ312から受信したシンドロ
ーム多項式s(x)302に基づき、2つの多項式、Λ
(x)303とΩ(x)304とを生成する。多項式Λ
(x)303の次数vは、符号語中の誤りの数を表す。
多項式Λ(x)303は、他の解析のため、シェン検索
ブロック316に送られる。多項式Ω(x)304もま
た、ユークリッド配列ブロック315によって生成さ
れ、フォーニーブロック318に送られる。フォーニー
ブロック318は、受信ビットストリームr(x)30
1中の誤りを評価するために、多項式Q(x)304を
用いる。多項式Λ(x)303は、通常、誤り位置特定
多項式と呼ばれる。シェン検索ブロック316は、多項
式Λ(x)303を用いて、ゼロ多項式χ(x)305
を生成し、フォーニーブロック318は、それを用い
て、誤り強度多項式M(x)306を決定する。シェン
検索ブロック316はまた、多項式P(x)307を生
成する。この多項式は、受信した符号語r(x)301
中の誤りの位置を表すものである。次に、誤り付加ブロ
ック319が、多項式M(x)306によって示された
誤り強度と、多項式P(x)307によって示されたこ
れらの誤りの位置とを用いて、訂正されたビットストリ
ームi’(x)308を生成する。
【0013】
【課題を解決するための手段】本発明は、3つの独立し
た設計の中から選んで実現できる、リードソロモン符号
器/復号器のプログラム可能で再構成可能な実装に関す
る。第1の設計は、図4に示すような、独立型のリード
ソロモン符号器/復号器である。この第1の設計には、
特別に設計されたリードソロモン制御ブロックを用いる
ことにより、作りつけのプログラム可能性と再構成可能
性とが含まれている。このリードソロモン制御ブロック
は、それ自身のステートマシン、特別なアドレス可能な
レジスタと、広範囲の応用のために、ユーザ自身が装置
をプログラムし再構成できるような制御論理とをもって
いる。独立型のリードソロモン符号器/復号器の主要な
信号を、図4に示す。本図は、本発明の好適な実施例で
ある実装の独特の特徴を説明するために、図7とともに
利用されるものである。この第1の設計は、特別に設計
されたリードソロモン制御ブロックを用いることによ
り、作りつけのプログラム可能性と再構成可能性を提供
するものである。このリードソロモン制御ブロックは、
それ自身のステートマシンと、特別なアドレス可能なレ
ジスタのバンクと、広範囲の応用のために、ユーザ自身
が装置をプログラムし再構成できるような制御論理とを
もっている。
【0014】図5は、ホストデジタル信号プロセッサあ
るいはCPU装置とともに用いられるリードソロモン符
号器/復号器コプロセッサの第2の設計を示すものであ
る。この設計もまた、ユーザが、ホストデジタル信号プ
ロセッサあるいはCPU装置とやりとりしたり、広範囲
の応用のために装置をプログラムし再構成することを可
能とするものである。図5は、テキサスインスツルメン
ツ社のTMS32OC54のような、一般的なデジタル
信号プロセッサを示している。このデジタル信号プロセ
ッサは、複数の実行ユニットを含んでいる。指数ユニッ
ト132は、浮動小数点演算での指数処理を扱う。乗算
・加算ユニット134は、アキュームレータA、B14
0を用いた乗算と累積操作に用いられる単一周期の整数
乗算器を含んでいる。演算論理回路136は、加算、減
算および論理・比較操作を実行する。バレル・シフタ1
38は、様々なシフトと回転操作を実行する。比較選択
および格納ユニット142は、条件に従った操作と格納
結果の条件の評価を制御する。実行ユニット132、1
43、136、138、140および142は、P、
C、OおよびSバスを介して、メモリ・周辺機器インタ
フェース145と接続されている。メモリ・周辺機器イ
ンタフェースは、メモリと周辺機器とのデータ交換を制
御する。プログラム制御およびアドレス発生器149
は、次の命令アドレスを計算し、実行ユニット132、
143、136、138、140および142により実
行するためのプログラム命令を復号化するための命令メ
モリ空間と、インタフェースをとる。データレジスタと
アドレス発生器148は、データアドレス発生器の他
に、構造化データレジスタを含む。このデータアドレス
発生器は、メモリからのデータ読み取り、メモリへのデ
ータ書き込みのための、データアドレス空間中のアドレ
スを計算する。図5に示した例は、6Kの16ビットデ
ータワードからなるランダムアクセスメモリ144と、
48Kの16ビット命令ワードからなる読み出し専用メ
モリ146とを含んでいる。ここで示したメモリ搭載量
は、単に、一設計事例を表すものであり、この量を上回
ったり下回ったりするメモリがデジタル信号プロセッサ
の一部に搭載されるものであってよいことは、本技術分
野を熟知した者が、従前から承知しているものである。
デジタル信号プロセッサは、システム全般にわたる、様
々なサービスを含むものである。位相ロックループクロ
ック発生器150は、外部クロック信号を受信し、デジ
タル信号プロセッサの様々な部分のための、異なる周波
数をもつ複数のクロック信号を含む制御クロックを発生
させる。タイマ151は、リアルタイム事象の時間調整
のために用いられる、プログラム可能なカウントダウン
時間である。JTAGテストポート152は、従来の技
術で知られた方法によって、シリアルスキャンパスを通
して、デジタル信号プロセッサのテストを許可するもの
である。シリアルおよびホストポート153は、デジタ
ル信号プロセッサの外部の様々な装置への接続を提供す
る。電力配線156は、デジタル信号プロセッサの様々
な部分に、電力を供給するものである。インタフェース
ユニット158は、外部メモリバスへの初期接続手順を
提供し、さらに、デジタル信号プロセッサとリードソロ
モン符号器/復号器との間のデータおよび制御信号の伝
送を制御するDSP/RS符号器インタフェースへの接
続を提供するものである。
【0015】図6は、組込み型デジタル信号プロセッサ
装置あるいはCPU装置を有する、リードソロモン符号
器/復号器のカスタムICの第3の設計を示すものであ
る。この設計もまた、特別に設計されたリードソロモン
制御ブロックを用いることにより、作りつけのプログラ
ム可能性と再構成可能性を含むものである。このリード
ソロモン制御ブロックは、それ自身のステートマシン
と、特別なアドレス可能なレジスタのバンクと、データ
配信ネットワークと、制御論理とをもっている。この設
計は、リードソロモン符号化/復号化だけでなく追加の
処理を実装したアプリケーションを効率よく用いること
を可能とする。これら追加の処理は、従来は、ホストD
PSやCPU、あるいは他のコプロセッサを利用してい
たものである。一例としては、従来型の復号器を採用
し、ビタビ復号化、従来の復号化さらに他の処理を用い
たアプリケーションがある。図6は、一般的なデジタル
信号プロセッサである。図6は、図7に示したものと同
様の形態で、テキサスインスツルメンツ社のTM532
0C54のような、一般的なデジタル信号プロセッサを
示している。組込まれたデジタル信号プロセッサは、デ
ジタル信号プロセッサの内部に接続されたP,Cおよび
Dバスを介して、リードソロモン符号器/復号器へイン
タフェースをとる。デジタル信号プロセッサとリードソ
ロモン符号器/復号器との間の接続と相互作用は、好ま
しくは、米国仮特許出願番号60/073,668、1
998年2月4日出願、件名「効率的に接続可能なハー
ドウェアコプロセッサを有するデジタル信号プロセッ
サ」の記述に従って行う。
【0016】本発明のこれらの3つの実装は、符号化と
復号化の両方のために設計され、単一のハードウェアに
よる解決手段をもって、様々な種類のリードソロモンコ
ードを実装するものである。所定のシステム規格に関連
する全てのパラメータは、プログラム可能である。符号
器と復号器は、互いに独立しており、送信機と受信機と
がローカルである、すなわち同一の装置の一部であるな
らば、1つのユニットの中で並行して実行することがで
きる。符号器と復号器は、完全に異なるリードソロモン
コードを実行することができる。上述したように、本発
明の実装は、最良のシステム原価のために複数のチップ
に分割されたチップセット、あるいは、リードソロモン
符号器/復号器システムのすべての要素を含んだ完全に
集積化されたチップのいずれかの形態をとることが可能
である。図4に示したもっとも単純な形態では、装置
は、それ自身のアプリケーション基盤にプログラム化さ
れ、そこでは、リセットと設定操作が実行される。図5
と図6に示した第1と第2の設計では、各々、同様の構
成をもつ、図5と図6に示したデジタル信号プロセッサ
のような標準的なホストプロセッサのために開発された
ものの派生となるようなソフトウェアが開発される。こ
のソフトウェアは、本発明のチップセットや単一のチッ
プを利用して、リードソロモン符号器/復号器システム
の極めて多岐にわたる応用のために、リードソロモン符
号器/復号器のハードウェアの全てを完全にプログラム
して再構成できるようにするものである。本発明のリー
ドソロモン符号器/復号器のプログラミングと再構成処
理は、直接的であり、符号化と復号化の操作を完全に実
行するために必要となる全ての情報とともに、アドレス
可能なレジスタをローディングすることを指示する一連
の操作に集約される。
【0017】
【発明の実施の形態】本発明の好適な実施例のリードソ
ロモン符号器/復号器は、図4に示された独立型のリー
ドソロモン符号器/復号器である。そのシステムの基本
動作は、次の通りである。データのブロックが、データ
バスによって、外部ソースからリードソロモン符号器/
復号器に転送される。そのデータバスは、2本の物理的
なバス400および401として示されているが、単一
の双方向バスであっても良い。データバス400はデー
タ入力に対するものであり、データバス401はデータ
出力に対するものである。リードソロモン制御ブロック
403は、リードソロモン符号器/復号器の様々な機能
ブロックに向けられる命令を発生する。これらの命令
は、後述のセクションで説明する。符号化および復号化
中、ビジー信号402は活性である。リードソロモン符
号器/復号器のプログラム能力および再構成能力が、プ
ロセス段階の以下のシーケンスによって実行される。リ
ードソロモン制御ブロック403内のアドレス可能なレ
ジスタおよび符号化および復号化の両方に対してリード
ソロモン制御ブロック403から生ずる装置機能のすべ
てが、本発明の核心概念である。この符号化シーケンス
については、図12を参照して本文およびフロー図形態
でさらに詳細に後述される。図12のフロー図の参照ブ
ロック番号をここに記述する。
【0018】符号化 (1)RESET命令レジスタを用いて符号器をリセッ
トする(ブロック1201) (2)リードソロモン符号器設定レジスタを用いて符号
器を初期化する(ブロック1202) (3)動作可能にされた状態完了レジスタを持つCOM
MAND1レジスタを用いて符号器設定命令を実行する
(ブロック1203) (4)STATUS1レジスタをリセット(ブロック1
204) (5)COMMAND2レジスタを持つDMAを用いて
データブロックを符号器データRAM0に書き込む(ブ
ロック1205) (6)COMMAND1レジスタを用いてリードソロモ
ン符号器を実行し、状態完了信号を動作可能にさせる
(ブロック1206) (7)SIGNAL1レジスタをリセットし、ENC_
COMPLETE信号が「高」になる(ブロック120
7) (8)COMMAND1レジスタを持つDMAを用いて
符号器データRAM0からデータブロックを読み出す
(ブロック1208) (9)さらに多くのブロックがエンコードされようとす
る場合には(ブロック1209)、ステップ5から8を
繰り返す。そうでない場合には、符号化プロセスが終了
させられる(ブロック1210) 同様に、リードソロモン制御内のアドレス可能なレジス
タを用いて、復号化するための基本シーケンスのステッ
プが、以下の通り説明される。この復号化シーケンスに
ついては、図13を参照して本文およびフロー図形態で
さらに詳細に後述される。図13のフロー図の参照ブロ
ック番号をここに記述する。
【0019】復号化 (1)RESET命令レジスタを用いて復号器をリセッ
トする(ブロック1301) (2)リードソロモン復号器設定レジスタを用いて復号
器を初期化する(ブロック1302) (3)動作可能にされた状態完了レジスタを持つCOM
MAND1レジスタを用いて復号器設定命令を実行する
(ブロック1303) (4)STATUS1レジスタをリセットする(ブロッ
ク1304) (5)COMMAND2レジスタを持つDMAを用いて
データブロックを復号器データRAM0に書き込む(ブ
ロック1305) (6)COMMAND1レジスタを用いてリードソロモ
ン復号器を実行し、状態完了信号を動作可能にさせる
(ブロック1306) (7)SIGNAL1レジスタをリセットし、DEC_
COMPLETE信号が「高」になる(ブロック130
7) (8)COMMAND1レジスタを持つDMAを用いて
復号器データRAM0からデータブロックを読み出す
(ブロック1308) (9)さらに多くのブロックが復号化されようとする場
合には(ブロック1309)、ステップ5から8を繰り
返す。そうでない場合には、復号化プロセスが終了させ
られる(ブロック1310)
【0020】以下、図4を参照してリードソロモン符号
器/復号器入力信号について説明する。 CLK − クロック404の周波数は100MHzま
たはそれ以上である。すべての入力および出力信号がC
LK信号と同期している。いずれの入力信号に印加され
る論理レベルも、CLKの立上りにクロックされる。 RESET − リセット信号405は、装置の同期リ
セットを制御する。RESETがクロック周期に対して
低いとき、すべての内部レジスタがリセットされる。符
号器データRAM406、符号器指数部RAM407、
復号器データRAM408、復号器指数部RAM40
9、および復号器逆数RAM410は、RESET信号
によって影響されない。 ADDR − ADDR信号411は、リードソロモン
符号器/復号器のアドレスバスである。11ビットバス
に対して、リードソロモン符号器/復号器の2Kバイト
アドレス空間は、それぞれ128個のアドレスを保持す
る16個のブロック中にマップ化される。メモリマップ
が、図11に示されている。 DATA_IN − DATA_IN信号400は入力
データバスである。16ビットデータ転送が、リードソ
ロモン符号器/復号器データRAMおよび初期化レジス
タに対して行われる。転送されるデータは、8ビット記
号のブロック内にある。それらの記号は、0、1、2,
3、…Xに順序付けられる。偶数個の記号がDATA_
IN(7:0)に配置され、奇数個の記号がDATA_
IN(15:8)に配置される。8ビットデータ転送は
DATA_IN(7:0)を使用する。DATA_IN
(0)は最も重要でないビットである。 PS(バー) − プログラム空間選択信号412は、
リードソロモン符号器/復号器へのアクセスを制御す
る。PS(バー)が「高」であるとき、リードソロモン
符号器/復号器はアクセスされ得ない。しかし、実行命
令が前もって入力されている場合、リードソロモン符号
器/復号器は、その命令が完了するまで実行し続ける。 EN(バー) − イネーブル信号413は、リードソ
ロモン符号器/復号器へのアクセスを制御する。EN
(バー)が「低」のとき、リードソロモン符号器/復号
器がアクセスされ得る。しかし、実行命令が前もって入
力されている場合、リードソロモン符号器/復号器は、
その命令が完了するまで実行し続ける。 MSTRB(バー) − 外部メモリアクセスストロー
ブ信号414は、リードソロモン符号器/復号器へのア
クセスを制御する。MSTRB(バー)が「低」である
とき、リードソロモン符号器/復号器がアクセスされ得
る。MSTRB(バー)が「高」であるとき、リードソ
ロモン符号器/復号器はアクセスされ得ない。しかし、
実行命令が前もって入力されている場合、リードソロモ
ン符号器/復号器は、その命令が完了するまで実行し続
ける。 R/W(バー) − 読出し/非書込み信号415は読
出し/書込みモード選択信号である。R/W(バー)が
「高」であるとき、リードソロモン符号器/復号器は動
作可能にされ、リードソロモン符号器/復号器は読出し
モードにあって、アドレスデータを出力する。R/W
(バー)が「低」であるとき、リードソロモン符号器/
復号器は動作可能にされ、リードソロモン符号器/復号
器は書込みモードにあって、データをアドレス位置に書
込む。
【0021】以下、図4を参照して、リードソロモン符
号器/復号器の出力信号について説明する。 DATA_OUT − DATA_OUTバス401は
データ出力バスである。16ビットデータ転送が、リー
ドソロモン符号器/復号器データRAMおよび初期化レ
ジスタから行われる。転送されるデータは、8ビット記
号のブロック内にある。それらの記号は、0、1、2,
3、…Xに順序付けられる。偶数個の記号がDATA_
IN(7:0)に配置され、奇数個の記号がDATA_
IN(15:8)に配置される。8ビットデータ転送は
指数および逆数RAMから行われる。8ビットデータ転
送はDATA_OUT(7:0)を使用する。DATA
_OUT(0)は最下位ビットである。 DATA_OUT_SIZE − DATA_OUT_
SIZE信号416は、DSPインタフェースに使用さ
れるDATA_OUTバス401の大きさである。DA
TA_OUTバスが8ビットである場合、DATA_O
UT_SIZEは「00」である。DATA_OUTバ
スが16ビットである場合、DATA_OUT_SIZ
Eは「01」である。 RS_VALID − RS_VALID信号417が
「高」であるとき、DATA_OUTバス401上のデ
ータは有効である。 READY − READY信号418は活性低信号で
ある。リードソロモン符号器/復号器がデータを送信ま
たは受信する用意があるとき、リードソロモン符号器/
復号器はこの信号を低に設定する。 DEC_COMPLETE − DEC_COMPLE
TE信号419は、活性低信号である。動作可能にされ
た復号器の命令がそれらのタスクの実行を完了したと
き、リードソロモン符号器/復号器はこの信号を低に設
定する。この信号は、2つの復号器命令レジスタのそれ
ぞれによって動作可能にされ得、動作不能にされ得る。
この信号をリセットするため、論理「1」を動作可能に
された復号器信号レジスタに書込むことが要求される。 ENC_COMPLETE − ENC_COMPLE
TE信号420は、活性低信号である。動作可能にされ
た符号器の命令がそれらのタスクの実行を完了したと
き、リードソロモン符号器/復号器はこの信号を低に設
定する。この信号は、2つの符号器命令レジスタのそれ
ぞれによって動作可能にされ得、動作不能にされ得る。
この信号をリセットするため、論理「1」を動作可能に
された符号器信号レジスタに書込むことが要求される。 DATA_VALID − DATA_VALID信号
421が低であるとき、DATA_OUTバス上のデー
タは有効であり、読み出されるべきDSPに利用可能で
ある。DATA_VALIDが高であるとき、DATA
_OUTバス上のデータは無効である。 FAIL − 復号器が受信コードを訂正できなかった
ことを示すため、FAIL信号492は活性になる。
【0022】トップレベルブロック 符号器/復号器と、独立型のリードソロモン符号器/復
号器の設定および制御の両方を含み、本発明の好適な実
施例でもあるリードソロモンブロックは、図4に示され
た数個のブロックから構成される。図4の5つの型の機
能ブロックは:(a)リードソロモン制御ブロック40
3、(b)ガロア体符号器設定ブロック422およびガ
ロア体復号器設定ブロック423、(c)符号器45
7、(d)復号器458および(e)RAMブロック4
06、407、408、409、410である。従来の
復号器ブロックがどのように本発明のRAMおよび独特
の機能ブロックと、特にリードソロモン制御ブロック4
03およびガロア体復号器設定ブロック423とインタ
フェースするかをさらに説明するために、以下に図7を
用いて、リードソロモン復号器458について付加的な
説明をする。最初に、ステートマシン、リードソロモン
制御ブロック403、およびリードソロモン符号器/復
号器RAM406、407、408、409および41
0について説明する。
【0023】ステートマシン 図4に示されたリードソロモン制御ブロック403、ガ
ロア体符号器設定ブロック422、ガロア体復号器設定
ブロック423、符号器457および復号器458のブ
ロックのそれぞれは、ステートマシンを含む。ステート
マシンフローは、図8に説明されている。ステートマシ
ンは4つの状態、すなわち、アイドル801、開始80
2、実行803、および復号化804を持つ。ブロック
がアイドル状態801にある間、そのブロックは何もせ
ず、ビジーおよび復号化信号が不活性状態にある。開始
信号が活性になると、ステートマシンは開始状態802
に移動する。開始状態中、ビジー信号は活性になる。1
クロック周期後に、ステートマシンは実行状態803に
なる。実行状態中、ビジー信号は活性のままである。ま
た、リードソロモンブロックはその機能を実行してい
る。例えば、リードソロモン符号器ブロックは、符号器
機能を実行しているだろう。実行状態803は、有限数
のクロック周期の間続行する。最後の実行状態中、復号
化信号は活性になる。復号化信号が活性になると、これ
は、このブロックがその実行を完了したことを次のブロ
ックに知らせる。復号化状態804が、次に1クロック
周期の間実行される。デコード状態804中、ビジーお
よび復号化信号が不活性になる。最後に、ステートマシ
ンはアイドル状態801に戻る。状態信号が再び不活性
になるまで、アイドル状態801に留まる。このステー
トマシンのフローは、各ブロックを実行するのに何クロ
ック周期かかるかの知識なしに複数のブロックをカスケ
ード接続させることができる。
【0024】リードソロモン制御ブロック リードソロモン制御ブロック403は、図9に示されて
いる。リードソロモン制御ブロック403の目的は、外
部装置とリードソロモン符号器/復号器との間のインタ
フェースを制御することにある。DATA_INバス9
00は、外部装置からの入力データバスである。ADD
Rバス911は、外部プログラム源、DSPまたはCP
U装置からの外部アドレス源である。リードソロモン制
御ブロック403は、符号器および復号器の両方に対す
る設定レジスタ、命令および状態レジスタを含んでいる
すべてのアドレス可能なレジスタ912を含む。リード
ソロモン制御ブロック403は、リードソロモン符号器
/復号器内で使用するための外部アドレス911の変換
のためのアドレス発生器913、ステートマシン91
4、およびリードソロモン制御論理916も含む。適当
な命令が発せられると、リードソロモン制御ブロック4
03が、符号器_設定_信号921、符号器_開始信号
922、復号器_設定_信号923、および復号器_開
始信号924を駆動する。(DSPまたはCPUのいず
れかである)外部ソースからのDATA_INバス90
0上のデータは、リードソロモン制御ブロックデータ配
分インタフェース915を介して、データRAMに書込
まれまたはそれから読み出される。リードソロモン制御
ブロック403はすべての要求されるRAM制御信号9
41、942、943、944および945を発生す
る。アドレス発生器913は、リードソロモン符号器/
復号器のインタフェースに対して、必要な如何なるアド
レス変換も実行する。RS_制御_アドレス信号918
は、RAMアドレスをすべての符号器および復号器RA
Mに送る。
【0025】リードソロモン制御ブロック403は、リ
ードソロモン復号器458から入力を受信する。これら
の信号は、リードソロモン復号器458からのBUSY
DEC信号991および失敗信号992(図7の70
2および778)を含む。リードソロモン制御ブロック
403は、関連のアドレス発生器情報およびレジスタ記
憶プログラム、命令、信号、およびアドレス可能なレジ
スタのバンク内の状態情報およびステートマシンの条件
を用いて、ガロア体符号器設定ブロック、ガロア体復号
器設定ブロック、符号器、復号器およびすべての符号器
および復号器RAMに対して制御信号を発生する。デー
タ分配器からのデータは、リードソロモン制御ブロック
403DATA_OUT_ENC/DECバス902を
介してリードソロモン符号器/復号器ブロックに送ら
れ、DATA_RETURNバス903を介してリード
ソロモン制御ブロック430に戻される。処理されたデ
ータは、DATA_OUTバス901を介して外部装置
に送られる。リードソロモン制御ブロック403の入力
/出力信号は、以下の表2に記入されている。
【表2】
【0026】リードソロモン符号器/復号器RAM リードソロモン符号器/復号器は、7個のRAM、すな
わち1006a、1006b、1007、1008a、
1008b、1009、および1010を含む。これら
は、図4のRAM406、407、408、409、お
よび410に対応し、図10aに示される。この事例で
は2つの型のRAMがある。この第1の型は、256x
8ビットのRAMである。この第1の型のRAMは、2
56バイトの番地を含み、図10bに示されている。こ
の第1の型のRAMは、符号器指数部RAM、復号器指
数部RAM、および復号器逆数RAM用に使用される。
符号器指数部RAMは、符号器SETUP命令によって
初期化される。復号器指数部RAMは、復号器SETU
P命令によって初期化される。全部で3個のこれらのR
AMは、図11に示された、それらのアドレスを指定す
ることによって読み出される。このメモリは8ビットモ
ードのみを有する。図10cは、128x8ビットx2
のRAMである第2の型のRAMを示す。この第2の型
のRAMは、4個のデータRAM用に使用される。その
RAMは、8ビットモードと16ビットモードの両方を
持つ。リードソロモン符号器/復号器が、符号化してい
るか復号化している間、その8ビットモードがデータ転
送用に使用される。16ビットモードは、リードソロモ
ン符号器/復号器インタフェースを使用するデータ転送
用に使用される。この16ビットモードは、この実施例
のDSP外部メモリインタフェースに対し最大データ帯
域幅を与える。16ビットモード中に、ADDR(0)
は、どのメモリがどのデータを受信するかを制御する。
DATA_IN(15:0)および DATA_OUT
(15:0)バスは、偶数番記号がビット(7:0)に
置かれ、奇数番記号がビット(15:8)に置かれるこ
とを要求する。これは、16ビットモードではRAM0
がすべての偶数個の記号を含み、RAM1がすべての奇
数個の記号を含むことを意味する。
【0027】ガロア体符号器設定ブロック 図4に示されたガロア体符号器設定ブロック422の入
力/出力信号は、表3に記入されている。
【表3】 すべてのリードソロモン符号器設定レジスタが初期化さ
れた後、このガロア体符号器設定ブロック423は実行
準備可である。リードソロモン制御ブロック403が、
このブロックの開始信号であるGF_ENC_SETU
P信号442を駆動する。開始信号は、1クロック周期
の間活性である。一度、このブロックのステートマシン
が実行状態に入ると、このブロックは符号器指数部RA
Mを初期化し、γ係数を計算する。その実行状態中、ビ
ジー信号は活性である。指数部RAM406の初期化
は、GFおよびp(x)に依存する。そのアルゴリズム
は次式で示される。
【数10】di+1 = 2 x di
【0028】ここで、dは指数部RAMであり、iはi
=0からGF−1までのアドレスの指数である。初期デ
ータd0は、1の値に設定される。GF繰返し後、残り
のRAMアドレス、GFから255、がゼロに設定され
る。RAMの初期化を行うため、256クロック周期が
必要である。指数部RAMが初期化された後、生成多項
式が発生される。その生成多項式は、以下に定義される
γ係数γ(x)を含む。
【数11】 ここで、joは、γ(x)の結果を変えるために使用さ
れる整数であり、展開によって次式が与えられる。
【数12】
【0029】ガロア体復号器設定ブロック 図4に示されたガロア体復号器設定ブロック422の入
力/出力信号は、表4に記入されている。
【表4】 すべてのリードソロモン符号器設定レジスタが初期化さ
れた後、このガロア体符号器設定ブロック432は実行
準備可である。リードソロモン制御ブロック403が、
このブロックの開始信号であるGF_DEC_SETU
P信号432を駆動する。この開始信号は、1クロック
周期の間活性である。一度、このブロックのステートマ
シンが実行状態に入ると、このブロックは復号器指数部
RAM409を初期化し、指数係数を計算し、β係数を
計算し、復号器逆数RAM410を初期化する。その実
行状態中、ビジー信号は「高」である。指数部RAMの
初期化は、GFおよびp(x)に依存する。そのアルゴ
リズムは次式で示される。
【数13】di+1 = 2 x di
【0030】ここで、dは指数部RAMであり、iはi
=0からGF−1までの指数部RAMアドレスである。
初期データd0は、1の値に設定される。GF繰返し
後、残りのRAMアドレス、GFから255、が「0」
に設定される。RAMの初期化を行うため、256クロ
ック周期が必要である。指数係数は、指数部RAMの最
初のt個の要素である。指数部RAMが初期化されてい
る間、最初のt個の係数が記憶される。このことは、い
かなる余分なクロック周期も必要としない。指数係数
は、シェン検索動作中に必要とされる。β係数が次に計
算される。そのβ係数は、シンドロームアキュムレータ
によって使用される。βの値は、以下に与えられる。
【数14】βi = di+jo
【0031】ここで、di+joは、その指数アドレスにお
けるデータであり、i+joは、i=0から2t−1に
対する指数部RAMアドレスに等しい。次に、βレジス
タは、(2t−1)<i<20に対してゼロに設定され
なければならない。20が、t=10の符号に対するβ
係数の数である。このステップに、20クロック周期か
かる。ガロア体符号器設定ブロック423の他のタスク
は、復号器逆数RAM410を初期化することにある。
ガロア体のオペランドの逆数を見つけるために、その逆
数、AxB=1(ここでB=A-1)を見つける必要があ
る。このアルゴリズムは、繰返し法である。
【0032】リードソロモン符号器および符号器RAM 独立型のリードソロモン符号器ブロック457が、図4
にある。開始信号435および符号器設定信号431
は、リードソロモン制御ブロック403から来る。その
符号器設定信号は、GF、p(x)、n、k、xten
d、およびse_multから成る。20個のγ信号4
36は、ガロア体符号器設定ブロック422から来る。
開始信号は、ステートマシンからの入力であり、ビジー
信号437はステートマシンへの出力である。符号器デ
ータRAM406、407は、符号器ブロック457か
ら次の信号を受信する。RAMイネーブル信号、RAM
R/W、RAMデータ入力、RAMデータ出力および
RAMアドレス。リードソロモン符号器ブロック457
は、符号器データRAMからデータを読出し、符号器デ
ータRAMにデータを書き込む。一度、符号器設定信号
が初期化され、符号器ガロア体設定命令が完了すると、
リードソロモン符号器が準備可になる。リードソロモン
符号器ブロック457の機能は、c(x)を計算するこ
とである。システム符号に対して、u(x)は以下のよ
うに定義される。
【数15】 γ(x)は、以下のように定義される。
【数16】 oは整数であり、γ(x)の結果を変えるために使用
される。符号はシステム的であるので、リードソロモン
符号器ブロック457は、多項式除算残を計算する必要
がある。その残りは、パリティチェック多項式と呼ばれ
る。上述の式は、20個のパリティチェックレジスタで
実施される。20個のレジスタは、t=10個の符号に
対して必要であり、2t個のパリティ記号が必要とされ
る。
【0033】リードソロモン復号器および復号器RAM リードソロモン復号器ブロック458について、図7を
参照して詳細に説明する。ここでは、この実施に適合さ
れた多くの従来のブロック(RAMおよび復号器ブロッ
ク)と本発明の重要なリードソロモン制御ブロック40
3間のインタフェースより詳しく説明する。開始信号7
11はステートマシンからの入力であり、ビジー信号7
02はステートマシンへの出力である。復号器設定信号
DEC_SETUP442は、リードソロモン制御ブロ
ック403から来る。これらは、GF、p(x)、n、
k、xtend、およびj0を含む。β信号443およ
び指数信号444は、ガロア体設定ブロック423から
来る。β信号743は、20個の要素を持つバスであ
り、指数信号744は、10個の要素を持つバスであ
る。これはt=10特定設計性能による。β信号743
は、シンドロームアキュムレータによって使用される。
指数信号744は、シェン検索ブロック316によって
使用される。リードソロモン復号器ブロック423は、
データRAM708からデータを読出し、データRAM
708にデータを書き込む。リードソロモン復号器ブロ
ック423は、指数部RAM709および逆数RAM7
10から読み出すだけである。これらの3個のRAMの
制御信号は、リードソロモン復号器ブロック458の入
出力信号に含まれる。リードソロモン復号器は、失敗す
ることがある。従って、失敗信号778が、リードソロ
モン復号器ブロック458の出力として含まれる。一
度、復号器設定信号が初期化され、復号器ガロア体設定
命令が完了すると、リードソロモン復号器が準備可にな
る。
【0034】図7は、主要信号の接続を示す。各ブロッ
クは、図3に示されるように、直列に実行される。シン
ドロームアキュムレータは、リードソロモン復号器開始
信号711を受信し、実行を開始する。シンドロームア
キュムレータビジー信号761は、実行中活性である。
他のブロックは、アイドル状態にある。シンドロームア
キュムレータが終了すると、復号器信号724は1クロ
ック周期の間活性になる。ユークリッド配列ブロック3
15この信号をその開始信号724として取り扱う。ユ
ークリッド配列ブロック315はその機能を実行し、他
のブロックはアイドル状態にある。この動作シーケンス
は、誤り加算ブロック319が完了するまで繰り返す。
これら5個のブロックの実行中、リードソロモン復号器
ビジー信号702は活性である。リードソロモン復号器
ビジー信号702は、復号器ブロックからの5個の個別
のビジー信号の論理和である。このリードソロモン復号
器ビジー信号702は、リードソロモン符号器/復号器
から外部装置すなわちDSPへの出力である。この信号
は、外部装置すなわちDSPに、リードソロモン符号器
/復号器が受信した符号語を復号化していることを知ら
せる。
【0035】リードソロモン復号器のタスクは、受信し
た符号語r(x)を処理し、誤り多項式e(x)を発生
し、t個の誤りを訂正し、復号化された符号語i’
(x)を出力する。r(x)にはn個の記号があり、
i’(x)にはk個の記号がある。誤り多項式は、以下
の通り定義される。
【数17】 ここで、Miは、誤りの大きさであり、Piは誤り位置で
ある。
【0036】シンドロームアキュムレータブロック シンドロームアキュムレータブロック312の入力/出
力信号は、表5に記入されている。
【表5】 シンドロームアキュムレータは、復号化データRAMか
らデータを読み出す。データRAM制御信号は、アドレ
スおよびイネーブルから成る。データRAM入力は、受
信した多項式からのデータである。シンドロームアキュ
ムレータは、図7にs(x)770とラベル付けされた
シンドロームアドレスを計算する。20個のシンドロー
ムレジスタがある。r(x)のすべての要素を処理した
後、r(x)内に誤りが存在するかどうかを決定するた
めに、シンドローム値が使用される。すべてのシンドロ
ーム値がゼロであれば、そのときは誤りが発生していな
い。シンドロームを決定するための式は、i=0から2
t−1までに対して次の通りである。
【数18】 s(i)=s(i)x b(i)+ DATA
【0037】ユークリッド配列ブロック ユークリッド配列ブロック315の入力/出力信号が、
表6に記入されている。
【表6】 開始信号は、ステートマシンからの入力であり、ビジー
信号は、ステートマシンへの出力である。復号器設定信
号は、、GF、p(x)、およびtから成る。これらの
信号は、リードソロモン制御ブロック403に記憶され
る。ユークリッド配列ブロック315は、復号器逆数R
AMを読出し、このデータ信号は、図7に793として
ラベル付けされている。逆数RAM信号は、データ、ア
ドレス、およびイネーブルである。s(x)信号は、2
0個の記号から成り、シンドロームアキュムレータブロ
ックに記憶される。ユークリッド配列ブロック315の
機能は、Λ(x)とΛ(x)の度合い781、Ω(x)
とΩ(x)の度合い782を計算することである。Λ
(x)は、次の形態をしている。
【数19】 そして、Ω(x)は、次の形態をしている。
【数20】 Λ(x)の度合いは、vに等しく、Ω(x)の度合い
は、v−1に等しい。このvは、r(x)における誤り
数に等しく、適切な符号化に対してはv£tであ
る。
【0038】シェン検索ブロック シェン検索ブロック316の入力/出力信号が、表7に
記入されている。
【表7】 開始信号784は、ステートマシンからの入力であり、
ビジー信号763は、ステートマシンへの出力である。
復号器設定信号は、、GF、p(x)、n、tおよびx
tendから成る。これらの信号は、リードソロモン制
御ブロック403に記憶される。シェン検索ブロック3
16は、復号器指数部RAMブロックを読み出す。指数
部RAM信号は、データ、アドレス、およびイネーブル
である。EXPONENT信号は、10個の記号から成
り、ガロア体復号器設定ブロックに記憶される。ΛとΛ
の度合いとは、ユークリッド配列ブロック315によっ
て発生される。シェン検索ブロック316の機能は、ゼ
ロ信号X(x)788および誤り位置P(x)790を
発生することである。X(x)788は、フォーニーブ
ロック318によって使用され、P(x)790は、誤
り加算ブロックによって使用される。シェン検索ブロッ
ク316は、失敗信号778によって失敗をユーザに知
らせる。
【0039】フォーニーブロック フォーニーブロック318の入力/出力信号が、表8に
記入されている。
【表8】 開始信号785は、ステートマシンからの入力であり、
ビジー信号764は、ステートマシンへの出力である。
復号器設定信号は、GF、p(x)、およびj 0から成
る。これらの信号は、リードソロモン制御ブロック40
3に記憶される。フォーニーブロック318は、図7に
RECIPとラベル付けされた復号器逆数RAMブロッ
クを読み出す。逆数RAM信号は、データ、アドレス、
およびイネーブルである。EXPONENT信号は、1
0個の記号から成り、ガロア体復号器設定ブロック42
3に記憶される。Λ(x)、Λ(x)の度合い、Ω
(x)およびΩ(x)の度合いは、ユークリッド配列ブ
ロック315によって発生される。X(x)およびゼロ
は、シェン検索ブロック316によって発生される。フ
ォーニーブロック318は、誤りマグニチュードM
(x)を発生する。M(x)は、i=1からvに対し
て、次式によって定義される。
【数21】 誤り加算ブロック 誤り加算ブロック319の入力/出力信号が、表9に記
入されている。
【表9】 開始信号786は、フォーニーブロック318からの入
力であり、ビジー信号765は、ステートマシンへの出
力である。復号器設定信号は、nおよびtから成る。こ
れらの信号は、リードソロモン制御ブロック403に記
憶される。誤り加算ブロック319は、復号器RAMか
らデータ読み出し、復号器RAMにデータを書込む。デ
ータRAM信号は、RAMデータ入力796、RAMデ
ータ出力798、RAMアドレス751、RAMイネー
ブル752、およびRAM読み出し/書き込み制御であ
る。シェン検索ブロック316からの誤り位置P(x)
およびフォーニーブロック318からの誤りマグニチュ
ードM(x)789は、誤り加算ブロック319に入力
される。失敗信号778は、シェン検索ブロック316
およびフォーニーブロック318からの失敗信号の論理
和である。誤り加算ブロック319の機能は、M(x)
をロケーションn−1−P(i)で復号器RAMに記憶
されたデータに加算することである。これは、i=0か
らt−1までのすべてのiに対して繰り返される。失敗
信号が活性である場合には、ゼロの値がRAM内のデー
タに加算される。
【0040】プログラム能力および再構成能力 本発明について実施例を説明したが、本発明は、図4、
図5または図6のいずれかのアーキテクチャに含まれ
る。プログラミングを容易にするとともに、再構成化に
柔軟性を持たせるため、リードソロモン命令のセット、
すなわちアドレス可能なレジスタからの動作手順に対す
る実行命令と初期化命令の両方を低減させることが望ま
しい。このことにより、極めて簡単なプログラミングが
可能になり、必要なユーザ入力が、符号器/復号器に、
符号列につき4個の信号入力に基づいて一連の動作を実
行させるための簡単な符号になる。これらの信号入力
は、EN、R/W(バー)、ADDR、およびDATA
_INである。 リードソロモンアドレスマップ 本発明のリードソロモン符号器/復号器は、好ましく
は、ADDR(10:0)バスによって制御される2K
のアドレス領域を使用する。図11の表に示されている
ように、2Kのアドレス領域は、16個の128サイズ
ロケーションに分割される。メモリマップ内の16個の
領域は、図11の表に示されているように、8または1
6ビットデータのいずれかをアクセスする。ADDRバ
スの11ビットは、図11の表に定義されている。AD
DR(6:0)は、符号器と復号器の両方に対して個々
のレジスタを定義する。図11の表は、レジスタアドレ
スを示す。 リードソロモン命令 リードソロモン命令は、符号器の設定命令、復号器の設
定命令、符号器の実行命令、および復号器の実行命令
の、4つの型の命令から成る。設定命令は、次のレジス
タ(これらのレジスタのアドレスは、図11に与えられ
ている)を初期化するよう働く。
【0041】リードソロモン符号器設定レジスタ 1.GF − このレジスタは、符号化に使用されるガ
ロア体を含む。GFの有効値は、8、16、32、6
4、128、および256である。 2.PPOLY − このレジスタは、符号器用の原始
多項式p(x)を含む。例えば、GF(256)に対し
て、p(x)は285。これは、次式に対応する。
【数22】 p(x)=x8 + x4 + x3 + x2 + 1 3.N − このレジスタは、符号器に対してn個であ
る。このnは、チャンネル符号語c(x)における記号
数である。通常のリードソロモン符号に対しては、n=
GF−1である。有効値は、短縮符号に対して、3から
GF−2までの範囲にある。単一の拡張語に対しては、
有効値はGFに等しい。 4.K − このレジスタは、符号器に対してk個であ
る。このkは、ソース符号語i(x)における記号数で
ある。k<nおよびk=n−2tの場合、有効値は1か
ら253までの範囲にある。 5.XTEND − このレジスタは、リードソロモン
符号化の型を特定する。1の値は、単一の拡張語に等し
く、0の値は、通常の、短縮語に等しい。 6.J0 − このレジスタは、次式で使用される符号
器の生成多項式j0を定義するために使用される。j0
有効値は、0から2までの範囲にある。ここで、
【数23】 7.SE_MULT − このレジスタは、単一の拡張
語で使用される初期の単一拡張乗算器レジスタを含む。
有効値は、適切なガロア体のどの有効記号にも等しい。
単一の拡張語が使用されない場合には、このレジスタは
“0”に設定される。
【0042】リードソロモン復号器設定レジスタ 1.GF − このレジスタは、復号化に使用されるガ
ロア体を含む。GFの有効値は、8、16、32、6
4、128、および256である。 2.PPOLY − このレジスタは、復号器用の原始
多項式p(x)を含む。例えば、GF(256)に対し
て、p(x)は361。これは、次式に対応する。
【数24】 p(x)=x8 + x6 + x5 + x3 + 1 3.N − このレジスタは、符号器に対してn個であ
る。このnは、受信符号語r(x)における記号数であ
る。通常のリードソロモン符号に対しては、n=GF−
1である。有効値は、短縮符号に対して、3からGF−
2までの範囲にある。単一の拡張語に対しては、有効値
はGFに等しい。 4.K − このレジスタは、符号器に対してk個であ
る。このkは、ソース符号語i(x)における記号数で
ある。k<nおよびk=n−2tの場合、有効値は1か
ら253までの範囲にある。 5.T − このレジスタは、復号器用にt個を含む。
このtは、受信符号語r(x)における誤り数である。
有効値は、1から10までの範囲にあり、t=(n−
k)/2である。 6.XTEND − このレジスタは、リードソロモン
符号化の型を特定する。1の値は、単一の拡張語に等し
く、0の値は、通常の、短縮語に等しい。 7.J0 − このレジスタは、次式で使用される復号
器用の生成多項式を定義するために使用される。復号化
シンドロームアキュムレータは、j0を使用し、次式に
係るγ(x)を発生する。
【数25】 リードソロモン符号器およびリードソロモン復号器の実
行命令は、以下の通りである。
【0043】リードソロモン命令の説明 1.EXECUTE0 − リードソロモン符号器/復
号器は、リードソロモン符号化またはリードソロモン復
号化のいずれかを実行する。機能ブロックは、符号器デ
ータRAMまたは復号器データRAMのいずれかに記憶
されたデータを使用する。 2.BLK_WR0 − データのDMAブロック転送
は、データRAMに書き込まれる。k個の記号が符号器
RAM0に書込まれるか、またはn個の記号が復号器デ
ータRAMに書き込まれる。データは、一度に16ビッ
ト転送される。バスビットDATA_IN(7:0)は
偶数個の記号を含み、バスビットDATA_IN(1
5:8)は奇数個の記号を含む。例えば、最初の4個の
データ記号は、s(0)、s(1)、s(2)、および
s(3)にラベル付けされる。各記号は、8ビットを含
む。最初の16ビットデータ転送は、s(1)s(0)
である。2番目の16ビット転送は、s(3)s(2)
である。 3.BLK_WR0_EX0 − データのDMAブロ
ック転送は、データRAM0に書き込まれる。k個の記
号が符号器RAM0に書込まれるか、またはn個の記号
が復号器RAMに書き込まれる。データは、一度に16
ビット転送される。バスビットDATA_IN(7:
0)は偶数個の記号を含み、バスビットDATA_IN
(15:8)は奇数個の記号を含む。データ転送の直後
に、符号器または復号器が、データRAM0内のデータ
を用いて実行を開始する。 4.BLK_RD0 − データのDMAブロック転送
は、データRAM0から読み出される。(n−k)個の
記号が復号器RAM0から読み出される。データは、一
度に16ビット転送される。バスビットDATA_IN
(7:0)は偶数個の記号を含み、バスビットDATA
_IN(15:8)は奇数個の記号を含む。nまたはk
が奇数である場合には、余分なクロック周期を必要とす
る。例えば、リードソロモン(255、235)符号が
次の符号化パリティ記号、s(253)およびs(25
4)を持つ。データバス上に出力される最初の16ビッ
トDATA_OUT(15:0)は、s(253)、s
(252)である。次のデータ出力は、s(255)、
s(254)である。 5.EXECUTE1 − リードソロモン符号器/復
号器は、リードソロモン符号化またはリードソロモン復
号化のいずれかを実行する。機能ブロックは、符号器デ
ータRAM1または復号器データRAM1のいずれかに
記憶されたデータを使用する。 6.BLK_WR1 − データのDMAブロック転送
は、復号器RAM1に書き込まれる。k個の記号が符号
器RAM1に書込まれるか、またはn個の記号が復号器
RAM1に書き込まれる。データは、一度に16ビット
転送される。バスビットDATA_IN(7:0)は偶
数個の記号を含み、バスビットDATA_IN(15:
8)は奇数個の記号を含む。 7.BLK_WR1_EX1 − データのDMAブロ
ック転送は、データRAM1に書き込まれる。k個の記
号が符号器RAM1に書込まれるか、またはn個の記号
が復号器RAM1に書き込まれる。データは、一度に1
6ビット転送される。バスビットDATA_IN(7:
0)は偶数個の記号を含み、バスビットDATA_IN
(15:8)は奇数個の記号を含む。データ転送の直後
に、符号器または復号器が、データRAM1内のデータ
を用いて実行を開始する。 8.BLK_RD1 − データのDMAブロック転送
は、データRAM1から読み出される。(n−k)個の
記号が符号器RAM1から読み出されるか、k個の記号
が復号器RAM1から読み出される。データは、一度に
16ビット転送される。バスビットDATA_IN
(7:0)は偶数個の記号を含み、バスビットDATA
_IN(15:8)は奇数個の記号を含む。nまたはk
が奇数である場合には、余分なクロック周期を必要とす
る。 9.SETUP − この命令は、符号器または復号器
設定ルーチンのいずれかを開始させる。符号器設定ルー
チンは、符号器指数部RAM、およびγ多項式を初期化
する。復号器設定ルーチンは、復号器指数部RAM、復
号器逆数RAM、β多項式、およびexp多項式を初期
化する。
【0044】リードソロモン命令レジスタ 符号器および復号器の両方とも3個の命令レジスタを有
する。これらは、COMMAND1レジスタ、COMM
AND2レジスタおよびRESETレジスタである。命
令レジスタの選択は、ADDRバスを介して行われる。
命令レジスタに書込まれるデータは、DATA_INバ
スからのものである。命令レジスタから読み出されるデ
ータは、DATA_OUTバスに送られる。符号器RE
SETレジスタまたは復号器RESETレジスタのいず
れかへの書き込みによって、そのそれぞれの符号器また
は復号器がリセットされる。リセットは1クロック周期
の間活性である。符号器とデコードの両方に対する2つ
の命令レジスタは、6ビットレジスタである。命令レジ
スタの下位4ビットは、命令動作符号に対応する。命令
ビット4は、イネーブル状態完了信号に対応し、命令ビ
ット5は、イネーブル状態完了レジスタに対応する。状
態完了信号は、ハードウエア割り込みに対して使用さ
れ、状態完了レジスタは、ソフトウエア割り込みまたは
ポーリングに対して使用される。COMMAND1レジ
スタは、すべての命令を実行できる。COMMAND2
レジスタは、DMAブロック転送命令のみを実行でき
る。両方の命令レジスタは、それらの1つだけがDMA
ブロック転送を実行している限り、同時に実行してい
る。これは1つだけのDATA_INバスおよび1つだ
けのDATA_OUTバスがあるためである。符号器C
OMMAND1レジスタおよび復号器COMMAND1
レジスタの両方は、同時にEXECUTE命令を実行で
きる。符号器COMMAND2レジスタまたは復号器C
OMMAND2レジスタのいずれかが、DMAブロック
転送を実行できる。このことは、リードソロモン符号器
/復号器が同時に3つの機能を実行できる。DSPがD
MAブロック転送を実行しているときはいつでも、その
DSPはアドレスバスをDMAアドレスを指すように変
更する必要がある。DMAアドレスは、符号器に対して
0x000であり、復号器に対して0x400である。
【0045】リードソロモン命令状態 外部装置が、状態レジスタを読み出すことによって、リ
ードソロモン符号器/復号器の実行状態を判定する。S
TATUS1レジスタは、COMMAND1レジスタに
対応し、STATUS2レジスタは、COMMAND2
レジスタに対応する。符号器と復号器の両方とも、これ
ら2つのレジスタを有する。状態レジスタは、“0”を
それぞれの命令レジスタのイネーブル状態完了レジスタ
ビットに書込むことによって、動作可能にされる。命令
レジスタ(5:0)内には6個のビットがあり、イネー
ブル状態完了レジスタビットは、ビット5である。ST
ATUSレジスタの1つにおける“1”の値は、その機
能(符号化または復号化)の命令が完了していないか、
またはイネーブル状態完了レジスタが動作可能にされな
かったことを示す。イネーブル状態完了レジスタが動作
可能にされた場合には、命令が実行を完了したときに
“0”がSTATUSレジスタに書込まれる。イネーブ
ル状態完了レジスタが動作可能にされなかった場合に
は、完了状態が与えられないことになる。STATUS
レジスタがリセットされるまで、そのSTATUSレジ
スタは“0”になっている。STATUSレジスタに
“1”を書込むことによって、そのレジスタはリセット
される。STATUSレジスタが、各動作可能にされた
COMMANDに対してリセットされない場合には、S
TATUSレジスタは最初のCOMMANDに対して
“0”状態になり、各続くCOMMANDに対して
「低」に留まる。この時点で、ユーザは、最初の命令の
状態のみを知ることになり、他の命令状態は未知であ
る。従って、イネーブル状態完了レジスタを動作可能に
する命令間でSTATUSレジスタをリセットさせるこ
とが重要である。
【0046】リードソロモン符号器/復号器のプログラ
ミングと再構成 本発明では、リードソロモン符号器/復号器のプログラ
ミングと再構成が、アドレス可能なレジスタ命令ステー
トメントによって成し遂げられる。これらのステートメ
ントは、まったく新しい組のパラメータを持つリードソ
ロモン符号器/復号器が望まれるときに単に置き換えら
れる符号モジュールの一部であるアセンブリ符号であ
る。独立型のリードソロモン符号器/復号器の好適な実
施例においては、符号は、プログラミングボードやアプ
リケーションモジュールなどの外部ハードウエアによっ
て供給される。この符号は、ユーザによって入力される
か、またはFLASHメモリなどの外部プログラミング
装置に存在し得、付加的プロセスによって入力される。
リードソロモン符号器/復号器がDSPと一緒に動作す
るコプロセッサである第2の実施例、またはリードソロ
モン符号器/復号器が組み込みDSPを持つ専用のチッ
プ上にある第3の実施例においては、プログラミングプ
ロセスはDSPのソフトウエア開発に沿って進むことで
あろう。
【0047】DSPソフトウエア開発 典型的なリードソロモン符号器/復号器に対する従来の
DSP解法のためのソフトウエア開発のプロセスは、以
下の通り行われる。 1.親のDSPチップの全推奨符号開発プロセスをレビ
ュー。これらの推奨には、使用されているDSPに関連
する命令を使用するアセンブリ言語やC言語におけるプ
ログラミングの選択が含まれる。 2.リードソロモン符号器/復号器機能を記述するた
め、CまたはDSPアセンブリ言語で符号化。 3.アセンブリ言語出力を得て、できるだけリンク付け
前にそのアセンブリ言語を最適化するために、C符号を
編集。 4.実行可能なアセンブリ言語ファイルをリンク付け
し、デバッグするための“xxx.out”を与える。 5.最初にデバッグ。この初期デバッグプロセスは、従
来のソフトウエアシュミレータを用いるだけのソフトウ
エアにおけるシュミレーションである。 6.ハードウエアデバッグ。このハードウエアデバッグ
法は、少なくとも部分的なハードウエアシュミレーショ
ンを含み得る。ここでの選択は、(1)ボード上のDS
Pを持つ評価モジュールを使用すること、(2)ユーザ
のターゲットボード(DSPを持つ実際のアプリケーシ
ョンハードウエアボード)と一緒にエミュレーションモ
ジュールを使用すること。 これらの6つのステップは、特定のリードソロモン符号
器/復号器応用に対して付加される付加符号で完了され
る。リードソロモン符号器/復号器のハードウエアは、
組み込みDSPを持つ実施例に対して、統合的に制御さ
れる。リードソロモン符号器/復号器のハードウエア
は、標準DSPとリードソロモン符号器/復号器のコプ
ロセッサを含んでいる実施例に対して区分的に制御され
る。これにより、基本的な再プログラム可能で、再構成
可能なリードソロモン符号器/復号器が与えられる。
【0048】アドレス可能なレジスタによるプログラミ
ング 本発明において、リードソロモン符号器/復号器が構成
され、ハードウエアがデバッグされる。これは、成功す
る応用を達成するための1つのステップのみを、その装
置の補正符号の入力に任せる。リードソロモン符号器/
復号器が、独立型の装置であるとき、これは、外部プロ
グラミングソフトウエアおよびハードウエアによって実
行される。リードソロモン符号器/復号器がDSPに接
続されているとき、その符号は、特定の符号モジュール
への入力を与えるようになっているDSPソフトウエア
を介して入力される。いずれの場合も、アセンブリ符号
は、図12および図13の2つのフローチャートによっ
て説明されるプロセスを実行する。これらのフローは、
それぞれ、符号器および復号器のプログラミングを説明
する。一例として、リードソロモン復号器をプログラム
するため、GF=128、RS(n、k、t)=RS
(128、122、3)、単一拡張符号、およびp
(x)=x7+x3+1、j0=1、およびSE_MU
LT=19であると仮定する。図13の復号器プログラ
ミングステップ1301から1309の擬似符号の部分
は、以下の通りである(全アドレスおよびデータ値基準
は、16進法であることに留意)。
【0049】 1301 RESET命令レジスタに書込むことによってリードソロモン復号器をリセッ ト。 RESETに; DATA_IN=0000 1クロック周期ラン RESET命令レジスタから読出し RESETから; DATA_IN=0001 1クロック周期ラン 1302 書込むことによってリードソロモン復号器設定レジスタを初期化 GFに; DATA_IN=0080 1クロック周期ラン PPOLYに; DATA_IN=0089 1クロック周期ラン Nに; DATA_IN=0080 1クロック周期ラン Kに; DATA_IN=007A 1クロック周期ラン Tに; DATA_IN=0003 1クロック周期ラン XTENDに; DATA_IN=0001 1クロック周期ラン J0に; DATA_IN=0001 1クロック周期ラン 全ての設定レジスタを初期化するのに全体で7クロック周期 1303 COMMAND1レジスタに書込むことによってリードソロモン復号器セッ トアップ命令を実行 COMMAND1に;DATA_IN=00D8 1クロック周期ラン 復号器設定を完了させるため、付加8533周期STATUS1レジスタを読 出し STATUS1から;DATA_IN=0001 8533クロック周期ラ ン 8533周期後、STATUS1レジスタを付加読出し STATUS1から;DATA_OUT=0000 1クロック周期ラン 1304 書込みによってリードソロモン復号器STATUS1レジスタをリセット STATUS1に; DATA_IN=0001 1クロック周期ラン 1305 復号器COMMAND2レジスタを持つ復号器データRAMに、1ブロックの データを書込み COMMAND2に;DATA_IN=0035 1クロック周期ラン DMAに; DATA_IN=0201 記号データをロードする 付加127クロック周期ラン DMAに; DATA_IN=0403 DMAに; DATA_IN−0650 … … … … … … … … … … DMAに; DATA_IN−807F 1306 COMMAND1レジスタおよびイネーブル状態完了信号を用いて、リードソ ロモン復号器を実行 COMMAND1に;DATA_IN=0000 1クロック周期ラン DEC_COMPLETE信号が不活性になるまで、1,816クロック周期 待機 1307 SIGNAL1レジスタをリセット、DEC_COMPLETE信号が活性に なる。 SIGNAL1に; DATA_IN=0001 1クロック周期ラン 1308 復号器COMMAND1レジスタを持つ復号器データRAMから、1ブロック のデータを読出し COMMAND1に;DATA_IN=0033 1クロック周期ラン DMAから; DATA_IN=0201 記号データを読込む付加 的122クロック 周期ラン DMAから; DATA_IN=0403 DMAから; DATA_IN−0650 … … … … … … … … … … DMAから; DATA_IN−7A79 1309 “別のブロック?”に対する応答が“はい”の場合、ステップ1305から1 308を繰り返す。 これで、本発明の説明を終了する。
【0050】以上の説明に関してさらに以下の項を開示
する。 (1)復号化ガロア体オーダーを記憶する第1の書き込
み可能なレジスタ、および復号化原始多項式のインディ
ケーションを記憶する第2の書き込み可能なレジスタを
有する復号器設定ブロックと、上記復号器設定ブロック
に接続され、リードソロモン符号化入力データを受信す
る復号器ブロックであって、上記復号器ブロックは、上
記第1の書き込み可能なレジスタに記憶された上記復号
化ガロア体オーダー、および上記第2の書き込み可能な
レジスタに記憶された復号化原始多項式の上記インディ
ケーションに従って、上記リードソロモン符号化入力デ
ータを復号化し、復号化データを出力する上記復号器ブ
ロックと、符号化ガロア体オーダーを記憶する第3の書
き込み可能なレジスタ、および符号化原始多項式のイン
ディケーションを記憶する第4の書き込み可能なレジス
タを有する符号器設定ブロックと、上記符号器設定ブロ
ックに接続され、入力データを受信する符号器ブロック
であって、上記符号器ブロックは、上記第3の書き込み
可能なレジスタに記憶された上記符号化ガロア体オーダ
ー、および上記第4の書き込み可能なレジスタに記憶さ
れた符号化原始多項式の上記インディケーションに従っ
て、上記入力データをリードソロモン符号化し、符号化
データを出力する上記符号器ブロック、から構成される
リードソロモン符号器/復号器装置。 (2)第1項記載の装置において、上記第1の書き込み
可能なレジスタが、8、16、32、54、128およ
び256を含む組の中から選択された復号化ガロア体オ
ーダーのインディケーションを記憶し、上記第3の書き
込み可能なレジスタが、8、16、32、54、128
および256を含む組の中から選択された符号化ガロア
体オーダーのインディケーションを記憶する、ことを特
徴とするリードソロモン符号器/復号器装置。 (3)第1項記載の装置において、上記復号器設定ブロ
ックは、さらに入力データ符号語毎に記号数を記憶する
第5の書き込み可能なレジスタを含み、上記復号器ブロ
ックは、上記第5の書き込み可能なレジスタに記憶され
た入力データ符号語毎の上記記号数に従って、上記リー
ドソロモン符号化入力データを復号化する、ことを特徴
とするリードソロモン符号器/復号器装置。
【0051】(4)第3項記載の装置において、上記復
号器設定ブロックは、さらにソース符号語毎に記号数を
記憶する第6の書き込み可能なレジスタを含み、上記復
号器ブロックは、上記第6の書き込み可能なレジスタに
記憶されたソース符号語毎の上記記号数に従って、上記
リードソロモン符号化入力データを復号化する、ことを
特徴とするリードソロモン符号器/復号器装置。 (5)第1項記載の装置において、上記符号器設定ブロ
ックは、さらに符号化された符号語毎に記号数を記憶す
る第5の書き込み可能なレジスタを含み、上記符号器ブ
ロックは、上記第5の書き込み可能なレジスタに記憶さ
れた符号化された符号語毎の上記記号数に従って、上記
入力データを符号化する、ことを特徴とするリードソロ
モン符号器/復号器装置。 (6)第5項記載の装置において、上記符号器設定ブロ
ックは、さらにソース符号語毎に記号数を記憶する第6
の書き込み可能なレジスタを含み、上記符号器ブロック
は、上記第6の書き込み可能なレジスタに記憶されたソ
ース符号語毎の上記記号数に従って、上記入力データを
符号化する、ことを特徴とするリードソロモン符号器/
復号器装置。 (7)第1項記載の装置において、上記復号器設定ブロ
ックは、さらに生成多項式のインディケーションを記憶
する第5の書き込み可能なレジスタを含み、上記復号器
ブロックは、上記第5の書き込み可能なレジスタに記憶
された生成多項式の上記インディケーションに従って、
上記リードソロモン符号化入力データを復号化する、こ
とを特徴とするリードソロモン符号器/復号器装置。 (8)第1項記載の装置において、上記符号器設定ブロ
ックは、さらに生成多項式のインディケーションを記憶
する第5の書き込み可能なレジスタを含み、上記符号器
ブロックは、上記第5の書き込み可能なレジスタに記憶
された生成多項式の上記インディケーションに従って、
上記入力データを符号化する、ことを特徴とするリード
ソロモン符号器/復号器装置。
【0052】(9)第1項記載の装置において、さら
に、デジタル信号プロセッサを備え、該プロセッサが、
加算、減算および論理演算を実行する算術論理ユニット
と、整数乗算器ユニットと、上記デジタル信号プロセッ
サによって採用されるデータに対して、データアドレス
空間内のデータアドレスを発生するためのデータアドレ
ス発生器と、上記デジタル信号プロセッサによって採用
されるプログラム指令に対して、指令アドレス空間内の
指令アドレスを発生するためのプログラムアドレス発生
器と、上記データアドレス発生器および上記プログラム
アドレス発生器に接続され、上記データアドレスおよび
上記指令アドレスにおいて外部メモリをアクセスするた
めのメモリインタフェースユニットと、指令アドレスに
応答してプログラムメモリからリコールされるプログラ
ム指令に応答して、上記デジタル信号プロセッサの動作
を制御するプログラム制御ユニット、を含んでいること
を特徴とするリードソロモン符号器/復号器装置 (10)第9項記載の装置において、上記リードソロモ
ン符号器/復号器コプロセッサは、さらに、入出力デー
タをバッファするための上記復号器ブロックに接続され
た復号化メモリと、入出力データをバッファするための
上記復号器ブロックに接続された符号化メモリと、を含
んでいることを特徴とするリードソロモン符号器/復号
器装置。 (11)第10項記載の装置において、上記デジタル信
号プロセッサが、データを上記復号化メモリ中におよび
上記復号化メモリから転送させ、さらにデータを上記符
号化メモリ中におよび上記符号化メモリから転送させる
ことができることを特徴とするリードソロモン符号器/
復号器装置。 (12)第10項記載の装置において、上記デジタル信
号プロセッサが、さらに、レジスタ空間を確定する複数
個のデータレジスタを含み、上記リードソロモン符号器
/復号器の符号プロセッサの上記第1、第2、第3およ
び第4の書き込み可能なレジスタが、上記デジタル信号
プロセッサの上記レジスタ空間内にあることを特徴とす
るリードソロモン符号器/復号器装置。 (13)第10項記載の装置において、上記リードソロ
モン符号器/復号器の符号プロセッサの上記第1、第
2、第3および第4の書き込み可能なレジスタが、上記
デジタル信号プロセッサの上記データアドレス空間内に
あることを特徴とするリードソロモン符号器/復号器装
置。
【0053】(14)第9項記載の装置において、上記
リードソロモン符号器/復号器のコプロセッサが、さら
に上記リードソロモン符号器/復号器のコプロセッサに
対する命令を記憶するための書き込み可能な命令レジス
タを含み、上記復号器ブロックおよび上記符号器ブロッ
クが、上記書き込み可能な命令レジスタに接続されてい
て、その中に記憶された上記命令に応答することを特徴
とするリードソロモン符号器/復号器装置。 (15)第14項記載の装置において、上記デジタル信
号プロセッサが、さらに、レジスタ空間を確定する複数
個のデータレジスタを含み、上記リードソロモン符号器
/復号器の符号プロセッサの上記書き込み可能な命令レ
ジスタが、上記デジタル信号プロセッサの上記レジスタ
空間内にあることを特徴とするリードソロモン符号器/
復号器装置。 (16)第14項記載の装置において、上記リードソロ
モン符号器/復号器の符号プロセッサの上記書き込み可
能な命令レジスタが、上記デジタル信号プロセッサの上
記データアドレス空間内にあることを特徴とするリード
ソロモン符号器/復号器装置。
【0054】(17)プログラム可能で、再構成可能な
リードソロモン符号器/復号器は、広範囲の応用に対し
て符号器および復号器に柔軟性のある再プログラミング
を行わせる。ガロア体オーダーの標準リードソロモンパ
ラメータ、原始多項式、送信したものの各符号語に対す
る記号数およびソースデータが、書き込み可能なレジス
タ(912)によって設定可能である。リードソロモン
符号器/復号器は、データメモリ空間のデータレジスタ
空間を介して書き込み可能なレジスタ内に取り込まれる
パラメータを特定するところの、デジタル信号プロセッ
サに接続される。復号器および符号器パラメータは、別
々に特定され、復号器および符号器は同時にかつ独立し
て作動し得る。
【図面の簡単な説明】
【図1】図1は、リードソロモン符号器および復号器の
全体構成図である。
【図2】図2は、従来のリードソロモン符号器・アーキ
テクチャの概略的な電気回路図である。
【図3】図3は、従来のリードソロモン復号器・アーキ
テクチャのブロック形態の電気回路図である。
【図4】図4は、本発明の第1の実施例に係る独立型の
リードソロモン符号器/復号器である。
【図5】図5は、本発明の第2の実施例によって構成さ
れたリードソロモン符号器/復号器・コプロセッサを持
つDSPチップである。
【図6】図6は、本発明の第3の実施例に係る、リード
ソロモン符号器/復号器と組み込みDSP間に内配置さ
れたインタフェースを持つカスタムDSPチップであ
る。
【図7】図7は、本発明の特定の変形例に関する復号器
・アーキテクチャを表す。
【図8】図8は、本発明のリードソロモン制御ステート
マシンのステートマシンフロー図である。
【図9】図9は、本発明のリードソロモン制ブロックで
ある
【図10】図10は、本発明のリードソロモンRAMブ
ロックである。
【図11】図11は、リードソロモン符号器/復号器命
令レジスタおよびRAMのアドレスマップを表す。
【図12】図12は、本発明のアドレス可能なレジスタ
を用いているリードソロモン復号器のプログラミングフ
ロー図である。
【図13】図13は、本発明のアドレス可能なレジスタ
を用いているリードソロモン符号器のプログラミングフ
ロー図である。
【符号の説明】
402 ビジー信号 403 RS制御ユニット 406/407 復号器RAM 408/409/410 符号器RAM 422 符号器設定ユニット 423 復号器設定ユニット 457 符号器 458 復号器

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】復号化ガロア体オーダーを記憶する第1の
    書き込み可能なレジスタ、および復号化原始多項式のイ
    ンディケーションを記憶する第2の書き込み可能なレジ
    スタを有する復号器設定ブロックと、 上記復号器設定ブロックに接続され、リードソロモン符
    号化入力データを受信する復号器ブロックであって、上
    記復号器ブロックは、上記第1の書き込み可能なレジス
    タに記憶された上記復号化ガロア体オーダー、および上
    記第2の書き込み可能なレジスタに記憶された復号化原
    始多項式の上記インディケーションに従って、上記リー
    ドソロモン符号化入力データを復号化し、復号化データ
    を出力する上記復号器ブロックと、 符号化ガロア体オーダーを記憶する第3の書き込み可能
    なレジスタ、および符号化原始多項式のインディケーシ
    ョンを記憶する第4の書き込み可能なレジスタを有する
    符号器設定ブロックと、 上記符号器設定ブロックに接続され、入力データを受信
    する符号器ブロックであって、上記符号器ブロックは、
    上記第3の書き込み可能なレジスタに記憶された上記符
    号化ガロア体オーダー、および上記第4の書き込み可能
    なレジスタに記憶された符号化原始多項式の上記インデ
    ィケーションに従って、上記入力データをリードソロモ
    ン符号化し、符号化データを出力する上記符号器ブロッ
    ク、から構成されるリードソロモン符号器/復号器装
    置。
JP11368117A 1998-12-30 1999-12-24 リ―ドソロモン符号器/復号器装置 Pending JP2000209102A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US114186 1987-10-29
US11418698P 1998-12-30 1998-12-30

Publications (1)

Publication Number Publication Date
JP2000209102A true JP2000209102A (ja) 2000-07-28

Family

ID=22353818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11368117A Pending JP2000209102A (ja) 1998-12-30 1999-12-24 リ―ドソロモン符号器/復号器装置

Country Status (5)

Country Link
US (1) US6385751B1 (ja)
EP (1) EP1017177B1 (ja)
JP (1) JP2000209102A (ja)
AT (1) ATE266278T1 (ja)
DE (1) DE69916988T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141310A (ja) * 2005-11-16 2007-06-07 Canon Inc 情報記録再生装置
US7478310B2 (en) 2005-07-05 2009-01-13 Electronics And Telecommunications Research Institute Programmable error correcting device
WO2012108411A1 (ja) * 2011-02-10 2012-08-16 日本電気株式会社 符号化/復号化処理プロセッサ、および無線通信装置

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
US6629288B1 (en) * 2000-03-01 2003-09-30 Conexant Systems, Inc. Single clock cycle CRC engine
US20020147955A1 (en) * 2000-05-11 2002-10-10 James Robert W. Internal storage memory with EDAC protection
US6883132B1 (en) * 2000-09-29 2005-04-19 Rockwell Automation Technologies, Inc. Programmable error checking value circuit and method
US6665760B1 (en) 2000-09-29 2003-12-16 Rockwell Automation Technologies, Inc. Group shifting and level shifting rotational arbiter system
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US20040133745A1 (en) 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
US7447982B1 (en) * 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US7003715B1 (en) 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
US7124064B1 (en) 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US20020184291A1 (en) * 2001-05-31 2002-12-05 Hogenauer Eugene B. Method and system for scheduling in an adaptable computing engine
US20030041300A1 (en) * 2001-08-23 2003-02-27 Koninklijke Philips Electronics N.V. Universal device for processing Reed-Solomon forward error-correction encoded messages
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7120858B2 (en) * 2002-08-21 2006-10-10 Sun Microsystems, Inc. Method and device for off-loading message digest calculations
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US7028247B2 (en) * 2002-12-25 2006-04-11 Faraday Technology Corp. Error correction code circuit with reduced hardware complexity
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
US7860915B2 (en) * 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7849119B2 (en) * 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7472155B2 (en) * 2003-12-29 2008-12-30 Xilinx, Inc. Programmable logic device with cascading DSP slices
US7567997B2 (en) * 2003-12-29 2009-07-28 Xilinx, Inc. Applications of cascading DSP slices
US7467175B2 (en) * 2003-12-29 2008-12-16 Xilinx, Inc. Programmable logic device with pipelined DSP slices
US7865542B2 (en) * 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
US7870182B2 (en) * 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7853636B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7840630B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7853632B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7840627B2 (en) 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7844653B2 (en) * 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
US8495122B2 (en) * 2003-12-29 2013-07-23 Xilinx, Inc. Programmable device with dynamic DSP architecture
US7882165B2 (en) * 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7480690B2 (en) * 2003-12-29 2009-01-20 Xilinx, Inc. Arithmetic circuit with multiplexed addend inputs
US7853634B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7788570B1 (en) 2005-03-23 2010-08-31 Marvell International Ltd. Optimized Reed-Solomon decoder
US7370258B2 (en) * 2005-04-28 2008-05-06 Sandbridge Technologies Inc. Iterative concatenated convolutional Reed-Solomon decoding method
US7225381B1 (en) 2005-06-02 2007-05-29 Lehman Thomas F Error detection and correction method
US7624333B2 (en) * 2005-09-29 2009-11-24 Agere Systems Inc. Method and apparatus for N+1 packet level mesh protection
US8225185B1 (en) * 2007-02-07 2012-07-17 Marvell International, Ltd. RS codec architecture that combines a compact encoder and serial BMA
US8255758B2 (en) * 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
US8327242B1 (en) 2008-04-10 2012-12-04 Apple Inc. High-performance ECC decoder
US8484541B1 (en) 2008-11-14 2013-07-09 Apple Inc. Configurable encoder for cyclic error correction codes
US8479133B2 (en) * 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
US8543635B2 (en) * 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8429498B1 (en) 2009-03-25 2013-04-23 Apple Inc. Dual ECC decoder
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US8601352B1 (en) 2009-07-30 2013-12-03 Apple Inc. Efficient LDPC codes
JP5990466B2 (ja) 2010-01-21 2016-09-14 スビラル・インコーポレーテッド ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置
US9032277B1 (en) * 2011-11-28 2015-05-12 Altera Corporation Parallel low and asymmetric rate Reed Solomon coding
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US10084481B2 (en) 2014-12-18 2018-09-25 Apple Inc. GLDPC soft decoding with hard decision inputs
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
JPS61237521A (ja) * 1985-04-12 1986-10-22 Mitsubishi Electric Corp 誤り訂正符号の符号化・復号化回路
US5323402A (en) 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
WO1999045911A2 (en) 1998-03-12 1999-09-16 Tiernan Communications, Inc. Universal reed-solomon coder-decoder

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478310B2 (en) 2005-07-05 2009-01-13 Electronics And Telecommunications Research Institute Programmable error correcting device
JP2007141310A (ja) * 2005-11-16 2007-06-07 Canon Inc 情報記録再生装置
WO2012108411A1 (ja) * 2011-02-10 2012-08-16 日本電気株式会社 符号化/復号化処理プロセッサ、および無線通信装置
US8989242B2 (en) 2011-02-10 2015-03-24 Nec Corporation Encoding/decoding processor and wireless communication apparatus

Also Published As

Publication number Publication date
US6385751B1 (en) 2002-05-07
DE69916988D1 (de) 2004-06-09
EP1017177A1 (en) 2000-07-05
ATE266278T1 (de) 2004-05-15
EP1017177B1 (en) 2004-05-06
DE69916988T2 (de) 2004-10-21

Similar Documents

Publication Publication Date Title
JP2000209102A (ja) リ―ドソロモン符号器/復号器装置
US5642367A (en) Finite field polynomial processing module for error control coding
US6263470B1 (en) Efficient look-up table methods for Reed-Solomon decoding
US4649541A (en) Reed-Solomon decoder
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US6209114B1 (en) Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
US5440570A (en) Real-time binary BCH decoder
US8621329B2 (en) Reconfigurable BCH decoder
US5951677A (en) Efficient hardware implementation of euclidean array processing in reed-solomon decoding
JP2001175542A (ja) 記録再生装置および半導体メモリ
Hsu et al. The VLSI Implementation of a Reed—Solomon Encoder Using Berlekamp's Bit-Serial Multiplier Algorithm
US5805617A (en) Apparatus for computing error correction syndromes
US7089276B2 (en) Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
KR19990028201A (ko) 10 비트 리드-솔로몬 에러 정정 모듈을 위한 전용 alu구조
US20050149832A1 (en) Methods and apparatus for coding and decoding data using reed-solomon codes
JPH0936753A (ja) 記号長コードに従って冗長情報を発生するためにデータのブロックをエンコードする方法、一連のデータワードとしてエンコーダにより受取られるブロックフォーマット化されたデータを記号長リードソロモンコードに従ってエンコードする方法、およびワード形式エンコーダ
US5983389A (en) Error correction decoding apparatus
US20100031127A1 (en) Scheme for erasure locator polynomial calculation in error-and-erasure decoder
US6370671B1 (en) Configurable decoder and method for decoding a reed-solomon codeword
KR100258951B1 (ko) 리드-솔로몬(rs) 복호기와 그 복호방법
US6415413B1 (en) Configurable Reed-Solomon controller and method
WO2006120691A1 (en) Galois field arithmetic unit for error detection and correction in processors
US5787100A (en) Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder
US6412090B1 (en) Galois field computation system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091110