(57)【要約】【課題】同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保するのが困難なこと。【解決手段】データバッファ部は、入力ワードを過去一定個数分記憶すると共に、入力順に第１の信号線群に出力する。符号生成部は、ワードと同じビット数のビット列であって、ビット列中の複数のビットが第１および第２の信号線群の範囲または第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を訂正範囲とする誤り検出訂正符号を生成する。符号送信部は、誤り検出訂正符号の各ビットを、当該ビット列とその訂正範囲のビット列とから構成される符号語中の複数のビットが第１および第２の信号線群の範囲または第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、第２の信号線群のそれぞれ異なる信号線に出力する。【選択図】図１
2013062737.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の信号線群によって互いに接続される信号送信回路と信号受信回路とを備え、
前記信号送信回路は、
入力されたワードを過去一定個数分記憶するとともに、入力順に前記第１の信号線群にワード単位で出力する送信側データバッファ部と、
前記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の複数のビットが前記第１の信号線群の範囲または前記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を前記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成する符号生成部と、
前記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の複数のビットが前記第１および第２の信号線群の範囲または前記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、前記第２の信号線群のそれぞれ異なる信号線に出力する符号送信部と
を有し、
前記信号受信回路は、
前記第１の信号線群から受信したワードを過去一定個数分記憶するとともに、受信順にワード単位で出力する受信側データバッファ部と、
前記第２の信号線群から受信した誤り検出訂正符号を過去一定個数分記憶する受信側符号バッファ部と、
同じ符号語を構成する誤り検出訂正符号とその訂正範囲となるビット列とが前記受信側符号バッファ部と前記受信側データバッファ部とに揃って記憶されたときに、前記受信側符号バッファ部から当該符号語の誤り検出訂正符号を読み出し、該読み出した誤り検出訂正符号を用いて、前記受信側データバッファ部に記憶されている当該誤り検出訂正符号の訂正範囲となるビット列の誤り訂正を行う誤り訂正部とを有することを特徴とする信号送受信回路。
【請求項２】
前記符号生成部は、前記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の任意の２ビットの組み合わせが前記第１の信号線群の範囲または前記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を前記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成し、
前記符号送信部は、前記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の任意の２ビットの組み合わせが前記第１および第２の信号線群の範囲または前記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、前記第２の信号線群のそれぞれ異なる信号線に出力する
ことを特徴とする請求項１に記載の信号送受信回路。
【請求項３】
前記部分信号線群は、信号線を駆動する駆動回路の電源が同じ信号線の集まりであることを特徴とする請求項１または２に記載の信号送受信回路。
【請求項４】
第１および第２の信号線群に接続された信号送信回路であって、
入力されたワードを過去一定個数分記憶するとともに、入力順に前記第１の信号線群にワード単位で出力する送信側データバッファ部と、
前記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の複数のビットが前記第１の信号線群の範囲または前記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を前記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成する符号生成部と、
前記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の複数のビットが前記第１および第２の信号線群の範囲または前記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、前記第２の信号線群のそれぞれ異なる信号線に出力する符号送信部とを有することを特徴とする信号送信回路。
【請求項５】
前記符号生成部は、前記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の任意の２ビットの組み合わせが前記第１の信号線群の範囲または前記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を前記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成し、
前記符号送信部は、前記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の任意の２ビットの組み合わせが前記第１および第２の信号線群の範囲または前記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、前記第２の信号線群のそれぞれ異なる信号線に出力する
ことを特徴とする請求項４に記載の信号送信回路。
【請求項６】
前記部分信号線群は、信号線を駆動する駆動回路の電源が同じ信号線の集まりであることを特徴とする請求項４または５に記載の信号送信回路。
【請求項７】
第１および第２の信号線群に接続される信号受信回路であって、
前記第１の信号線群からワード単位で受信したワードを過去一定個数分記憶するとともに、受信順にワード単位で出力する受信側データバッファ部と、
前記ワードを構成するビット数と同じビット数のビット列であって当該ビット列中の複数のビットが前記第１の信号線群のうちの特定の信号線群に同一のタイミングで出力されないビットの組み合わせとなるビット列を訂正範囲とする誤り検出訂正符号であって、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の複数のビットが前記第１および第２の信号線群のうちの特定の信号線群に同一のタイミングで出力されることがないタイミングで前記第２の信号線群のそれぞれ異なる信号線に出力された誤り検出訂正符号を前記第２の信号線群から受信して過去一定個数分記憶する受信側符号バッファ部と、
同じ符号語を構成する誤り検出訂正符号とその訂正範囲となるビット列とが前記受信側符号バッファ部と前記受信側データバッファ部とに揃って記憶されたときに、前記受信側符号バッファ部から当該符号語の誤り検出訂正符号を読み出し、該読み出した誤り検出訂正符号を用いて、前記受信側データバッファ部に記憶されている当該誤り検出訂正符号の訂正範囲となるビット列の誤り訂正を行う誤り訂正部とを有することを特徴とする信号受信回路。
【請求項８】
送信側データバッファ部と符号生成部と符号送信部とを有する信号送信回路と、受信側データバッファ部と符号記憶部と誤り訂正部とを有する信号受信回路とが、第１および第２の信号線群によって互いに接続される信号送受信回路が実行する信号送受信方法であって、
前記送信側データバッファ部が、入力されたワードを過去一定個数分記憶するとともに、入力順に前記第１の信号線群にワード単位で出力し、
前記符号生成部が、前記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の複数のビットが前記第１の信号線群の範囲または前記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を前記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成し、
前記符号送信部が、前記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と前記訂正範囲のビット列とから構成される符号語中の複数のビットが前記第１および第２の信号線群の範囲または前記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、前記第２の信号線群のそれぞれ異なる信号線に出力し、
前記受信側データバッファ部が、前記第１の信号線群から受信したワードを過去一定個数分記憶するとともに、受信順にワード単位で出力し、
前記符号記憶部が、前記第２の信号線群から受信した誤り検出訂正符号を過去一定個数分記憶し、
前記誤り訂正部が、同じ符号語を構成する誤り検出訂正符号とその訂正範囲となるビット列とが前記受信側符号バッファ部と前記受信側データバッファ部とに揃って記憶されたときに、前記受信側符号バッファ部から当該符号語の誤り検出訂正符号を読み出し、該読み出した誤り検出訂正符号を用いて、前記受信側データバッファ部に記憶されている当該誤り検出訂正符号の訂正範囲となるビット列の誤り訂正を行う
ことを特徴とする信号送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の信号線で互いに接続される信号送信回路と信号受信回路とから構成される信号送受信回路に関し、特にデータに誤り検出訂正符号を付加して送受信する信号送受信回路に関する。
【背景技術】
【０００２】
データを送受信する信号送受信回路において、信号送信側がデータに誤り検出訂正符号を付加して送信し、信号受信側が誤り検出訂正符号を用いて受信データの誤りを検出し訂正することが行われている（例えば特許文献１参照）。
【０００３】
図２４は、信号送受信回路において送受信される信号のフォーマットの一例を示す。この例では、４ビット構成の各ワード毎に、３ビットのＥＣＣ（Error Check and Correct）符号を付加して合計７ビットの符号語を生成し、各符号語を７本の信号線を用いて符号語単位で送受信する。この場合、ＥＣＣ符号として例えばハミング符号を用いると、ワード中の１ビット誤りを訂正することができる。
【０００４】
他方、映像信号にデジタル音声信号を多重化してシリアル伝送を行う映像信号送信装置において、デジタル音声信号の所定のデータ数毎に誤り検出訂正符号を付加した後に、ビットの並べ替えを行う技術が提案されている（例えば特許文献２参照）。具体的には、特許文献２に記載の映像信号送信装置は、ｍ×ｎのセルを持ったメモリに順番に行方向に１ビットずつ書き込みを行った後、読み出しを列方向に変えて読み出している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特公昭６２−５０１０４７号公報
【特許文献２】特開平５−２１９４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＬＳＩ間等でデータを伝送する場合、ソフトエラーの確率よりも同時スイッチングノイズに起因して発生するエラーの確率が高くなる。同時スイッチングノイズは、多数のドライバが同一の論理方向（例えば０→１の方向）に同時にスイッチングする時に電源ラインに発生するノイズである。電源ラインに同時スイッチングノイズが発生すると、その電源ラインから電力の供給を受けている複数の信号線に同時にエラーが発生する可能性がある。このため、図２４の信号フォーマットのように、各ワードに誤り検出訂正符号を付加して符号語を生成し、符号語単位で伝送を行う信号送受信回路は、同時スイッチングノイズが発生すると同じ符号語に２ビット以上の訂正不可能なエラーが発生する確率が高くなる。
【０００７】
他方、特許文献２に記載されるように、一定個数の符号語毎に、ｍ×ｎのセルを持ったメモリに順番に行方向に１ビットずつ書き込みを行った後、読み出しを列方向に変えて読み出す場合、ｍとｎを符号語のビット数に等しく設定すると、図２４の信号フォーマットを図２５の信号フォーマットに変換して伝送することができる。図２５の信号フォーマットでは、全ての符号語において、或るタイミングで伝送されるビット数は１ビットになるため、同時スイッチングノイズが発生して信号線上の全ビットにエラーが発生したとしても、それぞれの符号語では高々１ビットのエラーになる。このため、全ての符号語で誤り訂正が可能になる。しかしながら、図２５の信号フォーマットでは、同じ符号語の全ビットが同じ信号線を通じて伝送される。このため、信号線毎に設けられている入出力バッファアンプの経年変化による性能劣化などが原因で何れか１つの信号線にエラーが多発すると、同じ符号語に２ビット以上の訂正不可能なエラーが発生する可能性が高くなる。
【０００８】
本発明の目的は、上述したような課題、すなわち、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保するのは困難である、という課題を解決する信号送受信回路を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態にかかる信号送受信回路は、
第１および第２の信号線群によって互いに接続される信号送信回路と信号受信回路とを備え、
上記信号送信回路は、
入力されたワードを過去一定個数分記憶するとともに、入力順に上記第１の信号線群にワード単位で出力する送信側データバッファ部と、
上記ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の複数のビットが上記第１の信号線群の範囲または上記第１の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されないビットの組み合わせとなるビット列を上記送信側データバッファ部から読み出し、該読み出したビット列を訂正範囲とする誤り検出訂正符号を生成する符号生成部と、
上記符号生成部により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列と上記訂正範囲のビット列とから構成される符号語中の複数のビットが上記第１および第２の信号線群の範囲または上記第１および第２の信号線群を構成する部分信号線群の範囲で同一のタイミングで出力されることがないタイミングで、上記第２の信号線群のそれぞれ異なる信号線に出力する符号送信部と
を有し、
上記信号受信回路は、
上記第１の信号線群から受信したワードを過去一定個数分記憶するとともに、受信順にワード単位で出力する受信側データバッファ部と、
上記第２の信号線群から受信した誤り検出訂正符号を過去一定個数分記憶する受信側符号バッファ部と、
同じ符号語を構成する誤り検出訂正符号とその訂正範囲となるビット列とが上記受信側符号バッファ部と上記受信側データバッファ部とに揃って記憶されたときに、上記受信側符号バッファ部から当該符号語の誤り検出訂正符号を読み出し、該読み出した誤り検出訂正符号を用いて、上記受信側データバッファ部に記憶されている当該誤り検出訂正符号の訂正範囲となるビット列の誤り訂正を行う誤り訂正部とを有する、
といった構成を採る。
【発明の効果】
【００１０】
本発明は上述したような構成を有するため、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態にかかる信号送受信回路のブロック図である。
【図２】本発明の第２の実施形態にかかる信号送信回路のブロック図である。
【図３】本発明の第２の実施形態にかかる信号送信回路に入力される信号のフォーマットを示す図である。
【図４】本発明の第２の実施形態にかかる信号送信回路から出力される信号のフォーマットを示す図である。
【図５】本発明の第３の実施形態にかかる信号受信回路のブロック図である。
【図６】本発明の第４の実施形態にかかる信号送信回路のブロック図である。
【図７】本発明の第４の実施形態にかかる信号送信回路の動作説明図である。
【図８】本発明の第４の実施形態にかかる信号送信回路から出力される信号のフォーマットを示す図である。
【図９】本発明の第５の実施形態にかかる信号受信回路のブロック図である。
【図１０】本発明の第６の実施形態にかかる信号送信回路のブロック図である。
【図１１】本発明の第６の実施形態にかかる信号送信回路の動作説明図である。
【図１２】本発明の第６の実施形態にかかる信号送信回路から出力される信号のフォーマットを示す図である。
【図１３】本発明の第７の実施形態にかかる信号受信回路のブロック図である。
【図１４】本発明の第８の実施形態にかかる信号送信回路のブロック図である。
【図１５】本発明の第８の実施形態にかかる信号送信回路の動作説明図である。
【図１６】本発明の第８の実施形態にかかる信号送信回路から出力される信号のフォーマットを示す図である。
【図１７】本発明の第９の実施形態にかかる信号受信回路のブロック図である。
【図１８】本発明の第１０の実施形態にかかる信号送信回路のブロック図である。
【図１９】本発明の第１０の実施形態にかかる信号送信回路の動作説明図である。
【図２０】本発明の第１０の実施形態にかかる信号送信回路から出力される信号のフォーマットを示す図である。
【図２１】本発明の第１１の実施形態にかかる信号受信回路のブロック図である。
【図２２】本発明の第１２の実施形態にかかる信号送受信回路のブロック図である。
【図２３】本発明の第１３の実施形態にかかる信号送受信回路のブロック図である。
【図２４】本発明に関連する信号受信回路から出力される信号のフォーマットを示す図である。
【図２５】本発明に関連する信号受信回路から出力される信号のフォーマットを示す図である。
【発明を実施するための形態】
【００１２】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかる信号送受信回路１００は、信号送信回路１１０と、この信号送信回路１１０に信号線群１３０を通じて接続される信号受信回路１２０とから構成される。信号線群１３０は、複数の信号線により構成される。信号線群１３０は、ワードの伝送に使用する信号線群１３１と、誤り検出訂正符号の伝送に使用する信号線群１３２とに分けられている。
【００１３】
信号送信回路１１０は、それぞれが複数ビットから構成される複数のワードを順に入力し、これら複数のワードから、ワードと同じビット数の情報ビットと誤り検出訂正符号とから構成される複数の符号語を生成して信号線群１３０を介して信号受信回路１２０に送信する機能を有している。その際、信号送信回路１１０は、同じ符号語の複数のビットが信号線群１３０のうちの特定の信号線群に同一のタイミングで並列に出力されず、且つ、同じ符号語の誤り検出訂正符号の各ビットが信号線群１３２のそれぞれ異なる信号線に出力されるようにする。
【００１４】
ここで、特定の信号線群とは、信号線を駆動する駆動回路の電源が同じ信号線の集まりを意味する。従って、単一電源の場合には、信号線群１３０全体が１つの特定の信号線群になる。また、信号線群１３１と信号線群１３２とがそれぞれ異なる電源で駆動される駆動回路につながっている場合には、信号線群１３１と信号線群１３２のそれぞれが１つの特定の信号線群となる。さらに、信号線群１３１中に、或る電源で駆動される駆動回路につながる信号線群と別の電源で駆動される駆動回路につながる信号線群とが存在する場合、信号線群１３１中の同じ電源で駆動される駆動回路につながる信号線どうしが１つの特定の信号線群となる。一般にＬＳＩ、ＦＰＧＡにおいては、信号出力の際の電源ノイズはＬＳＩ／ＦＰＧＡのチップ上の電源配線から決まる電源供給の単位、いわゆる電源バンク（Ｂａｎｋ）単位にほぼ独立に発生する。従って異なる電源バンク間では同時スイッチングノイズを考慮する必要はない。
【００１５】
本実施形態の信号送信回路１１０は、データバッファ部１１１と符号生成部１１２と符号送信部１１３とを有する。
【００１６】
データバッファ部１１１は、入力されたワードを過去一定個数分記憶するとともに、入力順に信号線群１３１にワード単位で出力する機能を有する。
【００１７】
符号生成部１１２は、ワードを構成するビット数と同じビット数のビット列をデータバッファ部１１１に記憶されている複数のワードから抽出し、この抽出したビット列を訂正範囲とする誤り検出訂正符号を生成して符号送信部１１３に出力する機能を有する。符号生成部１１２は、上記のビット列の抽出では、ビット列中の複数のビットが、信号線群１３１のうちの特定の信号線群に同一のタイミングで出力されないビットの組み合わせになるようなビット列を抽出する。好ましくは、符号生成部１１２は、上記のビット列の抽出では、ビット列中の任意の２ビットの組み合わせが、信号線群１３１のうちの特定の信号線群に同一のタイミングで出力されないビットの組み合わせになるようなビット列を抽出する。
【００１８】
符号送信部１１３は、符号生成部１１２により生成された誤り検出訂正符号の各ビットを、出力タイミングを調整して信号線群１３２のそれぞれ異なる信号線に送信する機能を有する。符号送信部１１３は、誤り検出訂正符号の各ビットの送信を、当該誤り検出訂正符号のビット列とその訂正範囲のビット列とから構成される符号語中の複数のビットが信号線群１３０に同一のタイミングで並列に出力されることがないタイミングで実施する。好ましくは、符号送信部１１３は、誤り検出訂正符号の各ビットの送信を、当該誤り検出訂正符号のビット列とその訂正範囲のビット列とから構成される符号語中の任意の２ビットの組み合わせが信号線群１３０に同一のタイミングで並列に出力されることがないタイミングで実施する。
【００１９】
信号受信回路１２０は、信号線群１３０を介して信号送信回路１１０から複数の符号語を受信し、この受信した符号語毎に誤り検出訂正符号を用いて情報ビットの誤り訂正を行い、誤り訂正後の情報ビットによって構成されるデータをワード単位に出力する機能を有する。本実施形態では、信号受信回路１２０は、データバッファ部１２１と符号バッファ部１２２と誤り訂正部１２３とを有する。
【００２０】
データバッファ部１２１は、信号線群１３１から受信したワードを過去一定個数分記憶するとともに、受信順にワード単位で出力する機能を有する。
【００２１】
符号バッファ部１２２は、信号線群１３２から受信した誤り検出訂正符号を過去一定個数分記憶する機能を有する。
【００２２】
誤り訂正部１２３は、同じ符号語を構成する誤り検出訂正符号とその訂正範囲となるビット列とが符号バッファ部１２２とデータバッファ部１２１とに揃ったときに、符号バッファ部１２２から当該符号語の誤り検出訂正符号を読み出し、この読み出した誤り検出訂正符号を用いて、データバッファ部１２１に記憶されている訂正範囲となるビット列の誤り訂正を行う機能を有する。
【００２３】
本実施形態では、誤り検出訂正符号として、ハミング符号あるいは拡張ハミング符号を用いることができる。この場合の必要ビット数は以下の通りである。
ワードのビット数    ハミング符号    拡張ハミング符号
４ビット              ３ビット        ４ビット
８ビット              ４ビット        ５ビット
１６ビット              ５ビット        ６ビット
３２ビット              ６ビット        ７ビット
６４ビット              ７ビット        ８ビット
【００２４】
また本実施形態では、誤り検出訂正符号として、多ビット訂正が可能は符号（例えばＢＣＨ符号）やブロック訂正が可能な符号（例えばリードソロモン（Read-Solomon）符号）を用いることができる。
【００２５】
次に本実施形態の動作を説明する。
【００２６】
信号送信回路１１０のデータバッファ部１１１は、外部からワードが順に入力されると、入力されたワードを一時的に記憶し、所定時間の遅延後、信号線群１３１を通じてワード単位に信号受信回路１２０に送信する。また信号送信回路１１０の符号生成部１１２は、ワードを構成するビット数と同じビット数のビット列であって、当該ビット列中の複数のビット（好ましくは任意の２ビットの組み合わせ）が信号線群１３１のうちの特定の信号線群に同一のタイミングで出力されないビットの組み合わせとなるビット列をデータバッファ部１１１に記憶された複数のワードに跨って抽出し、この抽出したビット列を訂正範囲とする誤り検出訂正符号を生成する。さらに信号送信回路１１０の符号送信部１１３は、符号生成部１１２により生成された誤り検出訂正符号の各ビットを、当該誤り検出訂正符号のビット列とその訂正範囲のビット列とから構成される符号語中の複数のビット（好ましくは任意の２ビットの組み合わせ）が信号線群１３０に同一のタイミングで出力されることがないタイミングで、信号線群１３２のそれぞれ異なる信号線に出力する。
【００２７】
他方、信号受信回路１２０のデータバッファ部１２１は、信号線群１３１から受信したワードを一時的に記憶し、所定時間だけ遅延させて（若し誤りビットがある場合にはこの期間に誤り訂正部１２３によって訂正される）、ワード単位に外部に出力する。また信号受信回路１２０の符号バッファ部１２２は、信号線群１３２から過去一定期間に受信した誤り検出訂正符号を記憶する。そして信号受信回路１２０の誤り訂正部１２３は、符号バッファ部１２２から符号語を構成する誤り検出訂正符号を抽出し、この抽出した誤り検出訂正符号を用いて、データバッファ部１２１内のビット列のうち上記誤り検出訂正符号の訂正範囲のビット列の誤り訂正を行う。
【００２８】
このように本実施形態にかかる信号送受信回路１００によれば、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保することが可能になる。その理由は、同じ符号語の複数のビットが信号線群１３０のうちの特定の信号線群、すなわち信号線を駆動する駆動回路の電源が同じ複数の信号線に、同一のタイミングで出力されないため、同時スイッチングエラーが発生しても同じ符号語の複数のビットにエラーが発生する確率が低下するためである。また、同じ符号語の誤り検出訂正符号の各ビットが同じ一つの信号線に出力されないため、特定の信号線上に多発エラーが発生しても同じ符号語の誤り検出訂正符号の複数のビットにエラーが発生する確率が低下するためである。
【００２９】
[第２の実施形態]
図２を参照すると、本発明の第２の実施形態にかかる信号送信回路２１０は、データバッファ部２１１と符号生成部２１２と符号送信部２１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。
【００３０】
データバッファ部２１１は、４（＝ワード長）×４（＝ワード長）のセルを持つフリップフロップアレイ（ＦＦアレイ）２１４を有する。各セルは、一つのフリップフロップで構成される。以下、紙面の横方向を行、縦方向を列と定義し、ｉ行目、ｊ列目のセルをＣi,jと表記する。データバッファ部２１１は、クロックに同期してワードを入力する。データバッファ部２１１に入力されたワードの各ビットは、ＦＦアレイ２１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,4、Ｃ2,4、Ｃ3,4、Ｃ4,4が保持していたビット情報は信号線群１３１に出力される。すなわち、ＦＦアレイ２１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ２１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、Ｃ1,4、Ｃ2,3、Ｃ3,2、Ｃ4,1のセルから合計４（＝ワード長）ビットを読み出し、符号生成部２１２に出力している。読み出すセルはこの例に限定されない。ＦＦアレイ２１４の各行のセルのうち、他の行のセルとは列位置が相違する箇所のセルから合計４（＝ワード長）ビットのビット情報を読み出せればよい。
【００３１】
符号生成部２１２は、新たなワードがＦＦアレイ２１４に入力される毎に、ＦＦアレイ２１４のＣ1,4、Ｃ2,3、Ｃ3,2、Ｃ4,1のセルから読み出された４ビットを訂正範囲とする３ビットの誤り検出訂正符号を生成する。この誤り検出訂正符号の各ビットは符号送信部２１３に出力される。
【００３２】
符号送信部２１３は、ＦＦアレイ２１５を有する。ＦＦアレイ２１５の行数は、誤り検出訂正符号のビット数に等しい３である。１行目には、ＦＦアレイ２１４の列数に１を加えた５個のセルが配列されている。２行目には、ＦＦアレイ２１４の列数に２を加えた６個のセルが配列されている。３行目には、ＦＦアレイ２１４の列数に３を加えた７個のセルが配列されている。各セルは、一つのフリップフロップで構成される。符号送信部２１３は、クロックに同期して誤り検出訂正符号を入力する。符号送信部２１３に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ２１５の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,5、Ｃ2,6、Ｃ3,7が保持していたビット情報は信号線群１３２に出力される。すなわち、ＦＦアレイ２１５の各行は、それぞれ段数の異なるシフトレジスタを構成している。
【００３３】
次に本実施形態の信号送信回路２１０の動作を説明する。
【００３４】
図３は、信号送信回路２１０に入力されるワードの時系列である。図３において、縦方向はワード内のビットの並びを示し、横方向は時間を示す。ワードを他のワードと区別するため、およびワード内のビットを他のビットを区別するために、ワードのビットは、「ワード識別子‐ワード内識別子」という形式の参照符号を付与している。例えば、時刻ｔ７に入力されているビット7-1は、７番目に入力されたワードの１番目のビットを示している。
【００３５】
信号送信回路２１０のデータバッファ部２１１は、図３に示すような順序で入力されるワードをクロックに同期してＦＦアレイ２１４に順にシフトインする。またデータバッファ部２１１は、ＦＦアレイ２１４からシフトアウトされるワードを信号線群１３１に出力していく。
【００３６】
他方、データバッファ部２１１の上記動作と並行して、符号生成部２１２は、ＦＦアレイ２１４に新たなワードが入力される毎に、ＦＦアレイ２１４のＣ1,4、Ｃ2,3、Ｃ3,2、Ｃ4,1のセルから読み出された４ビットを訂正範囲とする３ビットの誤り検出訂正符号を生成し、符号送信部２１３に出力する。
【００３７】
符号送信部２１３は、上記の誤り検出訂正符号をクロックに同期してＦＦアレイ２１５に順にシフトインする。また符号送信部２１３は、ＦＦアレイ２１５からシフトアウトされる誤り検出訂正符号のビットを信号線群１３２に出力する。
【００３８】
図４は、データバッファ部２１１および符号送信部２１３から信号線群に出力されるワードと誤り検出訂正符号の時系列である。図４において、縦方向はワード内および誤り検出訂正符号内のビットの並びを示し、横方向は時間を示す。誤り検出訂正符号を他の符号語の誤り検出訂正符号と区別するため、および同じ符号語の誤り検出訂正符号内のビットを他のビットと区別するために、誤り検出訂正符号のビットは、「符号語識別子‐誤り検出訂正符号内識別子」という形式の参照符号を付与している。例えば、時刻ｔ１１に出力されているビットE3-1は、３番目の符号語における誤り検出訂正符号の１番目のビットであることを示している。また、各ワードの各ビットがどの符号語に属するかを明らかにするために、ワードのビットに符号語識別子を括弧付きで付記している。例えば、時刻ｔ１１に出力されている、７番目のワードの３番目のビット7-3(E5)は、５番目の符号語に属していることを示している。
【００３９】
図４を参照すると、本実施形態では、符号語の構成ビットが信号線群の並列伝送方向および時間方向に対して２次元的に配置され、同じタイミングで出力されるビットおよび同じ信号線に出力されるビットは符号語当たり高々１ビットである。従って、同時スイッチングノイズによって信号線群上の全てのビットにエラーが発生した場合でも、それぞれのビットがそれぞれ異なる符号語に属しているが故に訂正可能となる。例えば、時刻ｔ１１に送信されたビット7-1〜7-4の全てにエラーが発生した場合、ビット7-1は７番目の符号語、ビット7-2は６番目の符号語、ビット7-3は５番目の符号語、ビット7-4は４番目の符号語にそれぞれ属しているので、それぞれの符号語が１ビットずつエラー訂正を行うことで、結果としてビット7-1〜7-4で構成されるワードの全ビットのエラー訂正が可能になる。
【００４０】
また同じ信号線に出力されるビットは符号語当たり高々１ビットであるため、何れか１つの信号線にエラーが多発した場合でも、それぞれのビットがそれぞれ異なる符号語に属しているが故に訂正可能となる。
【００４１】
なお、本実施形態では、通信開始後の最初の３ワードおよび最後の３ワードは誤り訂正を行うことができないので、ワード信号が常時連続して流れるような装置に適している。
【００４２】
[第３の実施形態]
図５を参照すると、本発明の第３の実施形態にかかる信号受信回路３１０は、データバッファ部３１１と符号記憶部３１２と誤り訂正部３１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。
【００４３】
データバッファ部３１１は、７（＝符号語長）×４（＝ワード長）のセルを持つフリップフロップアレイ（ＦＦアレイ）３１４を有する。各セルは、一つのフリップフロップで構成される。データバッファ部３１１は、クロックに同期して信号線１３１からワードを入力する。データバッファ部３１１に入力されたワードの各ビットは、ＦＦアレイ３１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,7、Ｃ2,7、Ｃ3,7、Ｃ4,7が保持していたビット情報は外部に出力される。すなわち、ＦＦアレイ３１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ３１４のセルが保持するビット情報は、並列に読み書きすることができる。本実施形態では、同じ符号語の情報ビットを記憶するＣ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4のセルから合計４（＝ワード長）ビットを読み出し、誤り訂正部３１３に出力している。
【００４４】
符号記憶部３１２は、ＦＦアレイ３１５を有する。ＦＦアレイ３１５の行数は、誤り検出訂正符号のビット数に等しい３である。１行目には、３個のセルが配列されている。２行目には、２個のセルが配列されている。３行目には、１個のセルが配列されている。各セルは、一つのフリップフロップで構成される。符号記憶部３１２は、クロックに同期して信号線群１３２から誤り検出訂正符号を入力する。符号記憶部３１２に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ３１５の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列が保持していたビット情報は廃棄される。
【００４５】
誤り訂正部３１３は、新たなビット列が信号線群１３０から入力される毎に、同じ符号語を構成する誤り検出訂正符号の全ビットとその訂正範囲となるビット列の全ビットとをＦＦアレイ３１５とＦＦアレイ３１４とを読み出す機能を有する。具体的には、誤り訂正部３１３は、クロック毎に、ＦＦアレイ３１５のセルＣ1,3、Ｃ2,2、Ｃ3,1に保持されている誤り検出訂正符号と、ＦＦアレイ３１４のセルＣ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4に保持されている情報ビットとを読み出す。また誤り訂正部３１３は、上記読み出した情報ビットと誤り検出訂正符号とに基づいて、上記読み出した情報ビットの誤り検出を行い、若し１ビットの誤りを検出する機能と、上記誤り検出訂正符号を用いて上記情報ビットの誤り訂正を行い、訂正後の情報ビットをＦＦアレイ３１４の元のセルＣ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4に書き戻す機能とを有する。
【００４６】
次に本実施形態の信号受信回路３１０の動作を説明する。
【００４７】
信号受信回路３１０には、信号線群１３０を通じて図４に示したような時系列信号が入力される。信号受信回路３１０のデータバッファ部３１１および符号記憶部３１２は、図４に示すような順序で入力されるビット列をクロックに同期してＦＦアレイ３１４と３１５とに順にシフトインするとともに、所定時間だけ遅延させて、ワード単位に外部に出力する。若し誤りビットがある場合には、この所定期間内に誤り訂正部３１３によって訂正される。
【００４８】
誤り訂正部３１３は、新たなビット列が信号線群１３０から入力される毎に、ＦＦアレイ３１５のセルＣ1,3、Ｃ2,2、Ｃ3,1に保持されている誤り検出訂正符号と、ＦＦアレイ３１４のセルＣ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4に保持されている情報ビットとから構成される符号語を読み出す。次に誤り訂正部３１３は、この読み出した符号語の誤り検出を行う。そして誤り訂正部３１３は、若し１ビットの誤りを検出した場合、読み出した符号語の誤り検出訂正符号に基づいて、当該符号語の情報ビットの誤りを訂正し、訂正後の情報ビットをＦＦアレイ３１４の元のセルＣ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4に書き戻す。
【００４９】
本実施形態によれば、第２の実施形態にかかる信号送信回路と組み合わせて用いることができる信号受信回路を提供することができる。
【００５０】
[第４の実施形態]
図６を参照すると、本発明の第４の実施形態にかかる信号送信回路４１０は、データバッファ部４１１と符号生成部４１２と符号送信部４１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。
【００５１】
データバッファ部４１１は、８（＝ワード長×２）×４（＝ワード長）のセルを持つＦＦアレイ４１４を有する。各セルは、一つのフリップフロップで構成される。データバッファ部４１１は、クロックに同期してワードを入力する。データバッファ部４１１に入力されたワードの各ビットは、ＦＦアレイ４１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,8、Ｃ2,8、Ｃ3,8、Ｃ4,8が保持していたビット情報は信号線群１３１に出力される。すなわち、ＦＦアレイ４１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ４１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、８クロック毎に、全てのセルから合計３２（＝ワード長×８）ビットが符号生成部４１２に読み出される。
【００５２】
符号生成部４１２は、データバッファ部４１１のＦＦアレイ４１４の全セルから８ワード分の合計３２ビットを読み出す機能と、これらの３２ビットをビット長４の８個のグループに分割する機能と、各々のグループ毎にそれらのグループに属するビット列を訂正範囲とするビット長３の８個の誤り検出訂正符号を生成する機能とを有する。符号生成部４１２は、上記のビット列の分割では、任意のビット列中の任意の２ビットの組み合わせがＦＦアレイ４１４の同じ行のセルに保持されるビットの組み合わせにならず、然もＦＦアレイ４１４の同じ段のセルに保持されるビットの組み合わせにならないようにする。具体的には、本実施形態は、ＦＦアレイ４１４のセルを以下のような８グループに分割する（図７参照）。
グループ１：Ｃ1,8、Ｃ2,7、Ｃ3,6、Ｃ4,5
グループ２：Ｃ1,7、Ｃ2,6、Ｃ3,5、Ｃ4,4
グループ３：Ｃ1,6、Ｃ2,5、Ｃ3,4、Ｃ4,3
グループ４：Ｃ1,5、Ｃ2,4、Ｃ3,3、Ｃ4,2
グループ５：Ｃ1,4、Ｃ2,3、Ｃ3,2、Ｃ4,1
グループ６：Ｃ1,3、Ｃ2,2、Ｃ3,1、Ｃ4,8
グループ７：Ｃ1,2、Ｃ2,1、Ｃ3,8、Ｃ4,7
グループ８：Ｃ1,1、Ｃ2,8、Ｃ3,7、Ｃ4,6
【００５３】
符号生成部４１２によって生成された上記８グループ分の合計２４ビットの誤り検出訂正符号は、符号送信部４１３に出力される。
【００５４】
符号送信部４１３は、８（＝ワード長×２）×３（＝符号長）のセルを持つＦＦアレイ４１５を有する。各セルは、一つのフリップフロップで構成される。符号送信部４１３は、符号生成部４１２によって生成された上記８グループ分の合計２４ビットの誤り検出訂正符号をＦＦアレイ４１５の２４個のセルに詰め込む。符号送信部４１３は、この詰め込みでは、同じ符号語の誤り検出訂正符号中の任意の２ビットの組み合わせがＦＦアレイ４１５の同一行および同一列のビットの組み合わせにならず、然も同じ符号語の誤り検出訂正符号中の各ビットを保持するＦＦアレイ４１５の段がその訂正範囲のビット列を保持するＦＦアレイ４１４の段と同じ段にならないようにする。具体的には、本実施形態は、各グループの符号ビットを以下のセルに詰め込む（図７参照）
グループ１：Ｃ1,4、Ｃ2,3、Ｃ3,2
グループ２：Ｃ1,3、Ｃ2,2、Ｃ3,1
グループ３：Ｃ1,2、Ｃ2,1、Ｃ3,8
グループ４：Ｃ1,1、Ｃ2,8、Ｃ3,7
グループ５：Ｃ1,8、Ｃ2,7、Ｃ3,6
グループ６：Ｃ1,7、Ｃ2,6、Ｃ3,5
グループ７：Ｃ1,6、Ｃ2,5、Ｃ3,4
グループ８：Ｃ1,5、Ｃ2,4、Ｃ3,3
【００５５】
また符号送信部４１３は、ＦＦアレイ４１５に誤り検出訂正符号を格納すると、クロックに同期してＦＦアレイ４１５の各列のセルが保持している誤り検出訂正符号のビット情報を１つ後ろの列のセルに移動させ、最後尾の列のセルＣ1,8、Ｃ2,8、Ｃ3,8が保持していたビット情報は信号線群１３２に出力する。
【００５６】
次に本実施形態の信号送信回路４１０の動作を説明する。
【００５７】
信号送信回路４１０には、図３に示したような時系列信号が入力される。信号送信回路４１０のデータバッファ部４１１は、図３に示すような順序で入力されるワードをクロックに同期してＦＦアレイ４１４に順にシフトインする。そしてデータバッファ部４１１は、８ワード分のデータをＦＦアレイ４１４に入力した時点で、ＦＦアレイ４１４の全てのセルのビットが符号生成部４１２に出力された後、再び、８ワード分のデータをＦＦアレイ４１４に順にシフトインする。このシフトインに伴ってＦＦアレイ４１４からシフトアウトされるワードは、信号線群１３１に順次出力される。これに同期して、符号送信部４１３のＦＦアレイ４１５からは誤り検出訂正符号が信号線群１３２に順次出力されている。
【００５８】
他方、符号生成部４１２は、８ワード分のデータがＦＦアレイ４１４に入力される毎に、これら８ワード分のデータをＦＦアレイ４１４から読み出して図７に示したような４ビット長の８つのグループに分割し、各グループ毎にそのグループに属する情報ビットを訂正範囲とする合計２４ビットの誤り検出訂正符号を生成し、符号送信部４１３へ出力する。そして、符号送信部４１３は、８グループ分の上記２４ビットの誤り検出訂正符号を図７に示したようなフォーマットでＦＦアレイ４１５に格納し、クロックに同期してＦＦアレイ４１５のシフトアウトを行う。ＦＦアレイ４１５からシフトアウトされる誤り検出訂正符号は、信号線群１３２に順に出力される。
【００５９】
図８は、データバッファ部５１１および符号送信部５１２から信号線群に出力されるワードと誤り検出訂正符号の時系列である。図８に示されるように、本実施形態では、符号語の構成ビットが信号線群の並列伝送方向および時間方向に対して２次元的に配置され、同じタイミングで出力されるビットおよび同じ信号線に出力されるビットは符号語当たり高々１ビットである。従って、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保することができる。
【００６０】
また本実施形態では、８ワード（２×ワード長）単位で、その８ワード分の情報ビットとそれらのための誤り検出訂正符号の全ビットとを送信することができる。このため、本実施形態は、バーストデータの送信に特に適している。
【００６１】
[第５の実施形態]
図９を参照すると、本発明の第５の実施形態にかかる信号受信回路５１０は、データバッファ部５１１と符号記憶部５１２と誤り訂正部５１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。
【００６２】
データバッファ部５１１は、８（＝ワード長×２）×４（＝ワード長）のセルを持つＦＦアレイ５１４を有する。各セルは、一つのフリップフロップで構成される。データバッファ部５１１は、クロックに同期してワードを入力する。データバッファ部５１１に入力されたワードの各ビットは、ＦＦアレイ５１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,8、Ｃ2,8、Ｃ3,8、Ｃ4,8が保持していたビット情報は外部に出力される。すなわち、ＦＦアレイ５１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ５１４のセルが保持するビット情報は、並列に読み書きすることができる。本実施形態では、３２クロック毎に、全てのセルから合計３２（＝ワード長×８）ビットが誤り訂正部５１３に読み出される。また、誤り訂正された場合、訂正後の情報ビットがＦＦアレイ５１４の該当するセルに書き戻される。
【００６３】
符号記憶部５１２は、８（＝ワード長×２）×３（＝誤り検出訂正符号長）のセルを持つＦＦアレイ５１５を有する。各セルは、一つのフリップフロップで構成される。符号記憶部５１２は、クロックに同期して信号線群１３２から誤り検出訂正符号のビットを入力する。符号記憶部５１２に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ５１５の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,8、Ｃ2,8、Ｃ3,8が保持していたビット情報は廃棄される。すなわち、ＦＦアレイ５１５の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ５１５のセルが保持するビット情報は、並列に読み書きすることができる。本実施形態では、３２クロック毎に、全てのセルから合計２４（＝誤り検出訂正符号長×８）ビットが誤り訂正部５１３に読み出される。
【００６４】
誤り訂正部５１３は、ＦＦアレイ５１４とＦＦアレイ５１５とから合計８符号語分の情報ビットと誤り検出訂正符号ビットとを読み出す機能と、これらの符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正する機能と、訂正後のビット列をＦＦアレイ５１４の元のセルに書き戻す機能とを有する。誤り訂正部５１３は、これらの処理を１クロック内で実施する。
【００６５】
次に本実施形態の信号受信回路５１０の動作を説明する。
【００６６】
信号受信回路５１０には、信号線群１３０を通じて図８に示したような時系列信号が入力される。信号受信回路５１０のデータバッファ部５１１および符号記憶部５１２は、図８に示すような順序で入力されるビット列をクロックに同期してＦＦアレイ５１４と５１５とに順にシフトインする。
【００６７】
誤り訂正部５１３は、３２クロック毎に、すなわち８つのワードとその誤り検出訂正符号とを含む合計８つの符号語がＦＦアレイ５１４とＦＦアレイ５１５との保持される毎に、ＦＦアレイ５１４とＦＦアレイ５１５とから合計８符号語分の情報ビットと誤り検出訂正符号ビットとを読み出し、符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正し、訂正後のビット列をＦＦアレイ５１４の元のセルに書き戻す。
【００６８】
誤り訂正部５１３による上記処理は１クロック内で実施される。その後、クロックに同期して、次の８個分の符号語が信号線群からＦＦアレイ５１４とＦＦアレイ５１５とに順にシフトインされていき、これに伴ってＦＦアレイ５１４から誤り訂正後のワードが順にシフトアウトされて外部に出力される。
【００６９】
本実施形態によれば、第３の実施形態にかかる信号送信回路と組み合わせて用いることができる信号受信回路を提供することができる。
【００７０】
[第６の実施形態]
図１０を参照すると、本発明の第６の実施形態にかかる信号送信回路６１０は、データバッファ部６１１と符号生成部６１２と符号送信部６１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号送信回路６１０に接続される信号線群１３１は、電源バンクＡに属する信号線群１３１−１と、電源バンクＢに属する信号線群１３１−２とに分割されているものとする。さらに符号送信部６１３に接続される信号線群１３２は、別の電源バンクＣに属するものとする。
【００７１】
データバッファ部６１１は、信号線群１３１−１に対応するＦＦアレイ６１４−１と信号線群１３１−２に対応するＦＦアレイ６１４−２とを有する。それぞれのＦＦアレイ６１４は、３×２（＝１／ワード長）のセルを持つ。各セルは、一つのフリップフロップで構成される。データバッファ部６１１は、クロックに同期してワードを入力する。データバッファ部６１１に入力されたワードの各ビットは、２つのＦＦアレイ６１４の１列目のセルＣ1,1、Ｃ2,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,3、Ｃ2,3が保持していたビット情報は、信号線群１３１−１、１３１−２に出力される。すなわち、２つのＦＦアレイ６１４の各行は一つのシフトレジスタを構成している。また、２つのＦＦアレイ６１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、３クロック毎に、２つのＦＦアレイ６１４毎に、全てのセルから合計６ビットが符号生成部６１２に読み出される。
【００７２】
符号生成部６１２は、それぞれのＦＦアレイ６１４毎に、当該ＦＦアレイ６１４の６個のセルから情報ビットを読み出す機能と、これらの６ビットのビット列をビット長２の３個のグループに分割する機能とを有する。符号生成部６１２は、上記のビット列の分割では、任意のビット列中の任意の２ビットの組み合わせが同じＦＦアレイ６１４の同じ行のセルに保持されるビットの組み合わせにならず、然も同じＦＦアレイ６１４の同じ段のセルに保持されるビットの組み合わせにならないようにする。具体的には、本実施形態は、以下のようなセルのグループに分割する（図１１参照）。
グループ１：Ｃ1,3、Ｃ2,2
グループ２：Ｃ1,2、Ｃ2,1
グループ３：Ｃ1,1、Ｃ2,3
【００７３】
また符号生成部６１２は、上記グループ毎に、２つのＦＦアレイ６１４の同じグループに属する合計４ビットのビット列を訂正範囲とするビット長３の誤り検出訂正符号を生成する機能を有する。符号生成部６１４によって生成された上記グループ分の合計９ビットの誤り検出訂正符号は、符号送信部６１３に出力される。
【００７４】
符号送信部６１３は、３×３（＝ワード長）のセルを持つＦＦアレイ６１５を有する。各セルは、一つのフリップフロップで構成される。符号送信部６１３は、符号生成部６１２によって生成された上記３グループ分の合計９ビットの誤り検出訂正符号をＦＦアレイ６１５の９個のセルに詰め込む。符号送信部６１３は、この詰め込みでは、同じ符号語の誤り検出訂正符号中の任意の２ビットの組み合わせがＦＦアレイ６１３の同一行および同一列のビットの組み合わせにならないようにする。具体的には、本実施形態は、以下のように詰め込む（図７参照）
グループ１：Ｃ1,3、Ｃ2,2、Ｃ3,1
グループ２：Ｃ1,2、Ｃ2,1、Ｃ3,3
グループ３：Ｃ1,1、Ｃ2,3、Ｃ3,2
【００７５】
また符号送信部６１３は、ＦＦアレイ６１５に誤り検出訂正符号を格納すると、クロックに同期してＦＦアレイ６１５の各列のセルが保持している誤り検出訂正符号のビット情報を１つ後ろの列のセルに移動させ、最後尾の列のセルＣ1,3、Ｃ2,3、Ｃ3,3が保持していたビット情報は信号線群１３２のそれぞれ異なる信号線に出力する。
【００７６】
次に本実施形態の信号送信回路６１０の動作を説明する。
【００７７】
信号送信回路６１０には、図３に示したような時系列信号が入力される。信号送信回路６１０のデータバッファ部６１１は、図３に示すような順序で入力されるワードをクロックに同期して２つのＦＦアレイ６１４に順にシフトインする。そしてデータバッファ部６１１は、３ワード分のデータを２つのＦＦアレイ６１４に入力した時点で、２つのＦＦアレイ６１４の全てのセルのビットを符号生成部６１２に出力した後、再び、３ワード分のデータを２つのＦＦアレイ６１４に順にシフトインする。このシフトインに伴って２つのＦＦアレイ６１４からシフトアウトされるワードは、信号線群１３１−１、信号線群１３１−１に順次出力される。これに同期して、後述するように符号送信部４１３のＦＦアレイ４１５から誤り検出訂正符号が信号線群１３２に順次出力される。
【００７８】
他方、符号生成部６１２は、３ワード分のデータが２つのＦＦアレイ６１４に入力される毎に、これら３ワード分のデータを２つのＦＦアレイ６１４から読み出して図１１に示したような４ビット長の３つのグループに分割し、各グループ毎にそのグループに属する情報ビットを訂正範囲とする合計９ビットの誤り検出訂正符号を生成し、符号送信部６１３へ出力する。そして、符号送信部６１３は、３グループ分の上記９ビットの誤り検出訂正符号を図１１に示したようなフォーマットでＦＦアレイ６１５に格納し、クロックに同期してＦＦアレイ６１５のシフトアウトを行う。ＦＦアレイ６１５からシフトアウトされる誤り検出訂正符号は、信号線群１３２に順に出力される。
【００７９】
図１２は、データバッファ部６１１および符号送信部６１２から信号線群に出力されるワードと誤り検出訂正符号の時系列である。図１２に示されるように、本実施形態では、電源バンク毎に、符号語の構成ビットが信号線群の並列伝送方向および時間方向に対して２次元的に配置され、同じタイミングで出力されるビットおよび同じ信号線に出力されるビットは符号語当たり高々１ビットである。従って、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保することができる。
【００８０】
また本実施形態では、所定数のワード単位（本実施形態では、３ワード単位）で、そのワード分の情報ビットとそれらのための誤り検出訂正符号の全ビットとを送信することができる。このため、本実施形態は、バーストデータの送信に特に適している。
【００８１】
[第７の実施形態]
図１３を参照すると、本発明の第７の実施形態にかかる信号受信回路７１０は、データバッファ部７１１と符号記憶部７１２と誤り訂正部７１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号受信回路７１０に接続される信号線群１３１は、電源バンクＡに属する信号線群１３１−１と、電源バンクＢに属する信号線群１３１−２とに分割されているものとする。さらに符号受信部７１２に接続される信号線群１３２は、別の電源バンクＣに属するものとする。
【００８２】
データバッファ部７１１は、信号線群１３１−１に対応するＦＦアレイ７１４−１と信号線群１３１−２に対応するＦＦアレイ７１４−２とを有する。それぞれのＦＦアレイ７１４は、３×２（＝１／ワード長）のセルを持つ。各セルは、一つのフリップフロップで構成される。データバッファ部７１１は、クロックに同期してワードを入力する。データバッファ部７１１に入力されたワードの各ビットは、２つのＦＦアレイ７１４の１列目のセルＣ1,1、Ｃ2,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,3、Ｃ2,3が保持していたビット情報は、信号線群１３１−１、１３１−２に出力される。すなわち、２つのＦＦアレイ７１４の各行は一つのシフトレジスタを構成している。また、２つのＦＦアレイ７１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、３クロック毎に、２つのＦＦアレイ７１４毎に、全てのセルから合計６ビットが誤り訂正部７１３に読み出される。
【００８３】
符号記憶部７１２は、３×３のセルを持つＦＦアレイ７１５を有する。各セルは、一つのフリップフロップで構成される。符号記憶部７１２は、クロックに同期して信号線群１３２から誤り検出訂正符号を入力する。符号記憶部７１２に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ７１５の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,3、Ｃ2,3、Ｃ3,3が保持していたビット情報は廃棄される。すなわち、ＦＦアレイ７１５の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ７１５のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、３クロック毎に、ＦＦアレイ７１５の全てのセルから合計９ビットが誤り訂正部７１３に読み出される。
【００８４】
誤り訂正部７１３は、ＦＦアレイ７１４とＦＦアレイ７１５とから合計３符号語分の情報ビットと誤り検出訂正符号ビットとを読み出す機能と、これらの符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正する機能と、訂正後のビット列をＦＦアレイ７１４の元のセルに書き戻す機能とを有する。誤り訂正部７１３は、これらの処理を１クロック内で実施する。
【００８５】
次に本実施形態の信号受信回路７１０の動作を説明する。
【００８６】
信号受信回路７１０には、信号線群１３０を通じて図１２に示したような時系列信号が入力される。信号受信回路７１０のデータバッファ部７１１および符号記憶部７１２は、図１２に示すような順序で入力されるビット列をクロックに同期してＦＦアレイ７１４とＦＦアレイ７１５とに順にシフトインする。
【００８７】
誤り訂正部７１３は、３クロック毎に、すなわち３つのワードとその誤り検出訂正符号とを含む合計３つの符号語がＦＦアレイ７１４とＦＦアレイ７１５とに保持される毎に、ＦＦアレイ７１４とＦＦアレイ７１５とから合計３符号語分の情報ビットと誤り検出訂正符号ビットとを読み出し、符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正し、訂正後のビット列をＦＦアレイ７１４の元のセルに書き戻す。
【００８８】
誤り訂正部７１３による上記処理は１クロック内で実施される。その後、クロックに同期して、次の３個分の符号語が信号線群からＦＦアレイ７１４とＦＦアレイ７１５とに順にシフトインされていき、これに伴ってＦＦアレイ７１４から誤り訂正後のワードが順にシフトアウトされて外部に出力される。
【００８９】
本実施形態によれば、第６の実施形態にかかる信号送信回路と組み合わせて用いることができる信号受信回路を提供することができる。
【００９０】
[第８の実施形態]
図１４を参照すると、本発明の第８の実施形態にかかる信号送信回路８１０は、データバッファ部８１１と符号生成部８１２と符号送信部８１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号送信回路８１０に接続される信号線群１３１は、電源バンクＡに属する信号線群１３１−１と、電源バンクＢに属する信号線群１３１−２とに分割されているものとする。さらに符号送信部８１３に接続される信号線群１３２は、別の電源バンクＣに属するものとする。
【００９１】
データバッファ部８１１は、信号線群１３１−１に対応するＦＦアレイ８１４−１と信号線群１３１−２に対応するＦＦアレイ８１４−２とを有する。それぞれのＦＦアレイ８１４は、６×２のセルを持つ。各セルは、一つのフリップフロップで構成される。データバッファ部８１１は、クロックに同期してワードを入力する。データバッファ部８１１に入力されたワードの各ビットは、２つのＦＦアレイ８１４の１列目のセルＣ1,1、Ｃ2,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,6、Ｃ2,6が保持していたビット情報は、信号線群１３１−１、１３１−２に出力される。すなわち、２つのＦＦアレイ８１４の各行は一つのシフトレジスタを構成している。また、２つのＦＦアレイ８１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、６クロック毎に、２つのＦＦアレイ８１４毎に、全てのセルから合計１２ビットが符号生成部８１２に読み出される。
【００９２】
符号生成部８１２は、それぞれのＦＦアレイ８１４毎に、当該ＦＦアレイ８１４の１２個のセルから情報ビットを読み出す機能と、これらの１２ビットのビット列をビット長２の６個のグループに分割する機能とを有する。符号生成部８１２は、上記のビット列の分割では、任意のビット列中の任意の２ビットの組み合わせが同じＦＦアレイ８１４の同じ行のセルに保持されるビットの組み合わせにならず、然も同じＦＦアレイ８１４の同じあるいは隣接する段のセルに保持されるビットの組み合わせにならないようにする。具体的には、本実施形態は、以下のようなセルのグループに分割する（図１５参照）。
グループ１：Ｃ1,6、Ｃ2,4
グループ２：Ｃ1,5、Ｃ2,3
グループ３：Ｃ1,4、Ｃ2,2
グループ４：Ｃ1,3、Ｃ2,1
グループ５：Ｃ1,2、Ｃ2,6
グループ６：Ｃ1,1、Ｃ2,5
【００９３】
また符号生成部８１２は、上記グループ毎に、２つのＦＦアレイ８１４の同じグループに属する合計４ビットのビット列を訂正範囲とするビット長３の誤り検出訂正符号を生成する機能を有する。符号生成部６１４によって生成された上記グループ分の合計１８ビットの誤り検出訂正符号は、符号送信部８１３に出力される。
【００９４】
符号送信部８１３は、３×６のセルを持つＦＦアレイ８１５を有する。各セルは、一つのフリップフロップで構成される。符号送信部８１３は、符号生成部８１２によって生成された上記６グループ分の合計１８ビットの誤り検出訂正符号をＦＦアレイ８１５の１８個のセルに詰め込む。符号送信部８１３は、この詰め込みでは、同じ符号語の誤り検出訂正符号中の任意の２ビットの組み合わせがＦＦアレイ６１３の同一行の組み合わせにならず、然も同一あるいは隣接する列のビットの組み合わせにならないようにする。具体的には、本実施形態は、以下のように詰め込む（図１５参照）
グループ１：Ｃ1,6、Ｃ2,4、Ｃ3,2
グループ２：Ｃ1,5、Ｃ2,3、Ｃ3,1
グループ３：Ｃ1,4、Ｃ2,2、Ｃ3,6
グループ４：Ｃ1,3、Ｃ2,1、Ｃ3,5
グループ５：Ｃ1,2、Ｃ2,6、Ｃ3,4
グループ６：Ｃ1,1、Ｃ2,5、Ｃ3,3
【００９５】
また符号送信部８１３は、ＦＦアレイ８１５に誤り検出訂正符号を格納すると、クロックに同期してＦＦアレイ８１５の各列のセルが保持している誤り検出訂正符号のビット情報を１つ後ろの列のセルに移動させ、最後尾の列のセルＣ1,6、Ｃ2,6、Ｃ3,6が保持していたビット情報は信号線群１３２のそれぞれ異なる信号線に出力する。
【００９６】
次に本実施形態の信号送信回路８１０の動作を説明する。
【００９７】
信号送信回路８１０には、図３に示したような時系列信号が入力される。信号送信回路８１０のデータバッファ部８１１は、図３に示すような順序で入力されるワードをクロックに同期して２つのＦＦアレイ８１４に順にシフトインする。そしてデータバッファ部８１１は、６ワード分のデータを２つのＦＦアレイ８１４に入力した時点で、２つのＦＦアレイ８１４の全てのセルのビットを符号生成部８１２に出力した後、再び、６ワード分のデータを２つのＦＦアレイ８１４に順にシフトインする。このシフトインに伴って２つのＦＦアレイ８１４からシフトアウトされるワードは、信号線群１３１−１、信号線群１３１−１に順次出力される。これに同期して、後述するように符号送信部８１３のＦＦアレイ８１５から誤り検出訂正符号が信号線群１３２に順次出力される。
【００９８】
他方、符号生成部８１２は、６ワード分のデータが２つのＦＦアレイ８１４に入力される毎に、これら６ワード分のデータを２つのＦＦアレイ８１４から読み出して図１５に示したような４ビット長の６つのグループに分割し、各グループ毎にそのグループに属する情報ビットを訂正範囲とする合計１８ビットの誤り検出訂正符号を生成し、符号送信部８１３へ出力する。そして、符号送信部８１３は、６グループ分の上記１８ビットの誤り検出訂正符号を図１５に示したようなフォーマットでＦＦアレイ８１５に格納し、クロックに同期してＦＦアレイ８１５のシフトアウトを行う。ＦＦアレイ８１５からシフトアウトされる誤り検出訂正符号は、信号線群１３２に順に出力される。
【００９９】
図１６は、データバッファ部８１１および符号送信部８１２から信号線群に出力されるワードと誤り検出訂正符号の時系列である。図１６に示されるように、本実施形態では、電源バンク毎に、符号語の構成ビットが信号線群の並列伝送方向および時間方向に対して２次元的に配置され、同じタイミングで出力されるビットおよび同じ信号線に出力されるビットは符号語当たり高々１ビットである。従って、同時スイッチングエラーと特定の信号線上の多発エラーとの双方に対してエラー訂正能力を確保することができる。
【０１００】
また本実施形態では、電源バンク毎に、同じ符号語の構成ビットが連続して出力されず、１ビット飛びで出力されている。このため、非常に大きな同時スイッチングノイズによって連続する２ワードにエラーが発生した場合でも、それぞれのビットがそれぞれ異なる符号語に属しているが故に訂正可能となる。本実施形態では、１ビット飛びであるが、２ビット飛び、３ビット飛びの符号化フォーマットにすればさらに効果が増すのは言うまでもない。
【０１０１】
本実施形態では、所定数のワード単位（本実施形態では、６ワード単位）で、そのワード分の情報ビットとそれらのための誤り検出訂正符号の全ビットとを送信することができる。このため、本実施形態は、バーストデータの送信に特に適している。
【０１０２】
[第９の実施形態]
図１７を参照すると、本発明の第９の実施形態にかかる信号受信回路９１０は、データバッファ部９１１と符号記憶部９１２と誤り訂正部９１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号送信回路９１０に接続される信号線群１３１は、電源バンクＡに属する信号線群１３１−１と、電源バンクＢに属する信号線群１３１−２とに分割されているものとする。さらに符号記憶部９１２に接続される信号線群１３２は、別の電源バンクＣに属するものとする。
【０１０３】
データバッファ部９１１は、信号線群１３１−１に対応するＦＦアレイ９１４−１と信号線群１３１−２に対応するＦＦアレイ９１４−２とを有する。それぞれのＦＦアレイ９１４は、６×２のセルを持つ。各セルは、一つのフリップフロップで構成される。データバッファ部９１１は、クロックに同期してワードを入力する。データバッファ部９１１に入力されたワードの各ビットは、２つのＦＦアレイ９１４の１列目のセルＣ1,1、Ｃ2,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,6、Ｃ2,6が保持していたビット情報は、ワードとして外部に出力される。すなわち、２つのＦＦアレイ９１４の各行は一つのシフトレジスタを構成している。また、２つのＦＦアレイ９１４のセルが保持するビット情報は、並列に読み書きすることができる。本実施形態では、６クロック毎に、２つのＦＦアレイ９１４毎に、全てのセルから合計１２ビットが誤り訂正部９１３に読み出される。
【０１０４】
符号記憶部９１２は、６×２のセルを持つＦＦアレイ９１５を有する。各セルは、一つのフリップフロップで構成される。符号記憶部９１２は、クロックに同期して信号線群１３２から誤り検出訂正符号を入力する。符号記憶部９１２に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ９１５の１列目のセルＣ1,1、Ｃ2,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動し、最後尾の列のセルＣ1,6、Ｃ2,6が保持していたビット情報は廃棄される。すなわち、ＦＦアレイ９１５の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ９１５のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、６クロック毎に、ＦＦアレイ９１５の全てのセルから合計１８ビットが誤り訂正部９１３に読み出される。
【０１０５】
誤り訂正部９１３は、ＦＦアレイ９１４とＦＦアレイ９１５とから合計６符号語分の情報ビットと誤り検出訂正符号ビットとを読み出す機能と、これらの符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正する機能と、訂正後のビット列をＦＦアレイ９１４の元のセルに書き戻す機能とを有する。誤り訂正部９１３は、これらの処理を１クロック内で実施する。
【０１０６】
次に本実施形態の信号受信回路９１０の動作を説明する。
【０１０７】
信号受信回路９１０には、信号線群１３０を通じて図１６に示したような時系列信号が入力される。信号受信回路９１０のデータバッファ部９１１および符号記憶部９１２は、図１６に示すような順序で入力されるビット列をクロックに同期してＦＦアレイ９１４とＦＦアレイ９１５とに順にシフトインする。
【０１０８】
誤り訂正部９１３は、６クロック毎に、すなわち６つのワードとその誤り検出訂正符号とを含む合計６つの符号語がＦＦアレイ９１４とＦＦアレイ９１５とに保持される毎に、ＦＦアレイ９１４とＦＦアレイ９１５とから合計６符号語分の情報ビットと誤り検出訂正符号ビットとを読み出し、符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正し、訂正後のビット列をＦＦアレイ９１４の元のセルに書き戻す。
【０１０９】
誤り訂正部９１３による上記処理は１クロック内で実施される。その後、クロックに同期して、次の６個分の符号語が信号線群からＦＦアレイ９１４とＦＦアレイ９１５とに順にシフトインされていき、これに伴ってＦＦアレイ９１４から誤り訂正後のワードが順にシフトアウトされて外部に出力される。
【０１１０】
本実施形態によれば、第８の実施形態にかかる信号送信回路と組み合わせて用いることができる信号受信回路を提供することができる。
【０１１１】
[第１０の実施形態]
図１８を参照すると、本発明の第１０の実施形態にかかる信号送信回路１０１０は、データバッファ部１０１１と符号生成部１０１２と符号送信部１０１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号送信回路１０１０に接続される信号線群１３１は電源バンクＡに属し、符号送信部１０１３に接続される信号線群１３２は、別の電源バンクＢに属するものとする。
【０１１２】
データバッファ部１０１１は、４×４のセルを持つＦＦアレイ１０１４を有する。各セルは、一つのフリップフロップで構成される。データバッファ部１０１１は、クロックに同期してワードを入力する。データバッファ部１０１１に入力されたワードの各ビットは、ＦＦアレイ１０１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動する。すなわち、ＦＦアレイ１０１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ１０１４のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、ＦＦアレイ１０１４に４ワード分のデータが保持された後、２度にわたって読み出しが行われる。１回目の読み出しは、誤り検出訂正符号を生成するために、ＦＦアレイ１０１４の各行単位で、セルに保持されたビットが一つのグループとして並列に読み出されて符号生成部１０１２に出力される。すなわち、図１９に示すように、ＦＦアレイ１０１４の１行目のセルＣ1,1、Ｃ1,2、Ｃ1,3、Ｃ1,4のビット列がグループ１、２行目のセルＣ2,1、Ｃ2,2、Ｃ2,3、Ｃ2,4のビット列がグループ２、３行目のセルＣ3,1、Ｃ3,2、Ｃ3,3、Ｃ3,4のビット列がグループ３、４行目のセルＣ4,1、Ｃ4,2、Ｃ4,3、Ｃ4,4のビット列がグループ４として読み出されて符号生成部１０１２に出力される。２回目の読み出しは、信号線１３１にデータを出力するために、ＦＦアレイ１０１４の各列単位に、セルに保持されたビットが一つのワードとして読み出されて信号線群１３１のそれぞれ異なる信号線に出力される。
【０１１３】
符号生成部１０１２は、ＦＦアレイ１０１４から行単位で情報ビットを読み出す機能と、この読み出した行単位のビット列毎に、そのビット列を訂正範囲とするビット長３の誤り検出訂正符号を生成する機能とを有する。符号生成部１０１２によって生成された４符号語分の合計１２ビットの誤り検出訂正符号は、符号送信部１０１３に出力される。
【０１１４】
符号送信部１０１３は、３×４のセルを持つＦＦアレイ１０１５を有する。各セルは、一つのフリップフロップで構成される。符号送信部１０１３は、符号生成部１０１２によって生成された４符号語分の合計１２ビットの誤り検出訂正符号をＦＦアレイ１０１５の１２個のセルに詰め込む。符号送信部１０１３は、この詰め込みでは、同じ符号語の誤り検出訂正符号中の任意の２ビットの組み合わせがＦＦアレイ１０１５の同一行の組み合わせにならず、然も同一列のビットの組み合わせにならないようにする。具体的には、本実施形態は、各グループの誤り検出訂正符号をＦＦアレイ１０１３の以下のセルに詰め込む（図１９参照）
グループ１：Ｃ1,4、Ｃ2,3、Ｃ3,2
グループ２：Ｃ1,3、Ｃ2,2、Ｃ3,1
グループ３：Ｃ1,2、Ｃ2,1、Ｃ3,4
グループ４：Ｃ1,1、Ｃ2,4、Ｃ3,3
【０１１５】
また符号送信部１０１３は、ＦＦアレイ１０１５に誤り検出訂正符号を格納すると、クロックに同期してＦＦアレイ８１５の各列のセルが保持している誤り検出訂正符号のビットを１つ後ろの列のセルに移動させ、最後尾の列のセルＣ1,4、Ｃ2,4、Ｃ3,4、Ｃ4,4が保持していたビット情報は信号線群１３２のそれぞれ異なる信号線に出力する。
【０１１６】
次に本実施形態の信号送信回路１０１０の動作を説明する。
【０１１７】
信号送信回路１０１０には、図３に示したような時系列信号が入力される。信号送信回路１０１０のデータバッファ部１０１１は、図３に示すような順序で入力されるワードをクロックに同期してＦＦアレイ１０１４に順にシフトインする。そしてデータバッファ部８１１は、４ワード分のデータをＦＦアレイ１０１４に入力した時点で、ＦＦアレイ１０１４の各行のビット列を一つのグループのビット列として符号生成部１０１２に出力する。
【０１１８】
符号生成部１０１２は、ＦＦアレイ１０１４の各行（各グループ）のビット列を訂正範囲とする誤り検出訂正符号を生成し、符号送信部１０１３に出力する。符号送信部１０１３は、各グループの誤り検出訂正符号を図１９に示したような配置方法でＦＦアレイ１０１５に詰め込む。
【０１１９】
その後、データバッファ部１０１１におけるＦＦアレイ１０１４と符号送信部１０１３におけるＦＦアレイ１０１５とがクロックに同期して列方向に４クロック分、シフトされる。これにより、次の４ワードがＦＦアレイ１０１４に順に入力されると共に、ＦＦアレイ１０１４に保持されていた４符号語分の合計１６ビットがワード単位で信号線群１３１に順に出力され、且つ、ＦＦアレイ１０１５に保持されていた４符号語分の合計１２ビットの誤り検出訂正符号が信号線群１３２に３ビットずつ並列に出力される。
【０１２０】
図２０は、本実施形態の信号送信回路１０１０から信号線群に出力されるワードと誤り検出訂正符号の時系列である。図２０に示されるように、本実施形態では、電源バンク毎に、同じタイミングで信号線群に出力されるビットは符号語当たり高々１ビットである。従って、同時スイッチングノイズによって特定の信号線群上の全てのビットにエラーが発生した場合でも、それぞれのビットがそれぞれ異なる符号語に属しているが故に訂正可能となる。
【０１２１】
また本実施形態では、同じ信号線に出力される誤り検出訂正ビットは符号語当たり高々１ビットである。従って、特定の信号線上の多発エラーに対してエラー訂正能力を確保することが可能になる。
【０１２２】
本実施形態では、所定数のワード単位（本実施形態では、４ワード単位）で、そのワード分の情報ビットとそれらのための誤り検出訂正符号の全ビットとを送信することができる。このため、本実施形態は、バーストデータの送信に特に適している。
【０１２３】
[第１１の実施形態]
図２１を参照すると、本発明の第１１の実施形態にかかる信号受信回路１１１０は、データバッファ部１１１１と符号記憶部１１１２と誤り訂正部１１１３とを有する。以下、ワードのビット数が４ビット、誤り検出訂正符号のビット数が３ビットのハミング符号を例にして、各部の構成を説明する。また、信号受信回路１１１０に接続される信号線群１３１は電源バンクＡに属し、符号記憶部１１１２に接続される信号線群１３２は、別の電源バンクＢに属するものとする。
【０１２４】
データバッファ部１１１１は、４×４のセルを持つＦＦアレイ１１１４を有する。各セルは、一つのフリップフロップで構成される。データバッファ部１１１１は、クロックに同期して信号線群１３１からワードを入力する。データバッファ部１１１１に入力されたワードの各ビットは、ＦＦアレイ１１１４の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1、Ｃ4,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動する。すなわち、ＦＦアレイ１１１４の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ１１１４のセルが保持するビット情報は、並列に読み書きすることができる。本実施形態では、ＦＦアレイ１１１４に４ワード分のデータが保持された後、２度にわたって読み出しが行われる。１回目の読み出しは、誤り検出訂正を行うために、ＦＦアレイ１１１４の各行単位で、セルに保持されたビットが一つのグループとして並列に読み出されて誤り訂正部１１１３に出力される。２回目の読み出しは、受信データを外部に出力するために、ＦＦアレイ１１１４の各列単位に、セルに保持されたビットが一つのワードとして読み出されて外部に出力される。また、誤り訂正が必要になる場合、上記１回目の読み出しと２回目の読み出しとの間に、ＦＦアレイ１１１４への書き出しが実施される。
【０１２５】
符号記憶部１１１２は、４×４のセルを持つＦＦアレイ１１１５を有する。各セルは、一つのフリップフロップで構成される。データバッファ部１１１１は、クロックに同期して信号線群１３２から誤り検出訂正符号を入力する。符号記憶部１１１２に入力された誤り検出訂正符号の各ビットは、ＦＦアレイ１１１５の１列目のセルＣ1,1、Ｃ2,1、Ｃ3,1に入力される。このとき、各セルが保持していたビット情報は１つ後ろの列のセルに移動する。すなわち、ＦＦアレイ１１１５の各行は一つのシフトレジスタを構成している。また、ＦＦアレイ１１１５のセルが保持するビット情報は、並列に読み出すことができる。本実施形態では、ＦＦアレイ１１１５に４符号語分の誤り検出訂正符号が保持された後、ＦＦアレイ１１１５の全セルに保持されたビットが読み出されて誤り訂正部１１１３に出力される。
【０１２６】
誤り訂正部１１１３は、ＦＦアレイ１１１４とＦＦアレイ１１１５とから合計６符号語分の情報ビットと誤り検出訂正符号ビットとを読み出す機能と、これらの符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正する機能と、訂正後のビット列をＦＦアレイ１１１４の元のセルに書き戻す機能とを有する。誤り訂正部１１１３は、これらの処理を１クロック内で実施する。
【０１２７】
次に本実施形態の信号受信回路１１１０の動作を説明する。
【０１２８】
信号受信回路１１１０には、信号線群１３０を通じて図２０に示したような時系列信号が入力される。信号受信回路１１１０のデータバッファ部１１１１および符号記憶部１１１２は、図２０に示すような順序で入力されるビット列をクロックに同期してＦＦアレイ１１１４とＦＦアレイ１１１５とに順にシフトインする。
【０１２９】
誤り訂正部１１１３は、６クロック毎に、すなわち６つのワードとその誤り検出訂正符号とを含む合計６つの符号語がＦＦアレイ１１１４とＦＦアレイ１１１５とに保持される毎に、ＦＦアレイ１１１４とＦＦアレイ１１１５とから合計６符号語分の情報ビットと誤り検出訂正符号ビットとを読み出し、符号語毎に、誤り検出訂正符号を用いて訂正範囲のビット列を訂正し、訂正後のビット列をＦＦアレイ１１１４の元のセルに書き戻す。
【０１３０】
誤り訂正部１１１３による上記処理は１クロック内で実施される。その後、クロックに同期して、次の６個分の符号語が信号線群からＦＦアレイ１１１４とＦＦアレイ１１１５とに順にシフトインされていき、これに伴ってＦＦアレイ１１１４から誤り訂正後のワードが順にシフトアウトされて外部に出力される。
【０１３１】
本実施形態によれば、第１０の実施形態にかかる信号送信回路と組み合わせて用いることができる信号受信回路を提供することができる。
【０１３２】
[第１２の実施形態]
図２２を参照すると、本発明の第１２の実施形態にかかる信号送受信回路１２００は、信号送信側ＬＳＩ１２１０と、この信号送信側ＬＳＩ１２１０に信号線群１２３０、信号線群１２４０を通じて接続される信号受信側ＬＳＩ１２２０とから構成される。信号線群１２３０は、例えばデータバスであり、複数の信号線により構成される。信号線群１２４０は、ＥＣＣ符号を伝送する複数の信号線により構成される。
【０１３３】
信号送信側ＬＳＩ１２１０は、デジタルロジック部１２１１と信号送信部１２１２とを有する。信号受信側ＬＳＩ１２２０は、デジタルロジック部１２２１と信号受信部１２２２とを有する。デジタルロジック部１２１１、１２２１は、ＭＰＵ等で構成される。デジタルロジック部１２１１は、デジタルロジック部１２２１にデータを送信する場合、ワード単位でデータを信号送信部１２１２へ出力する。
【０１３４】
信号送信部１２１２は、デジタルロジック部１２１１から複数のワードを順に入力し、これら複数のワードからワードと同じビット数の情報ビットと誤り検出訂正符号とから構成される複数の符号語を生成し、信号線群１２３０、１２４０を介して信号受信回路１２２０に送信する機能を有している。この信号送信部１２１２は、上述した第１、第２、第４、第６、第８、第１０の実施形態にかかる信号送信回路によって構成することができる。
【０１３５】
信号受信部１２２２は、信号線群１２３０、１２４０を介して信号送信回路１２１０から複数の符号語を受信し、この受信した符号語毎に誤り検出訂正符号を用いて情報ビットの誤り訂正を行い、誤り訂正後の情報ビットによって構成されるデータをワード単位にデジタルロジック部１２２１に出力する機能を有する。この信号受信部１２２１は、上述した第１、第３、第５、第７、第９、第１１の実施形態にかかる信号受信回路によって構成することができる。
【０１３６】
[第１３の実施形態]
図２３を参照すると、本発明の第１３の実施形態にかかる信号送受信回路１３００は、ＬＳＩ１３１０と、このＬＳＩ１３１０とバス信号およびＥＣＣ符号の授受を行うＤＤＲ−ＳＤＲＡＭ１３２０とから構成される。またＬＳＩ１３１０は、ＭＰＵ等で構成されるデジタルロジック部１３３０と、ＤＤＲコントローラ１３４０と、デジタルロジック部１３３０とＤＤＲコントローラ１３４０との間に配置された信号送信部１３５０および信号受信部１３６０とを有する。
【０１３７】
信号送信部１３５０は、デジタルロジック部１３３０から複数のワードを順に入力し、これら複数のワードからワードと同じビット数の情報ビットと誤り検出訂正符号とから構成される複数の符号語を生成し、信号線群１３７１、１３８１を介してＤＤＲコントローラ１３４０に送信する機能を有している。この信号送信部１３５０は、上述した第１、第２、第４、第６、第８、第１０の実施形態にかかる信号送信回路によって構成することができる。
【０１３８】
信号受信部１３６０は、信号線群１３７２、１３８２を介してＤＤＲコントローラ１３４０から複数の符号語を受信し、この受信した符号語毎に誤り検出訂正符号を用いて情報ビットの誤り訂正を行い、誤り訂正後の情報ビットによって構成されるデータをワード単位にデジタルロジック部１３３０に出力する機能を有する。この信号受信部１３６０は、上述した第１、第３、第５、第７、第９、第１１の実施形態にかかる信号受信回路によって構成することができる。
【０１３９】
以上本発明について幾つかの実施形態を挙げて説明したが、本発明は以上の実施形態にのみ限定されずその他各種の付加変更が可能である。また、説明を簡略化するために、４ビット構成のワードに３ビットの誤り検出訂正符号を付加する例に基づいて各実施形態を説明したが、ワードの構成ビット数は４ビットに限定されず、８ビット、１６ビット、３２ビット、６４ビット等に任意のビット数とすることができ、また誤り検出訂正符号もワードの構成ビット数および誤り検出訂正能力に応じた任意のビット数にすることが可能である。
【産業上の利用可能性】
【０１４０】
本発明は、ＬＳＩとＬＳＩ間やＬＳＩとＲＡＭ間等において、誤り検出訂正符号を付加してパラレルデータにて信号を受け渡す分野全般に利用することができる。
【０１４１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
第１および第２の信号線群によって互いに接続される信号送信回路と信号受信回路とを備え、
前記信号送信回路は、
ワードのビット数をｋとするとき、それぞれがｋ段のｋ個のシフトレジスタを有し、入力されたワードの各ビットを前記ｋ個の送信側シフトレジスタにシフトインし、前記ｋ個の送信側シフトレジスタからシフトアウトされる各ビットを前記第１の信号線群のそれぞれ異なる信号線に出力する送信側データバッファ部と、
新たなワードが前記送信側データバッファ部に入力される毎に前記ｋ個の送信側シフトレジスタのそれぞれ異なる段から１ビットずつ読み出した合計ｋビットのビット列を訂正範囲とするビット数ｍの誤り検出訂正符号を生成する符号生成部と、
それぞれｋ＋１段、ｋ＋２段、…、ｋ＋ｍ段のｍ個の送信側シフトレジスタを有し、前記符号生成部によって生成された誤り検出訂正符号の各ビットを前記ｍ個の送信側シフトレジスタにシフトインし、前記ｍ個の送信側シフトレジスタからシフトアウトされる各ビットを前記第２の信号線群のそれぞれ異なる信号線に出力する符号送信部とを有し、
前記信号受信回路は、
それぞれがｋ＋ｍ段のｋ個の受信側シフトレジスタを有し、前記第１の信号線群から受信したワードの各ビットを前記ｋ個の受信側シフトレジスタにシフトインし、前記ｋ個の受信側シフトレジスタからシフトアウトされる各ビットを出力する受信側データバッファ部と、
それぞれ１段、２段、…、ｍ段のｍ個の受信側シフトレジスタを有し、前記第２の信号線群から受信した各ビットを前記ｍ個の受信側シフトレジスタにシフトインする受信側符号バッファ部と、
同じ符号語を構成する誤り検出訂正符号の全ビットとその訂正範囲となるビット列の全ビットとが前記ｋ個の受信側シフトレジスタと前記ｍ個の受信側シフトレジスタとに揃って保持されたときに、前記ｍ個の受信側シフトレジスタから当該符号語の誤り検出訂正符号を読み出し、該読み出した誤り検出訂正符号を用いて、前記ｋ個の受信側シフトレジスタに保持されている当該誤り検出訂正符号の訂正範囲となるビット列の誤り訂正を行う誤り訂正部とを有することを特徴とする信号送信回路。
（付記２）
第１および第２の信号線群によって互いに接続される信号送信回路と信号受信回路とを備え、
前記信号送信回路は、
ワードのビット数をｋとするとき、それぞれが２ｋ段のｋ個の送信側シフトレジスタを有し、入力されたワードの各ビットを前記ｋ個の送信側シフトレジスタにシフトインし、前記ｋ個の送信側シフトレジスタからシフトアウトされる各ビットを前記第１の信号線群のそれぞれ異なる信号線に出力する送信側データバッファ部と、
前記ｋ個の送信側シフトレジスタに２ｋ個のワードがシフトインされる毎に、前記ｋ個の送信側シフトレジスタに記憶された２ｋ個のワードを、ビット数ｋの２ｋ個のビット列であって、任意のビット列中の任意の２ビットの組み合わせが同じ前記送信側シフトレジスタに保持されるビットの組み合わせにならず、然も前記ｋ個の送信側シフトレジスタの同じ段のビットの組み合わせにならないビット列に分割して読み出し、該読み出した２ｋ個のビット列を訂正範囲とするビット数ｍの２ｋ個の誤り検出訂正符号を生成する符号生成部と、
それぞれが２ｋ段のｍ個の送信側シフトレジスタを有し、前記符号生成部によって２ｋ個の誤り検出訂正符号が生成される毎に、任意の誤り検出訂正符号中の任意の２ビットの組み合わせが、同じ前記送信側シフトレジスタに保持されるビットの組み合わせにならず、また前記ｍ個の送信側シフトレジスタの同じ段のビットの組み合わせにもならず、さらに当該誤り検出訂正符号の各ビットを保持する前記ｍ個の送信側シフトレジスタの段がその訂正範囲のビット列を記憶する前記ｋ個の送信側シフトレジスタの段と同じ段にならないように、前記２ｋ個の誤り検出訂正符号の各ビットを前記ｍ個の送信側シフトレジスタに格納した後、前記ｋ個の送信側シフトレジスタと同期して前記ｍ個の送信側シフトレジスタのシフトアウトを行い、前記ｍ個の送信側シフトレジスタからシフトアウトされる各ビットを前記第２の信号線群のそれぞれ異なる信号線に出力する符号送信部と
を有し、
前記信号受信回路は、
それぞれが２ｋ段のｋ個の受信側シフトレジスタを有し、前記第１の信号線群から受信したワードの各ビットを前記ｋ個の受信側シフトレジスタにシフトインし、前記ｋ個の受信側シフトレジスタからシフトアウトされる各ビットを出力する受信側データバッファ部と、
それぞれが２ｋ段のｍ個の受信側シフトレジスタを有し、前記第２の信号線群から受信した誤り検出訂正符号の各ビットを前記ｍ個の受信側シフトレジスタにシフトインする受信側符号バッファ部と、
２ｋ個の符号語の誤り検出訂正符号の全ビットとその訂正範囲となるビット列の全ビットとが前記ｋ個の受信側シフトレジスタと前記ｍ個の受信側シフトレジスタとに揃って保持されたときに、前記ｍ個の受信側シフトレジスタから各符号語の誤り検出訂正符号を読み出し、該読み出した各符号語の誤り検出訂正符号を用いて、前記ｋ個の受信側シフトレジスタに保持されている各符号語の訂正範囲となるビット列の誤り訂正を行う誤り訂正部とを有することを特徴とする信号送信回路。
【符号の説明】
【０１４２】
１００…信号送受信回路
１１０…信号送信回路
１１１…データバッファ部
１１２…符号生成部
１１３…符号送信部
１２０…信号受信回路
１２１…データバッファ部
１２２…符号バッファ部
１２３…誤り訂正部
１３０、１３１、１３２…信号線群
【図１】
2013062737.tif 000003
【図２】
2013062737.tif 000004
【図３】
2013062737.tif 000005
【図４】
2013062737.tif 000006
【図５】
2013062737.tif 000007
【図６】
2013062737.tif 000008
【図７】
2013062737.tif 000009
【図８】
2013062737.tif 000010
【図９】
2013062737.tif 000011
【図１０】
2013062737.tif 000012
【図１１】
2013062737.tif 000013
【図１２】
2013062737.tif 000014
【図１３】
2013062737.tif 000015
【図１４】
2013062737.tif 000016
【図１５】
2013062737.tif 000017
【図１６】
2013062737.tif 000018
【図１７】
2013062737.tif 000019
【図１８】
2013062737.tif 000020
【図１９】
2013062737.tif 000021
【図２０】
2013062737.tif 000022
【図２１】
2013062737.tif 000023
【図２２】
2013062737.tif 000024
【図２３】
2013062737.tif 000025
【図２４】
2013062737.tif 000026
【図２５】
2013062737.tif 000027