(57)【要約】【課題】対角パリティ圧縮演算方法及び装置に関し、従来と同等の演算処理をより小規模、低消費電力で実現する。【解決手段】圧縮演算回路１−４で入力データＤＴ［２＾ｎ−１：０］を最初に圧縮対角パリティのビット幅２＾ｍに纏め、該圧縮入力データＤＴ［２＾ｍ−１：０］と前サイクル迄の対角パリティ演算結果を保持する演算途中経過保持回路１−３の保持内容とを基に排他論理和回路１−１により対角パリティ演算を行う。ゲート回路１−２は制御ワード入力タイミング信号ＣＴと排他論理和回路１−１の演算結果とを入力して演算途中経過保持回路１−３の初期化を行うとともに対角パリティ演算結果を通過させる。最終的な排他論理和回路１−１の演算結果と入力データＤＴ中の対角パリティコードとの一致検出を不一致検出回路９−６で行い、その演算結果を論理和回路９−７で纏め、その演算結果をエラー検出保持回路９−８で保持して出力する。【選択図】      図１
2005269313.tif 000002
【特許請求の範囲】
【請求項１】
クロックサイクル毎に入力される２のｎ乗ビット（ｎは整数）の入力データから２のｍ乗ビット（ｍは整数でｍ＜ｎ）の圧縮した対角パリティを演算する対角パリティ圧縮演算方法において、
対角パリティの演算を行う前に、２のｎ乗ビットの入力データを各クロックサイクルで２のｍ乗ビットに圧縮する演算を行うステップと、
該２のｍ乗ビットに圧縮した後の入力データに対してクロックサイクル毎に対角パリティ累積演算を行うステップと、
を含むことを特徴とする対角パリティ圧縮演算方法。
【請求項２】
パラレルに展開した前記各入力データに対して、対角パリティ演算を行うために与える各入力データの回転量を指示する回転情報を、各クロックサイクル単位で同時に確定するステップと、該回転情報に従って回転した入力データに対して対角パリティの排他論理和演算を行うステップとを含むことを特徴とする請求項１に記載の対角パリティ圧縮演算方法。
【請求項３】
クロックサイクル毎に入力される２のｎ乗ビット（ｎは整数）の入力データから２のｍ乗ビット（ｍは整数でｍ＜ｎ）の圧縮した対角パリティを演算する対角パリティ圧縮演算装置において、
対角パリティの演算を行う前に、２のｎ乗ビットの入力データを各クロックサイクルで２のｍ乗ビットに圧縮する演算行う手段と、
該２のｍ乗ビットに圧縮した後の入力データに対してクロックサイクル毎に対角パリティ累積演算を行う手段と、
を備えたことを特徴とする対角パリティ圧縮演算装置。
【請求項４】
パラレルに展開した前記各入力データに対して、対角パリティ演算を行うために与える各入力データの回転量を指示する回転情報を、各クロックサイクル単位で同時に確定する手段と、該回転情報に従って回転した入力データに対して対角パリティの排他論理和演算を行う手段とを備えたことを特徴とする請求項２に記載の対角パリティ圧縮演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対角パリティ圧縮演算方法及び装置に関し、特に、ＳＯＮＥＴ(Synchronous Optical Network)／ＳＤＨ(Synchronous Digital Hierarchy)の同期伝送網におけるＯＣ−１９２(Optical Carrier-level 192；伝送レート9953.28Mビット／秒)方式の物理層とデータ・リンク層の間のインタフェース仕様であるＳＰＩ４−２(System Packet Interface Level4-Phase2)において規格化されているＤＩＰ−４(4bits Diagonal Interleaved Parity)の対角パリティ圧縮演算方法及び装置に関する。
【背景技術】
【０００２】
上記ＳＰＩ４−２の規格については、
Optical Internetworking Forum
Implementation Agreement:OIF-SPI4-02.0
Working Group: Physical Link Layer (PLL)
TITLE: System Packet Interface Level 4 (SPI-4) Phase 2: OC-192 System Interface for Physical and Link Layer Devices.
DATE: January 2001
に掲載されている。
【０００３】
最大１０Ｇｂｐｓの伝送が可能なＳＰＩ４−２の規格等はインタフェースが高速であるため、伝送路上のスキューによるエラーが発生することがあり、エラーの検出を行うためにＤＩＰ−４対角パリティ演算が行われる。ＤＩＰ−４対角パリティによるエラー検出は、ＢＩＰ（Binary Interleaved Parity）と同様な手法によるエラー検出であるが、パリティビットが４ビットであることから、エラー検出精度はＢＩＰの場合の４乗倍の精度を有する。
【０００４】
ＤＩＰ−４対角パリティ圧縮演算の一例を図８に示す。同図の（ｉ）は１６ビットの制御ワードを示し、該制御ワードの３〜０ビット目の位置に４ビットの対角パリティコードｗ，ｘ，ｙ，ｚが格納される。この制御ワードには以下の対角パリティ圧縮演算は行われない。
【０００５】
同図の（ii）は、１６ビットのワードデータのストリームを示し、横方向は各ワードデータの各ビット、縦方向は各ワードデータのストリームを表している。同図において、各ワードデータの左端は最上位ビット（ＭＳＢ）、右端は最下位ビット（ＭＳＢ）であり、上端は最初に入力された入力ワードデータ、下端は最後に入力された入力ワードデータを示している。
【０００６】
なお、最後の入力ワードデータは対角パリティ圧縮演算対象の制御ワードであり、３〜０ビット目の位置に４ビットの対角パリティコードａ，ｂ，ｃ，ｄが格納されるが、対角パリティ圧縮演算を行う際には、該３〜０ビット目のビットに全て“１”を挿入して対角パリティ演算を行う。
【０００７】
対角パリティ圧縮演算は、各１６ビットの入力ワードデータに対して、同図の斜めの線で示す対角線上のビットデータ同士で、即ち次サイクルの１つ下位のビットデータと順々に排他論理和演算を行い、同図（iii）に示す１６ビットの対角パリティビットＤＩＰ１６［１５：０］を生成する。
【０００８】
この１６ビットの対角パリティビットＤＩＰ１６［１５：０］を、その上位８ビットと下位８ビットとの２つのビット群に分け、同図（iv）に示すように、それら上位及び下位のビット群のそれぞれの同位のビット間で排他論理和演算を行い、８ビットの対角パリティビットを生成する。この８ビットの対角パリティビットを更にその上位４ビットと下位４ビットの２つのビット群に分け、同図（ｖ）に示すように、それら上位及び下位のビット群のそれぞれの同位のビット間で排他論理和演算を行い、最終的に４ビットに圧縮した対角パリティビットＤＩＰ４［３：０］を生成する。
【０００９】
圧縮された４ビットの対角パリティビットＤＩＰ４［３：０］は、それぞれ以下の演算により得られたものである。
DIP4[3]=DIP16[15](+)DIP16[11](+)DIP16[7](+)DIP16[3]
DIP4[2]=DIP16[14](+)DIP16[10](+)DIP16[6](+)DIP16[2]
DIP4[1]=DIP16[13](+)DIP16[9](+)DIP16[5](+)DIP16[1]
DIP4[0]=DIP16[12](+)DIP16[8](+)DIP16[4](+)DIP16[0]
なお、上式において、(+)は排他論理和の演算記号を意味している。
【００１０】
送信側ではこの対角パリティ圧縮演算による４ビットの対角パリティビットＤＩＰ４［３：０］を制御ワードの３〜０ビット目に対角パリティコードａ，ｂ，ｃ，ｄとして格納して送信し、受信側では該４ビットの対角パリティコードａ，ｂ，ｃ，ｄのビット位置にオール“１”を挿入した制御ワードを含む複数の入力データワードに対して対角パリティ圧縮演算を行い、その演算結果と受信した対角パリティコードａ，ｂ，ｃ，ｄとの一致比較によりエラー検出を行う。
【００１１】
図９は従来の対角パリティ圧縮演算を行う回路構成を示す。なお、以下の説明において２のｎ乗を２＾ｎと表記する。図９において、２＾ｎビットの入力ワードデータＤＴ［２＾ｎ−１：０］と、対角パリティ演算結果のコードが含まれる制御ワードの入力位相を示す制御ワード入力タイミング信号ＣＴとが入力され、制御ワード入力タイミング信号ＣＴの周期を対角パリティ演算の基本周期として、入力ワードデータＤＴ［２＾ｎ−１：０］に対する対角パリティ圧縮演算を行い、２＾ｍビットの対角パリティ演算結果を生成し、該対角パリティ演算結果と制御ワード内の対角パリティコードとの一致比較によりエラーの有無を検出し、その検出結果をエラー検出信号ＥＲＲとして出力する。なお、前述の図８の対角パリティ演算の例は、上記整数ｎを４、ｍを２とした場合の例である。
【００１２】
図９において、入力ワードデータＤＴ［２＾ｎ−１：０］の各ビットは、２＾ｎ個の排他論理和回路９−１により、前サイクルまでの対角パリティ累積演算結果の１つ上位のビットとの排他論理和演算が行われ、その累積演算結果はゲート回路９−２を介して演算途中経過保持回路９−３に格納される。
【００１３】
ゲート回路９−２には制御ワード入力タイミング信号ＣＴが否定回路を介して入力され、該制御ワード入力タイミング信号ＣＴは制御ワードが入力されている位相タイミングで“１”となり、それ以外では“０”となる。従って、制御ワードが入力されている位相タイミングで演算途中経過保持回路９−３が初期化され、それ以外のタイミングで演算途中経過保持回路９−３に順次対角パリティ累積演算結果が格納される。
【００１４】
演算途中経過保持回路９−３は２＾ｎビットの対角パリティ演算途中経過を保持し、その途中経過の演算結果をビットシフト回転回路９−５に出力する。ビットシフト回転回路９−５は、２＾ｎ個の入力ビットをそれぞれ１ビットずつ下位ビット方向にシフトし、最下位ビットを最上位ビットに回転させたビット列を前述の排他論理和回路９−１に出力し、その出力と現サイクルの入力ワードデータＤＴ［２＾ｎ−１：０］の各ビットとの対角パリティ演算の排他論理和演算を排他論理和回路９−１で行う。
【００１５】
次のサイクルで次ワードデータＤＴ［２＾ｎ−１：０］が入力される度に上記の動作を繰り返し、排他論理和回路９−１から最終的に得られる２＾ｎビットの対角パリティ演算累積結果を、圧縮演算回路９−４により２＾ｍビットの対角パリティビットに圧縮し、該圧縮演算回路９−４から出力される２＾ｍビットの対角パリティ演算結果と、制御ワード内の対角パリティコードとを２＾ｍ個の不一致検出回路９−６により比較照合してエラーの有無を検出する。
【００１６】
２＾ｍ個の不一致検出回路９−６の出力は論理和回路９−７に入力され、論理和回路９−７は、２＾ｍ個の不一致検出回路９−６の出力信号の論理和を演算し、２＾ｍ個の不一致検出回路９−６のうち少なくとも１つで不一致が検出されたときにエラー有りの信号を出力し、該エラー有無の検出結果をエラー検出保持回路９−８により保持する。
【００１７】
従来の構成による対角パリティ圧縮演算の動作例を図１０に示す。図１０において、入力データＤＴは２＾ｎビットのデータで、この動作例ではｎ＝４、即ち２＾４＝１６ビットのデータＤＴ［１５］〜ＤＴ［０］の場合の例を示している。また、該１６ビットの入力データＤＴに対する対角パリティの累積演算結果Ｐ［１５]〜Ｐ［０]を２＾ｍビットに圧縮する際に、ｍ＝２、即ち２＾２＝４個の対角パリティビットに圧縮する例を示している。
【００１８】
サイクル＃０及びサイクル＃８の入力データＤＴ＃０及びＤＴ＃８には、照合用の対角パリティコード（ｗ，ｘ，ｙ，ｚ）及び（ａ，ｂ，ｃ，ｄ）が多重されており、このサイクルのときタイミング信号ＣＴは“１”となり、それ以外では“０”である。タイミング信号ＣＴが“１”となるサイクルタイミングで、１６個の演算途中経過保持回路９−３の入力がゲート回路９−２によりマスクされ、演算途中経過保持回路９−３の内容Ｐ＃０［１５：０］，Ｐ＃８［１５：０］がオールゼロとなり、初期化される。
【００１９】
また、演算途中経過保持回路９−３に保持されている対角パリティ累積演算結果Ｐ［１５：０]の出力はビットシフト回転された後、排他論理和回路９−１により入力データＤＴとの排他論理和演算（ＥＯＲ）が行われ、その新たな対角パリティ累積演算結果が演算途中経過保持回路９−３に保持される。上記のビットシフト回転と排他論理和演算とを次のタイミング信号ＣＴ“１”が入力される迄の間繰り返すことにより、入力データＤＴの対角パリティ演算を実行する。
【００２０】
排他論理和回路９−１から出力される１６ビットの対角パリティビットは、圧縮演算回路９−４により４ビット幅（２＾２）へ纏められ、制御ワード入力タイミング信号ＣＴが“１”となるサイクルの該４ビット幅の対角パリティビットＤＩＰ４＃８［３：０］は、入力データＤＴに多重されている対角パリティコードａ，ｂ，ｃ，ｄとの一致比較が行われ、その比較結果によりエラーの有無が検出される。
【００２１】
前述の対角パリティ演算において、シリアル状に並んで入力される入力データを、時系列的に回転させながら演算を行ったが、入力データを任意のパラレル数に展開して演算処理を行う場合、入力データを単に時系列的に回転させて演算を行っても所望の対角パリティ演算とはならない。
【００２２】
また、パラレルに展開した際、入力データの時系列的な回転ではなく、排他論理和演算を行うビット位置をクロック毎に選択して演算を行う構成とした場合、入力データビット数×パラレル数からパラレル数分の入力データビットを選択するセレクタをデータビット数分設ける必要がある。
【００２３】
図１１は入力データビット数が１６、パラレル数が８の場合の入力データビットを選択するセレクタの構成例を示し、１６×８＝１２８個の入力データビットから８個の入力データビットを選択する１６個のセレクタ１６・８：８ＳＥＬ［１６］〜１６・８：８ＳＥＬ［１］を設け、該セレクタにより適正な入力データビットをクロック毎に選択し、８入力の排他論理和回路ＥＯＲ［１６］〜ＥＯＲ［１］により対角パリティ排他論理和演算を行う構成例を示している。
【００２４】
本発明に関連する先行技術文献として、下記の特許文献に対角パリティに関する技術が記述されている。
【特許文献１】特公昭６３−４３８３３号公報
【特許文献２】特開平０５−２２５７１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
２＾ｎ個の並列入力データに対して、２＾ｍ個に纏めた対角パリティによるエラー検出を行う回路機能において、従来の構成は、対角パリティの演算を行う排他論理和回路９−１、及びその累積演算結果を保持する演算途中経過保持回路９−３のフリップフロップ回路が、入力データのビット数（２＾ｎ）に正比例して増大するため、入力データの並列度（２＾ｎ）が大きくなるに伴い、回路規模及び消費電力が増大するという問題があった。
【００２６】
また、シリアル状に並んだ入力データを任意のパラレル数に展開し、対角パリティの排他論理和演算を行うビット位置をクロック毎に選択する図１１に示す構成では、パラレル数が増加するにつれて回路規模が幾何級数的に増加し、それに伴い動作速度が低下するという問題があった。
【００２７】
本発明は、２＾ｎ個の並列入力データに対して、２＾ｍ個に纏めた対角パリティによるエラー検出を行う回路機能において、従来と同等の処理をより小規模、低消費電力で実現することを目的とする。また、パラレルに展開した対角パリティ演算処理において適正な対角パリティ演算経路を形成し、回路の物理的配線の簡素化及びそれに伴う速度パフォーマンスの向上を図ることを目的とする。
【課題を解決するための手段】
【００２８】
本発明の対角パリティ圧縮演算方法は、（１）クロックサイクル毎に入力される２＾ｎビット（ｎは整数）の入力データから２＾ｍビット（ｍは整数でｍ＜ｎ）の圧縮した対角パリティを演算する対角パリティ圧縮演算方法において、対角パリティの演算を行う前に、２＾ｎビットの入力データを各クロックサイクルで２＾ｍビットに圧縮する演算を行うステップと、該２＾ｍビットに圧縮した後の入力データに対してクロックサイクル毎に対角パリティ累積演算を行うステップと、を含むものである。
【００２９】
また、（２）パラレルに展開した前記各入力データに対して、対角パリティ演算を行うために与える各入力データの回転量を指示する回転情報を、各クロックサイクル単位で同時に確定するステップと、該回転情報に従って回転した入力データに対して対角パリティの排他論理和演算を行うステップとを含むものである。
【００３０】
また、本発明の対角パリティ圧縮演算装置は、（３）クロックサイクル毎に入力される２＾ｎビット（ｎは整数）の入力データから２＾ｍビット（ｍは整数でｍ＜ｎ）の圧縮した対角パリティを演算する対角パリティ圧縮演算装置において、対角パリティの演算を行う前に、２＾ｎビットの入力データを各クロックサイクルで２＾ｍビットに圧縮する演算行う手段と、該２＾ｍビットに圧縮した後の入力データに対してクロックサイクル毎に対角パリティ累積演算を行う手段と、を備えたものである。
【００３１】
また、（４）パラレルに展開した前記各入力データに対して、対角パリティ演算を行うために与える各入力データの回転量を指示する回転情報を、各クロックサイクル単位で同時に確定する手段と、該回転情報に従って回転した入力データに対して対角パリティの排他論理和演算を行う手段とを備えたものである。
【発明の効果】
【００３２】
本発明の構成によれば、従来の対角パリティ演算と同等の処理をより小規模な回路で実現することができる。即ち、従来の構成において排他論理和回路９−１の出力を圧縮演算回路９−４により行う圧縮演算を、本発明では入力データＤＴに対して最初に行い、該圧縮した入力データを対角パリティ演算の排他論理和回路１−１の入力とすることにより、対角パリティ累積演算の結果を保持する演算途中経過保持回路１−３のフリップフロップ回路が２＾ｎ個から２＾ｍ個に、また、対角パリティ演算の排他論理和回路１−１が２＾ｎ個から２＾ｍ個に削減され、従来と同等の処理をより小規模、低消費電力で実現することが可能となる。
【００３３】
また、任意のデータ長のシリアル入力ワードデータをパラレルデータに展開した場合に、各入力ワードデータの回転量を指示する回転情報を各クロックサイクル単位で同時に確定して対角パリティ演算を行い、かつ、任意のデータ位置で対角パリティ演算を終了し、次のデータ位置で回転情報をリセットして対角パリティ演算を再開することにより、パラレルに展開した対角パリティ演算処理において適正な対角パリティ演算経路を形成することができる。
【００３４】
従って、従来はパラレル数が増大するほど、入力数の多いセレクタを備える必要があったが、本発明ではクロックサイクル毎の回転情報を同時に確定し、該回転情報を基にデータをビットシフトして対角パリティ演算を行うことにより、回路の物理的配線の簡素化及びそれに伴う速度パフォーマンスの向上を図ることができる。
【発明を実施するための最良の形態】
【００３５】
図１は本発明による対角パリティ圧縮演算を行う回路構成を示す。この回路構成は図９の回路構成と同様に、２＾ｎビットのワードデータＤＴ［２＾ｎ−１：０］と、対角パリティ演算結果のコードが含まれる制御ワードの入力位相を示す制御ワード入力タイミング信号ＣＴとが入力され、制御ワード入力タイミング信号ＣＴの周期を対角パリティ演算の基本周期として、入力ワードデータＤＴ［２＾ｎ−１：０］に対する対角パリティ圧縮演算を行い、２＾ｍビットの対角パリティ演算結果を生成し、該対角パリティ演算結果と制御ワードの対角パリティコードとの一致比較によりエラーの有無を検出し、その検出結果をエラー検出信号ＥＲＲとして出力する。
【００３６】
本発明の対角パリティ圧縮演算を行う回路構成は、入力データＤＴ［２＾ｎ−１：０］を圧縮対角パリティのビット幅２＾ｍに纏める圧縮演算回路１−４と、圧縮演算回路１−４の出力の圧縮入力データＤＴ［２＾ｍ−１：０］と前サイクル迄の対角パリティ演算結果を保持する演算途中経過保持回路１−３の保持内容とを基に対角パリティ演算を行う排他論理和回路１−１と、制御ワード入力タイミング信号ＣＴと排他論理和回路１−１の演算結果とを入力して演算途中経過保持回路１−３の初期化処理を行うとともに対角パリティ演算結果を通過させるゲート回路１−２と、最終的な排他論理和回路１−１の演算結果と入力データＤＴ中の対角パリティコードとの一致検出を行う不一致検出回路９−６と、該不一致検出回路９−６の演算結果を纏める論理和回路９−７と、該論理和回路９−７の演算結果を保持するエラー検出保持回路９−８とにより構成される。
【００３７】
図１において、入力ワードデータＤＴ［２＾ｎ−１：０］の各ビットは、最初に圧縮演算回路１−４に入力され、圧縮演算回路１−４により２＾ｍビットに圧縮する。圧縮演算回路１−４は、前述の図９の圧縮演算回路９−４と同様に、上位ビット群と下位ビット群との排他論理和演算により圧縮を行う。
【００３８】
そして、該圧縮演算回路１−４から出力される２＾ｍビットの今サイクルの入力データと、前サイクルまでの２＾ｍビットの対角パリティ累積演算結果の１つ上位のビットとを、２＾ｍ個の排他論理和回路１−１に入力して排他論理和演算を行い、その累積演算結果をゲート回路１−２を介して演算途中経過保持回路１−３に格納する。
【００３９】
ゲート回路１−２には制御ワード入力タイミング信号ＣＴが否定回路を介して入力され、該制御ワード入力タイミング信号ＣＴは制御ワードが入力されている位相タイミングで“１”となり、それ以外では“０”となる。従って、該制御ワードが入力されている位相タイミングで演算途中経過保持回路１−３が初期化され、それ以外のタイミングで演算途中経過保持回路１−３に順次２＾ｍ個の対角パリティ累積演算結果が格納される。
【００４０】
演算途中経過保持回路１−３は２＾ｍビットの対角パリティ演算途中経過を保持し、その途中経過の演算結果をビットシフト回転回路１−５に出力する。ビットシフト回転回路１−５は、２＾ｍ個の入力ビットをそれぞれ１ビットずつ下位ビット方向にシフトし、最下位ビットを最上位ビットに回転させたビット列を前述の排他論理和回路１−１に出力し、排他論理和回路１−１で今サイクルの圧縮入力ワードデータＤＴ［２＾ｍ−１：０］の各ビットとの対角パリティの排他論理和演算を行う。
【００４１】
次のサイクルで次のワードデータＤＴ［２＾ｎ−１：０］が入力される度に上記の動作を繰り返し、排他論理和回路１−１から最終的に得られる２＾ｍビットの対角パリティ演算累積結果と、入力データＤＴ［２＾ｎ−１：０］の制御ワードに含まれる２＾ｍ個の対角パリティコードとを、２＾ｍ個の不一致検出回路９−６により比較照合してエラーの有無を検出する。
【００４２】
２＾ｍ個の不一致検出回路９−６の出力は、図９の構成と同様に、論理和回路９−７に入力され、論理和回路９−７は、２＾ｍ個の不一致検出回路９−６の出力信号の論理和を演算し、２＾ｍ個の不一致検出回路９−６のうち少なくとも１つで不一致が検出されたときにエラー有りの信号を出力し、該エラー有無の検出結果をエラー検出保持回路９−８により保持する。
【００４３】
本発明による対角パリティ圧縮演算の動作例を図２に示す。図２の動作例は図１０の動作例と同様に、２＾ｎビットの入力データＤＴとしてｎ＝４、即ち２＾４＝１６ビットの入力データＤＴ［１５］〜ＤＴ［０］の例を示している。また、２＾ｍビットの対角パリティとしてｍ＝２、即ち２＾２＝４個の対角パリティビットＰ［３]〜Ｐ［０]の累積演算を行う例を示している。
【００４４】
サイクル＃０及びサイクル＃８の入力データＤＴ＃０及びＤＴ＃８には、照合用の対角パリティコード（ｗ，ｘ，ｙ，ｚ）及び（ａ，ｂ，ｃ，ｄ）が多重されており、このサイクルのときタイミング信号ＣＴは“１”となり、それ以外では“０”である。タイミング信号ＣＴが“１”となるサイクルで、４個の演算途中経過保持回路１−３の入力がゲート回路１−２によりマスクされ、演算途中経過保持回路１−３の内容ＤＩＰ［３：０］がオールゼロとなり、初期化される。
【００４５】
また、演算途中経過保持回路１−３に保持されている対角パリティ累積演算結果の出力ＤＩＰ［３：０］はビットシフト回転された後、圧縮された入力データｄ［３：０］と排他論理和回路１−１により排他論理和演算（ＥＯＲ）が行われ、新たな対角パリティ累積演算結果が演算途中経過保持回路１−３に保持される。上記のビットシフト回転と排他論理和演算とを次のタイミング信号ＣＴ“１”が入力される迄の間繰り返すことにより、圧縮入力データｄ［３：０］の対角パリティ演算を実行する。
【００４６】
最終的に排他論理和回路１−１から出力される４ビットの対角パリティ累積演算結果ＤＩＰ＃８［３：０］は、制御ワード入力タイミング信号ＣＴが“１”となるサイクルで、入力データＤＴに多重されている対角パリティコードａ，ｂ，ｃ，ｄとの一致比較が行われ、その比較結果によりエラーの有無が検出される。
【００４７】
本発明の構成によれば、従来の対角パリティ演算と同等の処理をより小規模な回路で実現することができる。即ち、従来の構成において排他論理和回路９−１の出力を圧縮演算回路９−４により行う圧縮演算を、本発明では入力データＤＴに対して最初に行い、該圧縮した入力データを対角パリティ演算の排他論理和回路１−１の入力とすることで、対角パリティ累積演算の結果を保持する演算途中経過保持回路１−３のフリップフロップ回路が２＾ｎ個から２＾ｍ個に、また、対角パリティ演算の排他論理和回路１−１が２＾ｎ個から２＾ｍ個に削減され、従来と同等の処理をより小規模、低消費電力で実現することが可能となる。
【００４８】
次に本発明による対角パリティビットのパラレル処理の構成を図３及び図４に示す。図３は対角パリティビット付加の構成を、図４は対角パリティエラー検出の構成を示す。対角パリティビット付加のパラレル処理の構成は図３に示すように、対角パリティビット付加を行うパラレル処理部３−１，３−２、３−３をパラレル処理数分（Ｎ個）備え、各パラレル処理部３−１，３−２，３−３は、回転情報／加算情報／パリティ挿入タイミング生成部３−１１、データ処理部３−１２、パリティビット挿入部３−１３を備える。なお、最後のパラレル処理部３−３には対角パリティ途中経過の保持する保持部３−１４を備える。
【００４９】
回転情報／加算情報／パリティ挿入タイミング生成部３−１１は、入力されるデータ及びパリティ挿入ワード表示ビットを基に、データの回転情報、前データとの排他論理和演算を有効化する加算イネーブル情報及び対角パリティビット挿入タイミングを生成する。対角パリティエラー検出の次のタイミングでこれらの情報をリセットし、各クロックサイクルのパラレルデータの内のどこからでも対角パリティ演算が再開できるようにする。
【００５０】
データ処理部３−１２は、回転情報／加算情報／パリティ挿入タイミング生成部３−１１から入力される回転情報及び加算イネーブル情報（Ａ）により、入力データの回転と共に前データとの排他論理和演算を行う。パリティビット挿入部３−１３は、回転情報／加算情報／パリティ挿入タイミング生成部３−１１から入力されるパリティビット挿入タイミング信号（Ｂ）により、データ処理部３−１２から入力される対角パリティビット演算結果を、制御ワードに割り当てられている対角パリティコード領域に挿入する。
【００５１】
対角パリティエラー検出のパラレル処理の構成は図４に示すように、対角パリティビットエラー検出を行うパラレル処理部４−１，４−２、４−３をパラレル処理数分（Ｎ個）備え、各パラレル処理部４−１，４−２，４−３は、回転情報／加算情報／比較イネーブル生成部４−１１、データ処理部４−１２、パリティ回転部４−１３、比較部４−１４を備える。なお、最後のパラレル処理部４−３には対角パリティ途中経過の保持する保持部４−１５を備える。
【００５２】
回転情報／加算情報／比較イネーブル生成部４−１１は、入力されるデータ及びパリティ挿入ワード表示ビットを基に、データの回転情報、前データとの排他論理和演算を有効化する加算イネーブル情報、入力データの対角パリティ演算結果と制御ワードの対角パリティコードとの比較を有効化させる比較イネーブル情報を生成する。対角パリティエラーを検出する次のタイミングでこれらの情報をリセットし、各クロックサイクルのパラレルデータの内のどこからでも演算が再開できるようにする。
【００５３】
データ処理部４−１２は、回転情報／加算情報／比較イネーブル生成部４−１１から入力される回転情報及び加算イネーブル情報（Ａ）により、入力データの回転と共に前データとの排他論理和演算を行う。また、パリティ回転部４−１３は、予め抜き出した、制御ワードに割り当てられている対角パリティコードを回転情報（Ａ）により回転させる。
【００５４】
比較部４−１４は、回転情報／加算情報／比較イネーブル生成部４−１１から入力される比較イネーブル情報（Ｂ）により、対角パリティエラーを検出するタイミングで、データ処理部４−１２からの入力データと、パリティ回転部４−１３からの入力データとを比較してエラー検出を行う。
【００５５】
パラレル処理における正常な対角パリティ演算経路を形成するため、クロックサイクル毎に回転情報をパラレル数分同時に確定させる。回転情報を確定するために、１クロックサイクル前の最後の回転情報を保持し、保持された回転情報に１シフト分を加えて回転させていく。また、対角パリティエラー検出側においては、制御ワードの対角パリティコードも同じフェーズで回転させて入力データの対角パリティ演算結果と比較する。
【００５６】
任意のデータ長のシリアル入力データをパラレルデータに展開した場合に、任意のデータ位置で対角パリティ演算を終了し、次のデータ位置で回転情報をリセットし、対角パリティ演算を再開する。これにより、パラレルに展開した対角パリティ演算処理システムで適正な対角パリティ演算経路を形成することができる。
【００５７】
従来はパラレル数が増大するほど、入力数の多いセレクタを備える必要があったたが、本発明ではクロックサイクル毎の回転情報を同時に確定し、該回転情報を基にデータをビットシフトすることにより、図１１のセレクタ１６・８：８ＳＥＬ（入力データビット数×パラレル数の入力数からパラレル数のビットを選択するセレクタ）を介することなく、対角パリティ演算が可能となる。これにより、回路の物理的配線の簡素化及びそれに伴う速度パフォーマンスの向上を図ることができる。
【実施例】
【００５８】
入力ワードデータ１６ビットの８パラレル処理の対角パリティＤＩＰ−４演算の実施例を図５、図６、図７に示す。図５において、ＤＩＰ−４ワード検出回路５−１は、入力データ及びパリティワード表示ビットを基にＤＩＰ−４対角パリティコードが割り当てられている制御ワードを検出する。ＤＩＰ−４ワード検出回路５−１の８本の出力線は、８パラレルのワードデータのうち、ＤＩＰ−４対角パリティコードが存するワードデータに対応する出力線に“１”を出力する。即ち、８パラレルのワードデータの内、どのワードデータにＤＩＰ−４対角パリティコードが存するかを指示する信号を出力する。
【００５９】
図５のデコード回路５−２は、ＤＩＰ−４ワード検出回路５−１の出力を基に基本的回転情報（Ａ）を生成する。また、対角パリティ演算完結位置検出回路５−３は、パラレルに展開された８ワードデータの内、ＤＩＰ−４対角パリティ演算を完結させるデータ位置を検出し、対角パリティ演算完結位置情報（Ｂ）を生成する。
【００６０】
基本的回転情報（Ａ）は、クロックサイクル毎の回転情報でしかないため、前サイクル回転情報保持回路５−４に保持されている前サイクルの回転情報（Ｃ）に現サイクルの基本的回転情報（Ａ）を加算部５−５で加算し、前サイクルから継続した対角パリティ演算経路を確保する。
【００６１】
図６に基本的回転情報（Ａ）に前サイクルの回転情報を加算して更新した回転情報を生成する動作例を示す。同図に示す動作例では、図の（ｉ）に示すように、第１のサイクルの第１のワードデータが対角パリティコードＤＩＰ４を含む制御ワードであり、また第２サイクルの第３ワードデータ及び第６ワードデータが対角パリティコードＤＩＰ４を含む制御ワードであるものとする。
【００６２】
デコード回路５−２から出力される基本的回転情報（Ａ）は、図６（ii）に示すように、対角パリティコードＤＩＰ４を含む制御ワードの次のワードデータから順に、“０”，“−１”，“−２”，“−３”，“０”，・・・の回転量を与える回転情報として各サイクル毎に出力され、第２のサイクルでは前サイクルと関係なく、“０”の回転情報から順に生成される。
【００６３】
そこで、前サイクル（第１のサイクル）の最後の回転情報“−２”を引き継いで、該回転情報を次サイクル（第２のサイクル）に加算し、次サイクル（第２のサイクル）で次の“−３”から開始する回転情報を生成することにより、前サイクルから継続した対角パリティ演算経路を確保することができる。
【００６４】
即ち、図６（ii）に示すように第２のサイクルでは、第１ワードデータに対しては“０”から“−３”に更新された回転情報が与えられ、第２ワードデータに対しては“−１”から“０”に更新された回転情報が与えられ、第３ワードデータに対しては“−２”から“−１”に更新された回転情報が与えられる。
【００６５】
このように、基本的回転情報に前サイクル回転情報を加算した回転情報を、対角パリティコードＤＩＰ４を含む制御ワードの存在位置に依存して生成するために、図５に示す加算部５−５の加算前の基本的回転情報と、加算部５−５の加算後の回転情報とを、セレクタ５−６により対角パリティ演算完結位置情報（Ｂ）に従って選択し、回転情報として生成する。
【００６６】
また、図５において、ＤＩＰ−４ワード検出回路５−１から出力される、ＤＩＰ−４対角パリティコードを含むワードデータを指示する信号から、ＤＩＰ−４エラー検出の比較イネーブル情報、及び対角パリティ演算の際の制御ワードの対角パリティコード格納部にオール“１”を挿入するオール“１”挿入イネーブル情報を生成するが、それらの情報はＤＩＰ−４ワード検出回路５−１からの出力信号に対して時間的制御を加えるのみでよく、図５に示すようにレジスタ回路５−７を挿入することによりタイミング調整を行って出力する。
【００６７】
また、図５のＤＩＰ−４演算ワード選定部から出力される加算情報は、ＤＩＰ−４対角パリティコードを含むワードデータを指示する信号からデコード回路５−２でデコードすることにより生成され、ＤＩＰ−４対角パリティ演算を完結させるまでの排他論理和の継続演算のイネーブル情報として出力される。
【００６８】
図７はＤＩＰ−４対角パリティ演算を行う各パラレル処理部の構成を示す。図７の各パラレル処理部は、図５で説明した回転情報、ＤＩＰ−４エラー検出の比較イネーブル情報、オール“１”挿入イネーブル情報及び加算情報をそれぞれ入力し、それらの情報に従ってＤＩＰ−４対角パリティ演算を行う。
【００６９】
各パラレル処理部は、入力された１６ビットのデータ（Ｍａｉｎ  Ｄａｔａ）に対し、圧縮部７−２により最初にＤＩＰ−４の４ビットに圧縮する排他論理和演算を行う。これにより、後段の回転部７−３における回転の種類を削減することができ、レジスタやセレクタ等の回路規模を縮減することが可能となる。なお、７−１は制御ワードのＤＩＰ−４対角奇数パリティコード部にオール“１”を挿入する回路部である。
【００７０】
各パラレル処理部からの各ワードの出力は、排他論理和回路ＥＯＲに入力されて対角パリティ演算が行われ、各ワードの演算結果は常に次のワードに転送され、転送先で加算情報に従ってＤＩＰ−４対角パリティ演算を継続させる。また、各ワードデータの回転に合わせてＤＩＰ−４対角パリティビットを回転部７−４により回転させた後、ＤＩＰ−４対角パリティ演算結果とＤＩＰ−４対角パリティビットとを不一致回路ＥＯＲにより比較してエラー検出を行う。
【００７１】
ＤＩＰ−４対角パリティビットが割り当てられているワードデータが各サイクルの内、どのワードデータに存在しても回転情報及び加算情報のリセットにより、対角パリティ演算を終端させることができる。これにより、パラレルに展開されたワードデータ毎でのエラー通知が可能となる。
【図面の簡単な説明】
【００７２】
【図１】本発明による対角パリティ圧縮演算を行う回路構成を示す図である。
【図２】本発明による対角パリティ圧縮演算の動作例を示す図である。
【図３】本発明による対角パリティビットのパラレル処理（パリティビット付加）の構成を示す図である。
【図４】本発明による対角パリティビットのパラレル処理（パリティエラー検出）の構成を示す図である。
【図５】本発明の対角パリティＤＩＰ−４演算の実施例（演算制御情報生成例）を示す図である。
【図６】本発明の対角パリティＤＩＰ−４演算の実施例（回転情報生成例）を示す図である。
【図７】本発明の対角パリティＤＩＰ−４演算の実施例（各パラレル処理部の構成例）を示す図である。
【図８】ＤＩＰ−４対角パリティ圧縮演算の一例を示す図である。
【図９】従来の対角パリティ圧縮演算を行う回路構成を示す図である。
【図１０】従来の構成による対角パリティ圧縮演算の動作例を示す図である。
【図１１】従来の入力データビットを選択するセレクタの構成例を示す図である。
【符号の説明】
【００７３】
１−１  排他論理和回路
１−２  ゲート回路
１−３  演算途中経過保持回路
１−４  圧縮演算回路
１−５  ビットシフト回転回路
９−６  不一致検出回路
９−７  論理和回路
９−８  エラー検出保持回路
【図１】
2005269313.tif 000003
【図２】
2005269313.tif 000004
【図３】
2005269313.tif 000005
【図４】
2005269313.tif 000006
【図５】
2005269313.tif 000007
【図６】
2005269313.tif 000008
【図７】
2005269313.tif 000009
【図８】
2005269313.tif 000010
【図９】
2005269313.tif 000011
【図１０】
2005269313.tif 000012
【図１１】
2005269313.tif 000013