(57)【要約】【課題】  処理の高速化を図ることができるＣＲＣチェック回路を提供する。【解決手段】  第１サイクル目におけるデータ入力後の各ＦＦ段３の出力を起点として、順次該サイクルをインクリメントし、第２kサイクル目のデータ入力における各ＦＦ段３の出力を予測し、この予測に見合う出力論理を形成可能な並列シフトレジスタ群１１−１〜１１−ｎおよび該並列シフトレジスタ群の各出力を該並列シフトレジスタ群へ帰還する論理回路網１２から構成する。【選択図】      図２
2005073146.tif 000002
【特許請求の範囲】
【請求項１】
ＣＲＣチェックの対象となるＮ（Ｎは２以上の整数）ビットのデータ入力を受けるＦＦ段およびＥＸＯＲ付きＦＦ段を、全体としてＮ段直列接続し、かつ、各該ＥＸＯＲを所定の生成多項式に従って挿入すると共に最終ＦＦ段からの出力を帰還入力とするような構成を等価的に有するＣＲＣチェック回路において、
第１サイクル目におけるデータ入力後の各前記ＦＦ段の出力を起点として、順次該サイクルをインクリメントし、第２k（ｋは１以上の整数）サイクル目のデータ入力における各前記ＦＦ段の出力を予測し、この予測に見合う出力論理を形成可能な並列シフトレジスタ群および該並列シフトレジスタ群の各出力を該並列シフトレジスタ群へ帰還する論理回路網から構成することを特徴とするＣＲＣチェック回路。
【請求項２】
前記並列シフトレジスタ群は、ＦＦ段およびＥＸＯＲ付きＦＦ段を全体としてＮ／２k段直列接続してなるシフトレジスタを２k並列に構成してなり、前記論理回路網は該並列シフトレジスタ群からの各出力をそれぞれ対応する前記ＥＸＯＲへ帰還することを特徴とする請求項１に記載のＣＲＣチェック回路。
【請求項３】
前記論理回路網は複数のＥＸＯＲを含んで構成されることを特徴とする請求項２に記載のＣＲＣチェック回路。
【請求項４】
前記Ｎビットのデータ入力を一旦保持するＮビットデータレジスタと、保持された該Ｎビットのデータ入力から２kビットずつ順次選択して２k並列の前記並列シフトレジスタ群に同時に入力するデータセレクタと、をさらに有することを特徴とする請求項１に記載のＣＲＣチェック回路。
【請求項５】
前記Ｎビットのデータ入力を２kビットずつ順次ビットシリアルに格納する２kビットシフトレジスタと、該２kビットシフトレジスタ内の該２kビットを一旦バッファして、２k並列の前記並列シフトレジスタ群に同時に入力する２kビットデータレジスタと、をさらに有することを特徴とする請求項１に記載のＣＲＣチェック回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＲＣチェック回路に関する。
【背景技術】
【０００２】
誤り検出／訂正のためのエンコーダおよびデコーダが、転送データの信頼性向上のために、多方面で利用されている。
【０００３】
例えば記録媒体について見てみると、ＣＤ−ＲＯＭ内の記録データを読み出してデコードする際に、例えば当該ディスク上の傷などに起因する読出しデータエラーを検出し、さらには可能であればそのエラー訂正までするためのチェック機構が採用されている。
【０００４】
このようなチェック機構における主要な役割を果たすのが、ＣＲＣチェック回路である。このＣＲＣチェック回路は、周知のとおり、所定の生成多項式に従って演算を行う。
【０００５】
かかるＣＲＣチェック回路に関する特許文献は多数に及ぶが、その中で本発明に比較的近似する構成を有するものとしては、下記特許文献１および２がある。
【０００６】
【特許文献１】特開平５−２３５９０５号公報
【特許文献２】特開平１０−２７６０９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように、ＣＲＣチェック回路は所定の生成多項式に従って演算を行うものであり、この生成多項式が一般に、例えばＧ（ｘ）＝ｘ32＋ｘ31＋ｘ16＋…といった高次の多項式であることから、該ＣＲＣチェック回路から目的とする演算効果が最終的に出力されるまでには、この例の場合、３２クロックが必要となる。
【０００８】
このため、ＣＲＣチェック回路は演算の高速化が難しい、という問題がある。
【０００９】
上記の特許文献１および２は、上記の高速化に関する問題を解消し得るものではあるが、後述する説明から明らかになるとおり、その高速化の演算手法は本発明とは異なる。
【００１０】
このうち特許文献１についてさらに詳しく分析すると、本特許文献１では、同公報図１に示すＣＲＣ演算回路が１クロックで処理はできるものの、伝送データＤ0〜Ｄ7に対して各ＣＲＣ演算器を直列に並べて処理しようとしている。このため、同公報図２に示すような演算器が、３２（Ｘ０8〜Ｘ３１8）×８（Ｃ7〜Ｃ0）個必要となり、回路規模が増大してしまうという問題がある。しかし後に明らかになるとおり、本発明における回路は、上記Ｃ7〜Ｃ0のＣＲＣ演算器をさらにまとめたものに相当することから、本特許文献１の場合よりも回路規模を小さくすることができる。
【課題を解決するための手段】
【００１１】
図１は本発明の前提をなすＣＲＣチェック回路の基本構成図である。
【００１２】
本図のＣＲＣチェック回路１は、先に〔発明が解決しようとする課題〕において述べた従来技術のＣＲＣチェック回路である。
【００１３】
例えばＣＤ−ＲＯＭのデータをデコードする場合、そのデータ誤りを検出するために、前述のとおり、ＣＲＣチェック回路１を用いてチェックを実行している。このＣＲＣチェックは例えば下記（１）の生成多項式Ｇ（ｘ）に基づいている。
【００１４】
Ｇ（ｘ）＝（ｘ16＋ｘ15＋ｘ2＋１）（ｘ16＋ｘ2＋ｘ＋１）      （１）
この（１）式をさらに展開すると、下記（２）式のようになる。
【００１５】
Ｇ（ｘ）＝ｘ32＋ｘ31＋ｘ16＋ｘ15＋ｘ4＋ｘ3＋ｘ＋１          （２）
これをＣＲＣチェック回路として実現すると、３２段のＦＦ段（Ｄ−フリップフロップ）３と、所定段に挿入されるＥＸＯＲ２とから構成される図１のようなシフトレジスタとなる。
【００１６】
すなわち、ＣＲＣチェックの対象となるＮ（Ｎは２以上の整数）ビットのデータ入力Ｄｉｎを受けるＦＦ段３およびＥＸＯＲ（２）付きＦＦ段３を、全体としてＮ段直列接続し、かつ、各ＥＸＯＲ２を所定の生成多項式Ｇ（ｘ）に従って挿入すると共に最終ＦＦ段３（図ではｘ31）からの出力を帰還入力とするような構成を有するＣＲＣチェック回路１である。この回路構成によると、前述のとおり、演算結果が出力されるまでに３２クロックサイクルを要してしまう。
【００１７】
本発明のＣＲＣチェック回路１は、図１の構成と機能的に等価な構成を有するが、図１の構成よりも数倍高速な回路である。これを図で示す。
【００１８】
図２は本発明に係るＣＲＣチェック回路の原理構成図である。
【００１９】
図２のＣＲＣチェック回路１は、図１の構成と機能的に等価な構成を有するが、具体的には高速化を可能とする構成に変形されている。
【００２０】
図２において、参照番号１１は並列シフトレジスタ群（シフトレジスタ１−１〜１−ｎ）を示し、１２は論理回路網を示す。
【００２１】
さらに具体的には、本発明に係るＣＲＣチェック回路１（図２）は、
第１サイクル目におけるデータ入力後の各ＦＦ段３の出力を起点として、順次該サイクルをインクリメントし、第２k（ｋは１以上の整数）サイクル目のデータ入力における各ＦＦ段３の出力を予測し、この予測に見合う出力論理を形成可能な並列シフトレジスタ群１１およびこの並列シフトレジスタ群１１の各出力ＯＵＴ１〜ＯＵＴｎをこの並列シフトレジスタ群１１へ帰還する論理回路網１３から構成される。
【発明の効果】
【００２２】
図３の構成によれば、ＣＲＣチェック処理を通常より２倍速く処理することができ、
図６の構成によれば、ＣＲＣチェック処理を通常より４倍速く処理することができ、
図９の構成によれば、ＣＲＣチェック処理を通常より８倍速く処理することができる。
【００２３】
また図１２の構成によれば、ＣＲＣチェック処理を通常より２倍速く処理可能とすると共に、処理を分散することによりＣＰＵ負荷も分散することができ、
図１３の構成によれば、ＣＲＣチェック処理を通常より４倍速く処理可能とすると共に、処理を分散することによりＣＰＵ負荷も分散することができ、
図１４の構成によれば、ＣＲＣチェック処理を通常より８倍速く処理可能とすると共に、処理を分散することによりＣＰＵ負荷も分散することができる。
【発明を実施するための最良の形態】
【００２４】
図３は本発明に係る第１実施例の基本構成図である。
【００２５】
本図において、第１実施例のＣＲＣチェック回路１−１は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、２（前記の２kがｋ＝１のとき）サイクル迄のデータの出力を予測して、３２ビットデータがデータレジスタ１４に入力されたとき、１６クロックで、一気に並列処理を行う。
【００２６】
この場合、データレジスタ１４内の３２ビットデータより、データセレクタ１５−１を介して２ビットずつデータ抽出を行い、その２ビットデータのうちの第１ビットデータをシフトレジスタ１１−１に入力し、もう一方の第２ビットデータをシフトレジスタ１１−２に入力する。
【００２７】
かくして、１６段２並列のシフトレジスタ１１−１および１１−２と、論理回路網（ＬＯＧＩＣ）１２−１と、データレジスタ１４およびデータセレクタ１５−１と、によってＣＲＣチェック回路１−１が構成される。
【００２８】
ここで、第１実施例のＣＲＣチェック回路１−１の構成原理について詳しく説明する。
【００２９】
図４は第１実施例の構成原理を説明するための図である。
【００３０】
まず（ａ）欄について見ると、０，１，２…３０，３１は、３２段のＦＦ段３（図１参照）の１つ１つを区別して表すＮｏ．である。この場合、○で囲んだ数字は、前述したＥＸＯＲ付きＦＦ段であることを表す（図１参照）。
【００３１】
（ｂ）欄は、（ａ）欄の各ＦＦ段が保持しているデータそのものを表す。（ｂ）欄の例えば中央の「１５」は、ＦＦ段Ｎｏ．１５が今保持している保持データ（“１”または“０”）を表す。
【００３２】
（ｃ）欄は１サイクル目のデータ入力後における各ＦＦ段３の出力データを表し、（ｄ）欄は２サイクル目のデータ入力後における各ＦＦ段３の出力データを表す。
【００３３】
さらに詳しくは、（ｃ）欄において、例えば中央のＦＦ段Ｎｏ．１６について見てみると、ＦＦ段Ｎｏ．３１の保持データ「３１」とその前段のＦＦ段Ｎｏ．１５の保持データ「１５」とのＥＸＯＲ論理をとった出力データ「１５＋３１」を出力する。なお、「＋」はＥＸＯＲ論理処理を表す。
【００３４】
また例えば右端のＦＦ段Ｎｏ．３１について見てみると、ＦＦ段Ｎｏ．３１の保持データ「３１」とその前段のＦＦ段Ｎｏ．３０の保持データ「３０」とのＥＸＯＲ論理をとった出力データ「３０＋３１」を出力する。
【００３５】
さらにまた例えば左端のＦＦ段Ｎｏ．０について見てみると、これは、データセレクタ１５−１からの１ビット前のデータ「−１」（（ｃ）欄）や２ビット前のデータ「−２」（（ｄ）欄）を入力とする。
【００３６】
なお、例えばＦＦ段Ｎｏ．１４やＮｏ．３０のようにＥＸＯＲ付きＦＦ段ではないものは、それぞれの前段のＦＦ段からの出力データをそのまま取り込んで保持する。
【００３７】
同様の規則に従って（ｄ）欄について見てみると、例えばＦＦ段Ｎｏ．１５は、ＦＦ段Ｎｏ．３１の保持データ（２サイクル目では、「３０＋３１」）とその前段のＦＦ段Ｎｏ．１４の保持データ（２サイクル目では、「１３」）とのＥＸＯＲ論理をとった出力データ「１３＋３０＋３１」を出力する。
【００３８】
同様に、（ｄ）欄において例えばＦＦ段Ｎｏ．１６は、ＦＦ段Ｎｏ．３１の保持データ（２サイクル目では、「３０＋３１」）とその前段のＦＦ段Ｎｏ．１５の保持データ（２サイクル目では、「１４＋３１」）とのＥＸＯＲ論理をとった出力データ「１４＋３１＋３０＋３１」を出力する。この場合、「３１＋３１」、すなわちデータ「３１」とデータ「３１」のＥＸＯＲは０であるから、結局、（ｄ）欄の当該ＦＦ段Ｎｏ．１６では上記「３１」が消えて、出力データ「１４＋３０」となる。
【００３９】
このように、第１サイクル目におけるデータ入力後の各ＦＦ段の出力を起点として、順次該サイクルをインクリメントし、第１実施例では第２サイクル目のデータ入力における各ＦＦ段の出力を予測する。そしてこの予測に見合う出力論理を形成可能な並列シフトレジスタ群（１１−１，１１−２）および該並列シフトレジスタ群の各出力を該並列シフトレジスタ群へ帰還する論理回路網１２−１によって第１実施例のＣＲＣチェック回路１−１を実現する。
【００４０】
さらに具体的に言えば、本第１実施例において、並列シフトレジスタ群１１は、ＦＦ段およびＥＸＯＲ付きＦＦ段を全体として１６（＝３２／２）段直列接続してなるシフトレジスタを２並列に構成してなり、論理回路網１２−１は、該並列シフトレジスタ群からの各出力をそれぞれ対応するＥＸＯＲへ帰還する。
【００４１】
この論理回路網（ＬＯＧＩＣ）１２−１の具体的構成例は、次の図において示す。
【００４２】
図５は本発明に係る第１実施例の詳細例を示す図である。
【００４３】
本図において、四角のブロック内の各数字（０，１，２…３１）は、各ＦＦ段３のＮｏ．を示している。またＥＸＯＲ２はＥＸＯＲゲートの記号で図示している。そしてこれらのＥＸＯＲ２およびＦＦ段３以外のＥＸＯＲ（１２ＥＸ）とその論理配線が、前述した論理回路網１２−１を構成する。
【００４４】
また本図の左端では、第１実施例において、３２（＝Ｎ）ビットのデータ入力を一旦保持する３２（＝Ｎ）ビットデータレジスタ１４と、保持された３２（＝Ｎ）ビットのデータ入力から２（ｋ＝１）ビットずつ順次選択して２（ｋ＝１）並列の並列シフトレジスタ群（１１−１，１１−２）に同時に入力するデータセレクタ１５−１と、をさらに有する。
【００４５】
図６は本発明に係る第２実施例の基本構成図である。
【００４６】
本図において、第２実施例のＣＲＣチェック回路１−２は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、４（前記の２kがｋ＝２のとき）サイクル迄のデータの出力を予測して、３２ビットデータがデータレジスタ１４に入力されたとき、８クロックで一気に並列処理を行う。
【００４７】
この場合、データレジスタ１４内の３２ビットデータより、データセレクタ１５−２を介して４（ｋ＝２）ビットずつデータ抽出を行い、その４ビットデータのうちの第１，２，３および４ビットデータを、それぞれ、シフトレジスタ１１−１，１１−２，１１−３および１１−４に入力する。
【００４８】
かくして、８段４並列のシフトレジスタ１１−１〜１１−４と、論理回路網（ＬＯＧＩＣ）１２−２と、データレジスタ１４およびデータセレクタ１５−２と、によってＣＲＣチェック回路１−２が構成される。
【００４９】
ここで、第２実施例のＣＲＣチェック回路１−２の構成原理について説明する。
【００５０】
図７は第２実施例の構成原理を説明するための図である。なお、（ａ）〜（ｄ）欄については前述した図４と全く同じであり、（ｅ）欄はその延長の３サイクル目である。ただし、（ａ）欄は再度同じものを記載する。各ＦＦ段との対応を取りやすくするためである。
【００５１】
図７の（ｅ）欄においては、図４の最終ＦＦ段Ｎｏ．３１の出力データ「２９＋３０＋３１」を、ＥＸＯＲ付きのＦＦ段３のそれぞれのＥＸＯＲ２に帰還する。
【００５２】
この（ｅ）欄の例えばＥＸＯＲ付きＦＦ段Ｎｏ．１５に着目すると、ここでは、最終ＦＦ段Ｎｏ．３１の出力データ（図示しないが図４の３サイクル目にて「２８＋２９＋３０＋３１」となる）とその前段のＦＦ段Ｎｏ．１４の保持データ（図示しないが図４の３サイクル目にて「１１」となる）とのＥＸＯＲ論理をとった出力データ「１１＋２８＋２９＋３０＋３１」を出力する。
【００５３】
このように、第１サイクル目におけるデータ入力後の各ＦＦ段の出力を起点として、順次該サイクルをインクリメントし、第２実施例では第４サイクル目のデータ入力における各ＦＦ段の出力を予測する。そしてこの予測に見合う出力論理を形成可能な並列シフトレジスタ群（１１−１〜１１−４）および該並列シフトレジスタ群の各出力を該並列シフトレジスタ群へ帰還する論理回路網１２−２によって第２実施例のＣＲＣチェック回路１−２を実現する。
【００５４】
さらに具体的に言えば、本第２実施例において、並列シフトレジスタ群１１は、ＦＦ段およびＥＸＯＲ付きＦＦ段を全体として８（＝３２／４）段直列接続してなるシフトレジスタを４並列に構成してなり、論理回路網１２−２は、該並列シフトレジスタ群からの各出力をそれぞれ対応するＥＸＯＲへ帰還する。
【００５５】
この論理回路網（ＬＯＧＩＣ）１２−２の具体的構成例は、次の図において示す。
【００５６】
図８は本発明に係る第２実施例の詳細例を示す図である。
【００５７】
本図において、図５と同様、四角のブロック内の各数字（０，１，２…３１）は、各ＦＦ段のＮｏ．を示し、またＥＸＯＲ２はＥＸＯＲゲートの記号で図示している。そしてこれらのＥＸＯＲ２およびＦＦ段３以外のＥＸＯＲ（１２ＥＸ）とその論理配線が、前述した論理回路網１２−２を構成する。
【００５８】
また本図の左端では、第２実施例において、３２（＝Ｎ）ビットのデータ入力を一旦保持する３２（＝Ｎ）ビットデータレジスタ１４と、保持された３２（＝Ｎ）ビットのデータ入力から４（ｋ＝２）ビットずつ順次選択して４（ｋ＝２）並列の並列シフトレジスタ群（１１−１〜１１−４）に同時に入力するデータセレクタ１５−２と、をさらに有する。
【００５９】
図９は本発明に係る第３実施例の基本構成図である。
【００６０】
本図において、第３実施例のＣＲＣチェック回路１−３は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、８（前記の２kがｋ＝３のとき）サイクル迄のデータの出力を予測して、３２ビットデータがデータレジスタ１４に入力されたとき、４クロックで一気に並列処理を行う。
【００６１】
この場合、データレジスタ１４内の３２ビットデータより、データセレクタ１５−３を介して８（ｋ＝３）ビットずつデータ抽出を行い、その８ビットデータのうちの第１〜８ビットデータを、それぞれ、シフトレジスタ１１−１〜１１−８に入力する。
【００６２】
かくして、４段８並列のシフトレジスタ１１−１〜１１−８と、論理回路網（ＬＯＧＩＣ）１２−３と、データレジスタ１４およびデータセレクタ１５−３と、によってＣＲＣチェック回路１−３が構成される。
【００６３】
ここで、第３実施例のＣＲＣチェック回路１−３の構成原理について説明する。
【００６４】
図１０は第３実施例の構成原理を説明するための図である。なお、（ａ）〜（ｆ）欄は、前述した図７の（ａ）〜（ｆ）欄にそれぞれ対応し、（ｇ）〜（ｊ）欄において同様に４〜７サイクル目をそれぞれ展開して、（ｋ）欄に至る。ただし（ａ）欄は再度記載し、各ＦＦ段との対応を明確にする。
【００６５】
図１０の（ｋ）欄においては、（ｊ）欄における最終ＦＦ段Ｎｏ．３１の出力データ（図示しないが「２４＋２５＋２６＋２７＋２８＋２９＋３０＋３１」となる）を、ＥＸＯＲ付きのＦＦ段３のそれぞれのＥＸＯＲ２に帰還する。
【００６６】
この（ｋ）欄の例えばＥＸＯＲ付きＦＦ段Ｎｏ．１５に着目すると、ここでは、最終ＦＦ段Ｎｏ．３１の出力データ（図示しないが（ｊ）欄の７サイクル目にて「２４＋２５＋２６＋２７＋２８＋２９＋３０＋３１」となる）とその前段のＦＦ段Ｎｏ．１４の保持データ（図示しないが（ｊ）欄の７サイクル目にて「７」となる）とのＥＸＯＲ論理をとった出力データ「７＋２４＋２５＋２６＋２７＋２８＋２９＋３０＋３１」を出力する。
【００６７】
このように、第１サイクル目におけるデータ入力後の各ＦＦ段の出力を起点として、順次該サイクルをインクリメントし、第３実施例では第８サイクル目のデータ入力における各ＦＦ段の出力を予測する。そしてこの予測に見合う出力論理を形成可能な並列シフトレジスタ群（１１−１〜１１−８）および該並列シフトレジスタ群の各出力を該並列シフトレジスタ群へ帰還する論理回路網１２−３によって第３実施例のＣＲＣチェック回路１−３を実現する。
【００６８】
さらに具体的に言えば、本第３実施例において、並列シフトレジスタ群１１は、ＦＦ段およびＥＸＯＲ付きＦＦ段を全体として４（＝３２／８）段直列接続してなるシフトレジスタを８並列に構成してなり、論理回路網１２−３は、該並列シフトレジスタ群からの各出力をそれぞれ対応するＥＸＯＲへ帰還する。
【００６９】
この論理回路網（ＬＯＧＩＣ）１２−３の具体的構成例は、次の図において示す。
【００７０】
図１１は本発明に係る第３実施例の詳細例を示す図である。
【００７１】
本図において、図５と同様、四角のブロック内の各数字（０，１，２…３１）は、各ＦＦ段のＮｏ．を示し、またＥＸＯＲ２はＥＸＯＲゲートの記号で図示している。そしてこれらのＥＸＯＲ２およびＦＦ段３以外のＥＸＯＲ（１２ＥＸ）とその論理配線が、前述した論理回路網１２−３を構成する。
【００７２】
また本図の左端では、第３実施例において、３２（＝Ｎ）ビットのデータ入力を一旦保持する３２（＝Ｎ）ビットデータレジスタ１４と、保持された３２（＝Ｎ）ビットのデータ入力から８（ｋ＝３）ビットずつ順次選択して８（ｋ＝３）並列の並列シフトレジスタ群（１１−１〜１１−８）に同時に入力するデータセレクタ１５−３と、をさらに有する。
【００７３】
次に第４実施例、第５実施例および第６実施例について説明する。
【００７４】
この第４〜第６実施例はそれぞれ上述した第１〜第３実施例の変形例に相当する。ただし、上述したＣＲＣチェック回路１−１，１−２および１−３の各演算部（１１＋１２）については全く変更はなく、この演算部へのデータ入力の仕方に変形を加えただけである。具体的に説明すると次のとおりである。
【００７５】
図１２は本発明に係る第４実施例の基本構成図である。
【００７６】
本第４実施例および後述の第５および第６実施例における上述の変形とは、前述した第１〜第３実施例における３２ビットデータレジスタ１４およびデータセレクタ１５−１〜１５−３に代えて、Ｎビットのデータ入力を２kビットずつ順次ビットシリアルに格納する２kビットシフトレジスタと、この２kビットシフトレジスタ内の２kビットを一旦バッファして、２k並列の前記並列シフトレジスタ群に同時に入力する２kビットデータレジスタと、を導入したことであり、図１２（第４実施例）の場合には、３２（Ｎ＝３２）ビットのデータ入力を２（ｋ＝１）ビットずつ順次ビットシリアルに格納する２（ｋ＝１）ビットシフトレジスタ２１−１と、この２ビットシフトレジスタ２１−１内の２ビットを一旦バッファして、２（ｋ＝１）並列の並列シフトレジスタ群１１に同時に入力する２（ｋ＝１）ビットデータレジスタ２２−１と、を導入する。
【００７７】
図１２において、第４実施例のＣＲＣチェック回路１−４は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、２（前記の２kがｋ＝１のとき）サイクル迄のデータの出力を予測して、３２ビットデータＤｉｎを２ビットずつシフトして２ビットシフトレジスタ２１−１に入力し、その２ビットデータが２ビットデータレジスタ２２−１にバッファされたときに既述の演算部（１１＋１２）に演算を行わせる処理を、２ビットずつ順次、２つの前記シフトレジスタ１１−１および１１−２にて並列的に実行させる。
【００７８】
この第４実施例によれば、前述の第１実施例と同様、従来に比べて２倍の高速化が図れることに加えて、２ビットずつの順次処理であるから、ＣＲＣチェック回路を統括するＣＰＵに一度に処理が集中することがなく、その負荷分散効果によって、ＣＰＵの負荷を軽減できるという効果が得られる。
【００７９】
図１３は本発明に係る第５実施例の基本構成図である。
【００８０】
本図の第５実施例の場合には、３２（Ｎ＝３２）ビットのデータ入力を４（ｋ＝２）ビットずつ順次ビットシリアルに格納する４（ｋ＝２）ビットシフトレジスタ２１−２と、この４ビットシフトレジスタ２１−２内の４ビットを一旦バッファして、４（ｋ＝２）並列の並列シフトレジスタ群１１に同時に入力する４（ｋ＝２）ビットデータレジスタ２２−２と、を導入する。
【００８１】
図１３において、第５実施例のＣＲＣチェック回路１−５は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、４（前記の２kがｋ＝２のとき）サイクル迄のデータの出力を予測して、３２ビットデータＤｉｎを４ビットずつシフトして４ビットシフトレジスタ２１−２に入力し、その４ビットデータが４ビットデータレジスタ２２−２にバッファされたときに既述の演算部に演算を行わせる処理を、４ビットずつ順次、４つの前記シフトレジスタ１１−１〜１１−４にて並列的に実行させる。
【００８２】
この第５実施例によれば、前述の第２実施例と同様、従来に比べて４倍の高速化が図れることに加えて、４ビットずつの順次処理であるから、前述のとおり、ＣＰＵの負荷を軽減できるという効果が得られる。
【００８３】
図１４は本発明に係る第６実施例の基本構成図である。
【００８４】
本図の第６実施例の場合には、３２（Ｎ＝３２）ビットのデータ入力を８（ｋ＝３）ビットずつ順次ビットシリアルに格納する８（ｋ＝１）ビットシフトレジスタ２１−３と、この８ビットシフトレジスタ２１−３内の８ビットを一旦バッファして、８（ｋ＝３）並列の並列シフトレジスタ群１１に同時に入力する８（ｋ＝３）ビットデータレジスタ２２−３と、を導入する。
【００８５】
図１４において、第６実施例のＣＲＣチェック回路１−６は、３２（Ｎ＝３２）段のＦＦ段３を用いたＣＲＣチェック回路において、８（前記の２kがｋ＝３のとき）サイクル迄のデータの出力を予測して、３２ビットデータＤｉｎを８ビットずつシフトして８ビットシフトレジスタ２１−３に入力し、その８ビットデータが８ビットデータレジスタ２２−３にバッファされたときに既述の演算部に演算を行わせる処理を、８ビットずつ順次、８つの前記シフトレジスタ１１−１〜１１−８にて並列的に実行させる。
【００８６】
この第６実施例によれば、前述の第３実施例と同様、従来に比べて８倍の高速化が図れることに加えて、８ビットずつの順次処理であるから、前述のとおり、ＣＰＵの負荷を軽減できるという効果が得られる。
【産業上の利用可能性】
【００８７】
本発明は、ＣＲＣを用いたデータの誤り検出／訂正のための回路全般に利用することができ、そのチェックの高速化に特に有効である。
【図面の簡単な説明】
【００８８】
【図１】本発明の前提をなすＣＲＣチェック回路の基本構成図である。
【図２】本発明に係るＣＲＣチェック回路の原理構成図である。
【図３】本発明に係る第１実施例の基本構成図である。
【図４】本発明に係る第１実施例の構成原理を説明するための図である。
【図５】本発明に係る第１実施例の詳細例を示す図である。
【図６】本発明に係る第２実施例の基本構成図である。
【図７】本発明に係る第２実施例の構成原理を説明するための図である。
【図８】本発明に係る第２実施例の詳細例を示す図である。
【図９】本発明に係る第３実施例の基本構成図である。
【図１０】本発明に係る第３実施例の構成原理を説明するための図である。
【図１１】本発明に係る第３実施例の詳細例を示す図である。
【図１２】本発明に係る第４実施例の基本構成図である。
【図１３】本発明に係る第５実施例の基本構成図である。
【図１４】本発明に係る第６実施例の基本構成図である。
【符号の説明】
【００８９】
１−１〜１−３…ＣＲＣチェック回路
１−４〜１−６…ＣＲＣチェック回路
２…ＥＸＯＲ
３…ＦＦ段（Ｄ−フリップフロップ）
１１…並列シフトレジスタ群
１１−１〜１１−ｎ…シフトレジスタ
１２，１２−１〜１２−３…論理回路網
１４…データレジスタ
１５−１〜１５−３…データセレクタ
２１−１〜２１−３…シフトレジスタ
２２−１〜２２−３…データレジスタ
【図１】
2005073146.tif 000003
【図２】
2005073146.tif 000004
【図３】
2005073146.tif 000005
【図４】
2005073146.tif 000006
【図５】
2005073146.tif 000007
【図６】
2005073146.tif 000008
【図７】
2005073146.tif 000009
【図８】
2005073146.tif 000010
【図９】
2005073146.tif 000011
【図１０】
2005073146.tif 000012
【図１１】
2005073146.tif 000013
【図１２】
2005073146.tif 000014
【図１３】
2005073146.tif 000015
【図１４】
2005073146.tif 000016