(57)【特許請求の範囲】
【請求項１】
外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、
該第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、
前記フレームからパリティデータを抽出するとともに、データ挿入タイミング信号と、パディング挿入タイミング信号と、フレーム出力タイミング信号と、該フレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第１入力位相制御回路と、
該第１入力位相制御回路が抽出した前記パリティデータを保存するパリティ蓄積回路と、
前記データ挿入タイミング信号および前記パディング挿入タイミング信号が与えるタイミングに基づいて、前記第１データ遅延回路が出力した前記フレームから被訂正データを所定データ長ずつ読み出して出力する処理と、該被訂正データが該所定データ長よりも短い場合に当該被訂正データの前にパディングを付加する処理と、前記パリティ蓄積回路から読み出された前記パリティデータから該被訂正データに対応するものを出力する処理とを行う入力制御部を複数個有する第２入力位相制御回路と、
対応する前記入力制御部から出力された前記被訂正データおよび前記パリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、
前記フレーム出力タイミング信号を受信したタイミングで、前記第２データ遅延回路から前記フレームを入力するとともに前記演算回路から訂正済データを入力し、前記判定信号が‘正常’を示すときは該訂正済データを出力し且つ該判定信号が‘異常’を示すときは前記フレームの前記被訂正データをそのまま出力する出力位相制御回路と、
を有することを特徴とする誤り訂正復号回路。
【請求項２】
前記入力制御部が、
前記データ挿入タイミング信号および前記パディング挿入タイミング信号が同時に入力されたときは、前記第１データ遅延回路が出力した前記フレームから被訂正データを所定データ長分出力し、
前記パディング挿入タイミング信号のみが入力されたときは、前記パディングを出力し、且つ、
前記パディング挿入タイミング信号の入力後に前記データ挿入タイミング信号が入力されたときは、前記パディングの出力を停止して前記被訂正データを出力する、
ことを特徴とする請求項１に記載の誤り訂正復号回路。
【請求項３】
前記第１入力位相制御回路が、
前記被訂正データの入力バイト数を計数し、計数値が前記所定データ長に達するたびに所定データ長検出信号を出力するとともに計数値をリセットするデータ長カウンタと、
前記被訂正データのサイクルに同期して計時を行う絶対時刻タイマと、
前記所定データ長検出信号または前記被訂正データの入力終了を示す信号を受信したときに、前記データ長カウンタの計数値を第１保持値として保持するデータ長レジスタと、
前記所定データ長検出信号または前記被訂正データの入力終了を示す信号を受信したときに、前記絶対時刻タイマの計時値を第２保持値として保持する時刻保持レジスタと、
前記第２保持値を入力し、（第２保持値）−（所定データ長）＋（第１遅延時間）によって得られる値が前記計時値と一致したときに前記データ挿入タイミング信号を出力する第１信号生成部と、
前記第１、第２保持値を入力し、（第２保持値）−（第１保持値）＋（第１遅延時間）によって得られる値が前記計時値と一致したときに前記パディング挿入タイミング信号を出力する第２信号生成部と、
を備えることを特徴とする請求項２に記載の誤り訂正復号回路。
【請求項４】
外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、
該第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、
前記フレームからパリティデータを抽出するとともに、誤り訂正開始タイミング信号と、フレーム出力タイミング信号と、該フレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第１入力位相制御回路と、
該第１入力位相制御回路が抽出した前記パリティデータを交互に保存する第１、第２パリティ蓄積回路と、
前記誤り訂正開始タイミング信号を受信した後で、前記第１データ遅延回路が出力した前記フレームから被訂正データを所定データ長ずつ読み出して出力し、さらに前記第１、第２パリティ蓄積回路から読み出された前記パリティデータから該被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、
対応する前記入力制御部から出力された前記被訂正データおよび前記パリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、
前記フレーム出力タイミング信号を受信したタイミングで、前記第２データ遅延回路から前記フレームを入力するとともに前記演算回路から訂正済データを入力し、前記判定信号が‘正常’を示すときは該訂正済データを出力し且つ該判定信号が‘異常’を示すときは前記フレームの前記被訂正データをそのまま出力する出力位相制御回路と、
を有することを特徴とする誤り訂正復号回路。
【請求項５】
外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、
該第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、
前記フレームからパリティデータを抽出するとともに、誤り訂正開始タイミング信号と、フレーム出力タイミング信号を出力し、さらに、該フレームの受信が正常に終了したか否かを示す判定信号を順次生成し、複数の当該フレームについて所定の並び順で並列に出力する第１入力位相制御回路と、
該第１入力位相制御回路が抽出した前記パリティデータを保存するパリティ蓄積回路と、
前記誤り訂正開始タイミング信号を受信した後で、前記第１データ遅延回路が出力した前記フレームから被訂正データを所定データ長ずつ読み出して出力し、さらに前記パリティ蓄積回路から読み出された前記パリティデータから該被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、
対応する前記入力制御部から出力された前記被訂正データおよび前記パリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、
前記フレーム出力タイミング信号を受信したタイミングで、前記第２データ遅延回路から前記フレームを入力するとともに前記演算回路から訂正済データを入力し、該フレームに対応する前記判定信号を前記並び順にしたがって読み出し、該判定信号が‘正常’を示すときは該訂正済データを出力し且つ該判定信号が‘異常’を示すときは前記フレームの前記被訂正データをそのまま出力する出力位相制御回路と、
を有することを特徴とする誤り訂正復号回路。
【請求項６】
前記第２入力位相制御回路が、該フレームに対応する前記判定信号を前記並び順にしたがって読み出し、該判定信号が‘正常’を示すときは前記被訂正データおよび前記パリティデータの読み出しおよび出力を行い、該判定信号が‘異常’を示すときは前記パリティデータの読み出しおよび出力を行わないことを特徴とする請求項５に記載の誤り訂正復号回路。
【請求項７】
前記第１入力位相制御回路が、
前記フレームの受信が正常に終了したか否かを監視し、正常終了の場合には判定信号および受信終了タイミング信号を出力し、異常終了の場合には受信終了タイミング信号のみを出力する受信状態監視部と、
前記受信状態監視部が前記受信終了タイミング信号を出力した回数を計数する第１カウンタと、
前記カウンタの計数値が自己に対応するときにのみイネーブル信号を出力する複数のデコーダと、
対応する前記デコーダから入力された前記イネーブル信号がアクティブの場合にのみ前記判定信号を保持して出力する複数の判定保持レジスタと、
を有する正常受信判定部を備えることを特徴とする請求項５または６に記載の誤り訂正復号回路。
【請求項８】
前記第２入力位相制御回路が、
前記複数の判定保持レジスタからそれぞれ出力された前記判定信号を並列に入力する第１セレクタと、
前記受信終了タイミング信号を前記第１遅延時間だけ遅延させる第１信号遅延器と、
前記第１遅延器から出力された前記受信終了タイミング信号の個数を計数し、計数結果に応じた前記判定信号を前記第１セレクタに出力させる第２カウンタと、
を有する第１判定信号選択部を備えることを特徴とする請求項７に記載の誤り訂正復号回路。
【請求項９】
前記出力位相制御回路が、
前記複数の判定保持レジスタからそれぞれ出力された前記判定信号を並列に入力する第２セレクタと、
前記受信終了タイミング信号を前記第１、第２遅延時間の和だけ遅延させる第２信号遅延器と、
前記第１遅延器から出力された前記受信終了タイミング信号の個数を計数し、計数結果に応じた前記判定信号を前記第１セレクタに出力させる第３カウンタと、
を有する第２判定信号選択部を備えることを特徴とする請求項７または８に記載の誤り訂正復号回路。
【請求項１０】
外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、
該第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、
前記フレームからパリティデータを第１所定データ長ずつ抽出するとともに、誤り訂正開始タイミング信号とフレーム出力タイミング信号とを出力し、さらに、該フレームに格納された被処理データを第２所定データ長ずつ計数するとともに前記第１所定データ長の前記パリティデータを抽出した回数と比較し、両者が一致する場合に当該フレームの受信が正常に終了したことを示す判定信号を出力する第１入力位相制御回路と、
該第１入力位相制御回路が抽出した前記パリティデータを保存するパリティ蓄積回路と、
前記誤り訂正開始タイミング信号を受信した後で、前記第１データ遅延回路が出力した前記フレームから被訂正データを前記第２所定データ長ずつ読み出して出力し、さらに前記パリティ蓄積回路から読み出された前記パリティデータから該被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、
対応する前記入力制御部から出力された前記被訂正データおよび前記パリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、
前記フレーム出力タイミング信号を受信したタイミングで、前記第２データ遅延回路から前記フレームを入力するとともに前記演算回路から訂正済データを入力し、前記判定信号が‘正常’を示すときは該訂正済データを出力し且つ該判定信号が‘異常’を示すときは前記フレームの前記被訂正データをそのまま出力する出力位相制御回路と、
を有することを特徴とする誤り訂正復号回路。
【請求項１１】
前記第１入力位相制御回路が、
前記フレームの開始符号が受信されてから該フレームの第１終了符号が受信されるまでの、前記被訂正データの入力バイト数を計数し、計数値が前記第２所定データ長に達するたびに第２所定データ長検出信号を出力するとともに計数値をリセットするデータ長カウンタと、
該データ長カウンタが前記第２所定データ長検出信号を出力した回数を計数し、計数結果を出力するデータ繰り返し回数カウンタと、
前記第１終了符号が受信されてから該フレームの第２終了符号が受信されるまでの、前記パリティデータの入力バイト数を計数し、計数値が前記第１所定データ長に達するたびに第１所定データ長検出信号を出力するとともに計数値をリセットするパリティ長カウンタと、
該パリティ長カウンタが前記第１所定データ長検出信号を出力した回数を計数し、計数結果を出力するデータ繰り返し回数カウンタと、
前記フレームの第２終了符号が受信されたときに前記繰り返し回数カウンタの計数値と前記繰り返し回数レジスタの保持値とを比較して、比較結果を出力する繰り返し回数比較器と、
を有することを特徴とする請求項１０に記載の誤り訂正復号回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブロック符号を用いて誤り訂正符号化されたデータを復号化する回路に関する。この発明は、例えば、リードソロモン符号化されたデータをIEEE802.3 勧告に準拠したフレームに格納して転送するシステムに採用することができる。
【背景技術】
【０００２】
デジタルデータの通信や記録を行う場合には、ノイズ等に起因してビット誤りが発生する場合がある。このような誤りを検出・訂正するための技術の一つとして、前方誤り訂正（Forward Error Correction:FEC）が知られている。前方誤り訂正は、冗長ビットを用いて、伝送データに発生する誤りビットを訂正する技術である。以下、ＦＥＣを採用した通信フレームを、ＦＥＣフレームと記す。
【０００３】
また、ＦＥＣを行う技術の一つとして、ブロック符号を用いる技術が知られている。この技術では、通信或いは記録するデータをブロックに分割して、符号化処理を行う。ブロック符号を用いた誤り訂正技術は、例えばデータ通信等で採用されている。
【０００４】
さらに、ブロック符号の一つとして、リードソロモン符号が知られている。リードソロモン符号を用いた誤り訂正技術には、高度な誤り訂正能力を有する反面、演算処理が複雑で処理時間が長くなるという欠点がある。
【０００５】
リードソロモン符号等のブロック符号誤り訂正技術をデータ通信に用いた規格としては、例えば、IEEE(Institute of Electrical and Electronic Engineers)の802.3ah 勧告が知られている。IEEE802.3ah 勧告は、ＥＦＭ(Ethernet(登録商標) in the First Mile)とも称され、例えばＧＥ−ＰＯＮ(Gigabit Ethernet(登録商標)-Passive Optical Network)で採用されている。
【０００６】
図１３は、IEEE802.3ah 勧告に準拠したＦＥＣフレームの構造を示す概念図である。図１３において、S＿FEC は、ＦＥＣフレームの開始を示す特殊符号である。PREAMBLE/SLDは、ＦＥＣフレームの伝搬速度と受信側ノードの処理速度とを同期させるために使用するフィールドであり、‘０’と‘１’との繰り返しからなる部分と、‘１’が２ビット連続した部分とを有する。FRAME/FCS は、ＦＥＣフレームが送信するユーザデータとＣＲＣ(Cyclic Redundancy Check) ビットとを格納するフィールドである。１番目のT＿FECは、FRAME/FCS フィールドの終了を示す特殊符号である。PARITYは、誤り訂正符号（すなわちパリティ）を格納するフィールドである。そして、２番目のT＿FECは、ＦＥＣフレームの終了を示す特殊符号である。
【０００７】
ブロック符号を用いて誤り訂正符号化されたデータを復号する回路は、例えば下記特許文献１、２に開示されている。しかし、これらの文献１、２に開示された誤り訂正復号回路は、処理時間が遅いという欠点がある。特に、ブロック符号としてリードソロモン符号を使用する場合、上述のように処理が複雑であるため、転送のレイテンシ（ノードがフレームを入力してから出力するまでの時間）が非常に長くなり、ネットワーク輻輳等の原因になっていた。
【特許文献１】特開２００２−７６９０９号公報
【特許文献２】特開２００４−１２０４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
転送時のレイテンシを短縮する方法として、例えば、S＿FECから１番目のT＿FECまでを受信した直後に誤り訂正復号処理を開始する方法が考えられる。
【０００９】
しかしながら、この方法には、以下のような欠点がある。
【００１０】
冗長フレームでは、１番目のT＿FECに伝送ビット誤りが発生した場合に、２番目のT＿FECを１番目のT＿FECであると誤認してしまう場合がある。このような場合、当該T＿FECが２番目のT＿FECであることは、フレーム受信完了後でなければ、認識できない。したがって、１番目のT＿FECまでを受信した直後に誤り訂正復号処理を開始する場合、誤り訂正復号処理を正常に行えないことになる。
【００１１】
また、フレームの伝送時に、２番目のT＿FECに伝送ビット誤りが発生する場合もある。このような場合には、正常な誤り訂正復号処理を行える場合もある反面、該処理を正常に行えない場合もあり、処理の信頼性を確保できない。
【００１２】
この発明の課題は、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を提供する点にある。
【課題を解決するための手段】
【００１３】
（１）第１の発明に係る誤り訂正復号回路は、外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、フレームからパリティデータを抽出するとともに、データ挿入タイミング信号と、パディング挿入タイミング信号と、フレーム出力タイミング信号と、フレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第１入力位相制御回路と、第１入力位相制御回路が抽出したパリティデータを保存するパリティ蓄積回路と、データ挿入タイミング信号およびパディング挿入タイミング信号が与えるタイミングに基づいて、第１データ遅延回路が出力したフレームから被訂正データを所定データ長ずつ読み出して出力する処理と、被訂正データが所定データ長よりも短い場合に被訂正データの前にパディングを付加する処理と、パリティ蓄積回路から読み出されたパリティデータから被訂正データに対応するものを出力する処理とを行う入力制御部を複数個有する第２入力位相制御回路と、対応する入力制御部から出力された被訂正データおよびパリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、フレーム出力タイミング信号を受信したタイミングで、第２データ遅延回路からフレームを入力するとともに演算回路から訂正済データを入力し、判定信号が‘正常’を示すときは訂正済データを出力し且つ判定信号が‘異常’を示すときはフレームの被訂正データをそのまま出力する出力位相制御回路とを有する。
【００１４】
（２）第２の発明に係る誤り訂正復号回路は、外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、フレームからパリティデータを抽出するとともに、誤り訂正開始タイミング信号と、フレーム出力タイミング信号と、フレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第１入力位相制御回路と、第１入力位相制御回路が抽出したパリティデータを交互に保存する第１、第２パリティ蓄積回路と、誤り訂正開始タイミング信号を受信した後で、第１データ遅延回路が出力したフレームから被訂正データを所定データ長ずつ読み出して出力し、さらに第１、第２パリティ蓄積回路から読み出されたパリティデータから被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、対応する入力制御部から出力された被訂正データおよびパリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、フレーム出力タイミング信号を受信したタイミングで、第２データ遅延回路からフレームを入力するとともに演算回路から訂正済データを入力し、判定信号が‘正常’を示すときは訂正済データを出力し且つ判定信号が‘異常’を示すときはフレームの被訂正データをそのまま出力する出力位相制御回路とを有する。
【００１５】
（３）第３の発明に係る誤り訂正復号回路は、外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、フレームからパリティデータを抽出するとともに、誤り訂正開始タイミング信号と、フレーム出力タイミング信号を出力し、さらに、フレームの受信が正常に終了したか否かを示す判定信号を順次生成し、複数のフレームについて所定の並び順で並列に出力する第１入力位相制御回路と、第１入力位相制御回路が抽出したパリティデータを保存するパリティ蓄積回路と、誤り訂正開始タイミング信号を受信した後で、第１データ遅延回路が出力したフレームから被訂正データを所定データ長ずつ読み出して出力し、さらにパリティ蓄積回路から読み出されたパリティデータから被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、対応する入力制御部から出力された被訂正データおよびパリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、フレーム出力タイミング信号を受信したタイミングで、第２データ遅延回路からフレームを入力するとともに演算回路から訂正済データを入力し、フレームに対応する判定信号を並び順にしたがって読み出し、判定信号が‘正常’を示すときは訂正済データを出力し且つ判定信号が‘異常’を示すときはフレームの被訂正データをそのまま出力する出力位相制御回路とを有する。
【００１６】
（４）第４の発明に係る誤り訂正復号回路は、外部から入力したフレームを第１遅延時間だけ遅延させて出力する第１データ遅延回路と、第１データ遅延回路から入力したフレームを第２遅延時間だけ遅延させて出力する第２データ遅延回路と、フレームからパリティデータを第１所定データ長ずつ抽出するとともに、誤り訂正開始タイミング信号とフレーム出力タイミング信号とを出力し、さらに、フレームに格納された被処理データを第２所定データ長ずつ計数するとともに第１所定データ長のパリティデータを抽出した回数と比較し、両者が一致する場合にフレームの受信が正常に終了したことを示す判定信号を出力する第１入力位相制御回路と、第１入力位相制御回路が抽出したパリティデータを保存するパリティ蓄積回路と、誤り訂正開始タイミング信号を受信した後で、第１データ遅延回路が出力したフレームから被訂正データを第２所定データ長ずつ読み出して出力し、さらにパリティ蓄積回路から読み出されたパリティデータから被訂正データに対応するものを出力する入力制御部を複数個有する第２入力位相制御回路と、対応する入力制御部から出力された被訂正データおよびパリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、フレーム出力タイミング信号を受信したタイミングで、第２データ遅延回路からフレームを入力するとともに演算回路から訂正済データを入力し、判定信号が‘正常’を示すときは訂正済データを出力し且つ判定信号が‘異常’を示すときはフレームの被訂正データをそのまま出力する出力位相制御回路とを有する。
【発明の効果】
【００１７】
第１〜第４の発明によれば、被訂正データの読み出し開始直後から誤り訂正復号処理を開始するとともに、この誤り訂正復号処理と並行してフレームが正常に受信されたか否かを判定して、誤り訂正されたフレームの出力が開始される前に正常／異常を判断することができる。したがって、この発明によれば、処理の信頼性を向上させることができる。
【００１８】
したがって、この発明によれば、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を実現することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、この発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
【００２０】
第１の実施形態
この発明の第１の実施形態に係る誤り訂正復号回路について、図１〜図５を用いて説明する。この実施形態は、ブロック符号としてリードソロモン符号を採用した場合の例である。
【００２１】
図１は、この実施形態に係る誤り訂正復号回路１００の構成を概略的に示すブロック図である。図１に示したように、この実施形態の誤り訂正復号回路１００は、第１データ遅延回路１１０と、第２データ遅延回路１２０と、ＦＥＣ入力位相制御回路１３０と、パリティ蓄積回路１４０と、ＲＳ（リードソロモン、以下同じ）入力位相制御回路１５０と、ＦＥＣ演算回路１６０と、ＦＥＣ出力位相制御回路１７０とを備える。
【００２２】
第１データ遅延回路１１０は、外部から受信されたＦＥＣフレームを、所定時間τ１だけ遅延させて、第２データ遅延回路１２０およびＲＳ入力位相制御回路１５０に送る。遅延時間τ１については、後述する。
【００２３】
第２データ遅延回路１２０は、第１データ遅延回路１１０から受信したＦＥＣフレームを、所定時間τ２だけ遅延させて、ＦＥＣ出力位相制御回路１７０に送る。遅延時間τ２は、回路１５０，１６０のレイテンシと一致するように設定される。
【００２４】
ＦＥＣ入力位相制御回路１３０は、外部から受信されたＦＥＣフレームからパリティデータを抽出・転送するとともに、ＲＳ入力位相制御回路１５０およびＦＥＣ出力位相制御回路１７０を制御するための信号Ｔ１，Ｔ２，Ｔout ，Ｓ０を生成・出力する。ＦＥＣ入力位相制御回路１３０は、パリティライト制御部１３１、タイミング生成部１３２および正常受信判定部１３３を有する。
【００２５】
パリティライト制御部１３１は、ＦＥＣフレームからパリティデータを所定バイトずつ読み出して、パリティ蓄積回路１４０に送る。一回の読み出し動作で読み出されるパリティデータ・バイト数は、ＦＥＣ演算回路１６０内の各ＲＳデコーダ１６１−０〜１６１−２（後述）が１回の誤り訂正復号処理で復号化するブロックのデータ長（この実施形態では２３９バイトとする）に応じて決定される。
【００２６】
タイミング生成部１３２は、ＦＥＣフレームに含まれるS＿FEC、１番目のT＿FECおよび２番目のT＿FECの受信タイミングに基づいて、パディング挿入タイミング信号Ｔ１、データ挿入タイミング信号Ｔ２およびＦＥＣ出力タイミング信号Ｔout を生成・出力する。後述するように、データ挿入タイミング信号Ｔ１およびパディング挿入タイミング信号Ｔ２は、ＲＳ入力位相制御回路１５０が被訂正データ（PREAMBLE/SLDフィールドの格納データおよびFRAME/FCS フィールドの格納データ）の出力を開始するタイミングと、パディングの出力を開始するタイミングを規定する。また、ＦＥＣ出力タイミング信号Ｔout は、ＦＥＣ出力位相制御回路１７０内に設けられた出力データ選択部１７１のデータ出力タイミングを規定する。なお、パディングとは、IEEE802.ahに規定されたダミーバイト（ビット値はすべて‘０’）であり、誤り訂正復号処理を行うブロックのデータ量が２３９バイト未満の場合に、当該ブロックが２３９バイトになるように、当該データよりも前に配列される。タイミング信号Ｔ１，Ｔ２は、後述のようなタイミング信号生成回路によって生成される（図２参照）。
【００２７】
正常受信判定部１３３は、１番目のT＿FECおよび２番目のT＿FECが正常に受信されたか否かを判定し、判定結果を示す信号（以下、判定信号）Ｓ０をＦＥＣ出力位相制御回路１７０に送る。
【００２８】
パリティ蓄積回路１４０は、パリティライト制御部１３１から受信したパリティデータを一時的に保存するＦＩＦＯ(First In First Out)メモリである。
【００２９】
ＲＳ入力位相制御回路１５０は、リードソロモン符号を用いた誤り訂正復号処理を行うためのデータ（後述）を、ＦＥＣ演算回路１６０に供給する。ＲＳ入力位相制御回路１５０は、パリティリード制御部１５１と、ＲＳ入力制御部１５２−０〜１５２−２とを有する。
【００３０】
パリティリード制御部１５１は、パリティ蓄積回路１４０に格納されたパリティデータを読み出して、ＲＳ入力制御部１５２−０〜１５２−２に順次供給する。
【００３１】
ＲＳ入力制御部１５２−０〜１５２−２は、それぞれ、タイミング信号Ｔ１，Ｔ２に基づいて、パディング、被処理データおよびパリティデータを出力する。タイミング信号Ｔ１，Ｔ２が共に入力されたとき、ＲＳ入力制御部１５２−０〜１５２−２は、第１データ遅延回路１１０から入力されたＦＥＣフレームから被訂正データを２３９バイトずつ読み出し、対応するＲＳデコーダ１６１−０〜１６１−２に順次送信する。また、パディング挿入タイミング信号Ｔ１のみが入力されたとき、ＲＳ入力制御部１５２−０〜１５２−２は、パディングを出力する。そして、データ挿入タイミング信号Ｔ１のみが入力されたとき、ＲＳ入力制御部１５２−０〜１５２−２は、パディングの出力を終了して、被訂正データおよびパリティデータの出力を開始する。被訂正データの出力後、ＲＳ入力制御部１５２−０〜１５２−２は、対応するパリティデータを、パリティリード制御部１５１から受け取って、出力する。
【００３２】
ＦＥＣ演算回路１６０は、リードソロモン符号を用いた復号処理すなわちＦＥＣ演算を行う。ＦＥＣ演算回路１６０は、第１〜第３ＲＳデコーダ１６１−０〜１６１−２を有する。ＲＳデコーダ１６１−０〜１６１−２は、それぞれ、受信した被訂正データを用いてＦＥＣ演算を行い、誤り訂正復号処理後のデータを出力する。
【００３３】
ＦＥＣ出力位相制御回路１７０は、ＦＥＣ演算回路１６０で誤り訂正復号処理されたデータまたは第２データ遅延回路１２０から受信した非処理ＦＥＣフレームを出力する。ＦＥＣ出力位相制御回路１７０は、出力データ選択部１７１を有する。出力データ選択部１７１は、ＦＥＣ演算回路１６０から受信したデータまたは第２データ遅延回路１２０から受信したデータの一方を、選択的に出力する。この再生処理の手順は、判定信号Ｓ０の値に応じて切り換えられる（後述）。出力データ選択部１７１の信号出力タイミングは、ＦＥＣ出力タイミング信号Ｔout に基づいて決定される。
【００３４】
図２は、タイミング生成部１３２内に設けられたタイミング信号生成回路２００を示す回路図である。図２に示したように、このタイミング信号生成回路２００は、データ長カウンタ２０１と、絶対時刻タイマ２０２と、ＯＲ回路２０３と、ｎ進カウンタ２０４と、データ長レジスタ２０５−１〜２０５−ｎと、時刻レジスタ２０６−１〜２０６−ｎと、パディング挿入タイミング信号生成回路２０７と、データ挿入タイミング信号生成回路２０８とを備えている。
【００３５】
データ長カウンタ２０１は、S＿FEC検出信号（ＦＥＣ入力位相制御回路１３０にS＿FECが受信されたことを示す信号）Ｓｓが入力されたときに値‘０’をロードし、クロックＣＬＫを入力するたびに、このロード値に‘１’を加算していく。データ長カウンタ２０１は、計数値が‘２３８’に達するたびに計数値を‘０’に戻すとともに、２３９バイト検出信号Ｓｂを出力する。クロックＣＬＫの周期は、ＦＥＣが１バイトのデータを受信するサイクルと一致している。したがって、データ長カウンタ２０１は、被処理データが２３９バイト分受信されるたびに、２３９バイト検出信号Ｓｂを出力することになる（計数値‘２３８’が受信バイト数２３９個に対応する）。データ長カウンタ２０１の計数値は、リセット信号ＲＳＴによりリセットされる。
【００３６】
絶対時刻タイマ２０２は、リセット信号ＲＳＴによってリセットされた後、クロックＣＬＫを入力するたびに、このロード値に‘１’を加算していく。絶対時刻タイマ２０２の計数値は、絶対時刻Ａｔとして出力される。絶対時刻タイマ２０２の最大値は、誤り訂正復号回路１００へのＦＥＣフレームの入力が開始されてから該誤り訂正復号回路１００からの出力が開始されるまでの経過時間（すなわち、遅延時間τ１＋τ２）よりも大きければ、いくらでもよい。
【００３７】
ＯＲ回路２０３は、２３９バイト検出信号ＳｂとT＿FEC検出信号（ＦＥＣ入力位相制御回路１３０にT＿FECが受信されたことを示す信号）Ｓｔとの論理和を演算し、該演算結果を取り込みタイミング信号Ｓｍとして出力する。
【００３８】
ｎ進カウンタ２０４は、ＯＲ回路２０３が取り込みタイミング信号Ｓｍを出力した回数を計数し、当該計数結果ＣＮＴ３を出力する。ｎ進カウンタ２０４は、計数結果がｎ回に達すると、その次の計数回数を‘１回’に戻して、計数を続行する。なお、実際の回路では、ｎ進カウンタ２０４は、値‘０’〜‘ｎ−１’を出力するが、ここでは、説明を簡単にするために、‘１’〜‘ｎ’の計数を行う（その計数結果を示す値として‘０’〜‘ｎ−１’が出力される）ものとして説明する。
【００３９】
データ長レジスタ２０５−１〜２０５−ｎは、取り込みタイミング信号Ｓｍが入力され且つ計数回数ＣＮＴ３が自己に対応しているときに、データ長カウンタ２０１の計数値ＣＮＴ１を保持・出力する。
【００４０】
時刻レジスタ２０６−１〜２０６−ｎは、取り込みタイミング信号Ｓｍが入力され且つ計数回数ＣＮＴ３が自己に対応しているときに、絶対時刻タイマ２０２の計数値（時刻）ＣＮＴ２を保持・出力する。
【００４１】
パディング挿入タイミング信号生成回路２０７−１〜２０７−ｎは、時刻ＣＮＴ２および絶対時刻Ａｔを入力する。そして、信号生成回路２０７−１〜２０７−ｎは、下式（１）の演算を行う（τ１は第１データ遅延回路１１０の遅延時間）。そして、演算結果と絶対時刻Ａｔとが一致したタイミングで、信号生成回路２０７−１〜２０７−ｎは、パディング挿入タイミング信号Ｔ１（１）〜Ｔ１（ｎ）を出力する。
【００４２】
ＣＮＴ２−２３９＋τ１    ・・・（１）
データ挿入タイミング信号生成回路２０８−１〜２０８−ｎは、データ長ＣＮＴ１、時刻ＣＮＴ２および絶対時刻Ａｔを入力する。そして、データ挿入タイミング信号生成回路２０８−１〜２０８−ｎは、演算結果と絶対時刻Ａｔとが一致したタイミングで、データ挿入タイミング信号Ｔ２を出力する。
【００４３】
ＣＮＴ２−ＣＮＴ１＋τ１  ・・・（２）
次に、誤り訂正復号回路１００の全体的な動作について説明する。図３は、誤り訂正復号回路１００が正常なＦＥＣフレームを受信した場合の動作例を示す概念図である。また、図４は、誤り訂正復号回路１００が異常なＦＥＣフレームを受信した場合の動作例を示す概念図である。
【００４４】
ここでは、ＦＥＣフレームの長さを、IEEE802.3ah 勧告で規定された最大フレーム長とする。この場合、PREAMBLE/SLDフィールド（図３参照）は７バイト、FRAME/FCS フィールドは１５３６バイトである。また、PARITYフィールドは、１１２バイトである。
【００４５】
この実施形態では、被処理データ（PREAMBLE/SLDフィールドおよびFRAME/FCS フィールドのデータ、すなわち７＋１５３６バイト）を７ブロックに分けて、誤り訂正復号処理が行われる。最初の６ブロックＤ１〜Ｄ６のデータ長は２３９バイトであり、最後のブロックＤ７のデータ長は１０９バイトである。各ブロックの誤り訂正復号処理には、１６バイトのパリティデータＰ１〜Ｐ７が使用される。
【００４６】
なお、ここでは、説明を簡単にするために、ｎ（データ長レジスタや時刻レジスタの個数等）が‘７’の場合を例に採って説明するが、ｎの値は限定されない。この実施形態では、IEEE802.ahの最大フレーム長に合わせて遅延時間τ１，τ２を定めているが、このような遅延時間τ１，τ２が設定された訂正復号回路で最小フレーム長のフレームを連続受信する場合を考慮すると、ｎの値は、最大フレーム長÷最小フレーム長を超える最少数、すなわち‘１６’であることが望ましい。
【００４７】
まず、誤り訂正復号回路１００に、ＦＥＣフレームが受信される。このＦＥＣフレームは、第１データ遅延回路１１０と、ＦＥＣ入力位相制御回路１３０とに入力される。
【００４８】
パリティライト制御部１３１は、ＦＥＣフレームを入力すると、パリティデータを１６バイトずつ読み出して、パリティ蓄積回路１４０に送る。これにより、１６バイト・パリティデータＰ１，Ｐ２，・・・，Ｐ７が、パリティ蓄積回路１４０内のＦＩＦＯに蓄積される。
【００４９】
これと並行して、第１データ遅延回路１１０が、受信したＦＥＣフレームを、遅延時間τ１（後述）だけ遅らせて、ＲＳ入力位相制御回路１５０に供給する。
【００５０】
タイミング生成部１３２内のタイミング信号生成回路２００は、第１データ遅延回路１１０からＲＳ入力位相制御回路１５０にデータＤ１の先頭ビットが供給される直前のタイミングで、パディング挿入タイミング信号Ｔ１（図２ではＴ１（１）〜Ｔ１（ｎ））およびデータ挿入タイミング信号Ｔ２（図２ではＴ２（１）〜Ｔ２（ｎ））を出力する（共にハイレベル）。なお、タイミング信号生成回路２００の動作原理については、後述する。
【００５１】
ＲＳ入力制御部１５２−０は、タイミング信号Ｔ１（１），Ｔ２（１）を受信すると、データＤ１の取り込みを開始する。ＲＳ入力制御部１５２−０は、取り込んだデータＤ１を、ＲＳデコーダ１６１−０に、順次送る。そして、データＤ１の送信終了タイミングに合わせて、パリティリード制御部１５１が、パリティ蓄積回路１４０のＦＩＦＯからパリティデータＰ１を読み出す。このパリティデータＰ１も、データＤ１の最終ビットに続いて、ＲＳデコーダ１６１−０に送られる。ＲＳデコーダ１６１−０は、これらのデータＤ１，Ｐ１を用いて、誤り訂正復号処理を行う。
【００５２】
データＤ１の送信終了タイミングに合わせて、タイミング信号生成回路２００が、タイミング信号Ｔ１（２），Ｔ２（２）を出力する。ＲＳ入力制御部１５２−１は、タイミング信号Ｔ１（２），Ｔ２（２）を受信すると、データＤ２の取り込みを開始する。ＲＳ入力制御部１５２−１は、取り込んだデータＤ２を、ＲＳデコーダ１６１−１に、順次送る。そして、データＤ２の送信終了タイミングに合わせて、パリティリード制御部１５１が、パリティ蓄積回路１４０のＦＩＦＯからパリティデータＰ２を読み出す。このパリティデータＰ２も、データＤ２の最終ビットに続いて、ＲＳデコーダ１６１−１に送られる。ＲＳデコーダ１６１−１は、これらのデータＤ２，Ｐ２を用いて、誤り訂正復号処理を行う。
【００５３】
さらに、データＤ２の送信終了タイミングに合わせて、タイミング信号生成回路２００が、タイミング信号Ｔ１（３），Ｔ２（３）を出力する。これにより、ＲＳ入力制御部１５２−２が、データＤ３の取り込みを開始する。ＲＳ入力制御部１５２−２は、取り込んだデータＤ３を、ＲＳデコーダ１６１−２に、順次送る。そして、データＤ３の送信終了タイミングに合わせて、パリティリード制御部１５１が、パリティ蓄積回路１４０のＦＩＦＯからパリティデータＰ３を読み出す。このパリティデータＰ３も、データＤ３の最終ビットに続いて、ＲＳデコーダ１６１−２に送られる。ＲＳデコーダ１６１−２は、これらのデータＤ３，Ｐ３を用いて、誤り訂正復号処理を行う。
【００５４】
データＤ３の送信終了タイミングで、タイミング信号生成回路２００が、タイミング信号Ｔ１（４），Ｔ２（４）を出力する。これにより、ＲＳ入力制御部１５２−０が、データＤ４の取り込み・送信を開始する。さらに、データＤ４の送信終了タイミングに合わせて、パリティデータＰ４の読み出し・送信が開始される。さらに、同様にして、データＤ５，Ｄ６およびパリティデータＰ５，Ｐ６が、対応するＲＳデコーダ１６１−１，１６１−２に送られ、誤り訂正復号処理が実行される。
【００５５】
データＤ６の送信終了タイミングで、タイミング信号生成回路２００が、パディング挿入タイミング信号Ｔ１（７）のみを出力する。すなわち、データＤ６の送信終了タイミングでは、タイミング信号生成回路２００はデータ挿入タイミング信号Ｔ１（７）を出力しない。上述のように、ＲＳ入力制御部１５２−０は、パディング挿入タイミング信号Ｔ１（７）のみを受信した場合、パディング（すなわち、ビット値がすべて‘０’のバイト）の出力を開始する。この実施形態では、データＤ７のデータ長は１０９バイトであるため、パディングは１３０バイト連続して出力される。パディングのデータ長が１３０バイトに達したとき、タイミング信号生成回路２００は、データ挿入タイミング信号Ｔ２（７）を出力する。これにより、ＲＳ入力制御部１５２−０は、パディングの出力を終了して、データＤ７の出力を開始する。さらに、ＲＳ入力制御部１５２−０は、データＤ７の出力を終了すると、パリティデータＰ７の読み出し・送信を行う。
【００５６】
その後、ＲＳデコーダ１６１−０〜１６１−２が、データＤ１〜Ｄ７を誤り訂正することによって得られたデータｄ１〜ｄ７を、順次出力する。
【００５７】
出力データ選択部１７１は、ＲＳデコーダ１６１−０〜１６１−２からデータｄ１〜ｄ７を順次受信するとともに、第２データ遅延回路１２０から、ＦＥＣフレームを受信する。この実施形態では、第２データ遅延回路１２０を有しているので、出力データ選択部１７１において、データｄ１がＲＳデコーダ１６１−０から受信されるタイミングと、ＦＥＣフレーム内のデータＤ１が受信されるタイミングとが、一致する。同様に、データｄ２〜ｄ７が受信されるタイミングと、ＦＥＣフレーム内のデータＤ２〜Ｄ７が受信されるタイミングとは、それぞれ一致する。
【００５８】
出力データ選択部１７１は、ＦＥＣ出力タイミング信号Ｔout が与えるタイミングにしたがって、以下のような信号を出力する。
【００５９】
出力データ選択部１７１は、判定信号Ｓ０が２番目のT＿FECが正常に受信されたことを示しているときは（図３参照）、特殊符号であるS＿FEC、１番目のT＿FEC、２番目のT＿FECおよびPARITYフィールドのデータ（すなわちパリティデータ）に代えて、IEEE802.3 に規定されたアイドルパターン（すなわち、/I/ ）を出力する。そして、出力データ選択部１７１は、PREAMBLE/SLDフィールドおよびFRAME/FCS フィールドの格納データを出力するタイミングで、ＲＳデコーダ１６１−０〜１６１−２から受信したデータｄ１〜ｄ７を順次出力する。一方、判定信号Ｓ０が２番目のT＿FECが正常に受信されなかったことを示しているとき（図４参照）、出力データ選択部１７１は、第２データ遅延回路１２０から受信したＦＥＣフレームを、そのまま出力する。
【００６０】
上述のように、第２データ遅延回路１２０の遅延時間τ２は、回路１５０，１６０のレイテンシと一致するように設定される。また、第１、第２データ遅延回路１１０，１２０の総遅延時間τ１＋τ２は、正常受信判定部１３３の判定結果が確定するタイミングと第２データ遅延回路１２０がS＿FECを出力するタイミングとが一致するように設定される。したがって、第１データ遅延回路１１０の遅延時間τ１は、下式（３）のように設定される。下式（３）において、Ｌmax は受信フレームの最大長（PREAMBLE/SLDフィールドおよびFRAME/FCS フィールドの最大データ長）、Ｌ１は１番目のT＿FECの長さ、ＬｐはPARITYフィールドの長さ、Ｌ２は２番目のT＿FECの長さである。この実施形態では、１バイトの受信時間を１サイクルとして、Ｌmax ＝１５３６＋７サイクル、Ｌ１＝７サイクル、Ｌｐ＝１６×７サイクル、Ｌ２＝６サイクルであり、τ２は例えば３３１サイクルである。
【００６１】
τ１＝（Ｌmax＋Ｌ１＋Ｌｐ＋Ｌ２）−τ２      ・・・（３）
図５は、タイミング信号生成回路２００の動作原理を説明するための概念図である。
【００６２】
タイミング生成部１３２（図１参照）は、ＦＥＣフレームのS＿FECが受信されると、S＿FEC検出信号Ｓｓを生成し、データ長カウンタ２０１および絶対時刻タイマ２０２に送信する。
【００６３】
データ長カウンタ２０１は、S＿FEC検出信号Ｓｓを受信すると、計数値を‘０’にして、被処理データのバイト数の計数を開始する。すなわち、データ長カウンタ２０１は、被処理データの１バイト目から、受信バイト数の計数を開始する。そして、データ長カウンタ２０１は、計数値が‘２３９’に達するたびに２３９バイト検出信号Ｓｂを出力し、計数を‘１’に戻して、計数を再開する。
【００６４】
ＯＲ回路２０３は、２３９バイト検出信号Ｓｂを入力するたびにと、取り込み信号Ｓｍを出力する。
【００６５】
また、ｎ進カウンタ２０４は、この取り込み信号Ｓｍを入力するたびに、計数値ＣＮＴ３を‘１’ずつ増加させる。
【００６６】
データ長レジスタ２０５−１〜２０５−ｎは、上述のように、取り込みタイミング信号Ｓｍが入力され且つ計数回数ＣＮＴ３が自己に対応しているときに、データ長カウンタ２０１の計数値ＣＮＴ１を保持・出力する。例えば、ＦＥＣ入力位相制御回路１３０がデータＤ１の入力を完了したとき、計数回数ＣＮＴ３＝１となり、データ長レジスタ２０５−１がＣＮＴ１＝２３９を保持・出力する。同様に、ＦＥＣ入力位相制御回路１３０がデータＤ２〜Ｄ６の入力を完了したとき、それぞれ、データ長レジスタ２０５−２〜２０５−６がＣＮＴ１＝２３９を保持・出力する。
【００６７】
その後、ＦＥＣ入力位相制御回路１３０がデータＤ７（１０９バイト）の入力を完了したとき、ＯＲ回路２０３が、T＿FEC検出信号Ｓｔを受信して、取り込みタイミング信号Ｓｍを出力する。これにより、ｎ進カウンタ２０４は、計数回数ＣＮＴ３＝７を出力する。その結果、データ長レジスタ２０６−７がＣＮＴ１＝１０９を保持・出力する。
【００６８】
一方、絶対時刻タイマ２０２は、システムリセット後に、クロックＣＬＫの計数を開始する。上述のように、クロックＣＬＫのサイクルはＦＥＣフレームの受信サイクルと同期しており、したがって、絶対時刻タイマ２０２はＦＥＣフレームに格納された被訂正データの受信バイト総数を計数することになる。
【００６９】
時刻レジスタ２０６−１〜２０６−ｎは、取り込みタイミング信号Ｓｍが入力され且つ計数回数ＣＮＴ３が自己に対応しているときに、絶対時刻タイマ２０２の計数値Ａｔを保持し、計数値ＣＮＴ２として出力する。
【００７０】
パディング挿入タイミング信号生成回路２０７−１〜２０７−ｎは、時刻ＣＮＴ２および絶対時刻Ａｔを入力して、上式（１）の計算を行う。そして、この計算結果が絶対時刻Ａｔと一致するタイミングで、パディング挿入タイミング信号Ｔ１を出力する。この結果、パディング挿入タイミング信号生成回路２０７−１〜２０７−ｎは、S＿FECが検出された後、τ１サイクル後、２３９＋τ１サイクル後、４７８＋τ１サイクル後、７１７＋τ１サイクル後、９５６＋τ１サイクル後、１１９５＋τ１サイクル後および１３０４＋τ１サイクル後に、パディング挿入タイミング信号Ｔ１（１）〜Ｔ（７）を出力する。
【００７１】
データ挿入タイミング信号生成回路２０８−１〜２０８−ｎは、計数値ＣＮＴ１，ＣＮＴ２および絶対時刻Ａｔを入力して、上式（２）の計算を行う。そして、この計算で得られたタイミングで、パディング挿入タイミング信号Ｔ２を出力する。この結果、データ挿入タイミング信号生成回路２０８−１〜２０８−ｎは、S＿FECが検出された後、τ１サイクル後、２３９＋τ１サイクル後、４７８＋τ１サイクル後、７１７＋τ１サイクル後、９５６＋τ１サイクル後、１１９５＋τ１サイクル後および１４３４＋τ１サイクル後に、データ挿入タイミング信号Ｔ２（１）〜Ｔ２（７）を出力する。
【００７２】
このように、タイミング信号Ｔ１，Ｔ２の出力タイミングは、１〜６回目は同時になり、その後、７回目のパディング挿入タイミング信号Ｔ１（７）が出力されてから１３０サイクル後に７回目のデータ挿入タイミング信号Ｔ２（７）が出力される（図５参照）。
【００７３】
なお、タイミング信号生成回路２００の動作を、ここでは最大長のＦＥＣフレーム（被処理データが１５４３バイト）を７ブロックに分けて誤り訂正復号処理を行う場合を例に採って説明したが、これよりも短いＦＥＣフレームが連続して受信された場合も、同様の動作で最大ｎ個ずつのタイミング信号Ｔ１，Ｔ２を連続的に生成することができる。
【００７４】
以上説明したように、この実施形態に係る誤り訂正復号回路１００によれば、PARITYフィールドの読み出し開始直後から誤り訂正復号処理を開始するとともに、この誤り訂正復号処理と並行して１番目および２番目のT＿FECが正常に受信されたか否かを判定し、誤り訂正されたフレームの出力が開始される前に正常／異常を判断することができる。したがって、この実施形態によれば、処理の信頼性を向上させることができる。
【００７５】
また、この実施形態によれば、PARITYフィールドの読み出し開始直後から誤り訂正復号処理を開始することと、複数の誤り訂正復号処理を並行して行うこととにより、レイテンシを短縮することができる。さらに、レイテンシが短いことにより、データ遅延回路の遅延時間を全体として短縮することができるので、遅延素子の削減等により回路規模の縮小や消費電力の低減を図ることもできる。
【００７６】
加えて、この実施形態によれば、簡単な回路構成で、データ長が２３９バイト未満の被訂正データの先頭にパディングを付加することができるので、回路が小規模になる。
【００７７】
したがって、この実施形態によれば、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
【００７８】
第２の実施形態
次に、この発明の第２の実施形態に係る誤り訂正復号回路について、図６および図７を用いて説明する。
【００７９】
この実施形態は、誤り訂正復号回路内に２個のパリティ蓄積回路を設けた例である。
【００８０】
図６は、この実施形態に係る誤り訂正復号回路６００の構成を概略的に示すブロック図である。図６において、図１と同じ符号を付した構成要素は、それぞれ図１の場合と同じ物を示している。
【００８１】
図６に示したように、この実施形態に係る誤り訂正復号回路６００は、第１、第２パリティ蓄積回路６０１，６０２を有している。第１、第２パリティ蓄積回路６０１，６０２は、パリティライト制御部６０３から受信したパリティデータを一時的に保存するＦＩＦＯ(First In First Out)メモリである。
【００８２】
パリティライト制御部６０３は、ＦＥＣフレームを入力すると、パリティデータを１６バイトずつ読み出して、第１、第２パリティ蓄積回路６０１，６０２に交互に書き込む。
【００８３】
パリティリード制御部６０４は、第１、第２パリティ蓄積回路６０１，６０２に格納されたパリティデータを交互に読み出して、ＲＳ入力制御部１５２−０〜１５２−２に順次供給する。
【００８４】
以下、この実施形態に係る誤り訂正復号回路６００の動作原理について、図７を用いて説明する。
【００８５】
この実施形態に係るＲＳ入力制御部１５２−０〜１５２−２の構成は、上述の第１の実施形態と同様である。したがって、ＲＳ入力制御部１５２−０は、ＲＳ入力制御部１５２−２が６番目の被訂正データＤ６の受信・送信を終了する前にパディングの出力を開始し、且つ、ＲＳ入力制御部１５２−２が被訂正データＤ６の受信・送信が終了した直後に被訂正データＤ７の受信・送信を開始する。ここで、ＲＳ入力制御部１５２−２は、ＲＳ入力制御部１５２−０による被訂正データＤ６の受信・送信を開始されると同時に、パリティデータＰ６（１６バイト）の読み出しを開始する。したがって、被訂正データＤ７のデータ長が１６バイト未満の場合には、ＲＳ入力制御部１５２−０が被訂正データＤ７の受信・送信を終了してパリティデータＰ７の読み出しを開始しようとしたときに、ＲＳ入力制御部１５２−２によるパリティデータＰ６の読み出しが終了していないことになる。
【００８６】
このような場合、上述の実施形態１に係る誤り訂正復号回路１００では、ＲＳ入力制御部１５２−２によるパリティデータＰ６の読み出しが終了するまで、ＲＳ入力制御部１５２−０によるパリティデータＰ７の読み出しを行うことができなかった。
【００８７】
これに対して、この実施形態に係る誤り訂正復号回路６００は、パリティライト制御部６０３が２個のパリティ蓄積回路６０１，６０２に交互にパリティデータを蓄積するので、ＲＳ入力制御部１５２−２によるパリティデータＰ６の読み出し終了を待たずに、ＲＳ入力制御部１５２−０によるパリティデータＰ７の読み出しを行うことができる。
【００８８】
この実施形態に係る誤り訂正復号回路６００の他の動作は、上述の第１の実施形態と同様であるので、説明を省略する。
【００８９】
このように、この実施形態に係る誤り訂正復号回路６００によれば、１６バイト未満の被訂正データが含まれる場合でも、誤り訂正復号処理を正常に且つ高速に行うことができる。
【００９０】
加えて、この実施形態によれば、第１の実施形態と同様の理由により、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
【００９１】
第３の実施形態
次に、この発明の第３の実施形態に係る誤り訂正復号回路について、図８〜図１１を用いて説明する。
【００９２】
この実施形態は、正常受信判定部が複数ＦＥＣフレームの判定結果を並列に出力する構成を備えている。
【００９３】
図８は、この実施形態に係る誤り訂正復号回路８００の構成を概略的に示すブロック図である。図８において、図１と同じ符号を付した構成要素は、それぞれ図１の場合と同じ物を示している。
【００９４】
図８に示したように、この実施形態では、ＦＥＣ入力位相制御回路１３０が正常受信判定部８０１を備えており、ＲＳ入力位相制御回路１５０が第１判定信号選択部８０２を備えており、且つ、ＦＥＣ出力位相制御回路１７０が第２判定信号選択部８０３を備えている。
【００９５】
正常受信判定部８０１は、連続するｎ個のＦＥＣフレームに係る正常／異常の判定結果を示す信号（以下、判定信号）Ｓ１〜Ｓｎを、並列に出力する。
【００９６】
第１判定信号選択部８０２は、判定信号Ｓ１〜Ｓｎから、処理中のＦＥＣフレームに対応する判定信号を選択して、パリティリード制御部１５１に送る。
【００９７】
第２判定信号選択部８０３は、判定信号Ｓ１〜Ｓｎから、処理中のＦＥＣフレームに対応する判定信号を選択して、出力データ選択部１７１に送る。
【００９８】
図９は、正常受信判定部８０１の内部構成を示すブロック図である。図９に示したように、正常受信判定部８０１は、受信状態監視部９０１、ｎ進カウンタ９０２、判定保持レジスタ９０３−１〜９０３−ｎおよびデコーダ９０４−１〜９０４−ｎを備えている。
【００９９】
受信状態監視部９０１は、第１の実施形態に係る正常受信判定部１３３に相当し、ＦＥＣフレームの正常受信／異常受信を判定する。そして、ＦＥＣフレームが正常に受信されたと判定された場合、受信状態監視部９０１は、判定結果を示す信号Ｓ０および受信終了タイミングを示す信号Ｔｆを出力する。ここで、受信状態監視部９０１は、１番目のT＿FECおよび２番目のT＿FECが正常に受信された場合、ＦＥＣフレームが正常に受信されたと判定する。一方、ＦＥＣフレームが正常に受信されなかったと判定された場合、受信状態監視部９０１は、受信終了タイミング信号Ｔｆのみを出力する。例えば、データフィールド（PREAMBLE/SLDフィールドおよびFRAME/FCS フィールド）の最大値（IEEE802.3ah 勧告では７＋１５３６バイト）分のデータを受信した後で１番目のT＿FECが受信されない場合や、PARITYフィールドの最大値（IEEE802.3ah 勧告では１１２バイト）を受信した後で２番目のT＿FECが受信されない場合には、受信状態監視部９０１が、異常受信であると判断して、受信終了タイミング信号Ｔｆのみを出力する。
【０１００】
ｎ進カウンタ９０２は、クロックＣＬＫのタイミングで動作し、受信状態監視部９０１から受信終了タイミング信号Ｔｆを受信した回数を計数する。また、ｎ進カウンタ９０２は、リセット信号ＲＳＴによりリセットされる。なお、実際の回路では、ｎ進カウンタ９０２は、値‘０’〜‘ｎ−１’を出力するが、ここでは、説明を簡単にするために、‘１’〜‘ｎ’の計数を行う（その計数結果を示す値として‘０’〜‘ｎ−１’が出力される）ものとして説明する。
【０１０１】
判定保持レジスタ９０３−１〜９０３−ｎは、対応するイネーブル信号Ｅ１〜Ｅｎがアクティブのときに、受信終了タイミング信号Ｔｆが与えるタイミングで、判定信号Ｓ０の値を取り込んで保持する。判定保持レジスタ９０３−１〜９０３−ｎの保持値は、判定信号Ｓ１〜Ｓｎとして、出力される。
【０１０２】
デコーダ９０４−１は、ｎ進カウンタ９０２の計数値ＣＮＴ４が‘１’のときに、イネーブル信号Ｅ１をアクティブにし、他の値のときにノンアクティブにする。同様に、デコーダ９０４−２〜９０４−ｎは、計数値ＣＮＴ４に応じてイネーブル信号Ｅ２〜Ｅｎをアクティブまたはノンアクティブにする。
【０１０３】
図１０（Ａ）は、第１判定信号選択部８０２の内部構成を示すブロック図である。図１０（Ａ）に示したように、第１判定信号選択部８０２は、セレクタ１０１１と、信号遅延器１０１２と、ｎ進カウンタ１０１３とを備えている。
【０１０４】
セレクタ１０１１は、正常受信判定部８０１から、判定信号Ｓ１〜Ｓｎを受信する。そして、セレクタ１０１１は、ｎ進カウンタ１０１３の計数値ＳＥＬ１に対応する判定信号を選択的に出力して、パリティリード制御部１５１（図８参照）に送る。
【０１０５】
信号遅延器１０２２は、正常受信判定部８０１から受信した受信終了タイミング信号Ｔｆを、第１データ遅延器１１０（図８参照）と同一の遅延時間τ１だけ遅延させて、出力する。
【０１０６】
ｎ進カウンタ１０１３は、クロックＣＬＫのタイミングで動作し、遅延時間τ１だけ遅延した受信終了タイミング信号Ｔｆを受信した回数を計数する。ｎ進カウンタ１０１３は、リセット信号ＲＳＴによりリセットされる。
【０１０７】
図１０（Ｂ）は、第２判定信号選択部８０３の内部構成を示すブロック図である。図１０（Ｂ）に示したように、第２判定信号選択部８０３は、セレクタ１０２１と、信号遅延器１０２２と、ｎ進カウンタ１０２３とを備えている。
【０１０８】
セレクタ１０２１は、正常受信判定部８０１から、判定信号Ｓ１〜Ｓｎを受信する。そして、セレクタ１０２１は、ｎ進カウンタ１０２３の計数値ＳＥＬ２に対応する判定信号を選択的に出力して、出力データ選択部１７１（図８参照）に送る。
【０１０９】
信号遅延器１０２２は、正常受信判定部８０１から受信した受信終了タイミング信号Ｔｆを、第１、第２データ遅延器１１０，１２０（図８参照）の遅延時間の和τ１＋τ２と同じ時間だけ遅延させて、出力する。
【０１１０】
ｎ進カウンタ１０２３は、クロックＣＬＫのタイミングで動作し、遅延時間τ１＋τ２だけ遅延した受信終了タイミング信号Ｔｆの受信回数を計数する。ｎ進カウンタ１０２３は、リセット信号ＲＳＴによりリセットされる。
【０１１１】
次に、この実施形態に係る誤り訂正復号回路８００の動作について、図１１を用いて説明する。
【０１１２】
誤り訂正復号回路８００に受信されたＦＥＣフレームは、受信状態監視部９０１に送られる。受信状態監視部９０１は、上述のようにして、ＦＥＣフレームの正常受信／異常受信を判定する。そして、受信状態監視部９０１は、ＦＥＣフレームの受信が正常に行われたと判定した場合は判定信号Ｓ０および受信終了タイミング信号Ｔｆを出力し、異常であったと判断した場合は受信終了タイミング信号Ｔｆのみを出力する。
【０１１３】
ｎ進カウンタ９０２は、受信終了タイミング信号Ｔｆの受信回数を計数する。計数結果ＣＮＴ４は、デコーダ９０４−１〜９０４−ｎに送られる。
【０１１４】
デコーダ９０４−１〜９０４−ｎは、上述のように、計数結果ＣＮＴ４が自己に対応しているときにのみ、イネーブル信号Ｅ２〜Ｅｎをアクティブにする。
【０１１５】
判定保持レジスタ９０３−１〜９０３−ｎは、上述のように、対応するイネーブル信号Ｅ１〜Ｅｎがアクティブの場合にのみ、判定信号Ｓ０を取り込む。ここでは、判定信号Ｓ０を、ハイレベルがアクティブ且つローレベルがノンアクティブであるとする。したがって、判定保持レジスタ９０３−１〜９０３−ｎは、対応するＦＥＣフレームが正常受信されたときはハイレベルを保持し且つ異常受信されたときはローレベルを保持する。
【０１１６】
受信終了タイミング信号Ｔｆと、判定保持レジスタ９０３−１〜９０３−ｎの出力（すなわち判定信号）Ｓ１〜Ｓｎとは、第１、第２判定信号選択部８０２，８０３に出力される。
【０１１７】
第１判定信号選択部８０２に受信された信号Ｔｆ，Ｓ１〜Ｓｎのうち、判定信号Ｓ１〜Ｓｎは、セレクタ１０１１に入力される。また、受信終了タイミング信号Ｔｆは、信号遅延器１０１２を介して、ｎ進カウンタ１０１３に入力される。上述のように、ｎ進カウンタ１０１３は、計数値ＳＥＬ１をセレクタ１０１１に送る。セレクタ１０１１は、計数値ＳＥＬ１が‘１’のときは判定信号Ｓ１を選択的に出力する。同様に、計数値ＳＥＬ１の値‘２’〜‘ｎ’に応じて、判定信号Ｓ２〜Ｓｎが選択的に出力される。
【０１１８】
ここで、信号遅延器１０１２の遅延時間はτ１であり、第１データ遅延回路１１０の遅延時間と同じである。したがって、例えばＲＳ入力位相制御回路１５０に各ＦＥＣフレームが入力されるのと同じタイミングで、対応する受信終了タイミング信号Ｔｆ（すなわち、遅延時間τ１だけ遅延した信号Ｔｆ）がｎ進カウンタ１０１３に入力される。このため、セレクタ１０１１は、常に、ＲＳ入力位相制御回路１５０に入力されるＦＥＣフレームに対応する判定信号を出力する。
【０１１９】
ＲＳ入力位相制御回路１５０は、この判定信号が‘正常’である場合にはデータＤ１〜Ｄ７およびパリティデータＰ１〜Ｐ７をＦＥＣ演算回路１６０に送る動作を行うが、‘異常’である場合には該動作を行わない。
【０１２０】
同様に、第２判定信号選択部８０３においては、判定信号Ｓ１〜Ｓｎがセレクタ１０２１に入力され、また、受信終了タイミング信号Ｔｆは信号遅延器１０２２を介してｎ進カウンタ１０２３に入力される。ｎ進カウンタ１０２３は、計数値ＳＥＬ２をセレクタ１０２１に送る。セレクタ１０２１は、計数値ＳＥＬ２の値‘１’〜‘ｎ’に応じて、判定信号Ｓ１〜Ｓｎを選択的に出力する。
【０１２１】
ここで、信号遅延器１０１２の遅延時間はτ１＋τ２であり、第１、第２データ遅延回路１１０，１２０の総遅延時間と同じである。したがって、例えばＦＥＣ出力位相制御回路１７０にＦＥＣフレームに係る訂正済データが入力されるのと同じタイミングで、対応する受信終了タイミング信号Ｔｆ（すなわち、遅延時間τ１だけ遅延した信号Ｔｆ）がｎ進カウンタ１０２３に入力される。したがって、セレクタ１０２１は、常に、ＦＥＣ出力位相制御回路１７０に入力される訂正済データに対応する判定信号を出力する（図１１参照）。
【０１２２】
この実施形態に係る誤り訂正復号回路８００の他の動作は、上述の第１の実施形態と同様であるので、説明を省略する。
【０１２３】
このように、この実施形態によれば、ＦＥＣ入力位相制御回路１３０が、複数のＦＥＣフレームに対応する判定信号Ｓ１〜Ｓｎを並行して出力することができ、且つ、ＲＳ入力位相制御回路１５０およびＦＥＣ出力位相制御回路１７０が、対応する判定信号を適宜選択して制御に使用することができる。したがって、この実施形態に係る誤り訂正復号回路８００によれば、非常に短いＦＥＣフレームが連続的に受信された場合でも、ＦＥＣフレームの正常／異常を反映した誤り訂正復号処理を行うことができる。
【０１２４】
加えて、この実施形態によれば、第１の実施形態と同様の理由により、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
【０１２５】
第４の実施形態
次に、この発明の第４の実施形態に係る誤り訂正復号回路について、図１２を用いて説明する。
【０１２６】
この実施形態は、ＦＥＣ入力位相制御回路１３０の正常受信判定部８０１に設けられる受信状態監視部の構成（図９参照）が、上述の第３の実施形態と異なる。他の構成は、上述の第３の実施形態（図８〜図１０参照）と同じである。
【０１２７】
図１２は、この実施形態に係る受信状態監視部１２００の構成を概略的に示すブロック図である。
【０１２８】
図１２に示したように、受信状態監視部１２００は、データ長カウンタ１２０１と、データ繰り返し回数カウンタ１２０２と、パリティ長カウンタ１２０３と、パリティ繰り返し回数カウンタ１２０４と、繰り返し回数比較器１２０５と、判定結果レジスタ１２０６とを有する。
【０１２９】
データ長カウンタ１２０１は、S＿FEC検出信号（ＦＥＣ入力位相制御回路１３０にS＿FECが受信されたことを示す信号）Ｓｓが入力されたときに値‘０’をロードし、クロックＣＬＫを入力するたびに、このロード値に‘１’を加算していく。データ長カウンタ１２０１は、計数値が‘２３８’に達するたびに計数値を‘０’に戻すとともに、２３９バイト検出信号Ｓｂを出力する。クロックＣＬＫの周期は、ＦＥＣが１バイトのデータを受信するサイクルと一致している。したがって、データ長カウンタ１２０１は、被処理データが２３９バイト分受信されるたびに、２３９バイト検出信号Ｓｂを出力することになる（計数値‘２３８’が受信バイト数２３９個に対応する）。データ長カウンタ１２０１の計数値は、リセット信号ＲＳＴによりリセットされる。
【０１３０】
データ繰り返し回数カウンタ１２０２は、２３９バイト検出信号Ｓｂの受信回数を計数して、計数結果を示す信号ＣＮＴ５を出力する。また、データ繰り返し回数カウンタ１２０２は、１回目のT＿FEC検出信号Ｓｔを受信すると、計数を停止する。データ繰り返し回数カウンタ１２０２の計数値は、S＿FEC検出信号Ｓｓおよびリセット信号ＲＳＴによりリセットされる。
【０１３１】
パリティ長カウンタ１２０３は、S＿FEC検出信号（ＦＥＣ入力位相制御回路１３０にS＿FECが受信されたことを示す信号）Ｓｓが入力されたときに値‘０’をロードし、クロックＣＬＫを入力するたびに、このロード値に‘１’を加算していく。パリティ長カウンタ１２０３は、計数値が‘１５’に達するたびに計数値を‘０’に戻すとともに、１６バイト検出信号Ｓｃを出力する。すなわち、パリティ長カウンタ１２０３は、被処理データが１６バイト分受信されるたびに、１６バイト検出信号Ｓｃを出力することになる。パリティ長カウンタ１２０３の計数値は、リセット信号ＲＳＴによりリセットされる。
【０１３２】
パリティ繰り返し回数カウンタ１２０４は、１６バイト検出信号Ｓｃの受信回数を計数して、計数結果を示す信号ＣＮＴ６を出力する。また、パリティ繰り返し回数カウンタ１２０４は、２回目のT＿FEC検出信号Ｓｔを受信すると、計数を停止する。パリティ繰り返し回数カウンタ１２０４の計数値は、S＿FEC検出信号Ｓｓおよびリセット信号ＲＳＴによりリセットされる。
【０１３３】
繰り返し回数比較器１２０５は、信号ＣＮＴ５，ＣＮＴ６を比較し、これらの値の一致／不一致を判定する。
【０１３４】
判定結果レジスタ１２０６は、繰り返し回数比較器１２０５の比較結果を、ＦＥＣフレームの正常受信／異常受信の判定結果として保持する。判定結果レジスタ１２０６の保持値は、判定信号Ｓ０として、判定保持レジスタ９０３−１〜９０３−ｎ（図９参照）に送られる。
【０１３５】
次に、この実施形態に係る受信状態監視部１２００の全体動作について説明する。
【０１３６】
受信状態監視部１２００にS＿FEC検出信号Ｓｓが受信されると、データ長カウンタ１２０１が計数を開始する。上述のように、データ長カウンタ１２０１は、クロックＣＬＫの入力数が２３９個に達するたびに、２３９バイト検出信号Ｓｂを出力する。データ繰り返し回数カウンタ１２０２は、上述のように、２３９バイト検出信号Ｓｂの受信回数を計数する。計数結果を示す信号ＣＮＴ５は、繰り返し回数比較器１２０５に送られる。上述のように、クロックＣＬＫの周期は、ＦＥＣが１バイトのデータを受信する周期と一致しており、したがって、データ繰り返し回数カウンタ１２０２は、被訂正データが２３９バイト受信されるたびに（すなわち、被処理データ・ブロックが１個受信されるたびに）、計数値を‘１’ずつ増加させることになる。
【０１３７】
その後、１回目のT＿FEC検出信号Ｓｔが受信状態監視部１２００に受信されると、データ繰り返し回数カウンタ１２０２は、２３９バイト検出信号Ｓｂを受信した回数の計数を停止する。
【０１３８】
ここで、データ長カウンタ１２０１は、クロックＣＬＫの入力数が２３９個に達したあとで、２３９バイト検出信号Ｓｂを出力する。したがって、１回目のT＿FEC検出信号Ｓｔが受信されてデータ繰り返し回数カウンタ１２０２が停止したとき、最後の被処理データ・ブロックが２３９バイトまで受信されていたとしても、該被処理データ・ブロックは計数されないことになる。また、最後の被処理データ・ブロックのデータ長が２３９バイトよりも短い場合も、当然のごとく、該被処理データ・ブロックはデータ繰り返し回数カウンタ１２０２によって計数されない。
【０１３９】
また、１回目のT＿FEC検出信号Ｓｔが受信状態監視部１２００に受信されたとき、パリティ長カウンタ１２０３は、クロックＣＬＫの計数を開始する。
【０１４０】
上述のように、パリティ長カウンタ１２０３は、クロックＣＬＫの入力数が１６個に達するたびに、１６バイト検出信号Ｓｃを出力する。パリティ繰り返し回数カウンタ１２０４は、上述のように、１６バイト検出信号Ｓｃの受信回数を計数する。これにより、パリティ繰り返し回数カウンタ１２０４は、パリティデータが１６バイト受信されるたびに、計数値を‘１’ずつ増加させることになる。計数結果を示す信号ＣＮＴ６は、繰り返し回数比較器１２０５に送られる。
【０１４１】
その後、２回目のT＿FEC検出信号Ｓｔが受信状態監視部１２００に受信されると、パリティ繰り返し回数カウンタ１２０４は、１６バイト検出信号Ｓｃを受信した回数の計数を停止する。
【０１４２】
ここで、パリティ長カウンタ１２０３は、クロックＣＬＫの入力数が１６個に達したあとで、１６バイト検出信号Ｓｃを出力する。したがって、２回目のT＿FEC検出信号Ｓｔが受信されてデータ繰り返し回数カウンタ１２０２が停止したとき、最後の１６バイトのパリティデータが１６バイトまで受信されていたとしても、該被処理データ・ブロックは計数されないことになる。
【０１４３】
上述のように、１ブロック（２３９バイト）のブロックを誤り訂正復号処理するためには、１６バイトのパリティデータが使用される。したがって、ＦＥＣフレームが正常に受信された場合は、被処理データ・ブロックを受信した回数と、１６バイトのパリティデータを受信した回数とは、一致するはずである。上述のように、データ繰り返し回数カウンタ１２０２の出力値ＣＮＴ５は最後の被処理データ・ブロックの分を除いた計数値すなわち「被処理データ・ブロック受信回数−１」であり、且つ、パリティ繰り返し回数カウンタ１２０４の出力値ＣＮＴ６は最後のパリティデータの分を除いた計数値すなわち「１６バイト・パリティデータ受信回数−１」である。
【０１４４】
ＦＥＣフレームが正常に受信された場合、２回目のT＿FEC検出信号Ｓｔが受信された時点において、パリティ長カウンタ１２０３が１６バイト受信したことを示していれば、最後のパリティデータ１６バイトに関しては、正しい位置にあることが確認できる(この最後のパリティデータはパリティ繰り返し回数カウンタ１２０４には計数されていない)。
【０１４５】
データ繰返し回数カウンタは、最後のデータブロックについては、２３９バイトまで受信して終わっていようが、２３９バイトより短い長さで終わっていようが、カウントに入れていない。しかし、このカウントに入れていない最後のデータブロックに対してもパリティデータは付与されており、それはパリティデータの最後に位置しているので、正常性は上記のように確認できる。
【０１４６】
したがって、２回目のT＿FEC検出信号Ｓｔが受信された時点において、パリティ長カウンタ１２０３が１６バイト受信したことを示しており、且つ、最後のデータブロックを除いた分のデータブロックの繰返し回数と最後のパリティデータを除いた分のパリティデータの繰返し回数とが一致していれば、全てのデータブロックおよびパリティデータに関して、繰返し回数が正常であると判断することができる。
【０１４７】
一方、例えば、１番目のT＿FECが欠落したために、誤り訂正復号回路内の他の回路によって、２番目のT＿FECが１番目のT＿FECであると誤処理され且つ次のＦＥＣフレームの１番目のT＿FECが２番目のT＿FECであると誤処理された場合、繰り返し回数カウンタ１２０２，１２０４の出力値ＣＮＴ５，ＣＮＴ６が一致する可能性はほとんどない。また、２番目のT＿FECが欠落したために、次のＦＥＣフレームの１番目のT＿FECが２番目のT＿FECであると誤処理された場合も、出力値ＣＮＴ５，ＣＮＴ６が一致する可能性はほとんどない。
【０１４８】
したがって、この実施形態によれば、受信ＦＥＣフレームの正常／異常判定に対する信頼性を、上述の各実施形態よりもさらに向上させることができる。
【０１４９】
加えて、この実施形態によれば、第１の実施形態と同様の理由により、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
【図面の簡単な説明】
【０１５０】
【図１】第１の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。
【図２】図１に示したタイミング生成部の内部構成を示すブロック図である。
【図３】第１の実施形態に係る誤り訂正復号回路が正常なＦＥＣフレームを受信した場合の動作例を示す概念図である。
【図４】第１の実施形態に係る誤り訂正復号回路が異常なＦＥＣフレームを受信した場合の動作例を示す概念図である。
【図５】図１に示したタイミング生成部の動作例を説明するための概念図である。
【図６】第２の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。
【図７】第２の実施形態に係る誤り訂正復号回路の動作例を説明するための概念図である。
【図８】第３の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。
【図９】図８に示した正常受信判定部の内部構成を示すブロック図である。
【図１０】図８に示した第１、第２判定信号選択部の内部構成を示すブロック図である。
【図１１】第３の実施形態に係る誤り訂正復号回路がＦＥＣフレームを受信した場合の動作例を示す概念図である。
【図１２】第４の実施形態に係る誤り訂正復号回路の要部構成を示すブロック図である。
【図１３】ＦＥＣフレームの構造例を示す概念図である。
【符号の説明】
【０１５１】
１００  誤り訂正復号回路
１１０  第１データ遅延回路
１２０  第２データ遅延回路
１３０  ＦＥＣ入力位相制御回路
１３１  パリティライト制御部
１３２  タイミング生成部
１３３  正常受信判定部
１４０  パリティ蓄積回路
１５０  ＲＳ入力位相制御回路
１５１  パリティリード制御部
１５２−０〜１５２−２  ＲＳ入力制御部
１６０  ＦＥＣ演算回路
１６１−０〜１６１−２  ＲＳデコーダ
１７０  ＦＥＣ出力位相制御回路
１７１  出力データ選択部
【図１】
0004677639.tif 000002
【図２】
0004677639.tif 000003
【図３】
0004677639.tif 000004
【図４】
0004677639.tif 000005
【図５】
0004677639.tif 000006
【図６】
0004677639.tif 000007
【図７】
0004677639.tif 000008
【図８】
0004677639.tif 000009
【図９】
0004677639.tif 000010
【図１０】
0004677639.tif 000011
【図１１】
0004677639.tif 000012
【図１２】
0004677639.tif 000013
【図１３】
0004677639.tif 000014