(57)【要約】【課題】  パラレルデータを高速で伝送するシステムにおいて、ビット間の位相を同期させながらデータを受信する。【解決手段】  クロック調整回路３０２は、データ信号ｉｔ＃０の変化点を元にクロック信号ｃｌｋを調整して、調整クロック信号ｉｃｌｋ＃０を生成する。リングバッファ３０５は、複数段のバッファで構成され、ライトポインタ回路３０４のポインタが示すバッファに、ｉｃｌｋ＃０に従ってｉｔ＃０の値を取り込む。リードポインタ回路３１３のポインタは、クロック信号ＣＬＫＩＮに従って更新され、ビット＃０〜＃（ｎ−１）のそれぞれのリングバッファ３０５から、そのポインタが示すバッファのデータが読み出されて、受信レジスタ３１４に格納される。【選択図】図３
2006019790.tif 000002
【特許請求の範囲】
【請求項１】
複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【請求項２】
複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータの２つ以上のビットからなるグループ毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整し、グループ数分の調整クロック信号を生成するクロック調整手段と、
グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【請求項３】
検出手段、ライトポインタ手段、およびライト手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、該検出手段は、あらかじめ決められた時系列データの受信を検出して検出信号を出力し、該ライトポインタ手段は、該一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を格納し、該検出手段から該検出信号が出力されたとき、該ライトポインタ情報を所定値に設定し、あらかじめ決められた順番で該一定数のバッファ手段が選択されるように該ライトポインタ情報を更新し、該ライト手段は、該ライトポインタ情報により示されるバッファ手段にデータ信号を入力することを特徴とする請求項１または２記載のデータ受信装置。
【請求項４】
検出手段および同期化手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、前記リード手段は、リードポインタ手段を含み、該検出手段は、あらかじめ決められた時系列データの受信を検出して検出信号を出力し、該同期化手段は、前記検出信号を前記第２のクロック信号に同期させて、同期信号を生成し、該リードポインタ手段は、該第２のクロック信号に従って動作し、該一定数のバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を格納し、該同期化手段から該同期信号が出力されたとき、該リードポインタ情報を所定値に設定し、あらかじめ決められた順番で該一定数のバッファ手段が選択されるように該リードポインタ情報を更新することを特徴とする請求項１または２記載のデータ受信装置。
【請求項５】
前記同期化手段は、複数のビットの時系列データの受信がそれぞれ検出され、複数の検出信号がそれぞれ出力されたとき、該複数の検出信号の論理積を前記第２のクロック信号に同期させて、同期信号を生成することを特徴とする請求項４記載のデータ受信装置。
【請求項６】
前記同期信号を所定のクロック数だけ遅延させる調整手段をさらに備え、前記リードポインタ手段は、該調整手段から該同期信号が出力されたとき、前記リードポインタ情報を前記所定値に設定することを特徴とする請求項４記載のデータ受信装置。
【請求項７】
複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータのビット毎に設けられ、データ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整し、調整クロック信号を生成するビット数分のクロック調整手段と、
前記パラレルデータのビット毎に設けられ、前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、時系列に一定数のデータを保持するビット数分のデータバッファ手段と、
第２のクロック信号に従って、前記ビット数分のデータバッファ手段内のデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【請求項８】
複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータの２つ以上のビットからなるグループ毎に設けられ、データ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整し、調整クロック信号を生成するグループ数分のクロック調整手段と、
前記パラレルデータのビット毎に設けられ、グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、時系列に一定数のデータを保持するビット数分のデータバッファ手段と、
第２のクロック信号に従って、前記ビット数分のデータバッファ手段内のデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【請求項９】
複数ビットのパラレルデータを受信するデータ受信方法であって、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整して、ビット数分の調整クロック信号を生成し、
時系列に一定数のデータをビット毎に保持するデータバッファ手段に、前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択して、パラレルデータとして読み出し、
読み出されたパラレルデータを格納手段に格納する
ことを特徴とするデータ受信方法。
【請求項１０】
複数ビットのパラレルデータを受信するデータ受信方法であって、
前記パラレルデータの２つ以上のビットからなるグループ毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整して、グループ数分の調整クロック信号を生成し、
時系列に一定数のデータをビット毎に保持するデータバッファ手段に、グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択して、パラレルデータとして読み出し、
読み出されたパラレルデータを格納手段に格納する
ことを特徴とするデータ受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレルデータを高速で伝送するシステムに係り、ビット間の位相を同期させるデータ受信装置および方法に関する。
【背景技術】
【０００２】
コンピュータにより大規模マルチプロセッサシステムを構成する際、メモリシステムのＬＳＩ（Large Scale Integration）とプロセッサのＬＳＩを結ぶバスには、高いスループットが求められる。そのため、ＬＳＩの高速化に合わせて、バスの伝送レート（データレート）も高くなる一方である。
【０００３】
このような装置間において複数の信号線でデータを伝送するパラレルデータ伝送に関しては、従来より様々なシステムが提案されている（例えば、特許文献１〜６参照）。
【特許文献１】特開２００２−２２３２０８号公報
【特許文献２】国際公開ＷＯ９６／２９６５５号パンフレット
【特許文献３】特開平５−７５５９４号公報
【特許文献４】特開平６−５３９５５号公報
【特許文献５】特開２０００−２６１２９７号公報
【特許文献６】特開平１１−２７５０６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のパラレル伝送には、次のような問題がある。
受信端において、パラレルデータをビット毎に調整したクロック信号で受信するだけでは、ビット間に位相差が現れる。例えば、図１８に示すように、同時刻に送信された２つのデータ信号間にスキューがあり、ｂｉｔ０とｂｉｔ１の間に位相差を生じている場合、Ｃａｓｅ  ＡとＣａｓｅ  Ｂの２つのタイミングのうち、どちらが同時刻データの組み合わせを表しているのか不明になっている。さらに、これらの２つの組み合わせ以外のデータの組み合わせが同時刻データに対応する場合もあり得る。
【０００５】
そこで、受信側では、この位相差を調整して、各ビットを受信装置の内部クロックに同期させてから、パラレルデータを受信する必要がある。
ところが、データレートが高くなると、データの有効時間が短くなり、受信端への信号到達時間よりも短くなることがある。また、データをサンプルするクロック信号を各受信フリップフロップへ伝送する時間のばらつきや環境による変動も相対的に大きくなり、無視することができない。さらに、複数の信号間における配線長による伝送時間のばらつきも無視できなくなる。
【０００６】
このため、パラレル伝送においては、全ビットのデータを１つのクロックツリーでサンプルする回路の設計が、物理的に困難になってきている。設計が困難であれば、製造時に装置毎・信号毎に設定を行う必要があるが、個体別の設定作業には手間がかかるので、量産する際の問題となる。
【０００７】
本発明の課題は、パラレルデータを高速で伝送するシステムにおいて、ビット間の位相を同期させながらデータを受信する装置および方法を提供することである。
【課題を解決するための手段】
【０００８】
図１は、本発明のデータ受信装置の原理図である。図１のデータ受信装置は、クロック調整手段１０１、データバッファ手段１０２、リード手段１０３、格納手段１０４、検出手段１０５、同期化手段１０６、調整手段１０８、ライトポインタ手段１０９、およびライト手段１１０を備え、複数ビットのパラレルデータを受信する。
【０００９】
本発明の第１の局面において、データ受信装置は、クロック調整手段１０１、データバッファ手段１０２、リード手段１０３、および格納手段１０４を備える。クロック調整手段１０１は、パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整し、ビット数分の調整クロック信号を生成する。データバッファ手段１０２は、調整クロック信号に従ってビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持する。リード手段１０３は、第２のクロック信号に従って、データバッファ手段１０２内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出す。格納手段１０４は、読み出されたパラレルデータを格納する。
【００１０】
このようなデータ受信装置によれば、クロック調整手段１０１が生成する調整クロック信号により、ビット毎のセットアップタイムおよびホールドタイムが保障され、各ビットのデータ信号が適切なタイミングでデータバッファ手段１０２に取り込まれる。さらに、リード手段１０３により第２のクロック信号に従って複数ビットのデータを一斉に読み出すことで、ビット間のばらつきが調整されて、正しい組み合わせのパラレルデータが抽出される。
【００１１】
本発明の第２の局面において、データ受信装置は、クロック調整手段１０１、データバッファ手段１０２、リード手段１０３、および格納手段１０４を備える。クロック調整手段１０１は、パラレルデータの２つ以上のビットからなるグループ毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整し、グループ数分の調整クロック信号を生成する。データバッファ手段１０２は、グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持する。リード手段１０３は、第２のクロック信号に従って、データバッファ手段１０２内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出す。格納手段１０４は、読み出されたパラレルデータを格納する。
【００１２】
このようなデータ受信装置によれば、第１の局面におけるデータ受信装置と同様に、ビット間のばらつきが調整されて、正しい組み合わせのパラレルデータが抽出される。さらに、２つ以上のビットについてクロック調整手段１０１を共用することで、第１の局面におけるデータ受信装置と比較して、ハードウェアを削減することができる。
【００１３】
本発明の第３の局面において、第１または第２の局面におけるデータ受信装置は、検出手段１０５および同期化手段１０６をさらに備える。データバッファ手段１０２は、一定数のデータを時系列に保持する一定数のバッファ手段を含み、リード手段１０３は、リードポインタ手段１０７を含む。検出手段１０５は、あらかじめ決められた時系列データの受信を検出して検出信号を出力する。同期化手段１０６は、検出信号を第２のクロック信号に同期させて、同期信号を生成する。リードポインタ手段１０７は、第２のクロック信号に従って動作し、データバッファ手段１０２内の一定数のバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を格納し、同期化手段１０６から同期信号が出力されたとき、リードポインタ情報を所定値に設定し、あらかじめ決められた順番で一定数のバッファ手段が選択されるようにリードポインタ情報を更新する。
【００１４】
このようなデータ受信装置によれば、トレーニングデータのような時系列データの受信を契機としてリードポインタ情報をリセットし、データバッファ手段１０２内の複数のバッファ手段からデータを順番に読み出すことが可能になる。
【００１５】
本発明の第４の局面において、第３の局面におけるデータ受信装置は、調整手段１０８をさらに備える。調整手段１０８は、同期信号を所定のクロック数だけ遅延させ、リードポインタ手段１０７は、調整手段１０８から同期信号が出力されたとき、リードポインタ情報を所定値に設定する。
【００１６】
このようなデータ受信装置によれば、特定のビットの時系列データを受信してから所定時間が経過した後に、リードポインタ情報が所定値に設定される。したがって、遅延クロック数を適切に設定すれば、パラレルデータの全ビットの時系列データを受信した後に、リードポインタ情報をリセットすることが可能になる。
【００１７】
本発明の第５の局面において、第３の局面におけるデータ受信装置は、ライトポインタ手段１０９およびライト手段１１０をさらに備える。ライトポインタ手段１０９は、データバッファ手段１０２内の一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を格納し、検出手段１０５から検出信号が出力されたとき、ライトポインタ情報を所定値に設定し、あらかじめ決められた順番で一定数のバッファ手段が選択されるようにライトポインタ情報を更新する。ライト手段１１０は、ライトポインタ情報により示されるバッファ手段にデータ信号を入力する。
【００１８】
このようなデータ受信装置によれば、トレーニングデータのような時系列データの受信を契機としてライトポインタ情報をリセットし、データバッファ手段１０２内の複数のバッファ手段にデータを順番に書き込むことが可能になる。
【００１９】
クロック調整手段１０１、データバッファ手段１０２、格納手段１０４、検出手段１０５、同期化手段１０６、リードポインタ手段１０７、調整手段１０８、およびライトポインタ手段１０９は、例えば、後述する図３および１７のリングバッファ３０５、受信レジスタ３１４、ライトポインタリセットタイミング検出回路３０３、同期化回路３１１、リードポインタ回路３１３、調整回路３１２、およびライトポインタ回路３０４にそれぞれ対応する。
【００２０】
リード手段１０３は、例えば、リードポインタ回路３１３と後述する図５のデコーダ５１２およびセレクタ５３１に対応し、ライト手段１１０は、例えば、図５のデコーダ５１１、ＡＮＤ回路５２２−ｊ、５２３−ｊ、およびＯＲ回路５２４−ｊ（ｊ＝０，１，．．．，１５）に対応する。
【００２１】
第１のクロック信号、第２のクロック信号、調整クロック信号、および検出信号は、例えば、図３および１７のｃｌｋ、ＣＬＫＩＮ、ｉｃｌｋ＃０、およびｒｓｔ−ｔｉｍ＃０にそれぞれ対応し、同期信号は、例えば、後述する図７および８のＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣに対応する。
【発明の効果】
【００２２】
本発明によれば、パラレルデータの高速伝送に伴う、ビット間の伝送時間の大きなばらつきを動的に調整し、正しい組み合わせのデータを受信することができる。また、運用中の環境の変化による変動にも対応することができ、製造時に個体別の設定を行う必要もなくなる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
図２は、実施形態のデータ伝送システムの構成図である。図２のデータ伝送システムは、送信装置２０１、受信装置２０２、および発振器２０３からなり、送信装置２０１はｎビットのパラレルデータを受信装置２０２に送信する。送信装置２０１と受信装置２０２の間は、例えば、プリント基板の配線パターンで接続される。
【００２４】
送信装置２０１は、フェーズロックドループ（ＰＬＬ）２１１、Ｄフリップフロップ回路２１２、パターン発生器２１３、セレクタ２１４、および出力バッファ２１５を備える。ＰＬＬ２１１は、発振器２０３から供給される参照用のクロック信号から独自のクロック信号を生成し、そのクロック信号に従ってｎビットの送信データを生成する。送信データとしては、通常の運用データとトレーニングデータが生成される。
【００２５】
フリップフロップ回路２１２は、運用データを保持し、パターン発生器２１３は、あらかじめ決められた時系列データであるトレーニングデータを生成する。セレクタ２１４は、システム全体を制御する機構からのモード信号に応じて入力を切り替える。モード信号が運用モードを表すときはフリップフロップ回路２１２の出力を選択し、モード信号がチューニングモードを表すときはパターン発生器２１３の出力を選択する。出力バッファ２１５は、セレクタ２１４により選択された送信データを受信装置２０２に出力する。
【００２６】
受信装置２０２は、ＰＬＬ２２１および受信回路２２２、２２３を備える。ＰＬＬ２２１は、発振器２０３から供給されるクロック信号から内部クロック信号ＣＬＫＩＮを生成し、受信回路２２３に出力する。また、発振器２０３からのクロック信号は、クロック信号ｃｌｋとして受信回路２２２に入力される。
【００２７】
受信回路２２２は、パラレルデータのビット毎に設けられたｎ個のビットデータ保持回路２２４−ｉ（ｉ＝０，１，．．．，ｎ−２，ｎ−１）を含む。ビットデータ保持回路２２４−ｉは、クロック信号ｃｌｋの位相を調整して調整クロック信号を生成し、そのクロック信号に従って動作して、１ビット分のデータを保持する。受信回路２２３は、パラレルバス毎に設けられ、クロック信号ＣＬＫＩＮに従って動作して、パラレルバスの全ビット分のデータを保持する。
【００２８】
図３は、図２の受信装置２０２の構成例を示している。図３の受信装置２０２は、入力バッファ３０１を備え、ビットデータ保持回路２２４−０は、クロック調整回路３０２、ライトポインタリセットタイミング検出回路３０３、ライトポインタ回路３０４、およびリングバッファ３０５を備える。また、受信回路２２３は、同期化回路３１１、調整回路３１２、リードポインタ回路３１３、および受信レジスタ３１４を備える。
【００２９】
入力バッファ３０１は、ＬＳＩ外部からの入力信号のレベルをＬＳＩ内部のレベルに合わせる専用バッファであり、送信装置２０１からのパラレルデータをビット毎のデータ信号ｉｔ＃ｉ（ｉ＝０，１，．．．，ｎ−２，ｎ−１）に分離して、ビットデータ保持回路２２４−ｉに出力する。
【００３０】
クロック調整回路３０２は、データ信号ｉｔ＃０の変化点を検出し、それを元に、ｉｔ＃０のセットアップタイムおよびホールドタイムが確保されるようにクロック信号ｃｌｋを調整して、調整クロック信号ｉｃｌｋ＃０を生成する。ライトポインタリセットタイミング検出回路３０３は、時系列に入力されるデータ信号ｉｔ＃０からトレーニングデータを検出して、信号ｒｓｔ−ｔｉｍ＃０をライトポインタ回路３０４および同期化回路３１１に出力する。
【００３１】
リングバッファ３０５は、複数段のバッファで構成され、時系列に段数分のデータを保持する。ライトポインタ回路３０４は、リングバッファ３０５にデータを書き込むために、次のクロックで書き込むべきバッファを示す値をライトポインタとして保持する。ライトポインタは、リングバッファ３０５の段数分の値を巡回し、信号ｒｓｔ−ｔｉｍ＃０によりリセットされる。リングバッファ３０５は、ライトポインタの値が示すバッファに、データ信号ｉｔ＃０の値を格納する。その他のバッファは、既に格納されている値を保持する。ライトポインタとしては、例えば、バッファ番号が用いられる。
【００３２】
ライトポインタリセットタイミング検出回路３０３、ライトポインタ回路３０４、およびリングバッファ３０５は、クロック信号ｉｃｌｋ＃０に従って動作する。その他のビットデータ保持回路２２４の構成および動作についても、ビットデータ保持回路２２４−０と同様である。
【００３３】
リードポインタ回路３１３は、リングバッファ３０５からデータを時系列に読み出すために、次に読み出すべきバッファを示す値をリードポインタとして保持する。リードポインタは、ライトポインタと同様に、リングバッファ３０５の段数分の値を巡回する。バッファの読み出しは書き込みとは関係なく行われ、ビットデータ保持回路２２４−０〜２２４−（ｎ−１）のそれぞれのリングバッファ３０５から、リードポインタの値が示すバッファのデータが選択されて一斉に読み出される。
【００３４】
受信レジスタ３１４は、ビットデータ保持回路２２４−０〜２２４−（ｎ−１）から読み出されたデータを、パラレルデータ全体として、クロック信号ＣＬＫＩＮに従って記録する。こうして、送信装置２０１から同時刻に送信されたパラレルデータがサンプルされる。
【００３５】
同期化回路３１１は、複数段のフリップフロップ回路で構成され、ライトポインタリセットタイミング検出回路３０３の出力信号ｒｓｔ−ｔｉｍ＃０をクロック信号ＣＬＫＩＮに同期させて、調整回路３１２に出力する。ライトポインタリセットタイミング検出回路３０３はビット毎に設けられるが、この例では、ビット＃０がパラレルデータの代表ビットとして選択され、信号ｒｓｔ−ｔｉｍ＃０のみが同期化回路３１１に接続されている。
【００３６】
調整回路３１２は、同期化回路３１１の出力信号をさらに遅延させてリードポインタ回路３１３に出力する回路であり、遅延クロック数を設定する機構を含む。調整回路３１２には、所定数の状態のうちの１つが設定され、同期化回路３１１の出力信号は、設定された状態に応じたクロック数だけ遅れて調整回路３１２から出力される。リードポインタは、調整回路３１２の出力信号によりリセットされる。同期化回路３１１の出力信号を遅延させる必要がない場合は、調整回路３１２を省略してもよい。
【００３７】
同期化回路３１１、調整回路３１２、リードポインタ回路３１３、および受信レジスタ３１４は、クロック信号ＣＬＫＩＮに従って動作する。
このような受信装置２０２によれば、ビットデータ保持回路２２４−ｉによりビット毎のセットアップタイムおよびホールドタイムが保障され、受信回路２２３によりビット間のばらつきが調整されて、正しい組み合わせのパラレルデータが抽出される。
【００３８】
次に、図４から図１０までを参照しながら、図３のビットデータ保持回路２２４−ｉおよび受信回路２２３の具体的な回路構成について説明する。
図４は、図３のクロック調整回路３０２の構成例を示している。図４のクロック調整回路は、ｓｃｌｋ生成回路４０１、シフトレジスタ回路４０２、位相調整回路４０３、ＤＤＲ（Double Data Rate）チョッパ４０４、およびＤフリップフロップ回路４０５を備える。
【００３９】
ｓｃｌｋ生成回路４０１は、データ信号ｉｔ＃０からタイミング信号ｓｃｌｋを生成し、シフトレジスタ回路４０２に出力する。シフトレジスタ回路４０２は、フリップフロップ回路４０５から出力される制御信号ｄｏｗｎに応じて、位相調整回路４０３のための制御信号を生成する。位相調整回路４０３は、シフトレジスタ回路４０２からの制御信号に従ってクロック信号ｃｌｋの位相を調整し、クロック信号ｉｃｌｋ＃０を生成する。生成されたクロック信号ｉｃｌｋ＃０は、フリップフロップ回路４０５の端子Ｄにデータ信号として入力される。
【００４０】
ＤＤＲチョッパ４０４は、データ信号ｉｔ＃０の立ち上がり／立ち下がり（アップ／ダウン）エッジからクロック信号ｐｄｃｌｋを生成する。生成されたクロック信号ｐｄｃｌｋは、フリップフロップ回路４０５の端子ＣＫに入力される。
【００４１】
フリップフロップ回路４０５は、クロック信号ｉｃｌｋ＃０とデータ信号ｉｔ＃０の位相関係を検出する位相検出器として動作し、クロック信号ｐｄｃｌｋに従ってクロック信号ｉｃｌｋ＃０をラッチして、制御信号ｄｏｗｎを生成する。
【００４２】
こうして、シフトレジスタ回路４０２は、制御信号ｄｏｗｎの値が論理“１”か“０”かを判定して、位相調整回路４０３の遅延量の増減を制御する。これにより、調整用のフィードバックループが形成され、データ信号ｉｔ＃０をサンプルするためのクロック信号ｉｃｌｋ＃０の有効エッジを、データ信号ｉｔ＃０の安定した時点に合わせることができる。
【００４３】
図５は、図３のライトポインタ回路３０４、リングバッファ３０５、およびリードポインタ回路３１３の構成例を示している。ライトポインタおよびリードポインタは、それぞれ、あらかじめ決められた順序で所定数の状態を遷移するように制御される。
【００４４】
図５のライトポインタ回路３０４は、フリーランのカウンタで構成することができ、ＡＮＤ回路５０１、Ｄフリップフロップ回路５０２、および加算回路５０３を備える。ＡＮＤ回路５０１は、ライトポインタリセットタイミング検出回路３０３からの信号ｒｓｔ−ｔｉｍ＃０を反転した値と加算回路５０３の出力の論理積を、フリップフロップ回路５０２に出力する。
【００４５】
フリップフロップ回路５０２は、クロック信号ｉｃｌｋ＃０に従ってＡＮＤ回路５０１の出力をラッチし、４ビットのライトポインタＷＰＴＲ［３：０］として保持する。加算回路５０３は、フリップフロップ回路５０２から出力されるＷＰＴＲ［３：０］の値に１を加算して、ＡＮＤ回路５０１に出力する。これにより、ライトポインタは“０”〜“１５”の値を巡回し、信号ｒｓｔ−ｔｉｍ＃０の値が“１”のときに“０”にリセットされる。
【００４６】
リングバッファ３０５は、デコーダ５１１、５１２、Ｄフリップフロップ回路５２１−ｊ、ＡＮＤ回路５２２−ｊ、５２３−ｊ、ＯＲ回路５２４−ｊ（ｊ＝０，１，．．．，１５）、およびセレクタ５３１を備える。
【００４７】
デコーダ５１１は、ライトポインタ回路３０４から出力されるＷＰＴＲ［３：０］の値をデコードして１６ビットの選択信号ＢＵＦ＿ＷＥ［１５：０］を生成し、ビット毎にＡＮＤ回路５２２−０〜５２２−１５および５２３−０〜５２３−１５に出力する。この場合、選択信号ＢＵＦ＿ＷＥ［１５：０］のうち、ＷＰＴＲ［３：０］の値が示すビットのみが“１”となり、その他のビットは“０”となる。
【００４８】
ＡＮＤ回路５２２−ｊは、選択信号ＢＵＦ＿ＷＥ［１５：０］のビットｊの値とデータ信号ｉｔ＃０の論理積を、ＯＲ回路５２４−ｊに出力し、ＡＮＤ回路５２３−ｊは、選択信号ＢＵＦ＿ＷＥ［１５：０］のビットｊを反転した値とフリップフロップ回路５２１−ｊの出力の論理積を、ＯＲ回路５２４−ｊに出力する。ＯＲ回路５２４−ｊは、ＡＮＤ回路５２２−ｊとＡＮＤ回路５２３−ｊの出力の論理和を、フリップフロップ回路５２１−ｊに出力する。そして、フリップフロップ回路５２１−ｊは、クロック信号ｉｃｌｋ＃０に従ってＯＲ回路５２４−ｊの出力をラッチし、セレクタ５３１に出力する。
【００４９】
したがって、選択信号ＢＵＦ＿ＷＥ［１５：０］のビットｊが“１”のとき、１６個のフリップフロップ回路５２１−０〜５２１−１５のうち、フリップフロップ回路５２１−ｊのみにデータ信号ｉｔ＃０が格納され、その他のフリップフロップ回路５２１は以前と同じデータを保持する。
【００５０】
デコーダ５１２は、リードポインタ回路３１３から出力される、４ビットのリードポインタＲＰＴＲ［３：０］の値をデコードして、１６ビットの選択信号ＢＵＦ＿ＳＥＬ［１５：０］を生成し、セレクタ５３１に出力する。この場合、選択信号ＢＵＦ＿ＳＥＬ［１５：０］のうち、ＲＰＴＲ［３：０］の値が示すビットのみが“１”となり、その他のビットは“０”となる。セレクタ５３１は、ビットｊが“１”のときフリップフロップ回路５２１−ｊの出力を選択して、受信レジスタ３１４に出力する。
【００５１】
受信レジスタ３１４は、Ｄフリップフロップ回路５５１を備える。フリップフロップ回路５５１は、クロック信号ＣＬＫＩＮに従ってセレクタ５３１の出力をラッチし、受信データとして保持する。
【００５２】
リードポインタ回路３１３は、ライトポインタ回路３０４と同様にカウンタで構成することができ、ＡＮＤ回路５４１、Ｄフリップフロップ回路５４２、および加算回路５４３を備える。ＡＮＤ回路５４１は、調整回路３１２からの信号ＲＰＴＲ＿ＲＳＴ＿Ｄを反転した値と加算回路５４３の出力の論理積を、フリップフロップ回路５４２に出力する。
【００５３】
フリップフロップ回路５４２は、クロック信号ＣＬＫＩＮに従ってＡＮＤ回路５４１の出力をラッチし、ＲＰＴＲ［３：０］として保持する。加算回路５４３は、フリップフロップ回路５４２から出力されるＲＰＴＲ［３：０］の値に１を加算して、ＡＮＤ回路５４１に出力する。これにより、リードポインタは“０”〜“１５”の値を巡回し、信号ＲＰＴＲ＿ＲＳＴ＿Ｄの値が“１”のときに“０”にリセットされる。
【００５４】
ここでは、ライトポインタＷＰＴＲ［３：０］およびリードポインタインタＲＰＴＲ［３：０］を“０”にリセットしているが、それ以外の所定の値にリセットするようにしても構わない。
【００５５】
図６は、図３のライトポインタリセットタイミング検出回路３０３の構成例を示している。図６のライトポインタリセットタイミング検出回路は、１６個のＤフリップフロップ回路６０１−ｊ（ｊ＝０，１，．．．，１５）からなるシフトレジスタ回路と、Ｄフリップフロップ回路６０２、および比較回路６０３を備える。
【００５６】
各フリップフロップ回路６０１−ｊは、クロック信号ｉｃｌｋ＃０に従って、時系列に入力されるデータ信号ｉｔ＃０を次の段のフリップフロップ回路６０１−（ｊ＋１）にシフトしていく。フリップフロップ回路６０２は、送信装置２０１から送信される１６ビットのトレーニングデータと同じパターンをＰＡＴＡＲＮ［１５：０］として保持する。
【００５７】
比較回路６０３は、フリップフロップ回路６０１−０〜６０１−１５の出力とフリップフロップ回路６０２の出力を比較し、両者が一致したとき、信号ｒｓｔ−ｔｉｍ＃０として“１”を出力する。したがって、ＰＡＴＡＲＮ［１５：０］に設定されたパターンと一致するデータがシフトレジスタ回路内に並んだとき、ライトポインタのリセット契機信号が出力される。
【００５８】
図７は、図３の同期化回路３１１の構成例を示している。図７の同期化回路は、ＯＲ回路７０１、Ｄフリップフロップ回路７０２〜７０７、およびＡＮＤ回路７０８を備える。ＯＲ回路７０１は、信号ｒｓｔ−ｔｉｍ＃０とフリップフロップ回路７０２の出力の論理和をフリップフロップ回路７０２に出力し、フリップフロップ回路７０２は、クロック信号ｉｃｌｋ＃０に従ってＯＲ回路７０１の出力をラッチし、出力する。
【００５９】
フリップフロップ回路７０３〜７０７は、クロック信号ＣＬＫＩＮに従って、フリップフロップ回路７０２の出力を次段のフリップフロップ回路にシフトしていく。ＡＮＤ回路７０８は、フリップフロップ回路７０７の出力を反転した値とフリップフロップ回路７０６の出力の論理積を、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣとして出力する。
【００６０】
こうして、ライトポインタのリセット契機となる信号ｒｓｔ−ｔｉｍ＃０をクロック信号ＣＬＫＩＮに同期させた信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが生成される。信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣは、リードポインタのリセット契機となる信号ＲＰＴＲ＿ＲＳＴ＿Ｄを生成するために用いられる。
【００６１】
図３では、ビット＃０がパラレルデータの代表ビットとして選択され、信号ｒｓｔ−ｔｉｍ＃０のみに基づいてリードポインタをリセットしているが、パラレルデータの２つ以上のビットのライトポインタリセットタイミング検出回路から出力される２つ以上の信号ｒｓｔ−ｔｉｍ＃ｉ（ｉ＝０，１，．．．，ｎ−２，ｎ−１）に基づいてリードポインタをリセットするようにしてもよい。
【００６２】
図８は、ｎ＝６４の場合のパラレルデータの全ビットのライトポインタリセットを待ち合わせて、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを生成する同期化回路の構成例を示している。図８の同期化回路は、ＯＲ回路８０１−ｉ（ｉ＝０，１，．．．，６３）、Ｄフリップフロップ回路８０２−ｉ、ＡＮＤ回路８０３、８０９、およびＤフリップフロップ回路８０４〜８０８を備える。
【００６３】
ＯＲ回路８０１−ｉは、信号ｒｓｔ−ｔｉｍ＃ｉとフリップフロップ回路８０２−ｉの出力の論理和をフリップフロップ回路８０２−ｉに出力し、フリップフロップ回路８０２−ｉは、クロック信号ｉｃｌｋ＃ｉに従ってＯＲ回路８０１−ｉの出力をラッチし、出力する。ＡＮＤ回路８０３は、フリップフロップ回路８０２−０〜８０２−６３の論理積をフリップフロップ回路８０４に出力する。
【００６４】
フリップフロップ回路８０４〜８０８は、クロック信号ＣＬＫＩＮに従って、ＡＮＤ回路８０３の出力を次段のフリップフロップ回路にシフトしていく。ＡＮＤ回路８０９は、フリップフロップ回路８０８の出力を反転した値とフリップフロップ回路８０７の出力の論理積を、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣとして出力する。
【００６５】
図３の調整回路３１２は、同期化回路３１１が全ビットのライトポインタリセットを待ち合わせていない場合に、それらのリセットを待ち合わせる場合と等価の一定の遅延を設定により追加して、ビット間のばらつきを補償する回路であり、例えば、カウンタ回路または複数段のフリップフロップからなるシフトレジスタ回路により実現される。
【００６６】
ただし、ビット間のばらつきが比較的小さい場合には、同期化回路３１１と調整回路３１２により、不必要な遅延が生じる可能性がある。この遅延は、プロセッサにとっては、メモリレイテンシとして性能に大きく影響する。そこで、この遅延を必要最小限にするために、必要十分なタイミングまで遡って、リードポインタのリセット契機を生成することが望まれる。
【００６７】
本実施形態では、リードポインタが巡回する構成をとっていることを利用し、同期化回路３１１の遅延と合わせて、ポインタ値の１周分近くの遅延を設定することにより、読み出し時の遅延を必要最小限に抑えるようにしている。
【００６８】
図９は、カウンタ回路を用いた場合の調整回路３１２の構成例を示している。図９の調整回路は、Ｄフリップフロップ回路９０１、９０５、９１０、ＡＮＤ回路９０２、９０３、９０８、９１１、ＯＲ回路９０４、９０９、減算回路９０６、および検出回路９０７を備える。
【００６９】
フリップフロップ回路９０１には、４ビットの信号ＤＥＦＡＵＬＴ［３：０］により、０〜１５のいずれかを初期値として設定することができる。フリップフロップ回路９０１は、クロック信号ＣＬＫＩＮに従って、設定されたＤＥＦＡＵＬＴ［３：０］の値をＡＮＤ回路９０２に出力する。
【００７０】
ＡＮＤ回路９０２、９０３、ＯＲ回路９０４、フリップフロップ回路９０５、および減算回路９０６はダウンカウンタを構成する。ＡＮＤ回路９０２は、信号ＤＥＦＡＵＬＴ［３：０］と信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣの論理積を出力し、ＡＮＤ回路９０３は、減算回路９０６の出力と信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを反転した値の論理積を出力する。ＯＲ回路９０４は、ＡＮＤ回路９０２の出力とＡＮＤ回路９０３の出力の論理和を出力する。
【００７１】
フリップフロップ回路９０５は、クロック信号ＣＬＫＩＮに従ってＯＲ回路９０４の出力をラッチし、カウント値を示す信号ＤＥＬ＿ＴＡＵ［３：０］として出力する。減算回路９０６は、信号ＤＥＬ＿ＴＡＵ［３：０］の値から１を減算して、ＡＮＤ回路９０３に出力する。検出回路９０７は、信号ＤＥＬ＿ＴＡＵ［３：０］の値が“０”になったことを検出し、信号“１”を出力する。
【００７２】
ＡＮＤ回路９０８は、検出回路９０７の出力を反転した値とフリップフロップ回路９１０の出力信号ＯＮＣＥの論理積を出力し、ＯＲ回路９０９は、ＡＮＤ回路９０８の出力と信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣの論理和を出力する。フリップフロップ回路９１０は、クロック信号ＣＬＫＩＮに従ってＯＲ回路９０９の出力をラッチし、信号ＯＮＣＥとして出力する。ＡＮＤ回路９１１は、検出回路９０７の出力と信号ＯＮＣＥの論理積を、信号ＲＰＴＲ＿ＲＳＴ＿Ｄとして出力する。
【００７３】
このような調整回路によれば、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが“１”になったとき、フリップフロップ回路９０５に保持された初期値がフリップフロップ回路９０５にロードされ、次に信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが“０”になると、ダウンカウントが開始される。そして、カウント値が“０”になったとき、信号ＲＰＴＲ＿ＲＳＴ＿Ｄとして“１”が出力され、リードポインタがリセットされる。
【００７４】
したがって、１クロックあたりの遅延時間をτとすると、１〜１６τの範囲で同期化回路３１１の出力信号を遅延させて、リードポインタのリセット契機を調整することができる。
【００７５】
図１０は、シフトレジスタ回路を用いた場合の調整回路３１２の構成例を示している。図１０の調整回路は、Ｄフリップフロップ回路１００１、１００２−ｊ（ｊ＝０，１，．．．，１５）、デコーダ１００３、およびセレクタ１００４を備える。
【００７６】
フリップフロップ回路１００１は、図９のフリップフロップ回路９０１と同様に、０〜１５のいずれかの初期値を示す信号ＤＥＦＡＵＬＴ［３：０］を保持し、クロック信号ＣＬＫＩＮに従ってデコーダ１００３に出力する。デコーダ１００３は、４ビットの信号ＤＥＦＡＵＬＴ［３：０］をデコードして選択信号を生成し、セレクタ１００４に出力する。
【００７７】
フリップフロップ回路１００２−０〜１００２−１５は、クロック信号ＣＬＫＩＮに従って信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを次段のフリップフロップ回路にシフトしていく。各フリップフロップ回路１００２−ｊの出力はセレクタ１００４に入力される。セレクタ１００４は、デコーダ１００３からの選択信号に応じて、いずれかのフリップフロップ回路１００２−ｊの出力を選択し、信号ＲＰＴＲ＿ＲＳＴ＿Ｄとして出力する。
【００７８】
このような調整回路によれば、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣは、信号ＤＥＦＡＵＬＴ［３：０］の値に応じた遅延クロック数だけ遅れて、信号ＲＰＴＲ＿ＲＳＴ＿Ｄとして出力される。したがって、図９の場合と同様に、１〜１６τの範囲で同期化回路３１１の出力信号を遅延させて、リードポインタのリセット契機を調整することができる。
【００７９】
次に、図１１から図１３までを参照しながら、図３のビットデータ保持回路２２４−ｉおよび受信回路２２３の具体的な動作について説明する。
図１１は、受信回路２２３に調整回路３１２を設けない場合の動作を示すタイミングチャートである。この場合、図７の同期化回路の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが、そのままリセット契機信号ＲＰＴＲ＿ＲＳＴ＿Ｄとしてリードポインタ回路３１３に入力される。１１０１〜１１３６は、データ伝送システムの以下の信号またはデータのタイミングを表している。
＜ポインタリセット（全ビットに適用）＞
１１０１：送信装置２０１のビット＃０の送信データ
１１０２：受信装置２０２のビット＃０の受信データ
１１０３：クロック信号ｃｌｋ
１１０４：クロック信号ｉｃｌｋ＃０
１１０５：データ信号ｉｔ＃０
１１０６：信号ｒｓｔ−ｔｉｍ＃０
１１０７：図７のフリップフロップ回路７０２の出力
１１０８：ライトポインタＷＰＴＲ
＜同期化回路（代表ビットのみ）＞
１１０９：クロック信号ＣＬＫＩＮ
１１１０：図７のフリップフロップ回路７０３の出力
１１１１：図７のフリップフロップ回路７０４の出力
１１１２：図７のフリップフロップ回路７０５の出力
１１１３：図７のフリップフロップ回路７０６の出力
１１１４：図７のフリップフロップ回路７０７の出力
１１１５：リードポインタＲＰＴＲ
＜データフロー＞
１１１６：ライトポインタＷＰＴＲ
１１１７：データ信号ｉｔ＃０
１１１８：クロック信号ＣＬＫＩＮ
１１１９：リードポインタＲＰＴＲ
１１２０：図５のリングバッファ３０５のフリップフロップ回路５２１−０の出力
１１２１：図５のリングバッファ３０５のフリップフロップ回路５２１−１の出力
１１２２：図５のリングバッファ３０５のフリップフロップ回路５２１−２の出力
１１２３：図５のリングバッファ３０５のフリップフロップ回路５２１−３の出力
１１２４：図５のリングバッファ３０５のフリップフロップ回路５２１−４の出力
１１２５：図５のリングバッファ３０５のフリップフロップ回路５２１−５の出力
１１２６：図５のリングバッファ３０５のフリップフロップ回路５２１−６の出力
１１２７：図５のリングバッファ３０５のフリップフロップ回路５２１−７の出力
１１２８：図５のリングバッファ３０５のフリップフロップ回路５２１−８の出力
１１２９：図５のリングバッファ３０５のフリップフロップ回路５２１−９の出力
１１３０：図５のリングバッファ３０５のフリップフロップ回路５２１−１０の出力
１１３１：図５のリングバッファ３０５のフリップフロップ回路５２１−１１の出力
１１３２：図５のリングバッファ３０５のフリップフロップ回路５２１−１２の出力
１１３３：図５のリングバッファ３０５のフリップフロップ回路５２１−１３の出力
１１３４：図５のリングバッファ３０５のフリップフロップ回路５２１−１４の出力
１１３５：図５のリングバッファ３０５のフリップフロップ回路５２１−１５の出力
１１３６：受信レジスタ３１４のビット＃０の格納データ
ｉｃｌｋ＃０（１１０４）の立ち上がりエッジに対応する時刻Ｔ２において、トレーニングデータ（１１０５）として送信されたリセットパターン１１４１が検出されると、信号ｒｓｔ−ｔｉｍ＃０（１１０６）が“１”となり、次の立ち上がりエッジに対応する時刻Ｔ３において、信号ｒｓｔ−ｔｉｍ＃０が“０”となる。これにより、フリップフロップ回路７０２の出力（１１０７）が“１”となり、ライトポインタＷＰＴＲ（１１０８、１１１６）がリセットされる。リセットが実行されるまでは、ライトポインタＷＰＴＲは適当な値を巡回している。
【００８０】
ライトポインタＷＰＴＲがリセットされると、ｉｃｌｋ＃０（１１０４）の次の立ち上がりエッジに対応する時刻Ｔ４において、受信データ“ＨＨ”（１１０５、１１１７）がリングバッファ３０５のフリップフロップ回路５２１−０（１１２０）に書き込まれる。以後、ライトポインタＷＰＴＲがインクリメントされる度に、リングバッファ３０５の対応するフリップフロップ回路（１１２１〜１１３５）に受信データが順番に書き込まれていく。
【００８１】
一方、フリップフロップ回路７０２の出力（１１０７）は、フリップフロップ回路７０３〜７０７（１１１０〜１１１４）を順番に伝搬し、フリップフロップ回路７０６（１１１３）が“１”を出力したとき、同期化回路３１１の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが“１”となる。そして、ＣＬＫＩＮ（１１０９、１１１８）の次の立ち上がりエッジに対応する時刻Ｔ５において、リードポインタＲＰＴＲ（１１１５、１１１９）がリセットされる。リセットが実行されるまでは、リードポインタＲＰＴＲは適当な値を巡回している。
【００８２】
リードポインタＲＰＴＲがリセットされると、ＣＬＫＩＮ（１１０９、１１１８）の次の立ち上がりエッジに対応する時刻Ｔ６において、リングバッファ３０５のフリップフロップ回路５２１−０のデータ“ＨＨ”（１１２０）が読み出され、受信レジスタ３１４のビット＃０（１１３６）に格納される。以後、リードポインタＲＰＴＲがインクリメントされる度に、リングバッファ３０５の対応するフリップフロップ回路（１１２１〜１１３５）からデータが順番に読み出されて、受信レジスタ３１４のビット＃０に書き込まれていく。
【００８３】
この例では、時刻Ｔ１において送信装置２０１からデータ“ＨＨ”が送信されてから、時刻Ｔ６において受信レジスタ３１４にデータ“ＨＨ”が格納されるまでのレイテンシは、約９．５サイクルとなる。
【００８４】
図１２は、２つのビットデータ保持回路２２４−ｉにおけるライトポインタのリセットタイミングを示すタイミングチャートである。この例では、送信装置２０１（出力元）から同時刻にビットＸおよびＹのデータが出力され、受信装置２０２（入力端）では、ビットＸのデータをビットＹのデータより遅れて受信している。リセットパターンとしては、データ列０〜１５が用いられている。
【００８５】
この場合、ビットＸのビットデータ保持回路とビットＹのビットデータ保持回路では、それぞれ異なるタイミングでリセットパターンが検出され、ライトポインタがリセットされる。ビットＹのライトポインタは時刻Ｔ１１でリセットされ、以後、リングバッファのライトポインタにより示されるフリップフロップ回路にビットＹの受信データが書き込まれていく。また、ビットＸのライトポインタは時刻Ｔ１２でリセットされ、以後、リングバッファのライトポインタにより示されるフリップフロップ回路にビットＸの受信データが書き込まれていく。
【００８６】
このように、一般には、ライトポインタのリセットはビット毎に異なるタイミングで発生し、パラレルデータはビット毎に異なるタイミングでリングバッファに書き込まれる。しかし、内部クロック信号ＣＬＫＩＮに従って、全ビットのデータを一斉にリングバッファから読み出すことで、パラレルデータを同じタイミングで受信レジスタ３１４に格納することができる。
【００８７】
図１３は、受信回路２２３に図９の調整回路を設けた場合の動作を示すタイミングチャートである。この例では、信号ＤＥＦＡＵＬＴ［３：０］の値として“１２”が設定されており、調整回路３１２は、同期化回路３１１の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを１３τだけ遅延させる。１１０１〜１１３６は、図１１と同じ信号またはデータのタイミングを表しており、１３０１および１３０２は、以下の信号のタイミングを表している。
＜調整回路（代表ビットのみ）＞
１３０１：図９の信号ＤＥＬ＿ＴＡＵ［３：０］
１３０２：図９の信号ＯＮＣＥ
この場合、時刻Ｔ５までの動作は図１１と同様である。同期化回路３１１の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが“１”になると、信号ＤＥＦＡＵＬＴ［３：０］の値がフリップフロップ回路９０５にロードされ、時刻Ｔ５において信号ＤＥＬ＿ＴＡＵ［３：０］（１３０１）として“１２”が出力される。それとともに、信号ＯＮＣＥ（１３０２）が“１”となり、ダウンカウントが開始される。
【００８８】
その後、時刻Ｔ８において受信データ“ＸＸ”（１１０５、１１１７）がリングバッファ３０５のフリップフロップ回路５２１−０（１１２０）に書き込まれる。以後、ライトポインタＷＰＴＲがインクリメントされる度に、リングバッファ３０５の対応するフリップフロップ回路（１１２１〜１１３５）に受信データが順番に書き込まれていく。
【００８９】
ダウンカウントが終了し、信号ＤＥＬ＿ＴＡＵ［３：０］（１３０１）として“０”が出力されると、調整回路３１２の出力信号ＲＰＴＲ＿ＲＳＴ＿Ｄが“１”となる。そして、ＣＬＫＩＮ（１１０９、１１１８）の次の立ち上がりエッジに対応する時刻Ｔ９において、リードポインタＲＰＴＲ（１１１５、１１１９）がリセットされるとともに、信号ＯＮＣＥ（１３０２）が“０”となる。リセットが実行されるまでは、リードポインタＲＰＴＲは適当な値を巡回している。
【００９０】
リードポインタＲＰＴＲがリセットされると、ＣＬＫＩＮ（１１０９、１１１８）の次の立ち上がりエッジに対応する時刻Ｔ１０において、リングバッファ３０５のフリップフロップ回路５２１−０のデータ“ＸＸ”（１１２０）が読み出され、受信レジスタ３１４のビット＃０（１１３６）に格納される。以後、リードポインタＲＰＴＲがインクリメントされる度に、リングバッファ３０５の対応するフリップフロップ回路（１１２１〜１１３５）からデータが順番に読み出されて、受信レジスタ３１４のビット＃０に書き込まれていく。
【００９１】
この例では、時刻Ｔ７において送信装置２０１からデータ“ＸＸ”が送信されてから、時刻Ｔ１０において受信レジスタ３１４にデータ“ＸＸ”が格納されるまでのレイテンシは、約６．５サイクルとなる。したがって、図１１のデータ“ＨＨ”の場合よりも、レイテンシは３サイクルだけ改善されている。言い換えれば、調整回路３１２を用いてリードポインタのリセット契機信号を１３τだけ遅らせることにより、見掛け上、リードポインタを３サイクルだけ遡って動作させることができ、同期化回路３１１によって失われようとしたロスを巻き戻すことができる。
【００９２】
ところで、以上説明した実施形態では、パラレルデータの転送周波数と内部クロック信号ＣＬＫＩＮの周波数が１対１の関係にあることを前提にしており、リングバッファ３０５のアンダーラン／オーバーランは発生しない。これらの周波数が１対Ｎの関係にある場合は、リードポインタの更新回数を１／Ｎにすることで、アンダーラン／オーバーランを防止することが可能である。
【００９３】
図１４は、このようなリードポインタ回路３１３の構成例を示している。図１４のリードポインタ回路は、Ｄフリップフロップ回路１４０１、１４０６、１４１２、ＯＲ回路１４０２、１４０５、１４１１、ＡＮＤ回路１４０３、１４０４、１４０９、１４１０、減算回路１４０７、検出回路１４０８、および加算回路１４１３を備える。
【００９４】
フリップフロップ回路１４０１には、４ビットの信号Ｎ［３：０］により、０〜１５のいずれかを固定値として設定することができる。設定される固定値は、分周比Ｎより１だけ小さく、Ｎ［３：０］＝０，１，２，３，．．．，１５は、Ｎ＝１，２，３，４，．．．，１６に対応する。フリップフロップ回路１４０１は、クロック信号ＣＬＫＩＮに従って、設定されたＮ［３：０］の値をＡＮＤ回路１４０３に出力する。
【００９５】
ＯＲ回路１４０２は、調整回路３１２からの信号ＲＰＴＲ＿ＲＳＴ＿Ｄと検出回路１４０８の出力信号ＳＡＭＰＬＥ＿ＴＩＭの論理和を、ＡＮＤ回路１４０３および１４０４に出力する。
【００９６】
ＡＮＤ回路１４０３、１４０４、ＯＲ回路１４０５、フリップフロップ回路１４０６、および減算回路１４０７はダウンカウンタを構成し、図９のダウンカウンタと同様に動作して、カウント値を示す信号を検出回路１４０８に出力する。検出回路１４０８は、カウント値が“０”になったことを検出し、信号ＳＡＭＰＬＥ＿ＴＩＭとして“１”を出力する。
【００９７】
ＡＮＤ回路１４０９は、信号ＳＡＭＰＬＥ＿ＴＩＭを反転した値とフリップフロップ回路１４１２の出力信号ＲＰＴＲ［３：０］の論理積を出力し、加算回路１４１３は、ＲＰＴＲ［３：０］の値に１を加算してＡＮＤ回路１４１０に出力する。ＡＮＤ回路１４１０は、信号ＳＡＭＰＬＥ＿ＴＩＭと加算回路１４１３の出力の論理積を出力し、ＯＲ回路１４１１は、ＡＮＤ回路１４０９の出力とＡＮＤ回路１４１０の出力の論理和を出力する。フリップフロップ回路１４１２は、クロック信号ＣＬＫＩＮに従ってＯＲ回路１４１１の出力をラッチし、ＲＰＴＲ［３：０］として出力する。
【００９８】
このようなリードポインタ回路によれば、信号ＲＰＴＲ＿ＲＳＴ＿Ｄが“１”になったとき、フリップフロップ回路１４０１に保持された固定値がフリップフロップ回路１４０６にロードされ、次に信号ＲＰＴＲ＿ＲＳＴ＿Ｄが“０”になると、ダウンカウントが開始される。ダウンカウントが終了するまで信号ＳＡＭＰＬＥ＿ＴＩＭは“０”のままなので、リードポインタは更新されず、現在の値が保持される。そして、カウント値が“０”になったとき、信号ＳＡＭＰＬＥ＿ＴＩＭとして“１”が出力され、リードポインタが更新されるとともに、固定値が再びフリップフロップ回路１４０６にロードされる。以後、同様の動作が繰り返され、リードポインタはＮτに１回更新される。
【００９９】
図１５は、図１４のリードポインタ回路に調整回路３１２と同様の機能を付加した構成例を示している。この構成では、リードポインタのリセット値を任意の値に設定することができるので、調整回路３１２は不要となり、同期化回路３１１の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが直接リードポインタ回路に入力される。
【０１００】
このリードポインタ回路は、Ｄフリップフロップ回路１４０１、１４０６、１４１２、１５０２、ＯＲ回路１４０２、１４０５、１５０６、ＡＮＤ回路１４０３、１４０４、１５０３、１５０４、１５０５、減算回路１４０７、検出回路１４０８、および加算回路１４１３を備える。このうち、図１４と同じ符号の回路は、図１４の場合と同様に動作する。
【０１０１】
バッファ１５０１は、入力された信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを、信号ＲＰＴＲ＿ＲＳＴ＿ＤとしてＯＲ回路１４０２に出力する。フリップフロップ回路１５０２には、４ビットの信号ＤＥＦＡＵＬＴ［３：０］により、０〜１５のいずれかをリセットポインタの初期値（リセット値）として設定することができる。フリップフロップ回路１５０２は、クロック信号ＣＬＫＩＮに従って、設定されたＤＥＦＡＵＬＴ［３：０］の値をＡＮＤ回路１５０５に出力する。
【０１０２】
ＡＮＤ回路１５０３は、信号ＳＡＭＰＬＥ＿ＴＩＭを反転した値と、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを反転した値と、フリップフロップ回路１４１２の出力信号ＲＰＴＲ［３：０］の論理積を出力する。ＡＮＤ回路１５０４は、信号ＳＡＭＰＬＥ＿ＴＩＭと、信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣを反転した値と、加算回路１４１３の出力の論理積を出力し、ＯＲ回路１５０６は、ＡＮＤ回路１５０３、１５０４、および１５０５の出力の論理和を出力する。フリップフロップ回路１４１２は、クロック信号ＣＬＫＩＮに従ってＯＲ回路１５０６の出力をラッチし、ＲＰＴＲ［３：０］として出力する。
【０１０３】
図１６は、図１５のリードポインタ回路を用いた場合の動作を示すタイミングチャートである。この例では、Ｎ［３：０］の値として“０”が設定されており（Ｎ＝１）、信号ＤＥＦＡＵＬＴ［３：０］の値として“３”が設定されている。１１０１〜１１３６は、図１１と同じ信号またはデータのタイミングを表している。
【０１０４】
この場合、時刻Ｔ５までの動作は図１１と同様である。時刻Ｔ５より前の時刻Ｔ２２において、受信データ“ＫＫ”（１１０５、１１１７）がリングバッファ３０５のフリップフロップ回路５２１−３（１１２３）に書き込まれる。
【０１０５】
同期化回路３１１の出力信号ＲＰＴＲ＿ＲＳＴ＿ＳＹＮＣが“１”になると、信号Ｎ［３：０］の値がフリップフロップ回路１４０６にロードされる。次に、時刻Ｔ５において信号ＤＥＦＡＵＬＴ［３：０］の値がフリップフロップ回路１４１２にロードされ、リードポインタＲＰＴＲ（１１１５、１１１９）が“３”にリセットされる。リセットが実行されるまでは、リードポインタＲＰＴＲは適当な値を巡回している。
【０１０６】
リードポインタＲＰＴＲがリセットされると、時刻Ｔ６において、リングバッファ３０５のフリップフロップ回路５２１−３のデータ“ＫＫ”（１１２３）が読み出され、受信レジスタ３１４のビット＃０（１１３６）に格納される。以後、リードポインタＲＰＴＲがインクリメントされる度に、リングバッファ３０５の対応するフリップフロップ回路（１１２４〜１１３５、１１２０〜１１２２）からデータが順番に読み出されて、受信レジスタ３１４のビット＃０に書き込まれていく。
【０１０７】
この例では、時刻Ｔ２１において送信装置２０１からデータ“ＫＫ”が送信されてから、時刻Ｔ６において受信レジスタ３１４にデータ“ＫＫ”が格納されるまでのレイテンシは、約６．５サイクルとなる。したがって、調整回路３１２を設けなくても、図１３のデータ“ＸＸ”の場合と同様のレイテンシが実現されている。
【０１０８】
図３に示した受信装置２０２では、パラレルデータのビット毎にクロック調整回路３０２が設けられているが、全ビットをいくつかのグループに分けて、グループ毎にクロック調整回路３０２を設けることも可能である。
【０１０９】
図１７は、パラレルデータを４ビット毎のグループに分けた場合の受信装置の構成例を示している。図１７において、図３と同じ符号の回路は、図３と同様の構成および機能を有する。図１７の受信装置１７０１は、ＰＬＬ２２１、入力バッファ３０１、ｍ個のデータ保持回路１７０２−ｋ（ｋ＝０，１，．．．，ｍ−２，ｍ−１）、および受信回路２２３を備える。
【０１１０】
データ保持回路１７０２−０は、グループクロック調整回路１７０３および４つのビットデータ保持回路１７０４−ｐ（ｐ＝０，１，２，３）からなる。グループクロック調整回路１７０３は、クロック調整回路３０２、ライトポインタリセットタイミング検出回路３０３、およびライトポインタ回路３０４を備え、各ビットデータ保持回路１７０４−ｐはリングバッファ３０５を備える。
【０１１１】
入力バッファ３０１から出力されるｎ個のデータ信号ｉｔ＃０〜ｉｔ＃ｎのうち、４つのデータ信号ｉｔ＃０〜ｉｔ＃３がデータ保持回路１７０２−０に入力され、データ信号ｉｔ＃０はグループクロック調整回路１７０３およびビットデータ保持回路１７０４−０に入力され、データ信号ｉｔ＃１〜ｉｔ＃３はそれぞれビットデータ保持回路１７０４−１〜１７０４−３に入力される。
【０１１２】
グループクロック調整回路１７０３は、図３の場合と同様にして、データ信号ｉｔ＃０から調整クロック信号ｉｃｌｋ＃０と信号ｒｓｔ−ｔｉｍ＃０を生成する。４つのビットデータ保持回路１７０４−０〜１７０４−３のリングバッファ３０５は、すべて同じ調整クロック信号ｉｃｌｋ＃０に従って動作する。
【０１１３】
その他のデータ保持回路１７０２の構成および動作についても、データ保持回路１７０２−０と同様である。ただし、この例では、データ保持回路１７０２−１〜１７０２−（ｍ−１）の出力信号は同期化回路３１１には接続されない。
【０１１４】
一方、図８と同様の同期化回路を用いれば、２つ以上のグループのライトポインタリセットタイミング検出回路から出力される２つ以上の信号ｒｓｔ−ｔｉｍ＃ｉ（ｉ＝０，４，８，．．．）を待ち合わせることも可能である。
【０１１５】
このような受信装置１７０１によれば、図３の受信装置２０２と比較して、クロック調整回路３０２等のハードウェアを大幅に削減することができる。なお、１グループ当たりのビット数は任意であり、４ビットに限定されるものではない。
【０１１６】
（付記１）  複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【０１１７】
（付記２）  複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータの２つ以上のビットからなるグループ毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整し、グループ数分の調整クロック信号を生成するクロック調整手段と、
グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【０１１８】
（付記３）  検出手段、ライトポインタ手段、およびライト手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、該検出手段は、あらかじめ決められた時系列データの受信を検出して検出信号を出力し、該ライトポインタ手段は、該一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を格納し、該検出手段から該検出信号が出力されたとき、該ライトポインタ情報を所定値に設定し、あらかじめ決められた順番で該一定数のバッファ手段が選択されるように該ライトポインタ情報を更新し、該ライト手段は、該ライトポインタ情報により示されるバッファ手段にデータ信号を入力することを特徴とする付記１または２記載のデータ受信装置。
【０１１９】
（付記４）  検出手段および同期化手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、前記リード手段は、リードポインタ手段を含み、該検出手段は、あらかじめ決められた時系列データの受信を検出して検出信号を出力し、該同期化手段は、前記検出信号を前記第２のクロック信号に同期させて、同期信号を生成し、該リードポインタ手段は、該第２のクロック信号に従って動作し、該一定数のバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を格納し、該同期化手段から該同期信号が出力されたとき、該リードポインタ情報を所定値に設定し、あらかじめ決められた順番で該一定数のバッファ手段が選択されるように該リードポインタ情報を更新することを特徴とする付記１または２記載のデータ受信装置。
【０１２０】
（付記５）  前記同期化手段は、複数のビットの時系列データの受信がそれぞれ検出され、複数の検出信号がそれぞれ出力されたとき、該複数の検出信号の論理積を前記第２のクロック信号に同期させて、同期信号を生成することを特徴とする付記４記載のデータ受信装置。
【０１２１】
（付記６）  前記同期信号を所定のクロック数だけ遅延させる調整手段をさらに備え、前記リードポインタ手段は、該調整手段から該同期信号が出力されたとき、前記リードポインタ情報を前記所定値に設定することを特徴とする付記４記載のデータ受信装置。
【０１２２】
（付記７）  前記調整手段は、複数のクロック数をそれぞれ指定する複数の情報の中から選択された情報を保持し、保持された情報に従って前記同期信号を遅延させることを特徴とする付記６記載のデータ受信装置。
【０１２３】
（付記８）  前記リードポインタ手段は、前記パラレルデータの転送周波数と前記第２のクロック信号の周波数が１対Ｎの関係にあるとき、前記リードポインタ情報を該第２のクロック信号のＮサイクルに１回の頻度で更新することを特徴とする付記４記載のデータ受信装置。
【０１２４】
（付記９）  前記一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を格納し、前記検出手段から前記検出信号が出力されたとき、該ライトポインタ情報を所定値に設定し、あらかじめ決められた順番で該一定数のバッファ手段が選択されるように該ライトポインタ情報を更新するライトポインタ手段と、該ライトポインタ情報により示されるバッファ手段にデータ信号を入力するライト手段とをさらに備えることを特徴とする付記４記載のデータ受信装置。
【０１２５】
（付記１０）  複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータのビット毎に設けられ、データ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整し、調整クロック信号を生成するビット数分のクロック調整手段と、
前記パラレルデータのビット毎に設けられ、前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、時系列に一定数のデータを保持するビット数分のデータバッファ手段と、
第２のクロック信号に従って、前記ビット数分のデータバッファ手段内のデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【０１２６】
（付記１１）  複数ビットのパラレルデータを受信するデータ受信装置であって、
前記パラレルデータの２つ以上のビットからなるグループ毎に設けられ、データ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整し、調整クロック信号を生成するグループ数分のクロック調整手段と、
前記パラレルデータのビット毎に設けられ、グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、時系列に一定数のデータを保持するビット数分のデータバッファ手段と、
第２のクロック信号に従って、前記ビット数分のデータバッファ手段内のデータを時系列に選択し、パラレルデータとして読み出すリード手段と、
読み出されたパラレルデータを格納する格納手段と
を備えることを特徴とするデータ受信装置。
【０１２７】
（付記１２）  複数ビットのパラレルデータを受信するデータ受信方法であって、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号を調整して、ビット数分の調整クロック信号を生成し、
時系列に一定数のデータをビット毎に保持するデータバッファ手段に、前記調整クロック信号に従って前記ビット毎のデータ信号を取り込み、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択して、パラレルデータとして読み出し、
読み出されたパラレルデータを格納手段に格納する
ことを特徴とするデータ受信方法。
【０１２８】
（付記１３）  複数ビットのパラレルデータを受信するデータ受信方法であって、
前記パラレルデータの２つ以上のビットからなるグループ毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、グループ内のビットのデータ信号を用いて第１のクロック信号を調整して、グループ数分の調整クロック信号を生成し、
時系列に一定数のデータをビット毎に保持するデータバッファ手段に、グループ毎の調整クロック信号に従ってグループ内のビット毎のデータ信号を取り込み、
第２のクロック信号に従って、前記データバッファ手段内の複数ビットのデータを時系列に選択して、パラレルデータとして読み出し、
読み出されたパラレルデータを格納手段に格納する
ことを特徴とするデータ受信方法。
【図面の簡単な説明】
【０１２９】
【図１】本発明のデータ受信装置の原理図である。
【図２】データ伝送システムの構成図である。
【図３】第１の受信装置の構成を示す図である。
【図４】クロック調整回路の構成図である。
【図５】リングバッファ／ライトポインタ回路／第１のリードポインタ回路の構成図である。
【図６】ライトポインタリセットタイミング検出回路の構成図である。
【図７】第１の同期化回路の構成図である。
【図８】第２の同期化回路の構成図である。
【図９】第１の調整回路の構成図である。
【図１０】第２の調整回路の構成図である。
【図１１】第１の動作タイミングチャートである。
【図１２】ライトポインタリセットのタイミングチャートである。
【図１３】第２の動作タイミングチャートである。
【図１４】第２のリードポインタ回路の構成図である。
【図１５】第３のリードポインタ回路の構成図である。
【図１６】第３の動作タイミングチャートである。
【図１７】第２の受信装置の構成を示す図である。
【図１８】ビット間の位相差を示す図である。
【符号の説明】
【０１３０】
１０１  クロック調整手段
１０２  データバッファ手段
１０３  リード手段
１０４  格納手段
１０５  検出手段
１０６  同期化手段
１０７  リードポインタ手段
１０８  調整手段
１０９  ライトポインタ手段
１１０  ライト手段
２０１  送信装置
２０２、１７０１  受信装置
２０３  発振器
２１１、２２１  ＰＬＬ
２１２、４０５、５０２、５２１−０、５２１−１、５２１−２、５２１−３、５２１−４、５２１−５、５２１−１５、５４２、５５１、６０１−０、６０１−１、６０１−２、６０１−３、６０１−１５、６０２、７０１、７０２、７０３、７０４、７０５、７０６、７０７、８０２−０、８０２−１、８０２−２、８０２−３、８０２−６３、８０４、８０５、８０６、８０７、８０８、９０１、９０５、９１０、１００１、１００２−０、１００２−１、１００２−２、１００２−３、１００２−１５、１４０１、１４０６、１４１２、１５０２  Ｄフリップフロップ回路
２１３  パターン発生器
２１４、１００４  セレクタ
２１５  出力バッファ
２２２、２２３  受信回路
２２４−０、２２４−１、２２４−（ｎ−２）、２２４−（ｎ−１）  ビットデータ保持回路
３０１  入力バッファ
３０２  クロック調整回路
３０３  ライトポインタリセットタイミング検出回路
３０４  ライトポインタ回路
３０５  リングバッファ
３１１  同期化回路
３１２  調整回路
３１３  リードポインタ回路
３１４  受信レジスタ
４０１  ｓｃｌｋ生成回路
４０２  シフトレジスタ回路
４０３  位相調整回路
４０４  ＤＤＲチョッパ
５０１、５２２−０、５２２−１、５２２−２、５２２−３、５２２−４、５２２−５、５２２−１５、５２３−０、５２３−１、５２３−２、５２３−３、５２３−４、５２３−５、５２３−１５、５４１、７０８、８０３、８０９、９０２、９０３、９０８、９１１、１４０３、１４０４、１４０９、１４１０、１５０３、１５０４、１５０５  ＡＮＤ回路
５０３、５４３、１４１３  加算回路
５１１、５１２、１００３  デコーダ
５２４−０、５２４−１、５２４−２、５２４−３、５２４−４、５２４−５、５２４−１５、７０１、８０１−０、８０１−１、８０１−２、８０１−３、８０１−６３、９０４、９０９、１４０２、１４０５、１４１１、１５０６  ＯＲ回路
５３１  セレクタ
６０３  比較回路
９０６、１４０７  減算回路
９０７、１４０８  検出回路
１５０１  バッファ
１７０２−０、１７０２−（ｍ−２）、１７０２−（ｍ−１）  データ保持回路
１７０３  グループクロック調整回路
１７０４−０、１７０４−１、１７０４−２、１７０４−３  ビットデータ保持回路
【図１】
2006019790.tif 000003
【図２】
2006019790.tif 000004
【図３】
2006019790.tif 000005
【図４】
2006019790.tif 000006
【図５】
2006019790.tif 000007
【図６】
2006019790.tif 000008
【図７】
2006019790.tif 000009
【図８】
2006019790.tif 000010
【図９】
2006019790.tif 000011
【図１０】
2006019790.tif 000012
【図１１】
2006019790.tif 000013
【図１３】
2006019790.tif 000014
【図１４】
2006019790.tif 000015
【図１５】
2006019790.tif 000016
【図１６】
2006019790.tif 000017
【図１７】
2006019790.tif 000018
【図１８】
2006019790.tif 000019
【図１２】
2006019790.tif 000020