(57)【要約】【課題】速いタイミングでヘッダーを検出すること。【解決手段】シリアル受信器（２）は、レシーバ回路（２０）と、ｎ個のレジスタ群Ｒｅｇと、データ処理部（２２〜２９）と、ヘッダー検出回路（２１）とを具備している。レシーバ回路（２０）は、シリアル送信器（１）からのシリアル化データをデータ列に変換し、ｎ個のレジスタ群Ｒｅｇは、第１から第ｎ（ｎは２以上の整数）までこの順にデータ列をシフトする。データ処理部（２２〜２９）は、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）の出力と、検出結果とに応じて、データ列に対するデータ処理を行う。ヘッダー検出回路（２１）は、ｎ個のレジスタ群Ｒｅｇのうちの、第１から第ｂ（ｂは、ｂ＜ｎを満たす整数）までのｂ個のレジスタ群Ｒｅｇがデータ列をシフトしたときに、データ列のヘッダーを検出して検出結果をデータ処理部（２２〜２９）に出力する。【選択図】図１
2008204284.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャネルのそれぞれに対応する複数のシリアル送信器と、
前記複数のチャネルのそれぞれに対応し、前記複数のシリアル送信器のそれぞれに接続された複数のシリアル受信器と
を具備し、
前記複数のシリアル送信器の各々は、シリアル化されたデータをシリアル化データとして送信し、
前記複数のシリアル受信器の各々は、
前記シリアル化データをデータ列に変換するレシーバ回路と、
第１から第ｎ（ｎは２以上の整数）までこの順に前記データ列をシフトするｎ個のレジスタ群と、
第ｎのレジスタ群の出力と、検出結果とに応じて、前記データ列に対するデータ処理を行うデータ処理部と、
前記ｎ個のレジスタ群のうちの、第１から第ｂ（ｂは、ｂ＜ｎを満たす整数）までのｂ個のレジスタ群が前記データ列をシフトしたときに、前記データ列のヘッダーを検出して前記検出結果を前記データ処理部に出力するヘッダー検出回路と
を具備するシリアルインタフェース回路。
【請求項２】
請求項１に記載のシリアルインタフェース回路において、
前記シリアル送信器は、システムクロックに同期したｃビット（ｃは２以上の整数）のデータＴＤ［ｃ−１：０］をシリアル化し、前記シリアル化信号として送信し、
前記レシーバ回路は、前記シリアル化データを、ｍ個（ｍは、１以上の整数）のデータを有するデータ列Ｄ［ｍ−１：０］に変換し、
前記ヘッダー検出回路は、前記ｂ個のレジスタ群の入力であるデータ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］を入力し（ａは、ａ＜ｃを満たす整数）、前記データ列Ｄ［ｍ−１：０］の先頭ビットを特定するａビットを表すヘッダービット列と、前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］の先頭ビットを表すビット列とを比較し、前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が表すデータのうちの、データＤ［（ｂ＊ｍ−１）］、Ｄ［（ｂ＊ｍ−２）］、・・・Ｄ［（ｂ−１）＊ｍ］の先頭ビットを表すビット列が前記ヘッダービット列に等しいとき、前記検出結果を前記データ処理部に出力する
シリアルインタフェース回路。
【請求項３】
請求項２に記載のシリアルインタフェース回路において、
前記レシーバ回路は、タイミングが異なるｍ個の第一のクロックＲＣＬＫにより前記シリアル化データをサンプリングし、前記第一のクロックと同じもしくはその整数倍の周期を有する第二のクロックに同期した前記ｍ個のデータを有する前記データ列Ｄ［ｍ−１：０］に変換し、
前記ｎ個のレジスタ群は、前記第二のクロックに応じて、第１から第ｎまでこの順に前記データ列をシフトし、
前記ヘッダー検出回路は、前記ｂ個のレジスタ群の入力である前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］を入力して前記第二のクロックによりサンプリングする
シリアルインタフェース回路。
【請求項４】
請求項３に記載のシリアルインタフェース回路において、
前記ヘッダー検出回路は、
前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が表すデータのうちの、データＤ［（ｂ＊ｍ−１）］、Ｄ［（ｂ＊ｍ−２）］、・・・Ｄ［（ｂ−１）＊ｍ］の先頭ビットを表すビット列が前記ヘッダービット列に等しいとき、検出信号Ｓ［ｍ−１：０］を前記検出結果として出力し、
前記検出信号Ｓ［ｍ−１：０］に対して論理オアを施して、ＯＲ信号を前記検出結果として出力し、
前記データ処理部は、
前記検出信号Ｓ［ｍ−１：０］をラッチし、次に検出信号Ｓが変化するまで状態を保ち、前記第ｎのレジスタ群に前記ａビットが出力されるのと同じタイミングで、選択信号Ｓｅｌ［（ｍ−１）：０］を出力するラッチ回路と、
前記ＯＲ信号によりリセットし、前記ＯＲ信号の出力が無効である場合、パラレルデータ出力ＲＤ［ｃ−１：０］のビット数ｃの１／ｍとなるｄ回を繰り返しカウントしている間、第三のクロックを出力するクロック作成回路と、
前記第ｎのレジスタ群の出力であるデータ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］と、前記第ｎのレジスタ群の入力であるデータ列Ｄ［ｎ＊ｍ−１：（ｎ−１）＊ｍ］と、第（ｎ−１）から第（ｎ−ｄ＋１）のレジスタ群の入力であるデータＤ［（（ｎ−１）＊ｍ−１）：（ｎ−２）＊ｍ］、・・・Ｄ［（（ｎ＋１−ｄ）＊ｍ−１）：（（ｎ−ｄ）＊ｍ＋１）］との（ｃ＋ｍ−１）個を入力とし、前記ラッチ回路から前記選択信号Ｓｅｌ［ｍ−１］、Ｓｅｌ［ｍ−２］、・・・Ｓｅｌ［０］が出力されたとき、それぞれ、前記第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）からの前記データ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］の最上位、２番目に上位、・・・最下位のデータＤ［（（ｎ＋１）＊ｍ−１）］、Ｄ［（（ｎ＋１）＊ｍ−２）］、・・・Ｄ［（ｎ＊ｍ）］をデータの先頭ビットとして、前記第三のクロックによりｃビットをサンプリングし、整列信号ＡＤ［（ｃ−１）：０］を出力する整列回路と、
前記整列信号ＡＤ［（ｃ−１）：０］に基づいて、前記データ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］に対する書込・読出処理を行う書込・読出処理部と
を具備するシリアルインタフェース回路。
【請求項５】
請求項４に記載のシリアルインタフェース回路において、
前記書込・読出処理部は、
前記第三のクロックＴＣＬＫによって繰り返し０から（ＷＡ−１）をカウントし（ＷＡは、１以上の整数）、アドレスを有するＷＡ個のライトアドレス出力を作成するライトアドレス発生回路と、
前記ライトアドレス発生回路からの前記ライトアドレス出力のアドレスに従って、前記整列回路からの前記整列信号ＡＤ［（ｃ−１）：０］を前記第三のクロックによって書き込み、リードアドレスによって指定されたアドレスのデータを読み出し、リードデータ出力ＲＤ［ｃ−１：０］を作成するレジスタファイルと、
前記ヘッダー検出回路からの前記ＯＲ信号を前記第二のクロックでセットし、一定のパルス幅の頭出し検出信号を作成し、前記第三のクロックの１周期分のパルス幅にしたロード信号を出力するパルス幅作成回路と、
前記パルス幅作成回路の出力の前記ロード信号に従い、データの先頭ビットを前記レジスタファイルに書き込んだときの前記ライトアドレス出力を書き込み、ラッチする先頭アドレス記憶回路と、
スタート信号が供給され、前記スタート信号が有効である場合、前記システムクロックにより、前記先頭アドレス記憶回路の出力である先頭アドレス信号を取り込み、スタート信号ＳＴＲが非有効である場合、カウントを開始して０から（ＷＡ−１）までを繰り返し、前記リードアドレスを作成し、前記レジスタファイルに出力するリードアドレスカウンタと
を具備するシリアルインタフェース回路。
【請求項６】
請求項５に記載のシリアルインタフェース回路において、
前記複数のシリアル受信器に接続された共通部
を更に具備し、
前記共通部は、
前記複数のシリアル受信機の前記パルス幅作成回路からそれぞれ出力される複数の前記頭出し検出信号を入力とし、前記複数の頭出し検出信号に対して論理アンドを施し、読み出し開始信号を出力するＡＮＤ回路と、
前記ＡＮＤ回路の出力である前記読み出し開始信号を、前記システムクロックにより同期化し、１周期分のパルス幅にした前記スタート信号を、前記複数のシリアル受信機の前記リードアドレスカウンタに出力する同期化回路と
を具備するシリアルインタフェース回路。
【請求項７】
請求項６に記載のシリアルインタフェース回路において、
前記頭出し検出信号のパルス幅が表す時間は、前記複数のシリアル送信器の出力から前記複数のシリアル受信器を経由して前記複数のチャネルの前記共通部の前記ＡＮＤ回路の出力までのチャネル間のスキュー分と、前記システムクロックの１周期分とを加えた時間よりも長い
シリアルインタフェース回路。
【請求項８】
請求項１〜７のいずれかに記載のシリアルインタフェース回路において、
その出力が前記複数のシリアル送信器の入力に接続され、１ビットエラーならびに１チャネルエラーを修復するエラー修正コーディング発生器と、
その入力が前記複数のシリアル受信器の出力に接続され、前記１ビットエラーならびに１チャネルエラーを修復するエラー修正コーディング器と
を更に具備するシリアルインタフェース回路。
【請求項９】
請求項８に記載のシリアルインタフェース回路において、
前記複数のチャネルのそれぞれに対応し、それぞれ前記エラー修正コーディング発生器と前記複数のシリアル送信器との間に接続され、実データ列と前記ヘッダービット列とを区別する８Ｂ１０Ｂ変換回路と、
前記複数のチャネルのそれぞれに対応し、それぞれ、前記複数のシリアル受信器と前記エラー修正コーディング器の間に接続され、実データ列と前記ヘッダービット列とを区別する１０Ｂ８Ｂ変換回路と
を更に具備するシリアルインタフェース回路。
【請求項１０】
請求項１〜９のいずれかに記載のシリアルインタフェース回路に適用されるシリアル受信器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のチャネルを使用したシリアルインタフェース回路に関する。
【背景技術】
【０００２】
複数のチャネルを使用したシリアルインタフェース回路が知られている。例えば、特開２００６−３０２２７７号公報の図３に示されるように、複数のチャネルを介したシリアル伝送では、ワード同期３５１とデスキュー３２２１（システムクロックとの同期）は、別のブロックであり、チャネル間の同期は、更に、そのブロックの後ろの構成部であるバイト直並列変換機３２５０や位相補償ＦＩＦＯ、または、その構成部の後ろの構成部で行われていた。これは、Ｉｎｆｉｎｉｂａｎｄや１０Ｇｂｉｔイーサネット（登録商標）の標準規格が、ヘッダービット列であるコンマ信号の後に続くスキップ信号の数を増減してシリアル送信器とシリアル受信器のクロックのレートの差を補償するため、ヘッダービット列から実データまでのビット数が決まらないために分離している。
【０００３】
このような従来技術には次のような問題点がある。
【０００４】
第１の問題点は、ワード同期とデスキューとクロックのレート 差の補償とチャネル間の同期を別のブロックに分けていることである。その理由として、ワード同期のために、ヘッダー検出を行うが、検出した信号はワード同期に使われるのみであり、チャネル同期のための各チャネルのデータの先頭を検出するためには、別の検出回路を設け、時間をかけて検出する必要がある。このため、レーテンシが大きくなるという欠点がある。
【０００５】
第２の問題点は、デスキュー回路や、レート補正回路、チャネル間整列回路において、多数のレジスタを必要とするＦＩＦＯを使用していることである。このため、ハードウェアが大きくなるというという欠点がある。
【０００６】
第３の問題点は、複数のチャネルで構成されているシリアル伝送回路において、１ビットでもエラーが発生すると、全部のデータを再送することを前提に回路が構成されている。このため、エラーが発生したときに多大なレーテンシがかかるとともに、データを蓄積するメモリが必要とされるという欠点がある。
【０００７】
データの転送に関する技術について紹介する。
【０００８】
上記の特開２００６−３０２２７７号公報（特許文献１）には“シリアルインタフェースの受信器”が記載されている。シリアルインタフェースの受信器は、プログラマブルロジックデバイスで用いる構成可能なものである。該シリアルインタフェースの受信器は、ワードアライメントした出力を提供する少なくとも１つのブロックを備えるワードアライメント段と、デスキュー出力を提供する少なくとも１つのブロックを備えるデスキュー段と、レートが整合された出力を提供する少なくとも１つのブロックを備えるレート整合段と、デコードした出力を提供する少なくとも１つのブロックを備える埋め込みプロトコルデコーダ段と、非直列化した出力を提供する少なくとも１つのブロックを備えるバイト直並列変換器段と、並び換えた出力を提供する少なくとも１つのブロックを備えるバイト並び替え段と、位相が補償された出力を提供する少なくとも１つのブロックを備える位相補償段とからなる群から選択される、複数の段と、該段の各々の周囲のバイパス回路と、該段の各々に関連し、該段に関して、該段の出力と該段の周囲の該バイパス回路とから選択する、セレクタ回路とを備えている。それによって、該複数の段の任意の１つの段を、該構成可能なシリアルインタフェースの受信器にプログラム可能に含めることができる。
【０００９】
特開平１０−９７４８１号公報（特許文献２）には“マイクロコンピュータ”が記載されている。マイクロコンピュータは、ＣＰＵと、外部回路から入力されるシリアルデータを順次受信する受信回路と、該受信回路によりすでに受信された部分データが所定のヘッダーに一致する部分を含むか否かを検出するヘッダー検出回路と、該受信回路によりすでに受信された部分データが該所定のヘッダーに一致する部分を含むと検出されたときには、その検出後にその部分データの後続の複数の部分データが該受信回路により受信されるごとに、該ＣＰＵに割り込み、該所定のヘッダーに対応して定められた所定の割り込み処理を該後続の部分データに対して実行することを要求する割り込みを該ＣＰＵに供給する割り込み回路とを有している。
【００１０】
特開平７−６１３０号公報（特許文献３）には“同期ＦＩＦＯ回路”が記載されている。同期ＦＩＦＯ回路は、データ入力と、データ出力と、制御出力を有している。この同期ＦＩＦＯ回路は、前記制御出力は前記同期ＦＩＦＯ回路が転送用にデータワードを内部に有していることを示すことと、制御入力と制御出力を有する同期回路であって、前記同期回路の制御入力が前記同期ＦＩＦＯ制御出力に接続してあることと、データ入力と、制御入力と、データ出力を有する非同期ＦＩＦＯ回路であって、前記非同期ＦＩＦＯ回路のデータ入力は前記同期ＦＩＦＯ回路のデータ出力へ接続し、前記非同期ＦＩＦＯ回路の制御入力が前記同期回路の制御出力へ接続してあることと、前記同期ＦＩＦＯ回路のデータ入力に前記非同期装置の一方から入力した非同期データ信号が伝播遅延の後前記非同期ＦＩＦＯ回路の出力から前記非同期装置の他方へ出力されることを特徴とする、データ速度を整合して２台の非同期装置間でデータを転送する。
【００１１】
特開平２−８５９５０号公報（特許文献４）には“バス間転送方式”が記載されている。バス間転送方式は、マイクロプロセッサ、メモリ、ダイレクトメモリアクセスコントローラ、シリアルコントローラ、複数のＩ／Ｏ機能ブロック、ならびに前記各要素間を接続する共通バスを備えて構成している。このバス間転送方式は、前記シリアルコントローラと前記複数のＩ／Ｏ機能ブロックとの間でデータを転送する際に前記バス以外にデータ転送方向を任意に変換可能なローカルバスと、前記ローカルバスと前記シリアルコントローラとの間で前記データ転送の方向を変換するための第１の種類のレジスタファイルと、前記ローカルバスと前記複数のＩ／Ｏ機能ブロックとそれぞれとの間で前記データ転送の方向を変換するための複数の第２の種類のレジスタファイルとを具備して構成したことを特徴としている。
【００１２】
【特許文献１】特開２００６−３０２２７７号公報
【特許文献２】特開平１０−９７４８１号公報
【特許文献３】特開平７−６１３０号公報
【特許文献４】特開平２−８５９５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の課題は、速いタイミングでヘッダーを検出できるシリアルインタフェース回路、及びシリアル受信器を提供することにある。
本発明の他の課題は、レーテンシを低減することができるシリアルインタフェース回路、及びシリアル受信器を提供することにある。
本発明の更に他の課題は、複数のチャネルが誤動作することを防止できるシリアルインタフェース回路、及びシリアル受信器を提供することにある。
【課題を解決するための手段】
【００１４】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
本発明のシリアルインタフェース回路は、
複数のチャネルのそれぞれに対応する複数のシリアル送信器（１）と、
前記複数のチャネルのそれぞれに対応し、前記複数のシリアル送信器（１）のそれぞれに接続された複数のシリアル受信器（２）と
を具備し、
前記複数のシリアル送信器（１）の各々は、シリアル化されたデータをシリアル化データとして送信し、
前記複数のシリアル受信器（２）の各々は、
前記シリアル化データをデータ列に変換するレシーバ回路（２０）と、
第１から第ｎ（ｎは２以上の整数）までこの順に前記データ列をシフトするｎ個のレジスタ群（Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１））と、
第ｎのレジスタ群（Ｒｅｇ＿（ｎ−１））の出力と、検出結果とに応じて、前記データ列に対するデータ処理を行うデータ処理部（２２〜２９）と、
前記ｎ個のレジスタ群（Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１））のうちの、第１から第ｂ（ｂは、ｂ＜ｎを満たす整数）までのｂ個のレジスタ群（Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１））が前記データ列をシフトしたときに、前記データ列のヘッダーを検出して前記検出結果を前記データ処理部（２２〜２９）に出力するヘッダー検出回路（２１）と
を具備する。
【００１６】
本発明のシリアルインタフェース回路において、
前記シリアル送信器（１）は、システムクロック（ＳＣＬＫ）に同期したｃビット（ｃは２以上の整数）のデータＴＤ［ｃ−１：０］をシリアル化し、前記シリアル化信号として送信し、
前記レシーバ回路（２０）は、前記シリアル化データを、ｍ個（ｍは、１以上の整数）のデータを有するデータ列Ｄ［ｍ−１：０］に変換し、
前記ヘッダー検出回路（２１）は、前記ｂ個のレジスタ群（Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１））の入力であるデータ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］を入力し（ａは、ａ＜ｃを満たす整数）、前記データ列Ｄ［ｍ−１：０］の先頭ビットを特定するａビットを表すヘッダービット列（ｃｏｍｍａ）と、前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］の先頭ビットを表すビット列とを比較し、前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が表すデータのうちの、データＤ［（ｂ＊ｍ−１）］、Ｄ［（ｂ＊ｍ−２）］、・・・Ｄ［（ｂ−１）＊ｍ］の先頭ビットを表すビット列が前記ヘッダービット列（ｃｏｍｍａ）に等しいとき、前記検出結果を前記データ処理部（２２〜２９）に出力する。
【００１７】
本発明のシリアルインタフェース回路において、
前記レシーバ回路（２０）は、タイミングが異なるｍ個の第一のクロックＲＣＬＫにより前記シリアル化データをサンプリングし、前記第一のクロック（ＲＣＬＫ）と同じもしくはその整数倍の周期を有する第二のクロック（ＤＣＬＫ）に同期した前記ｍ個のデータを有する前記データ列Ｄ［ｍ−１：０］に変換し、
前記ｎ個のレジスタ群（Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１））は、前記第二のクロック（ＤＣＬＫ）に応じて、第１から第ｎまでこの順に前記データ列をシフトし、
前記ヘッダー検出回路（２１）は、前記ｂ個のレジスタ群（Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１））の入力である前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］を入力して前記第二のクロック（ＤＣＬＫ）によりサンプリングする。
【００１８】
本発明のシリアルインタフェース回路において、
前記ヘッダー検出回路（２１）は、
前記データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が表すデータのうちの、データＤ［（ｂ＊ｍ−１）］、Ｄ［（ｂ＊ｍ−２）］、・・・Ｄ［（ｂ−１）＊ｍ］の先頭ビットを表すビット列が前記ヘッダービット列（ｃｏｍｍａ）に等しいとき、検出信号Ｓ［ｍ−１：０］を前記検出結果として出力し、
前記検出信号Ｓ［ｍ−１：０］に対して論理オアを施して、ＯＲ信号（Ｒｅｓｅｔ）を前記検出結果として出力し、
前記データ処理部（２２〜２９）は、
前記検出信号Ｓ［ｍ−１：０］をラッチし、次に検出信号Ｓが変化するまで状態を保ち、前記第ｎのレジスタ群（Ｒｅｇ＿（ｎ−１））に前記ａビットが出力されるのと同じタイミングで、選択信号Ｓｅｌ［（ｍ−１）：０］を出力するラッチ回路（２２）と、
前記ＯＲ信号（Ｒｅｓｅｔ）によりリセットし、前記ＯＲ信号（Ｒｅｓｅｔ）の出力が無効である場合、パラレルデータ出力ＲＤ［ｃ−１：０］のビット数ｃの１／ｍとなるｄ回を繰り返しカウントしている間、第三のクロック（ＴＣＬＫ）を出力するクロック作成回路（２３）と、
前記第ｎのレジスタ群（Ｒｅｇ＿（ｎ−１））の出力であるデータ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］と、前記第ｎのレジスタ群（Ｒｅｇ＿（ｎ−１））の入力であるデータ列Ｄ［ｎ＊ｍ−１：（ｎ−１）＊ｍ］と、第（ｎ−１）から第（ｎ−ｄ＋１）のレジスタ群（Ｒｅｇ＿（ｎ−２）、Ｒｅｇ＿（ｎ−３）、・・・Ｒｅｇ＿（ｎ−ｄ））の入力であるデータＤ［（（ｎ−１）＊ｍ−１）：（ｎ−２）＊ｍ］、・・・Ｄ［（（ｎ＋１−ｄ）＊ｍ−１）：（（ｎ−ｄ）＊ｍ＋１）］との（ｃ＋ｍ−１）個を入力とし、前記ラッチ回路（２２）から前記選択信号Ｓｅｌ［ｍ−１］、Ｓｅｌ［ｍ−２］、・・・Ｓｅｌ［０］が出力されたとき、それぞれ、前記第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）からの前記データ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］の最上位、２番目に上位、・・・最下位のデータＤ［（（ｎ＋１）＊ｍ−１）］、Ｄ［（（ｎ＋１）＊ｍ−２）］、・・・Ｄ［（ｎ＊ｍ）］をデータの先頭ビットとして、前記第三のクロック（ＴＣＬＫ）によりｃビットをサンプリングし、整列信号ＡＤ［（ｃ−１）：０］を出力する整列回路（２４）と、
前記整列信号ＡＤ［（ｃ−１）：０］に基づいて、前記データ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］に対する書込・読出処理部（２５〜２９）と
を具備する。
【００１９】
本発明のシリアルインタフェース回路において、
前記書込・読出処理部（２５〜２９）は、
前記第三のクロックＴＣＬＫによって繰り返し０から（ＷＡ−１）をカウントし（ＷＡは、１以上の整数）、アドレスを有するＷＡ個のライトアドレス出力（ＷＡＤＤＲ）を作成するライトアドレス発生回路（２５）と、
前記ライトアドレス発生回路（２５）からの前記ライトアドレス出力（ＷＡＤＤＲ）のアドレスに従って、前記整列回路（２４）からの前記整列信号ＡＤ［（ｃ−１）：０］を前記第三のクロック（ＴＣＬＫ）によって書き込み、リードアドレス（ＲＡＤＤＲ）によって指定されたアドレスのデータを読み出し、リードデータ出力ＲＤ［ｃ−１：０］を作成するレジスタファイル（２６）と、
前記ヘッダー検出回路（２１）からの前記ＯＲ信号（Ｒｅｓｅｔ）を前記第二のクロック（ＤＣＬＫ）でセットし、一定のパルス幅の頭出し検出信号（Ｄｅｔｅｃｔ）を作成し、前記第三のクロック（ＴＣＬＫ）の１周期分のパルス幅にしたロード信号（ＬＯＡＤ）を出力するパルス幅作成回路（２７）と、
前記パルス幅作成回路（２７）の出力の前記ロード信号（ＬＯＡＤ）に従い、データの先頭ビットを前記レジスタファイル（２６）に書き込んだときの前記ライトアドレス出力（ＷＡＤＤＲ）を書き込み、ラッチする先頭アドレス記憶回路（２８）と、
スタート信号（ＳＴＲ）が供給され、前記スタート信号（ＳＴＲ）が有効である場合、前記システムクロック（ＳＣＬＫ）により、前記先頭アドレス記憶回路（２８）の出力である先頭アドレス信号（ＳＡＤＤＲ）を取り込み、スタート信号ＳＴＲが非有効である場合、カウントを開始して０から（ＷＡ−１）までを繰り返し、前記リードアドレス（ＲＡＤＤＲ）を作成し、前記レジスタファイル（２６）に出力するリードアドレスカウンタ（２９）と
を具備する。
【００２０】
本発明のシリアルインタフェース回路は、
前記複数のシリアル受信器（２）に接続された共通部（３）
を更に具備し、
前記共通部（３）は、
前記複数のシリアル受信機（２）の前記パルス幅作成回路（２７）からそれぞれ出力される複数の前記頭出し検出信号（Ｄｅｔｅｃｔ０、Ｄｅｔｅｃｔ１・・・・ＤｅｔｅｃｔＬ）を入力とし、前記複数の頭出し検出信号（Ｄｅｔｅｃｔ０、Ｄｅｔｅｃｔ１・・・・ＤｅｔｅｃｔＬ）に対して論理アンドを施し、読み出し開始信号（ＳＴＲＴ）を出力するＡＮＤ回路（３１）と、
前記ＡＮＤ回路（３１）の出力である前記読み出し開始信号（ＳＴＲＴ）を、前記システムクロック（ＳＣＬＫ）により同期化し、１周期分のパルス幅にした前記スタート信号（ＳＴＲ）を、前記複数のシリアル受信機（２）の前記リードアドレスカウンタ（２９）に出力する同期化回路（３２）と
を具備する。
【００２１】
本発明のシリアルインタフェース回路において、
前記頭出し検出信号（Ｄｅｔｅｃｔ）のパルス幅が表す時間は、前記複数のシリアル送信器（１）の出力から前記複数のシリアル受信器（２）を経由して前記複数のチャネルの前記共通部（３）の前記ＡＮＤ回路（３１）の出力までのチャネル間のスキュー分と、前記システムクロック（ＳＣＬＫ）の１周期分とを加えた時間よりも長い。
【００２２】
本発明のシリアルインタフェース回路は、
その出力が前記複数のシリアル送信器（１）（１−１〜１−Ｌ）の入力に接続され、１ビットエラーならびに１チャネルエラーを修復するエラー修正コーディング発生器（６）と、
その入力が前記複数のシリアル受信器（２）（２−１〜２−Ｌ）の出力に接続され、前記１ビットエラーならびに１チャネルエラーを修復するエラー修正コーディング器（７）と
を更に具備する。
【００２３】
本発明のシリアルインタフェース回路は、
前記複数のチャネルのそれぞれに対応し、それぞれ前記エラー修正コーディング発生器（６）と前記複数のシリアル送信器（１−１〜１−Ｌ）との間に接続され、実データ列と前記ヘッダービット列（ｃｏｍｍａ）とを区別する８Ｂ１０Ｂ変換回路（４−１〜４−Ｌ）と、
前記複数のチャネルのそれぞれに対応し、それぞれ、前記複数のシリアル受信器（２−１〜２−Ｌ）と前記エラー修正コーディング器（７）の間に接続され、実データ列と前記ヘッダービット列（ｃｏｍｍａ）とを区別する１０Ｂ８Ｂ変換回路（５−１〜５−Ｌ）と
を更に具備する。
【００２４】
本発明のシリアル受信器（２）（２−１〜２−Ｌ）は、上記のシリアルインタフェース回路に適用される。
【発明の効果】
【００２５】
本発明のシリアルインタフェース回路によれば、上記の構成により、ヘッダー検出回路（２１）は、ｎ個（ｎは２以上の整数）のレジスタ群（Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１））のうちの、第１から第ｂ（ｂは、ｂ＜ｎを満たす整数）までのｂ個のレジスタ群（Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１）の入力であるデータ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が揃ったタイミングから動作する。即ち、第１から第ｂまでのｂ個のレジスタ群（Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１））がデータ列をシフトしたときに、データ列のヘッダーを検出して検出結果｛検出信号Ｓ［ｍ−１：０］、ＯＲ信号Ｒｅｓｅｔ｝をデータ処理部（２２〜２９）に出力する。このため、速いタイミングでヘッダーを検出できる。
【００２６】
また、ヘッダー検出回路（２１）の出力により、データ処理部（２２〜２９）において、整列回路（２４）は、先頭ビットを特定し選択し、クロック作成回路（２３）は、整列回路（２４）でデータを取り込むクロック（ＴＣＬＫ）を作成し、パルス幅作成回路（２７）は、頭出し検出信号（Ｄｅｔｅｃｔ）とロード信号（ＬＯＡＤ）を作成する。
また、パルス幅作成回路（２７）の出力であるロード信号（ＬＯＡＤ）により、先頭アドレス記憶回路（２８）は、データの先頭ビットをレジスタファイル（２６）に書き込んだときのライトアドレス出力（ＷＡＤＤＲ）を書き込み、ラッチする。
また、パルス幅作成回路（２７）の出力である頭出し検出信号（Ｄｅｔｅｃｔ）により、ＡＮＤ回路（３１）と同期化回路（３２）は、複数（Ｌ個）のチャネルの全部揃ったタイミングを検出し、その信号を、システムクロック（ＳＣＬＫ）で同期化し、同時に先頭ビット読み出すタイミングとしてスタート信号（ＳＴＲ）を作成する。
また、同期化回路（３２）の出力であるスタート信号（ＳＴＲ）は、Ｌ個のチャネルに分配される。リードアドレスカウンタ（２９）は、スタート信号（ＳＴＲ）が有効になると、システムクロック（ＳＣＬＫ）により、先頭アドレス記憶回路（２８）の出力の先頭アドレス信号（ＳＡＤＤＲ）を取り込み、スタート信号（ＳＴＲ）が非有効になると、読み込んだ値から繰り返してカウントし、リードアドレス（ＲＡＤＤＲ）を作成する。
本発明のシリアルインタフェース回路では、これらの回路で使われるタイミングの作成も、早いタイミングでヘッダーを検出できているため、レーテンシを最短にすることができる。
【００２７】
本発明のシリアルインタフェース回路によれば、エラー修正コーディング発生器（６）の出力にシリアル送信器（１）（１−１〜１−Ｌ）の入力を接続し、エラー修正コーディング器（７）の入力にシリアル受信器（２）（２−１〜２−Ｌ）の出力を接続して、エラー修正コーディング発生器（６）とエラー修正コーディング器（７）によりエラー修正コーディング（ＥＣＣ）を適用する。これにより、１ビットエラーと１チャネルエラーを修復できるデータを伝送したときに、誤動作などにより、数周期以内にＬ個のチャネルでヘッダービット列（ｃｏｍｍａ）を検出しないときはチャネル間の整列を実施せず、直前の整列された状態を継続することにより、複数のチャネルが誤動作することを防止できる。
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照して、本発明のシリアルインタフェース回路について詳細に説明する。
【００２９】
［構成］
図１は、本発明のシリアルインタフェース回路の構成を示すブロック図である。本発明のシリアルインタフェース回路は、Ｌ個のシリアル送信器（Ｔｒａｎｓｍｉｔｔｅｒ）１と、Ｌ個のシリアル受信器（Ｒｅｃｅｉｖｅｒ）２と、共通部（共通回路部）３とを具備している。ここで、Ｌは２以上の整数である。
【００３０】
Ｌ個のシリアル送信器１とＬ個のシリアル受信器２は、Ｌ個のチャネルのそれぞれに対応し、Ｌ個のシリアル送信器１はそれぞれＬ個のシリアル受信器２に接続されている。また、Ｌ個のシリアル受信器２の各々は、共通部３に接続されている。図１では、１チャネル分のシリアル送信器１、シリアル受信器２と、上記の共通部３とが記載されている。
【００３１】
シリアル受信器２は、レシーバ回路（ＲＥＣＥＩＶＥＲ＆ＤＥＭＵＸ）２０と、ヘッダー検出回路（Ｈｅａｄｅｒ＿Ｄｅｔｅｃｔｏｒ）２１と、ｎ個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）と、データ処理部とを具備している。ここで、ｎは２以上の整数である。
【００３２】
データ処理部は、ラッチ回路（Ｒｅｇｓｅｌ）２２と、クロック作成回路（Ｃｏｕｎｔｅｒ）２３と、整列回路（Ａｌｉｇｎｅｒ）２４と、書込・読出処理部とを具備している。
【００３３】
書込・読出処理部は、ライトアドレス発生回路（Ｗ−ＡＤＤＲＣＮＴ）２５と、レジスタファイル（ＲＥＧＦＩＬＥ）２６と、パルス幅作成回路（ＰＷＧｅｎ）２７と、先頭アドレス記憶回路（Ｓ−ＡＤＤＲＲＥＧ）２８と、リードアドレスカウンタ（Ｒ−ＡＤＤＲＣＮＴ）２９とを具備している。
【００３４】
共通部３は、ＡＮＤ回路３１と、同期化回路（ＳＹＮＣ−ＢＵＦ）３２とを具備している。
【００３５】
シリアル送信器１は、正、負の出力として出力ＴＯＵＴ、ＴＯＵＴＢを備えている。このシリアル送信器１は、送信側のシステムクロックＳＣＬＫに同期したｃビットのデータＴＤ［ｃ−１：０］をシリアル化し、シリアル化されたデータとしてシリアル化データを出力ＴＯＵＴ、ＴＯＵＴＢから送信する。ここで、ｃは２以上の整数である。
【００３６】
レシーバ回路２０は、シリアル送信器１の出力ＴＯＵＴ、ＴＯＵＴＢに接続された差動入力Ｉｎｐｕｔを備えている。このレシーバ回路２０は、シリアル化データを差動入力Ｉｎｐｕｔで受信し、タイミングが異なるｍ個（単数もしくは複数）の第一のクロックＲＣＬＫの立ち上がり（もしくは立下りもしくは両方）によりシリアル化データをサンプリングし、第一のクロックＲＣＬＫと同じもしくはその整数倍の周期を有する第二のクロックＤＣＬＫに同期したｍ個のデータを有するデータ列Ｄ［ｍ−１：０］に変換して出力する。ここで、ｍは、１以上の整数である。
【００３７】
ｎ個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）は、第一から第ｎまでこの順に設けられている。ｎ個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）の各々は、第二のクロックＤＣＬＫを入力するクロック入力と、ｍ個のレジスタとを備えている。
第一のレジスタ群Ｒｅｇ＿０は、レシーバ回路２０の出力であるデータ列Ｄ［ｍ−１：０］を入力とし、第二から第ｎまでのレジスタ群Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）は、それぞれ、第一から第（ｎ−１）までのレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−２）のレジスタ群の出力を入力としている。ｎ個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）は、第二のクロックＤＣＬＫに応じて、第一から第ｎまでこの順にデータ列をシフトする。
【００３８】
ヘッダー検出回路２１は、図示しないｍ個のヘッダー検出器と、図示しないＯＲ回路とを備えている。
ｍ個のヘッダー検出器は、ｎ個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）のうちの、第一から第ｂまでのｂ個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１）の入力であり、（ｍ＋ａ−１）以上、且つ、ｍの倍数ｂ＊ｍとなるデータ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］を入力し、第二のクロックＤＣＬＫによりサンプリングする。ここで、ａは、１以上の整数であり、ａ＜ｃを満たす整数である。ｂは、１以上の整数であり、ｂ＜ｎを満たす整数である。
このｍ個のヘッダー検出器は、データ列Ｄ［ｍ−１：０］の先頭ビットを特定するａビットを表すヘッダービット列ｃｏｍｍａと、データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］の先頭ビットを表すビット列とを比較して、データ列Ｄ［ｍ−１：０］のヘッダーを検出する。データ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が表すデータのうちの、データＤ［（ｂ＊ｍ−１）］、Ｄ［（ｂ＊ｍ−２）］、・・・Ｄ［（ｂ−１）＊ｍ］の先頭ビットを表すビット列がヘッダービット列ｃｏｍｍａに等しいとき、ｍ個のヘッダー検出器は、それぞれ、信号レベル“１”を表す検出信号Ｓ（ｍ−１）、Ｓ（ｍ−２）、・・・、Ｓ（０）を出力する。上記のａビットは複数の種類であっても良い。また、ｍビット分の先頭ビットが存在するために、ｍ個のヘッダー検出器としたが、結合してヘッダー検出器を作成する場合はｍ個に限定されない。
ＯＲ回路は、検出信号Ｓ［ｍ−１：０］が表す信号レベル“１”に対して論理オアを施してＯＲ信号Ｒｅｓｅｔを作成して出力する。ＯＲ信号Ｒｅｓｅｔは、第二のクロックＤＣＬＫによりサンプリングし、タイミングを調整しても良い。
このように、ヘッダー検出回路２１は、検出結果として、検出信号Ｓ［ｍ−１：０］、ＯＲ信号Ｒｅｓｅｔを出力する。
【００３９】
データ処理部（２２〜２９）は、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）の出力と、検出結果とに応じて、データ列に対するデータ処理を行う。以下、データ処理について説明する。
【００４０】
ラッチ回路２２は、ヘッダー検出回路２１の出力である検出信号Ｓ［ｍ−１：０］をラッチし、次に検出信号Ｓが変化するまで状態を保つ。また、ラッチ回路２２は、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）にａビット（ヘッダービット列ｃｏｍｍａの先頭のビット）が出力されるのと同じタイミングで、選択信号Ｓｅｌ［（ｍ−１）：０］を出力する。
【００４１】
クロック作成回路２３は、ヘッダー検出回路２１の出力であるＯＲ信号Ｒｅｓｅｔによりリセットし、ＯＲ信号Ｒｅｓｅｔ出力が無効になると、パラレルデータ出力ＲＤ［ｃ−１：０］のビット数ｃの１／ｍとなるｄ回を繰り返しカウントしている間、第三のクロックＴＣＬＫを出力する。
【００４２】
整列回路２４は、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）の出力であるデータ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］と、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）の入力であるデータ列Ｄ［ｎ＊ｍ−１：（ｎ−１）＊ｍ］と、第（ｎ−１）から第（ｎ−ｄ＋１）のレジスタ群Ｒｅｇ＿（ｎ−２）、Ｒｅｇ＿（ｎ−３）、・・・Ｒｅｇ＿（ｎ−ｄ）の入力であるデータＤ［（（ｎ−１）＊ｍ−１）：（ｎ−２）＊ｍ］、・・・Ｄ［（（ｎ＋１−ｄ）＊ｍ−１）：（（ｎ−ｄ）＊ｍ＋１）］との（ｃ＋ｍ−１）個を入力とする。ラッチ回路２２から選択信号Ｓｅｌ［ｍ−１］、Ｓｅｌ［ｍ−２］、・・・Ｓｅｌ［０］が出力されたときは、整列回路２４は、それぞれ、第ｎのレジスタ群Ｒｅｇ＿（ｎ−１）からのデータ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］の最上位、２番目に上位、・・・最下位のデータＤ［（（ｎ＋１）＊ｍ−１）］、Ｄ［（（ｎ＋１）＊ｍ−２）］、・・・Ｄ［（ｎ＊ｍ）］をデータの先頭ビットとして、第三のクロックＴＣＬＫの立ち上がり（、または立ち下がり）によりｃビットをサンプリングし、整列信号ＡＤ［（ｃ−１）：０］を出力する。このようにして、ヘッダー検出回路２１で、先頭ビットを特定するａビットに一致したヘッダービット列ｃｏｍｍａを先頭にしたｃビットを整列できる。
【００４３】
書込・読出処理部（２５〜２９）は、整列信号ＡＤ［（ｃ−１）：０］に基づいて、データ列Ｄ［（（ｎ＋１）＊ｍ−１）：ｎ＊ｍ］に対する書込・読出処理を行う。以下、書込・読出処理について説明する。
【００４４】
ライトアドレス発生回路２５は、第三のクロックＴＣＬＫによって繰り返し０から（ＷＡ−１）をカウントし、アドレスを有するＷＡ個のライトアドレス出力ＷＡＤＤＲを作成する。ここで、ＷＡは、１以上の整数である。
【００４５】
レジスタファイル２６は、ライトアドレス発生回路２５からのライトアドレス出力ＷＡＤＤＲのアドレスに従って、整列回路２４からの整列信号ＡＤ［（ｃ−１）：０］を第三のクロックＴＣＬＫによって書き込み、リードアドレスＲＡＤＤＲによって指定されたアドレスのデータを読み出し、リードデータ出力ＲＤ［ｃ−１：０］を作成する。ここで、システムクロックＳＣＬＫにより、読み出したデータを取り込んだ出力を、リードデータ出力ＲＤ［ｃ−１：０］としても良い。
【００４６】
パルス幅作成回路２７は、ヘッダー検出回路２１からのＯＲ信号Ｒｅｓｅｔを第二のクロックＤＣＬＫでセットし、一定のパルス幅（信号レベル“１”を表す）の頭出し検出信号Ｄｅｔｅｃｔを作成する、また、パルス幅作成回路２７は、第三のクロックＴＣＬＫの１周期分のパルス幅にしたロード信号ＬＯＡＤを出力する。
【００４７】
先頭アドレス記憶回路２８は、パルス幅作成回路２７の出力のロード信号ＬＯＡＤに従い、データの先頭ビットをレジスタファイル２６に書き込んだときのライトアドレス出力ＷＡＤＤＲを書き込み、ラッチする。
【００４８】
リードアドレスカウンタ２９には、共通部３からスタート信号ＳＴＲが供給される。リードアドレスカウンタ２９は、このスタート信号ＳＴＲが有効になると、システムクロックＳＣＬＫにより、先頭アドレス記憶回路２８の出力である先頭アドレス信号ＳＡＤＤＲを取り込む。また、リードアドレスカウンタ２９は、スタート信号ＳＴＲが非有効になるとカウントを開始して０から（ＷＡ−１）までを繰り返し、リードアドレスＲＡＤＤＲを作成し、レジスタファイル２６に出力する。このとき、Ｌ個のチャネルにおいて、レジスタファイル２６に書き込まれたデータの先頭ビットから読み出されることになるため、チャネル間において整列した出力が得られる。
【００４９】
共通部３のＡＮＤ回路３１は、Ｌ個のシリアル受信機１のパルス幅作成回路２７からそれぞれ出力されるＬ個の頭出し検出信号Ｄｅｔｅｃｔ０、Ｄｅｔｅｃｔ１・・・・ＤｅｔｅｃｔＬを入力とし、そのＬ個の頭出し検出信号Ｄｅｔｅｃｔ０、Ｄｅｔｅｃｔ１・・・・ＤｅｔｅｃｔＬが表す信号レベル“１”に対して論理アンドを施す。ＡＮＤ回路３１は、論理アンドを施すことにより、Ｌ個チャネルで、ａビット（ヘッダービット列ｃｏｍｍａ）が検出されたかを確認でき、その結果として、読み出し開始信号ＳＴＲＴを出力する。
【００５０】
共通部３の同期化回路３２は、ＡＮＤ回路３１の出力である読み出し開始信号ＳＴＲＴを、システムクロックＳＣＬＫの立ち上がり（、または、立ち下がり、または、両方）を使用して、同期化し、１周期分のパルス幅にしたスタート信号ＳＴＲを、Ｌ個のシリアル受信機２のリードアドレスカウンタ２９に出力する。
【００５１】
本発明のシリアルインタフェース回路によれば、上記の構成により、ヘッダー検出回路２１は、ｎ個（ｎは２以上の整数）のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿（ｎ−１）のうちの、第１から第ｂ（ｂは、ｂ＜ｎを満たす整数）までのｂ個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１）の入力であるデータ列Ｄ［（ｂ＊ｍ−１）：（（ｂ−１）＊ｍ−ａ＋１）］が揃ったタイミングから動作する。即ち、第１から第ｂまでのｂ個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１）がデータ列をシフトしたときに、データ列のヘッダーを検出して検出結果｛検出信号Ｓ［ｍ−１：０］、ＯＲ信号Ｒｅｓｅｔ｝をデータ処理部（２２〜２９）に出力する。このため、速いタイミングでヘッダーを検出できる。
【００５２】
また、ヘッダー検出回路２１の出力により、データ処理部（２２〜２９）において、整列回路２４は、先頭ビットを特定し選択し、クロック作成回路２３は、整列回路２４でデータを取り込むクロックＴＣＬＫを作成し、パルス幅作成回路２７は、頭出し検出信号Ｄｅｔｅｃｔとロード信号ＬＯＡＤを作成する。
また、パルス幅作成回路２７の出力であるロード信号ＬＯＡＤにより、先頭アドレス記憶回路２８は、データの先頭ビットをレジスタファイル２６に書き込んだときのライトアドレス出力ＷＡＤＤＲを書き込み、ラッチする。
また、パルス幅作成回路２７の出力である頭出し検出信号Ｄｅｔｅｃｔにより、ＡＮＤ回路３１と同期化回路３２は、Ｌ個のチャネルの全部揃ったタイミングを検出し、その信号を、システムクロックＳＣＬＫで同期化し、同時に先頭ビット読み出すタイミングとしてスタート信号ＳＴＲを作成する。
また、同期化回路３２の出力であるスタート信号ＳＴＲは、Ｌ個のチャネルに分配される。リードアドレスカウンタ２９は、スタート信号ＳＴＲが有効になると、システムクロックＳＣＬＫにより、先頭アドレス記憶回路２８の出力の先頭アドレス信号ＳＡＤＤＲを取り込み、スタート信号ＳＴＲが非有効になると、読み込んだ値から繰り返してカウントし、リードアドレスＲＡＤＤＲを作成する。
本発明のシリアルインタフェース回路では、これらの回路で使われるタイミングの作成も、早いタイミングでヘッダーを検出できているため、レーテンシを最短にすることができる。
【００５３】
ここで、頭出し検出信号Ｄｅｔｅｃｔのパルス幅が表す時間は、Ｌ個のシリアル送信器１の出力からＬ個のシリアル受信器２を経由してＬ個のチャネルの共通部３のＡＮＤ回路３１の出力までのチャネル間のスキュー分と、システムクロックＳＣＬＫの１周期分とを加えた時間よりも長くする。これにより、許容されるチャネル間のスキューを越えたところで発生したヘッダービット列ｃｏｍｍａの誤検出は無視され、１チャネルの伝送エラーに留まり、他のチャネルに影響しなくすることができる。また、１チャネルがヘッダービット列ｃｏｍｍａを検出できなかった場合でも、ＡＮＤ回路３１が無効を保つため、直前の伝送状態を維持し、伝送エラーを少なくすることができる。
【００５４】
また、レジスタファイル２６に書き込んだとき、同じアドレスを読むタイミングを、同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕と、レジスタファイル２６とリードデータを選択する回路までの遅延を加えた値より遅く、読み出すようにしたタイミングでリードアドレスＲＡＤＤＲを発行し、そのタイミングから、リードアドレスカウンタ２９からリードデータを書き込む出力レジスタまでの遅延と同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕を加えた値よりも早く、同じアドレスにデータを書き込まないように、アドレス０から（ＷＡ−１）を設定することにより、レーテンシを早くできる。
【００５５】
［動作］
図２は、本発明のシリアルインタフェース回路の動作を示すタイミングチャートである。
【００５６】
本実施形態では、ｍ＝４、ｎ＝５、ａ＝８、ｂ＝３、ｃ＝２０、ｄ＝５、ＷＡ＝５とする。
【００５７】
シリアル化データがレシーバ回路２０に与えられる。このとき、レシーバ回路２０は、シリアル化データを差動入力Ｉｎｐｕｔで受信し、４個の第一のクロックＲＣＬＫ［３：０］の立ち上がり（もしくは立下りもしくは両方）によりシリアル化データをサンプリングし、第一のクロックＲＣＬＫ［３：０］と同じ（もしくは、整数倍の周期を有する）第二のクロックＤＣＬＫに同期した４個のデータを有するデータ列Ｄ［３：０］に変換して出力する。
【００５８】
５個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿４のうちの、第一のレジスタ群Ｒｅｇ＿０は、レシーバ回路２０の出力であるデータ列Ｄ［３：０］を入力し、第二のクロックＤＣＬＫに応じて、内部の４個のレジスタによりシフトしたデータ列Ｄ［７：４］を作成する。
第二のレジスタ群Ｒｅｇ＿１は、第一のレジスタ群Ｒｅｇ＿０の出力であるデータ列Ｄ［７：４］を入力し、第二のクロックＤＣＬＫに応じて、内部の４個のレジスタによりシフトしたデータ列Ｄ［１１：８］を作成する。
第三のレジスタ群Ｒｅｇ＿２は、第二のレジスタ群Ｒｅｇ＿１の出力であるデータ列Ｄ［１１：８］を入力し、第二のクロックＤＣＬＫに応じて、内部の４個のレジスタによりシフトしたデータ列Ｄ［１５：１２］を作成する。
第四のレジスタ群Ｒｅｇ＿３は、第三のレジスタ群Ｒｅｇ＿２の出力であるデータ列Ｄ［１５：１２］を入力し、第二のクロックＤＣＬＫに応じて、内部の４個のレジスタによりシフトしたデータ列Ｄ［１９：１６］を作成する。
第五のレジスタ群Ｒｅｇ＿４は、第四のレジスタ群Ｒｅｇ＿３の出力であるデータ列Ｄ［１９：１６］を入力し、第二のクロックＤＣＬＫに応じて、内部の４個のレジスタによりシフトしたデータ列Ｄ［２３：２０］を作成する。
このように、５個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿４は、第二のクロックＤＣＬＫに応じて、第一から第５までこの順にデータ列Ｄ［２３：０］を生成する。
【００５９】
ヘッダー検出回路２１の４個のヘッダー検出器は、５個のレジスタ群Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿４のうちの、第一から第三までの３個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿２の入力であり、１１以上、且つ、４の倍数１２となるデータ列Ｄ［１１：０］のうちのデータ列Ｄ［１１：１］を入力し、第二のクロックＤＣＬＫによりサンプリングする。
この４個のヘッダー検出器は、データ列Ｄ［３：０］の先頭ビットを特定する８ビットを含むヘッダービット列ｃｏｍｍａと、データ列Ｄ［１１：１］の先頭ビットを表すビット列とを比較して、データ列Ｄ［ｍ−１：０］のヘッダーを検出する。データ列Ｄ［１１：１］が表すデータのうちの、データＤ［１１］、Ｄ［１０］、Ｄ［９］、Ｄ［８］の先頭ビットを表すビット列がヘッダービット列ｃｏｍｍａに等しいとき、即ち、上記の８ビットに等しいとき、４個のヘッダー検出器は、それぞれ、信号レベル“１”を表す検出信号Ｓ３、Ｓ２、Ｓ１、Ｓ０を出力する。
【００６０】
一般的には、ヘッダービット列ｃｏｍｍａは、７ビットで比較される。また、００１１１１１と１１０００００の２種類をもつが、４ビット分の先頭ビットが存在するために、４個のヘッダー検出器とした。結合してヘッダー検出器を作成する場合は４（＝ｍ）個に限定される必要はない。また００１１１１１や１１０００００以外の信号をヘッダービット列ｃｏｍｍａとしても良い。
【００６１】
ヘッダー検出回路２１のＯＲ回路は、検出信号Ｓ［３：０］が表す信号レベル“１”に対して論理オアを施してＯＲ信号Ｒｅｓｅｔを作成して出力する。先頭ビットは０、１、２、３のいずれであっても良いが、図では０であると仮定し、Ｓ［３］を選択信号とした。同時にＯＲ信号Ｒｅｓｅｔが作成される。ここで、検出信号Ｓ［３］とＯＲ信号Ｒｅｓｅｔが、第３のレジスタ群Ｒｅｇ＿２の入力Ｄ［１１：８］に来てから、２クロック後に出力されているが、２クロック後に既定されるものではない。
【００６２】
ラッチ回路２２は、ヘッダー検出回路２１の出力である検出信号Ｓ［３：０］をラッチし、次に検出信号Ｓが変化するまで状態を保つ。また、ラッチ回路２２は、第５のレジスタ群Ｒｅｇ＿４に８ビット（ヘッダービット列ｃｏｍｍａの先頭のビット）が出力されるのと同じタイミングで、選択信号Ｓｅｌ［３：０］を出力する。
【００６３】
同時に、クロック作成回路２３は、ヘッダー検出回路２１の出力であるＯＲ信号Ｒｅｓｅｔによりリセットし、ＯＲ信号Ｒｅｓｅｔ出力が無効になると、パラレルデータ出力ＲＤ［１９：０］のビット数２０の１／４となる５回を繰り返しカウントしている間、第三のクロックＴＣＬＫを出力する。本実施例では、第５のレジスタ群Ｒｅｇ＿４の出力に、先頭のビットである信号０が出力された次のクロックの立ち上がりのタイミングで第三のクロックＴＣＬＫの立ち上りが出力するようにしている。
【００６４】
整列回路２４は、第５のレジスタ群Ｒｅｇ＿４の出力であるデータ列Ｄ［２３：２０］と、第５のレジスタ群Ｒｅｇ＿４の入力であるデータ列Ｄ［１９：１６］と、第４から第１のレジスタ群Ｒｅｇ＿３、Ｒｅｇ＿２、・・・Ｒｅｇ＿０の入力であるデータＤ［１５：１２］、・・・Ｄ［３：１］との２３個を入力とする。同時にラッチ回路２２から選択信号Ｓｅｌ［３］が出力されたときに、整列回路２４は、第５のレジスタ群Ｒｅｇ＿４の最上位のデータＤ［２３］をデータの先頭ビットとして、第三のクロックＴＣＬＫにより２０ビットのデータ列［２３：４］をサンプリングし、整列信号ＡＤ［１９：０］を出力する。整列回路２４は、選択信号Ｓｅｌ［２］が出力されたときは、２番目の上位の出力Ｄ［２２：３］をサンプリングし、Ｓｅｌ［１］が出力されたときは３番目の上位の出力Ｄ［２１：２］をサンプリングし、Ｓｅｌ［０］が出力されたときは最下位の出力Ｄ［２０：１］をサンプリングし、整列信号ＡＤ［１９：０］として出力する。このようにして、ヘッダー検出回路２１で、先頭ビットを特定する８ビットに一致したヘッダービット列ｃｏｍｍａを先頭にした２０ビットを整列できる。
【００６５】
ライトアドレス発生回路２５は、第三のクロックＴＣＬＫによって繰り返し、０から４をカウントして、アドレスを有する４個のライトアドレス出力ＷＡＤＤＲを作成する。この実施例では、第三のクロックＴＣＬＫの立下りを有効エッジとしているが、立ち上がりを有効エッジにしても良い。
【００６６】
レジスタファイル２６は、整列回路２４の整列信号ＡＤ［１９：０］を、ライトアドレス発生回路２５のライトアドレス出力ＷＡＤＤＲ［４：０］のアドレスに従って、第三のクロックＴＣＬＫの立下りによって書き込む。ただし、立ち上がりであっても良い。書き込まれたデータは、リードアドレスＲＡＤＤＲ［４：０］によって指定されたアドレスのデータを読み出し、システムクロックＳＣＬＫの立ち上がりにより、出力レジスタに取り込み、リードデータ出力ＲＤ［１９：０］として出力する。ただし、レジスタファイル内に出力レジスタがなく、リードアドレスＲＡＤＤＲ［４：０］によって選択したデータをリードデータ出力ＲＤ［１９：０］としても良い。
【００６７】
パルス幅作成回路２７は、ヘッダー検出回路２１からのＯＲ信号Ｒｅｓｅｔを第二のクロックＤＣＬＫでセットし、一定のパルス幅（信号レベル“１”を表す）の頭出し検出信号Ｄｅｔｅｃｔを作成する。また、パルス幅作成回路２７は、第三のクロックＴＣＬＫの１周期分のパルス幅にしたロード信号ＬＯＡＤを出力する。
【００６８】
先頭アドレス記憶回路２８は、パルス幅作成回路２７の出力のロード信号ＬＯＡＤに従い、データの先頭ビットをレジスタファイル２６に書き込んだときのライトアドレス出力ＷＡＤＤＲを書き込み、ラッチする。
【００６９】
リードアドレスカウンタ２９は、Ｌ個のチャネルの共通部３から同時に出力されるスタート信号ＳＴＲが有効になると、システムクロックＳＣＬＫの立下りにより、先頭アドレス記憶回路２８の出力である先頭アドレス信号ＳＡＤＤＲ［３：０］を取り込み、リードアドレスＲＡＤＤＲを出力する。また、リードアドレスカウンタ２９は、スタート信号ＳＴＲが非有効になると、取り込んだ値からカウントして０から４までを繰り返し、リードアドレスＲＡＤＤＲ［４：０］を作成し、レジスタファイル２６に出力する。このとき、Ｌ個のチャネルにおいて、レジスタファイル２６に書き込まれたデータの先頭ビットから読み出されることになるため、チャネル間において整列した出力が得られる。
【００７０】
共通部３のＡＮＤ回路３１は、Ｌ個のシリアル受信機１のパルス幅作成回路２７からそれぞれ出力されるＬ個の頭出し検出信号Ｄｅｔｅｃｔ０、Ｄｅｔｅｃｔ１・・・・ＤｅｔｅｃｔＬを入力する。ＡＮＤ回路３１は、そのＬ個の頭出し検出信号が表す信号レベル“１”に対して論理アンドを施す。ＡＮＤ回路３１は、論理アンドを施すことにより、Ｌ個のチャネルで、８ビット（ヘッダービット列ｃｏｍｍａ）が検出されたかを確認でき、その結果として、読み出し開始信号ＳＴＲＴを出力する。１チャネルでも検出されないとアンドが取れないため、読み出し開始信号ＳＴＲＴを出力されない。もし使われないチャネルがあるならば、常時検出されたようにＤｅｔｅｃｔ信号をクランプすれば、無視される。
【００７１】
共通部３の同期化回路３２は、ＡＮＤ回路３１の出力である読み出し開始信号ＳＴＲＴを、システムクロックＳＣＬＫの立ち下がり、立ち上がりの順で取り込むフリップフロップ２段を使用して、同期化し、１周期分のパルス幅に前縁微分したスタート信号ＳＴＲを、Ｌ個のシリアル受信機２のリードアドレスカウンタ２９に出力する。
【００７２】
以上のような構成にし、頭出し検出信号Ｄｅｔｅｃｔのパルス幅を、Ｌ個のシリアル送信器１の出力から各シリアル受信器２のＬ個のチャネルの共通部３にあるＡＮＤ回路３１の出力までのチャネル間のスキュー分とシステムクロックＳＣＬＫの１周期分を加えた時間よりも広い、最小のパルス幅になるようにすることにより、許容されるチャネル間のスキューを越えたところで発生したヘッダービット列ｃｏｍｍａの誤検出は無視され、１チャネルの伝送エラーに留まり、他のチャネルに影響しなくすることができる。また、１チャネルがヘッダービット列ｃｏｍｍａを検出できなかった場合でも、ＡＮＤ回路３１が無効を保つため、直前の伝送状態を維持し、伝送エラーを少なくすることができる。
【００７３】
また、同期化回路３２において、ＡＮＤ回路３１の出力をシステムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する場合があるが、ヘッダービット列ｃｏｍｍａの直前に１データ分以上の無効データを付加し、先頭ビットを特定する８ビットは、上記のａビットと同じにすることにより、１データ分の無効データを省略したり、ヘッダービット列ｃｏｍｍａを２度読み出したりすることにより、実データを変えずに伝送できる。
【００７４】
また、レジスタファイル２６に書き込んだとき、同じアドレスを読むタイミングを、同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕と、レジスタファイル２６とリードデータを選択する回路までの遅延を加えた値より遅く、読み出すようにしたタイミングでリードアドレスＲＡＤＤＲを発行し、そのタイミングから、リードアドレスカウンタ２９からリードデータを書き込む出力レジスタまでの遅延と同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕を加えた値よりも早く、同じアドレスにデータを書き込まないように、アドレス０から４を設定することにより、レーテンシを早くできる。
【００７５】
［応用］
図３は、本発明のシリアルインタフェース回路の応用例を示している。本発明のシリアルインタフェース回路は、Ｌ個のシリアル送信器（Ｔｒａｎｓｍｉｔｔｅｒ）１であるシリアル送信器１−１〜１−Ｌと、Ｌ個のシリアル受信器（Ｒｅｃｅｉｖｅｒ）２であるシリアル受信器２−１〜２−Ｌと、共通部（共通回路部）３と、エラー修正コーディング発生器（ＥＣＣＧＥＮ）６と、エラー修正コーディング器（ＥＣＣ）７とを具備している。エラー修正コーディング発生器、エラー修正コーディング器については、当業者にとってよく知られているので、その詳細な説明を省略する。
【００７６】
シリアル送信器１−１〜１−Ｌとシリアル受信器２−１〜２−Ｌは、Ｌ個のチャネルのそれぞれに対応する。エラー修正コーディング発生器６の出力は、シリアル送信器１−１〜１−Ｌの入力に接続され、シリアル送信器１−１〜１−Ｌの出力は、それぞれ、シリアル受信器２−１〜２−Ｌの入力に接続されている。シリアル受信器２−１〜２−Ｌの出力は、エラー修正コーディング器７の入力に接続されている。エラー修正コーディング発生器６は、１ビットエラーならびに１チャネルエラーを修復する。エラー修正コーディング器７は、１ビットエラーならびに１チャネルエラーを修復する。このような構成により、１チャネルがエラーしたり、ヘッダービット列ｃｏｍｍａを検出できなかったりしても、再送することなくデータを再生できる。
【００７７】
また、本発明のシリアルインタフェース回路は、更に、８Ｂ１０Ｂ変換回路（８Ｂ１０ＢＣＯＮＶ）４−１〜４−Ｌと、１０Ｂ８Ｂ変換回路（１０Ｂ８ＢＣＯＮＶ）５−１〜５−Ｌとを具備している。８Ｂ１０Ｂ変換回路、１０Ｂ８Ｂ変換回路については、当業者にとってよく知られているので、その詳細な説明を省略する。
【００７８】
８Ｂ１０Ｂ変換回路４−１〜４−Ｌと１０Ｂ８Ｂ変換回路５−１〜５−Ｌは、Ｌ個のチャネルのそれぞれに対応する。８Ｂ１０Ｂ変換回路４−１〜４−Ｌは、それぞれ、エラー修正コーディング発生器６とシリアル送信器１−１〜１−Ｌとの間に接続され、１０Ｂ８Ｂ変換回路５−１〜５−Ｌは、それぞれ、シリアル受信器２−１〜２−Ｌとエラー修正コーディング器７の間に接続されている。８Ｂ１０Ｂ変換回路４−１〜４−Ｌは、実データ列とヘッダービット列ｃｏｍｍａとを区別する。１０Ｂ８Ｂ変換回路５−１〜５−Ｌは、実データとヘッダービット列ｃｏｍｍａとを区別する。このような構成により、実データとヘッダービット列ｃｏｍｍａを区別可能にするため、任意の時間にヘッダービット列ｃｏｍｍａを挿入できる。
【００７９】
また、レジスタファイル２６に書き込んだとき、同じアドレスを読むタイミングを、同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕と、レジスタファイル２６とリードデータを選択する回路までの遅延とシリアル送信器とシリアル受信器のクロックのレートの差によって、ヘッダービット列ｃｏｍｍａ が発生する時間隔の間にずれる位相差を加えた値より遅く、読み出すようにしたタイミングでリードアドレスＲＡＤＤＲを発行し、そのタイミングから、リードアドレスカウンタ２９からリードデータを書き込む出力レジスタまでの遅延と同期化回路３２が、システムクロックで同期化する際に、２信号間の位相によって、１サイクル前後する分の余裕を加えた値とシリアル送信器とシリアル受信器のクロックのレートの差によって、ヘッダービット列ｃｏｍｍａが発生する時間隔の間にずれる位相差よりも早く、同じアドレスにデータを書き込まないように、アドレス０から（ＷＡ−１）を設定することにより、シリアル送信器とシリアル受信器のクロックのレートの差を補償できる。
このように、レジスタファイル２６は、ＦＩＦＯの機能を行うが、１個でシステムクロックの同期とチャネル間整列と送受信器間のクロックのレート差の補償を行うため、ハードウェアを削減できる。
【００８０】
［効果］
本発明のシリアルインタフェース回路の効果について説明する。
【００８１】
第１の効果は、ヘッダー検出回路２１は、第１から第３までの３個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿２の入力であるデータ列Ｄ［１１：１］が揃ったタイミングから動作する。即ち、第１から第ｂまでのｂ個のレジスタ群Ｒｅｇ＿０、・・・Ｒｅｇ＿（ｂ−１）がデータ列をシフトしたときに、データ列のヘッダーを検出して検出結果｛検出信号Ｓ［ｍ−１：０］、ＯＲ信号Ｒｅｓｅｔ｝をデータ処理部（２２〜２９）に出力する。このため、速いタイミングでヘッダーを検出できる。
また、ヘッダー検出回路２１の出力により、データ処理部（２２〜２９）において、整列回路２４は、先頭ビットを特定し選択し、クロック作成回路２３は、整列回路２４でデータを取り込むクロックＴＣＬＫを作成し、パルス幅作成回路２７は、頭出し検出信号Ｄｅｔｅｃｔとロード信号ＬＯＡＤを作成する。
また、パルス幅作成回路２７の出力であるロード信号ＬＯＡＤにより、先頭アドレス記憶回路２８は、データの先頭ビットをレジスタファイル２６に書き込んだときのライトアドレス出力ＷＡＤＤＲを書き込み、ラッチする。
また、パルス幅作成回路２７の出力である頭出し検出信号Ｄｅｔｅｃｔにより、ＡＮＤ回路３１と同期化回路３２は、Ｌ個のチャネルの全部揃ったタイミングを検出し、その信号を、システムクロックＳＣＬＫで同期化し、同時に先頭ビット読み出すタイミングとしてスタート信号ＳＴＲを作成する。
また、同期化回路３２の出力であるスタート信号ＳＴＲは、Ｌ個のチャネルに分配される。リードアドレスカウンタ２９は、スタート信号ＳＴＲが有効になると、システムクロックＳＣＬＫにより、先頭アドレス記憶回路２８の出力の先頭アドレス信号ＳＡＤＤＲを取り込み、スタート信号ＳＴＲが非有効になると、読み込んだ値から繰り返してカウントし、リードアドレスＲＡＤＤＲを作成する。
本発明のシリアルインタフェース回路では、これらの回路で使われるタイミングの作成も、早いタイミングでヘッダーを検出できているため、レーテンシを最短にすることができる。
【００８２】
第２の効果は、エラー修正コーディング発生器６の出力にシリアル送信器１（シリアル送信器１−１〜１−Ｌ）の入力を接続し、エラー修正コーディング器７の入力にシリアル受信器２（シリアル受信器２−１〜２−Ｌ）の出力を接続して、エラー修正コーディング発生器６とエラー修正コーディング器７によりエラー修正コーディング（ＥＣＣ）を適用する。これにより、１ビットエラーと１チャネルエラーを修復できるデータを伝送したときに、誤動作などにより、数周期以内にＬ個のチャネルでヘッダービット列ｃｏｍｍａを検出しないときはチャネル間の整列を実施せず、直前の整列された状態を継続することにより、複数のチャネルが誤動作することを防止できる。
【図面の簡単な説明】
【００８３】
【図１】図１は、本発明のシリアルインタフェース回路の構成を示すブロック図である。
【図２】図２は、本発明のシリアルインタフェース回路の動作を示すタイミングチャートである。
【図３】図３は、図１の応用例を示している。
【符号の説明】
【００８４】
１    シリアル送信器（Ｔｒａｎｓｍｉｔｔｅｒ）、
２    シリアル受信器（Ｒｅｃｅｉｖｅｒ）、
２０    レシーバ回路（ＲＥＣＥＩＶＥＲ＆ＤＥＭＵＸ）、
２１    ヘッダー検出回路（Ｈｅａｄｅｒ＿Ｄｅｔｅｃｔｏｒ）、
２２〜２９    データ処理部、
２２    ラッチ回路（Ｒｅｇｓｅｌ）、
２３    クロック作成回路（Ｃｏｕｎｔｅｒ）、
２４    整列回路（Ａｌｉｇｎｅｒ）、
２５〜２９    書込・読出処理部、
２５    ライトアドレス発生回路（Ｗ−ＡＤＤＲＣＮＴ）、
２６    レジスタファイル（ＲＥＧＦＩＬＥ）、
２７    パルス幅作成回路（ＰＷＧｅｎ）、
２８    先頭アドレス記憶回路（Ｓ−ＡＤＤＲＲＥＧ）、
２９    リードアドレスカウンタ（Ｒ−ＡＤＤＲＣＮＴ）、
Ｒｅｇ＿０、Ｒｅｇ＿１、Ｒｅｇ＿２、・・・Ｒｅｇ＿４    レジスタ群、
ＴＯＵＴ    シリアル送信器１の正の出力、
ＴＯＵＴＢ    シリアル送信器１の負の出力、
Ｉｎｐｕｔ    シリアル受信器２の差動入力、
ＲＣＬＫ    第一のクロック（４相クロック）、
ＤＣＬＫ    第二のクロック（第一のクロックＲＣＬＫと同じ周期）、
Ｄ［２３：０］    入出力信号、
Ｓ［３：０］    検出信号（ヘッダー検出回路２１の出力）、
Ｒｅｓｅｔ    先頭ビットが検出されたタイミングを示すＯＲ信号（ヘッダー検出回路２１の出力）、
ＴＣＬＫ    第三のクロック（クロック作成回路２３の出力）、
ＡＤ［１９：０］    整列信号（整列回路２４の出力）、
ＷＡＤＤＲ［４：０］    ライトアドレス信号（ライトアドレス発生回路２５の出力）、
ＲＤ［１９：０］    レジスタファイル２６のリードデータ出力、
Ｄｅｔｅｃｔ０−ＤｅｔｅｃｔＬ    頭出し検出信号（パルス幅作成回路２７の出力）、
ＬＯＡＤ    ロード信号（パルス幅作成回路２７の出力）、
ＳＡＤＤＲ    先頭アドレス信号（先頭アドレス記憶回路２８の出力）、
ＲＡＤＤＲ［４：０］    リードアドレス（リードアドレスカウンタ２９の出力）、
３    共通部（共通回路部）、
３１    ＡＮＤ回路、
３２    同期化回路（ＳＹＮＣ−ＢＵＦ）、
ＳＴＲＴ    読み出し開始信号（ＡＮＤ回路３１の出力）、
ＳＣＬＫ    システムクロック、
ＳＴＲ    スタート信号（同期化回路３２の出力）、
ＷＤ０、ＷＤ１、ＷＤ２、ＷＤ３、ＷＤ４    データ、
１−１〜１−Ｌ    シリアル送信器（Ｔｒａｎｓｍｉｔｔｅｒ）、
２−１〜２−Ｌ    シリアル受信器（Ｒｅｃｅｉｖｅｒ）、
４−１〜４−Ｌ    ８Ｂ１０Ｂ変換回路（８Ｂ１０ＢＣＯＮＶ）、
５−１〜５−Ｌ    １０Ｂ８Ｂ変換回路（１０Ｂ８ＢＣＯＮＶ）、
６    エラー修正コーディング発生器（ＥＣＣＧＥＮ）、
７    エラー修正コーディング器（ＥＣＣ）、
【図１】
2008204284.tif 000003
【図２】
2008204284.tif 000004
【図３】
2008204284.tif 000005