JPH0363093B2 - - Google Patents
Info
- Publication number
- JPH0363093B2 JPH0363093B2 JP57073138A JP7313882A JPH0363093B2 JP H0363093 B2 JPH0363093 B2 JP H0363093B2 JP 57073138 A JP57073138 A JP 57073138A JP 7313882 A JP7313882 A JP 7313882A JP H0363093 B2 JPH0363093 B2 JP H0363093B2
- Authority
- JP
- Japan
- Prior art keywords
- byte
- check
- memory
- circuit
- address
- 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
Links
- 238000010586 diagram Methods 0.000 description 17
- 230000007704 transition Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
【発明の詳細な説明】
本発明は誤り訂正符号化回路に関し、特に1個
のランダム・アクセス・メモリ(Random
Access Memory:RAM)を用いて構成される
符号化回路に関する。
のランダム・アクセス・メモリ(Random
Access Memory:RAM)を用いて構成される
符号化回路に関する。
磁気フアイル等のフアイル装置のデータ信頼性
を向上させるために多重バイト誤りを訂正するリ
ード・ソロモン(Reed−Solomon)符号が用い
られる。バイトは一般にbビツトで表わされる。
ランダムなr重バイト誤りを訂正するリード・ソ
ロモン符号の生成多項式G(X)はG(X)=(X+
α0)(X+α)(X+α2)………(X+α2r-1で表
わされ、これを展開したG(X)は一般に G(X)=Xm+Bn-1Xm-1+Bn-2Xm-2+…+B1X1+
B0 で表わされる。ここでm=2rで、αは一般にガロ
ワ体GF(2b)の原始元であり、Bi(i=0、1、
2、……、m−1)はGF(2b)の要素である。G
(X)を用いた符号化回路は通常、第1図のよう
にm個のバイト・レジスタ(バイト=bビツト)、
m個のBi乗算回路及びm個の排他的OR回路から
構成される。
を向上させるために多重バイト誤りを訂正するリ
ード・ソロモン(Reed−Solomon)符号が用い
られる。バイトは一般にbビツトで表わされる。
ランダムなr重バイト誤りを訂正するリード・ソ
ロモン符号の生成多項式G(X)はG(X)=(X+
α0)(X+α)(X+α2)………(X+α2r-1で表
わされ、これを展開したG(X)は一般に G(X)=Xm+Bn-1Xm-1+Bn-2Xm-2+…+B1X1+
B0 で表わされる。ここでm=2rで、αは一般にガロ
ワ体GF(2b)の原始元であり、Bi(i=0、1、
2、……、m−1)はGF(2b)の要素である。G
(X)を用いた符号化回路は通常、第1図のよう
にm個のバイト・レジスタ(バイト=bビツト)、
m個のBi乗算回路及びm個の排他的OR回路から
構成される。
第1図は従来の符号化回路のブロツク図を示す
ものであり、図においてa0,a1,……an-1はそれ
ぞれバイト・レジスタ(bビツト・レジスタ)
b0,b1……,bn-1はそれぞれB0、B1、……、
Bn-1除算回路、C0,C1,……,Cn-1はそれぞれ
OR回路である。第1図の符号化回路において、
バイト・レジスタa0,a1,……,an-1の現在の状
態(チエツク・バイトの現在の状態)をA0、A1、
……、An-2、An-1、入力データバイトをDとす
ると、バイト・レジスタの次の状態(チエツクバ
イトの次の時刻の状態)A′0、A′1、……、A′n-1
は次式(1)で表わされる。(ここで、Ai、A′iはi番
目のチエツクバイト、は排他的ORを示す。) A′0=B0(An-1D) A′1=A0B1(An-1D) 〓 〓 〓 〓 〓 〓 A′k=Ak-1BK-1(An-1D) 〓 〓 〓 〓 〓 〓 A′n-1=An-2Bn-1(An-1D) (1) 以上の状態遷移は、第1図におけるm個のバイ
ト・レジスタa0,a1,……,an-1に同一(共通)
のクロツク・パルスを加えることによつて行なわ
れる。すなわち、チエツクバイトの現在の状態
A0、A1、……、An-1から次の状態A′0、A′1、…
…、A′n-1への遷移は同時に並列的に行なれる。
ものであり、図においてa0,a1,……an-1はそれ
ぞれバイト・レジスタ(bビツト・レジスタ)
b0,b1……,bn-1はそれぞれB0、B1、……、
Bn-1除算回路、C0,C1,……,Cn-1はそれぞれ
OR回路である。第1図の符号化回路において、
バイト・レジスタa0,a1,……,an-1の現在の状
態(チエツク・バイトの現在の状態)をA0、A1、
……、An-2、An-1、入力データバイトをDとす
ると、バイト・レジスタの次の状態(チエツクバ
イトの次の時刻の状態)A′0、A′1、……、A′n-1
は次式(1)で表わされる。(ここで、Ai、A′iはi番
目のチエツクバイト、は排他的ORを示す。) A′0=B0(An-1D) A′1=A0B1(An-1D) 〓 〓 〓 〓 〓 〓 A′k=Ak-1BK-1(An-1D) 〓 〓 〓 〓 〓 〓 A′n-1=An-2Bn-1(An-1D) (1) 以上の状態遷移は、第1図におけるm個のバイ
ト・レジスタa0,a1,……,an-1に同一(共通)
のクロツク・パルスを加えることによつて行なわ
れる。すなわち、チエツクバイトの現在の状態
A0、A1、……、An-1から次の状態A′0、A′1、…
…、A′n-1への遷移は同時に並列的に行なれる。
上記リード・ソロモン符号をl個インタリーブ
したインタリーブ符号の生成多項式Gl(X)はGl
(X)=G(Xl)=Xml+B2t-1X(m-1)l+B2t-2X(m-1)l
+
……+B1Xl+B0で表わされる。インタリーブ符
号の符号化回路は第1図の符号化回路における各
バイト・レジスタをlバイトのシフト・レジスタ
に置換えれば良い。
したインタリーブ符号の生成多項式Gl(X)はGl
(X)=G(Xl)=Xml+B2t-1X(m-1)l+B2t-2X(m-1)l
+
……+B1Xl+B0で表わされる。インタリーブ符
号の符号化回路は第1図の符号化回路における各
バイト・レジスタをlバイトのシフト・レジスタ
に置換えれば良い。
第2図はインタリーブ符号の符号化回路を示す
ブロツク図である。図において、d0,d1,……,
dn-1はそれぞれlバイトのシフト・レジスタであ
る。長大なバースト誤りを訂正するためにはイン
タリーブ数lを大きくとる必要がある。このた
め、第2図のlバイト・シフトレジスタd0,d1,
……,dn-1を通常のレジスタで構成するとlの値
が大きい時は非常に多量なハードウエアが必要と
なる。この欠点を解消するためには、lバイト・
シフトレジスタの各々をランダム・アクセス・メ
モリ(RAM)で置換えれば良い。
ブロツク図である。図において、d0,d1,……,
dn-1はそれぞれlバイトのシフト・レジスタであ
る。長大なバースト誤りを訂正するためにはイン
タリーブ数lを大きくとる必要がある。このた
め、第2図のlバイト・シフトレジスタd0,d1,
……,dn-1を通常のレジスタで構成するとlの値
が大きい時は非常に多量なハードウエアが必要と
なる。この欠点を解消するためには、lバイト・
シフトレジスタの各々をランダム・アクセス・メ
モリ(RAM)で置換えれば良い。
第3図はRAMを用いた従来の符号化回路を示
すブロツク図である。第3図においてRAM0,
RAM1,……,RAMn-1はそれぞれ容量lバイト
のRAMであり、e0,e1,……,en-1はそれぞれ
RAM出力のバツフア・レジスタである。第2図
及び第3図のインタリーブ符号の符号化回路の動
作は、第1図の基本符号化回路と同一である。
すブロツク図である。第3図においてRAM0,
RAM1,……,RAMn-1はそれぞれ容量lバイト
のRAMであり、e0,e1,……,en-1はそれぞれ
RAM出力のバツフア・レジスタである。第2図
及び第3図のインタリーブ符号の符号化回路の動
作は、第1図の基本符号化回路と同一である。
すなわち、インタリーブされたl個の符号の
個々の符号について見れば、式(1)に従つてm個の
チエツクバイトA′0、A′1、……、A′n-1が同時に
並列的に生成される。さらに詳しく云えば、イン
タリーブ符号ではl個の符号をそれぞれm個のチ
エツクバイトがあり、全体ではm・l個のチエツ
クバイトがある。m・l個のチエツクバイトを
A01、A11、A21、……、A(n-1)1,A02、A12、A22、
……、A(n-1)2、……、A0l、A1l、A2l、……、
A(n-1)lとする。ここで、Aijはj番目の符号のi
番目のチエツクバイトである。第2図、第3図の
インタリーブ符号化回路ではj番目の符号のm個
のチエツクバイトの現在の状態A0j、A1j、A2j、
……、A(n-1)jから次の時刻の状態A′0j、A′1j、
A′2j、……、A′(n-1)jへの遷移は、同時に平列的に
行なわれる。
個々の符号について見れば、式(1)に従つてm個の
チエツクバイトA′0、A′1、……、A′n-1が同時に
並列的に生成される。さらに詳しく云えば、イン
タリーブ符号ではl個の符号をそれぞれm個のチ
エツクバイトがあり、全体ではm・l個のチエツ
クバイトがある。m・l個のチエツクバイトを
A01、A11、A21、……、A(n-1)1,A02、A12、A22、
……、A(n-1)2、……、A0l、A1l、A2l、……、
A(n-1)lとする。ここで、Aijはj番目の符号のi
番目のチエツクバイトである。第2図、第3図の
インタリーブ符号化回路ではj番目の符号のm個
のチエツクバイトの現在の状態A0j、A1j、A2j、
……、A(n-1)jから次の時刻の状態A′0j、A′1j、
A′2j、……、A′(n-1)jへの遷移は、同時に平列的に
行なわれる。
しかしながら、第3図の符号化回路はlバイ
ト・シフトレジスタの各々をRAMに置き換えた
だけなので回路量はあまり減少していない。回路
量をさらに減らすためには第2図のm個のlバイ
ト・シフトレジスタを1個のRAMチツプ(容量
m×lバイト)で置き換えるのが望ましい。この
場合、RAMチツプの各アドレス・ロケーシヨン
にml個のチエツクバイト(現在の状態)A01、
A11、……、A(n-1)1、A02、A12、……、A(n-1)2、
……、A0l、A1l、……、A(n-1)lを格納する。
RAMチツプの入力ポート、出力ポートは1個し
かないからj番目の符号のm個のチエツクバイト
(現在の状態)A0j、A1j、……、A(n-1)jから次の
時刻の状態A′0j、A′1j、……、A′(n-1)jへの遷移は
並列的に行うことができない。すなわち、RAM
からA0j、A1j、A2j、……、A(n-1)jを順次、直列
的に読み出すと同時にA′0j、A′1j、A′2j、……、
A′(n-1)jを順次、直列的に生成しRAMに書込む必
要がある。1個のチエツクバイトA′0jの生成に少
なくともひとつのメモリ・アドレス・サイクルが
必要であるから、m個のチエツクバイトA′0j,
A′1j,……,A′(n-1)jの生成には少なくともmサイ
クルのメモリ・アドレス・サイクルが必要であ
る。いま、チエツクバイトAiをRAMの特定アド
レス・ロケーシヨン(例えばロケーシヨンi)に
常に固定的に格納するものと仮定する。すなわち
現在のチエツクバイトAiと次の時刻の状態A′iは
常に同一アドレス・ロケーシヨンiに格納される
ものとする。ここで、式(1)よりA′i=Ai-1Bi
(An-1D)であるからA′iを生成するためにはあ
らかじめAi-1(ロケーシヨン〔i−1〕に格納さ
れている)とAn-1(ロケーシヨン〔m−1〕に格
納されている)をRAMから読み出しておき、生
成されたA′iをアドレス・ロケーシヨンiに書込
む必要がある。特にAn-1は全てのチエツクバイ
トAi(i=0、1、……、m−1)の生成に必要
であるからAn-1を最初にRAMから読み出し外部
レジスタにセツトしておく必要がある。ここで、
An-1を最初に読み出した時点ではAn-2はまだ読
み出されていないからA′n-1(=An-2Bn-1
(An-1D))を生成することはできない。
ト・シフトレジスタの各々をRAMに置き換えた
だけなので回路量はあまり減少していない。回路
量をさらに減らすためには第2図のm個のlバイ
ト・シフトレジスタを1個のRAMチツプ(容量
m×lバイト)で置き換えるのが望ましい。この
場合、RAMチツプの各アドレス・ロケーシヨン
にml個のチエツクバイト(現在の状態)A01、
A11、……、A(n-1)1、A02、A12、……、A(n-1)2、
……、A0l、A1l、……、A(n-1)lを格納する。
RAMチツプの入力ポート、出力ポートは1個し
かないからj番目の符号のm個のチエツクバイト
(現在の状態)A0j、A1j、……、A(n-1)jから次の
時刻の状態A′0j、A′1j、……、A′(n-1)jへの遷移は
並列的に行うことができない。すなわち、RAM
からA0j、A1j、A2j、……、A(n-1)jを順次、直列
的に読み出すと同時にA′0j、A′1j、A′2j、……、
A′(n-1)jを順次、直列的に生成しRAMに書込む必
要がある。1個のチエツクバイトA′0jの生成に少
なくともひとつのメモリ・アドレス・サイクルが
必要であるから、m個のチエツクバイトA′0j,
A′1j,……,A′(n-1)jの生成には少なくともmサイ
クルのメモリ・アドレス・サイクルが必要であ
る。いま、チエツクバイトAiをRAMの特定アド
レス・ロケーシヨン(例えばロケーシヨンi)に
常に固定的に格納するものと仮定する。すなわち
現在のチエツクバイトAiと次の時刻の状態A′iは
常に同一アドレス・ロケーシヨンiに格納される
ものとする。ここで、式(1)よりA′i=Ai-1Bi
(An-1D)であるからA′iを生成するためにはあ
らかじめAi-1(ロケーシヨン〔i−1〕に格納さ
れている)とAn-1(ロケーシヨン〔m−1〕に格
納されている)をRAMから読み出しておき、生
成されたA′iをアドレス・ロケーシヨンiに書込
む必要がある。特にAn-1は全てのチエツクバイ
トAi(i=0、1、……、m−1)の生成に必要
であるからAn-1を最初にRAMから読み出し外部
レジスタにセツトしておく必要がある。ここで、
An-1を最初に読み出した時点ではAn-2はまだ読
み出されていないからA′n-1(=An-2Bn-1
(An-1D))を生成することはできない。
以上の理由から、チエツクバイトAiをRAMの
アドレス・ロケーシヨンiに常に固定的に格納す
る方法では、ひとつのチエツクバイトAiをひとつ
のメモリ・アドレス・サイクルで生成できない。
従つてチエツクバイトA0、A1、……、An-1を
RAMから読み出し、同時に次の状態A′0、A′1、
……、A′n-1を生成しRAMに書き込むサイクル
をmサイクルのメモリ・アドレス・サイクルで完
了できないことになる。
アドレス・ロケーシヨンiに常に固定的に格納す
る方法では、ひとつのチエツクバイトAiをひとつ
のメモリ・アドレス・サイクルで生成できない。
従つてチエツクバイトA0、A1、……、An-1を
RAMから読み出し、同時に次の状態A′0、A′1、
……、A′n-1を生成しRAMに書き込むサイクル
をmサイクルのメモリ・アドレス・サイクルで完
了できないことになる。
本発明の目的はチエツクバイトA0、A1、……、
An-1をRAMから読み出し同時に次の状態A′0、
A′1、……、A′n-1を生成しRAMに書き込むサイ
クルをmサイクルのメモリ・アドレス・サイクル
で実行できる符号化回路を提供することにある。
An-1をRAMから読み出し同時に次の状態A′0、
A′1、……、A′n-1を生成しRAMに書き込むサイ
クルをmサイクルのメモリ・アドレス・サイクル
で実行できる符号化回路を提供することにある。
本発明の符号化回路はチエツクバイト生成式、
A′0=B0(An-1D)
A′n-1=An-2Bn-1(An-1D)
A′n-2=An-3Bn-2(An-1D)
〓 〓
〓 〓
A′1=A0B1(An-1D)
に従つてm個のチエツクバイトA′0、A′n-1、
A′n-2、………、A′1を順次、直列的に生成する符
号化回路であつてて、(ここで、A0、A1、……、
An-1はチエツクバイトの現在の状態、A′0、A′1、
………、An-1はチエツクバイトの次の時刻の状
態、Dは入力データバイト、バイトはbビツトを
表わす。)チエツクバイトA0、A1、……、An-1
を格納するひとつのランダム・アクセス・メモリ
(RAM)と、前記メモリからチエツクバイト
An-1、An-2、………、A1、A0をこの順(An-1が
最初で、A0が最後)に直列的に読み出すアドレ
ス・シーケンス発生回路と、メモリから最初に読
み出されるチエツクバイトAn-1を格納して保持
するレジスタと、チエツクバイトAiが読み出され
るメモリ・アドレス・サイクル期間内に前式に従
つてA′i+1を生成しメモリに書き込む回路とから
構成される符号化回路である。式(1)から分るよう
にチエツクバイトの次の時刻の状態A′0、A′1、…
…、A′n-1を生成するには現在のチエツクバイト
An-1を必要とし、RAMからチエツクバイトAn-1
を最初に読み出しレジスタに格納し保持しておく
必要がある。式(1)から分るようにAn-1を読み出
すメモリ・アドレス・サイクル内においてA′0=
(=B0(An-1D))を生成しメモリに書き込むこ
とができる。すなわち、An-1の読み出し、A′0の
生成、生成されたA′0のメモリへの書き込みから
成る一連の動作を同一メモリ・アドレス・サイク
ルで実行できる。(生成されたA′0′をAn-1が格納
されていたアドレス・ロケーシヨンに格納する。)
なお、詳細については後で説明する。
A′n-2、………、A′1を順次、直列的に生成する符
号化回路であつてて、(ここで、A0、A1、……、
An-1はチエツクバイトの現在の状態、A′0、A′1、
………、An-1はチエツクバイトの次の時刻の状
態、Dは入力データバイト、バイトはbビツトを
表わす。)チエツクバイトA0、A1、……、An-1
を格納するひとつのランダム・アクセス・メモリ
(RAM)と、前記メモリからチエツクバイト
An-1、An-2、………、A1、A0をこの順(An-1が
最初で、A0が最後)に直列的に読み出すアドレ
ス・シーケンス発生回路と、メモリから最初に読
み出されるチエツクバイトAn-1を格納して保持
するレジスタと、チエツクバイトAiが読み出され
るメモリ・アドレス・サイクル期間内に前式に従
つてA′i+1を生成しメモリに書き込む回路とから
構成される符号化回路である。式(1)から分るよう
にチエツクバイトの次の時刻の状態A′0、A′1、…
…、A′n-1を生成するには現在のチエツクバイト
An-1を必要とし、RAMからチエツクバイトAn-1
を最初に読み出しレジスタに格納し保持しておく
必要がある。式(1)から分るようにAn-1を読み出
すメモリ・アドレス・サイクル内においてA′0=
(=B0(An-1D))を生成しメモリに書き込むこ
とができる。すなわち、An-1の読み出し、A′0の
生成、生成されたA′0のメモリへの書き込みから
成る一連の動作を同一メモリ・アドレス・サイク
ルで実行できる。(生成されたA′0′をAn-1が格納
されていたアドレス・ロケーシヨンに格納する。)
なお、詳細については後で説明する。
次にAn-2を読み出すメモリ・アドレス・サイ
クルにおいてA′n-1(=An-2Bn-1(An-1D))
を生成しメモリに書き込むことができる。すなわ
ち、An-2の読み出し、A′n-1の生成、A′n-1の書
き込みを同一メモリ・アドレス・サイクルで実行
できる。(生成されたA′n-1はAn-2が格納されて
いたアドレス・ロケーシヨンに格納される。)同
様にAK-1の読み出し、A′Kの生成、A′Kの書き込
み動作をひとつのメモリ・アドレス・サイクルで
実行できる。
クルにおいてA′n-1(=An-2Bn-1(An-1D))
を生成しメモリに書き込むことができる。すなわ
ち、An-2の読み出し、A′n-1の生成、A′n-1の書
き込みを同一メモリ・アドレス・サイクルで実行
できる。(生成されたA′n-1はAn-2が格納されて
いたアドレス・ロケーシヨンに格納される。)同
様にAK-1の読み出し、A′Kの生成、A′Kの書き込
み動作をひとつのメモリ・アドレス・サイクルで
実行できる。
以上のように、An-1、An-2、……、A1、A0が
格納されていたアドレス・ロケーシヨンに生成さ
れたA′0、A′n-1、……、A′2、A′1をそれぞれ格納
(書込む)アドレス方法を取れば、ひとつのメモ
リ・アドレス・サイクル内でAK-1の読み出し、
A′Kの生成、A′Kの書込みを実行できる。すなわ
ち、m個のチエツクバイトA0、A1、……、An-1
の読み出しと次の時刻の状態A′0、A′1、……、
A′n-1の生成及びメモリへの書込みをmサイクル
のメモリ・アドレス・サイクルで完了できる。
格納されていたアドレス・ロケーシヨンに生成さ
れたA′0、A′n-1、……、A′2、A′1をそれぞれ格納
(書込む)アドレス方法を取れば、ひとつのメモ
リ・アドレス・サイクル内でAK-1の読み出し、
A′Kの生成、A′Kの書込みを実行できる。すなわ
ち、m個のチエツクバイトA0、A1、……、An-1
の読み出しと次の時刻の状態A′0、A′1、……、
A′n-1の生成及びメモリへの書込みをmサイクル
のメモリ・アドレス・サイクルで完了できる。
以下においてm=4の場合について更に詳しく
説明する。
説明する。
時刻tにおけるチエツクバイトAi(i=0、1、
2、3)の状態をAi(t)とし、時刻tの入力デ
ータバイトをD(t)と表わすと時刻t+1にお
けるAiの状態Ai(t+1)は次式(2)で生成される。
2、3)の状態をAi(t)とし、時刻tの入力デ
ータバイトをD(t)と表わすと時刻t+1にお
けるAiの状態Ai(t+1)は次式(2)で生成される。
A0=(t+1)=B0(A3(t)D(t
)) A3(t+1)=A2(t)B3(A3(t)D(t)) A2(t+1)=A1(t)B2(A3(t)D(t)) A2(t+1)=A1(t)B2(A3(t)D(t)) A1(t+1)=A0(t)B1(A3(t)D(t))(2
) 第4図は本発明の原理を説明するための図であ
り、図のように時刻t=0ではRAMのアドレ
ス・ロケーシヨン0、1、2、3にそれぞれA3
(0)、A2(0)、A1(0)、A0(0)が格納されて
いるとする。A3(0)、A2(0)、A1(0)、A0(0)
から式(2)に従つてそれぞれA0(1)、A3(1)、A2(1)、
A1(1)、が生成され同アドレス・ロケーシヨンに
格納される。すなわち、A3(0)からA0(1)が生成
され、生成されたA0(1)はA3(0)のアドレス・ロ
ケーシヨンに格納される。同様にAi(0)から
Ai-1(1)が生成され、生成されたAi-1(1)はAi(0)
のアドレス・ロケーシヨンに格納される。(ここ
で、i=2、1、0)。
)) A3(t+1)=A2(t)B3(A3(t)D(t)) A2(t+1)=A1(t)B2(A3(t)D(t)) A2(t+1)=A1(t)B2(A3(t)D(t)) A1(t+1)=A0(t)B1(A3(t)D(t))(2
) 第4図は本発明の原理を説明するための図であ
り、図のように時刻t=0ではRAMのアドレ
ス・ロケーシヨン0、1、2、3にそれぞれA3
(0)、A2(0)、A1(0)、A0(0)が格納されて
いるとする。A3(0)、A2(0)、A1(0)、A0(0)
から式(2)に従つてそれぞれA0(1)、A3(1)、A2(1)、
A1(1)、が生成され同アドレス・ロケーシヨンに
格納される。すなわち、A3(0)からA0(1)が生成
され、生成されたA0(1)はA3(0)のアドレス・ロ
ケーシヨンに格納される。同様にAi(0)から
Ai-1(1)が生成され、生成されたAi-1(1)はAi(0)
のアドレス・ロケーシヨンに格納される。(ここ
で、i=2、1、0)。
従つて第4図のように時刻t=1ではアドレ
ス・ロケーシヨン0、1、2、3にそれぞれA0
(1)、A3(1)、A2(1)、A1(1)が格納され、時刻t=2
ではアドレス・ロケーシヨン0、1、2、3にそ
れぞれA1(2)、A0(2)、A3(2)、A2(2)が格納される。
従つて、A3の格納されるロケーシヨンは時刻と
ともに0→1→2→3→0→1→………のように
変化する。又、A2の格納されるロケーシヨンは
1→2→3→0→1→2のように変化する。A1、
A0の格納されるロケーシヨンも同様に変化する。
各時刻においてA3を最初に読み出さなければな
らないから、RAMのアドレス・シーケンスを第
5図のように変化させる必要がある。すなわち、
時刻t=0ではアドレス・シーケンスは0123、時
刻t=1では1230、時刻t=2では2301、等であ
る。
ス・ロケーシヨン0、1、2、3にそれぞれA0
(1)、A3(1)、A2(1)、A1(1)が格納され、時刻t=2
ではアドレス・ロケーシヨン0、1、2、3にそ
れぞれA1(2)、A0(2)、A3(2)、A2(2)が格納される。
従つて、A3の格納されるロケーシヨンは時刻と
ともに0→1→2→3→0→1→………のように
変化する。又、A2の格納されるロケーシヨンは
1→2→3→0→1→2のように変化する。A1、
A0の格納されるロケーシヨンも同様に変化する。
各時刻においてA3を最初に読み出さなければな
らないから、RAMのアドレス・シーケンスを第
5図のように変化させる必要がある。すなわち、
時刻t=0ではアドレス・シーケンスは0123、時
刻t=1では1230、時刻t=2では2301、等であ
る。
以上のアドレス・シーケンスをとれば、どの時
刻tにおいてもRAMからはA3(t)、A2(t)、
A1(t)、A0(t)がこの順次に読み出される。
A3(t)が読み出されるメモリ・アドレス・サイ
クルにおいてA0(t+1)が生成されメモリに書
き込まれる。同様Ai(t)(i=2、1、0)が読
み出されるメモリ・アドレス・サイクルにおいて
Ai-1(t+1)が生成されメモリに書き込まれる。
すなわち、Ai(t)の読み出し、Ai-1(t+1)の
生成、Ai-1(t+1)の書き込みが同一アドレ
ス・サイクルで実行される。従つて、A3(t)、
A2(t)、A1(t)、A0(t)の読み出しとA0(t+
1)、A3(t+1)、A2(t+1)、A1(t+1)の
生成及び書込みが4サイクルのメモリ・アドレ
ス・サイクルで終了する。
刻tにおいてもRAMからはA3(t)、A2(t)、
A1(t)、A0(t)がこの順次に読み出される。
A3(t)が読み出されるメモリ・アドレス・サイ
クルにおいてA0(t+1)が生成されメモリに書
き込まれる。同様Ai(t)(i=2、1、0)が読
み出されるメモリ・アドレス・サイクルにおいて
Ai-1(t+1)が生成されメモリに書き込まれる。
すなわち、Ai(t)の読み出し、Ai-1(t+1)の
生成、Ai-1(t+1)の書き込みが同一アドレ
ス・サイクルで実行される。従つて、A3(t)、
A2(t)、A1(t)、A0(t)の読み出しとA0(t+
1)、A3(t+1)、A2(t+1)、A1(t+1)の
生成及び書込みが4サイクルのメモリ・アドレ
ス・サイクルで終了する。
第6図Aは第5図に示されるアドレス・シーケ
ンス発生回路のブロツク図である。第6図Aのア
ドレス・シーケンス発生回路において回路100
は4ビツトのバイナリ・カウンタ、回路101は
通常の2ビツトの全加算器である。
ンス発生回路のブロツク図である。第6図Aのア
ドレス・シーケンス発生回路において回路100
は4ビツトのバイナリ・カウンタ、回路101は
通常の2ビツトの全加算器である。
第6図Bは第6図Aの発生器の動作を説明する
ための図であり、カウンタ100の上位2ビツト
a2a3、下位2ビツトa0a1のシーケンスと、a2a3と
a0a3との加算結果c0c1のシーケンスを表わしてい
る。図のようにc0c1のシーケンスは第5図のアド
レス・シーケンスと一致し、第6図Aの発生回路
が所望のアドレス・シーケンスを発生できること
が分る。
ための図であり、カウンタ100の上位2ビツト
a2a3、下位2ビツトa0a1のシーケンスと、a2a3と
a0a3との加算結果c0c1のシーケンスを表わしてい
る。図のようにc0c1のシーケンスは第5図のアド
レス・シーケンスと一致し、第6図Aの発生回路
が所望のアドレス・シーケンスを発生できること
が分る。
第7図は以上の原理を用いた本発明の符号化回
路の一実施例を示すブロツク図である。図におい
て4ビツト・カウンタ100と2ビツト全加算器
101は前記アドレス・シーケンス発生回路を構
成する。回路102はRAM(ランダム・アクセ
ス・メモリ)、103及び104はバイト・レジ
スタ、105及び106は排他的OR回路、回路
107はBi(i=0、1、2、3)乗算回路であ
る。
路の一実施例を示すブロツク図である。図におい
て4ビツト・カウンタ100と2ビツト全加算器
101は前記アドレス・シーケンス発生回路を構
成する。回路102はRAM(ランダム・アクセ
ス・メモリ)、103及び104はバイト・レジ
スタ、105及び106は排他的OR回路、回路
107はBi(i=0、1、2、3)乗算回路であ
る。
第8図は第7図の符号化回路の動作を説明する
ためのタイミングチヤートである。第8図のよう
に時刻t=0においてデータバイトDが入力して
おり、カウンタ100の下位ビツト(a0a1)のカ
ウント値が0、1、2、3の時刻にメモリ102
からチエツクバイトA3、A2、A1、A0がそれぞれ
出力される。又、レジスタ104にはメモリから
読み出されたA3がセツトされt=0の全期間保
持される。第8図のようにレジスタ103は前記
カウンタ100の下位ビツト(a0a1)のカウント
値が0の期間リセツトされ、カウント値が1、
2、3の期間にA2、A1、A0がそれぞれセツトさ
れる。回路107は排他的OR回路105の出力
信号A3DにB0、B3、B2、B1をそれぞれ乗算し
て出力する回路である。すなわち、カウンタ10
0の下位ビツト(a0a1)のカウント値が0、1、
2、3の時にそれぞれB0(A3D)、B3(A3
D)、B2(A3D)が回路107から出力される。
従つて、カウンタ100の下位ビツト(a0a1)の
カウント値が0、1、2、3の時に排他的OR回
路106からA′0=B0(A3D)、A3=A2B3
(A3D)、A′2=A1B2(A3D)、A′1=A0B
(A3D)がそれぞれ出力され、メモリ102に
書き込まれる。
ためのタイミングチヤートである。第8図のよう
に時刻t=0においてデータバイトDが入力して
おり、カウンタ100の下位ビツト(a0a1)のカ
ウント値が0、1、2、3の時刻にメモリ102
からチエツクバイトA3、A2、A1、A0がそれぞれ
出力される。又、レジスタ104にはメモリから
読み出されたA3がセツトされt=0の全期間保
持される。第8図のようにレジスタ103は前記
カウンタ100の下位ビツト(a0a1)のカウント
値が0の期間リセツトされ、カウント値が1、
2、3の期間にA2、A1、A0がそれぞれセツトさ
れる。回路107は排他的OR回路105の出力
信号A3DにB0、B3、B2、B1をそれぞれ乗算し
て出力する回路である。すなわち、カウンタ10
0の下位ビツト(a0a1)のカウント値が0、1、
2、3の時にそれぞれB0(A3D)、B3(A3
D)、B2(A3D)が回路107から出力される。
従つて、カウンタ100の下位ビツト(a0a1)の
カウント値が0、1、2、3の時に排他的OR回
路106からA′0=B0(A3D)、A3=A2B3
(A3D)、A′2=A1B2(A3D)、A′1=A0B
(A3D)がそれぞれ出力され、メモリ102に
書き込まれる。
第9図はl個の符号をインタリーブしたインタ
リーブ符号の符号化回路のメモリ・アドレス・シ
ーケンス発生回路を示す。図のようにLビツトの
カウンタ200、2ビツトカウンタ201及び2
ビツト全加算器202から構成される。ここでL
はL=log2(4l)=2+log2lで決められる。例え
ば、l=4の場合はL=4である。Lビツト・カ
ウンタ200はMod(4l)のカウンタであり、2
ビツト・カウンタ201はLビツト・カウンタ2
00のMod(4l)の桁上げ信号Cでカウント値を
増加する。アドレス・シーケンス発生回路の出力
信号c0c1a2a3……aL-1はメモリのアドレスに入力
する。
リーブ符号の符号化回路のメモリ・アドレス・シ
ーケンス発生回路を示す。図のようにLビツトの
カウンタ200、2ビツトカウンタ201及び2
ビツト全加算器202から構成される。ここでL
はL=log2(4l)=2+log2lで決められる。例え
ば、l=4の場合はL=4である。Lビツト・カ
ウンタ200はMod(4l)のカウンタであり、2
ビツト・カウンタ201はLビツト・カウンタ2
00のMod(4l)の桁上げ信号Cでカウント値を
増加する。アドレス・シーケンス発生回路の出力
信号c0c1a2a3……aL-1はメモリのアドレスに入力
する。
第10図はインタリーブ数lがl=4の場合の
カウンタ200、カウンタ201、及びメモリ・
アドレス信号のカウント値の変化のタイミングを
示す図。
カウンタ200、カウンタ201、及びメモリ・
アドレス信号のカウント値の変化のタイミングを
示す図。
以上のように本発明は4(=m)バイトのチエ
ツクバイト(インタリーブ符号の場合には4lバイ
トのチエツクバイト)を4サイクル(インタリー
ブ符号の場合には4lサイクル)のメモリ・アドレ
ス・サイクルで生成できる。一般のm及びlの値
に対しても、m・lサイクルのメモリ・アドレ
ス・サイクルでm・lバイトのチエツクバイトを
生成する符号化回路を構成できるので本発明の目
的を十分達成できる。
ツクバイト(インタリーブ符号の場合には4lバイ
トのチエツクバイト)を4サイクル(インタリー
ブ符号の場合には4lサイクル)のメモリ・アドレ
ス・サイクルで生成できる。一般のm及びlの値
に対しても、m・lサイクルのメモリ・アドレ
ス・サイクルでm・lバイトのチエツクバイトを
生成する符号化回路を構成できるので本発明の目
的を十分達成できる。
第1図は従来の符号化回路のブロツク図、第2
図はインタリーブ符号の従来の符号化回路のブロ
ツク図、第3図はランダム・アクセス・メモリを
用いた従来の符号化回路のブロツク図、第4図は
本発明の原理を説明する図、第5図は本発明で用
いられるメモリ・アドレス・シーケンスのタイミ
ングチヤートの一例を示す図、第6図A,Bはメ
モリ・アドレス・シーケンス発生回路の一実施例
を示すブロツク図とタイミング・チヤートを示す
図、第7図は本発明の一実施例を示すブロツク
図、第8図は第7図の実施例の動作を説明するた
めのタイミング・チヤート、第9図はインタリー
ブ符号の場合のメモリ・アドレス・シーケンス発
生回路のブロツク図、第10図はインタリーブ数
が4の場合のメモリ・アドレス・シーケンス発生
回路のタイミング・チヤートである。 図において、100はカウンタ、101は2ビ
ツト全加算器、102はRAM、103,104
はバイト・レジスタ、105,106は排他的
OR回路、107はBi乗算回路をそれぞれ示す。
図はインタリーブ符号の従来の符号化回路のブロ
ツク図、第3図はランダム・アクセス・メモリを
用いた従来の符号化回路のブロツク図、第4図は
本発明の原理を説明する図、第5図は本発明で用
いられるメモリ・アドレス・シーケンスのタイミ
ングチヤートの一例を示す図、第6図A,Bはメ
モリ・アドレス・シーケンス発生回路の一実施例
を示すブロツク図とタイミング・チヤートを示す
図、第7図は本発明の一実施例を示すブロツク
図、第8図は第7図の実施例の動作を説明するた
めのタイミング・チヤート、第9図はインタリー
ブ符号の場合のメモリ・アドレス・シーケンス発
生回路のブロツク図、第10図はインタリーブ数
が4の場合のメモリ・アドレス・シーケンス発生
回路のタイミング・チヤートである。 図において、100はカウンタ、101は2ビ
ツト全加算器、102はRAM、103,104
はバイト・レジスタ、105,106は排他的
OR回路、107はBi乗算回路をそれぞれ示す。
Claims (1)
- 【特許請求の範囲】 1 生成多項式G(X)=Xm+Bn-1Xm-1+Bn-2
Xm-2+………+B1X+B0の係数Bi(Biはガロワ体
GF(2b)の要素)によつて規定されるチエツクバ
イト生成式、 A′0=B0(An-1D) A′n-1=An-2Bn-1(An-1D) A′n-2=An-3Bn-2(An-1D) 〓 〓 〓 〓 A′1=A0B1(An-1D) に従つてm個のチエツクバイトA′0、A′n-1、
A′n-2、………、A′1を順次、直列的に生成する符
号化回路において、(ここでA0、A1、……、
An-1はチエツクバイトの現在の状態、A′0、A′1、
………、An-1はチエツクバイトの次の時刻の状
態、Dは入力データバイト、バイトはbビツト、
は排他的ORを表わす)チエツクバイトA0、
A1、……、An-1を格納するひとつのランダムア
クセス・メモリと、前記メモリからチエツクバイ
トAn-1、An-2、………、A1、A0をこの順(An-1
が最初でA0が最後)に直列的に読み出すアドレ
スシーケンス発生回路と、メモリから最初に読み
出されるチエツクバイトAn-1を格納して保持す
るレジスタと、チエツクバイトAiが読み出される
メモリ・アドレス・サイクル期間内に前式に従つ
てA′i+1(担しAi=An-1の時はA′i+1=A′0)を生成
するとともに生成されたA′i+1を前記メモリに書
き込む回路とから構成されることを特徴とする符
号化回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57073138A JPS58191048A (ja) | 1982-04-30 | 1982-04-30 | 符号化回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57073138A JPS58191048A (ja) | 1982-04-30 | 1982-04-30 | 符号化回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58191048A JPS58191048A (ja) | 1983-11-08 |
JPH0363093B2 true JPH0363093B2 (ja) | 1991-09-30 |
Family
ID=13509539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57073138A Granted JPS58191048A (ja) | 1982-04-30 | 1982-04-30 | 符号化回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58191048A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010021280A1 (ja) | 2008-08-18 | 2010-02-25 | 日本電信電話株式会社 | ベクトル合成型移相器、光トランシーバおよび制御回路 |
WO2010067644A1 (ja) | 2008-12-09 | 2010-06-17 | 日本電信電話株式会社 | 電圧発生器、制御回路、ベクトル合成型移相器および光トランシーバ |
-
1982
- 1982-04-30 JP JP57073138A patent/JPS58191048A/ja active Granted
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010021280A1 (ja) | 2008-08-18 | 2010-02-25 | 日本電信電話株式会社 | ベクトル合成型移相器、光トランシーバおよび制御回路 |
WO2010067644A1 (ja) | 2008-12-09 | 2010-06-17 | 日本電信電話株式会社 | 電圧発生器、制御回路、ベクトル合成型移相器および光トランシーバ |
Also Published As
Publication number | Publication date |
---|---|
JPS58191048A (ja) | 1983-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4142174A (en) | High speed decoding of Reed-Solomon codes | |
US6052820A (en) | Error correction coding and decoding method, and circuit using said method | |
KR100370239B1 (ko) | 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더 | |
EP0426657B1 (en) | Method and apparatus for decoding error correction code | |
US7278085B1 (en) | Simple error-correction codes for data buffers | |
US4777635A (en) | Reed-Solomon code encoder and syndrome generator circuit | |
US7600177B2 (en) | Delta syndrome based iterative Reed-Solomon product code decoder | |
US5276827A (en) | Data buffer for the duration of cyclically recurrent buffer periods | |
US4527269A (en) | Encoder verifier | |
JPH08511393A (ja) | ブロック毎のインターリービング及びデインターリービング処理及び装置 | |
JP2004519174A (ja) | 誤り訂正符号を復号化する方法及び装置 | |
US5471486A (en) | Methods and devices for encoding data symbols in accordance with a BCH code to obtain a code word in which parity symbols are located in the middle of the code word | |
JPH0363093B2 (ja) | ||
JP3777246B2 (ja) | ディスク記憶装置内の誤りを訂正するためのシステムおよび誤り制御チップ、ならびに符号化および復号化の方法 | |
KR100509137B1 (ko) | 에러 정정 장치 | |
US5243604A (en) | On-the-fly error correction | |
KR100304193B1 (ko) | 리드솔로몬복호기의역수구현회로 | |
EP0584864B1 (en) | A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes | |
US20120233383A1 (en) | Memory system and memory controller | |
JPH0426563B2 (ja) | ||
JP3813337B2 (ja) | 消失誤り訂正方法とその装置 | |
SU1432786A1 (ru) | Декодер линейного кода | |
SU1327297A1 (ru) | Устройство дл исправлени ошибок | |
JPH0241057B2 (ja) | ||
JPS6142305B2 (ja) |