(57)【要約】【課題】クロック・データ・スキューを最小限に抑えられるバス・システムに適する同期メモリ装置を得ること。【解決手段】クロック・データ・スキューを最小限に抑えるバス・システムには、送信クロック用のクロック線セグメントと、受信クロック用のクロック線セグメントとが含まれ、それらのセグメントは、一端にある折返し部によって相互に結合されていおり、そのようなバス・システムに、上記の同期メモリ装置は、１または複数を結合できる。同期メモリ装置は、書込みデータが受信クロックと同じ方向に同時的に進行し、読取りデータが送信クロックと同じ方向に同時的に送信するように構成され、且つ、書込みデータおよび読取りデータのデータビットが、受信クロックおよび送信クロックの２倍の周波数で転送されるデュアル・エッジ転送に従って受信および送信される。【選択図】　図５
2004079157.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するダイナミック・メモリ・セルのアレイを含む集積回路の同期メモリ装置であって、
書込みデータおよび受信クロックを受ける入力回路を備え、書込みデータは前記受信クロックと同じ方向に同時的に進行し、書込みデータは、そのデータビットが前記受信クロックの２倍の周波数で転送されるデュアル・エッジ転送に従って受信されるものであり、
読取りデータを送信クロックと同じ方向に同時的に送信する送信回路を備え、読取りデータは、そのデータビットが前記送信クロックの２倍の周波数で転送されるデュアル・エッジ転送に従って送信されるものである
ことを特徴とする、同期メモリ装置。
【請求項２】
請求項１に記載の同期メモリ装置において、前記送信クロックと前記受信クロックとを比較して同期メモリ装置の集積回路制御装置に対する位置を特定する同期回路を、さらに備えることを特徴とする、同期メモリ装置。
【請求項３】
請求項２に記載の同期メモリ装置において、読取りデータを送信するタイミングは、前記同期装置によって、前記同期メモリ装置と前記集積回路制御装置との間での伝播遅延が補償されるよう、前記送信クロックに対して調整されることを特徴とする、同期メモリ装置。
【請求項４】
請求項２または３に記載の同期メモリ装置において、前記同期回路は、
前記送信クロックを前記受信クロックと比較して、それら間における相対的位相差を現すＳＫＩＰ信号を生じる位相比較器を備え、
前記読取りデータを受けてそれを遅らせた遅延読取りデータを生じる遅延要素を備え、
前記遅延要素および前記位相比較器に結合されたマルチプレクサにして、前記読取りデータおよび遅延読取りデータの一方を、前記送信回路から送信すべきものとして、前記ＳＫＩＰ信号に応じて選択するマルチプレクサを備えている
ことを特徴とする、同期メモリ装置。
【請求項５】
請求項１〜４の何れか１項に記載の同期メモリ装置において、前記入力回路は、
前記送信クロックを第１クロック線セグメントから受信する送信クロック入力を備え、
前記受信クロックを第２クロック線セグメントから受信する受信クロック入力を備えている
ことを特徴とする、同期メモリ装置。
【請求項６】
請求項５に記載の同期メモリ装置において、
前記第２クロック線セグメントを進行する前記受信クロックが前記同期メモリ装置を通り過ぎる時点に、前記書込みデータは、外部データラインから前記入力回路へと転送され、
前記第１クロック線セグメントを進行する前記送信クロックが前記同期メモリ装置を通り過ぎる時点に、前記読取りデータは、前記送信回路から前記外部データラインへと転送される
ことを特徴とする、同期メモリ装置。
【請求項７】
請求項６に記載の同期メモリ装置において、前記受信クロックは、前記第１クロック線セグメントおよび前記第２クロック線セグメントを繋ぐ折り返し部を通して前記送信クロックが前記第２クロック線セグメントに伝播したものであって、前記送信クロックの遅延したクロックである、ことを特徴とする、同期メモリ装置。
【請求項８】
請求項１〜７の何れか１項に記載の同期メモリ装置において、前記送信クロックと前記受信クロックとは同じ周波数である、ことを特徴とする、同期メモリ装置。
【請求項９】
請求項１〜８の何れか１項に記載の同期メモリ装置において、前記送信回路が読取りデータの送信に使用する内部送信クロックを発生するロックループ回路を、さらに備えていることを特徴とする、同期メモリ装置。
【請求項１０】
請求項９に記載の同期メモリ装置において、前記ロックループ回路は位相ロックループ回路であることを特徴とする、同期メモリ装置。
【請求項１１】
請求項９に記載の同期メモリ装置において、前記ロックループ回路は遅延ロックループ回であることを特徴とする、同期メモリ装置。
【請求項１２】
請求項１〜１１の何れか１項に記載の同期メモリ装置において、前記受信クロックの周波数は少なくとも２５０ＭＨｚであることを特徴とする、同期メモリ装置。
【請求項１３】
データを記憶するダイナミック・メモリ・セルのアレイを含む集積回路の同期メモリ装置であって、
書込みデータおよび受信クロックを受ける入力回路を備え、書込みデータは前記受信クロックに対して同じ方向に且つほぼ一定の位相関係で進行し、書込みデータは、それの２つのデータビットが前記受信クロックの１サイクル中に行われる、デュアル・エッジ転送に従って受信されるものであり、
読取りデータを外部信号ラインへと、送信クロックに対して同じ方向で且つほぼ一定の位相関係で進行するよう送信する出力ドライバが含まれている送信回路を備え、読取りデータは、それの２つのデータビットが前記送信クロックの１サイクル中に行われる、デュアル・エッジ転送に従って送信されるものであり、
前記送信回路に結合され、前記送信回路が読取りデータの送信に使用する内部送信クロックを発生するロックループ回路を備えている
ことを特徴とする、同期メモリ装置。
【請求項１４】
請求項１３に記載の同期メモリ装置において、さらに、
前記送信クロックと前記受信クロックとを比較して同期メモリ装置の集積回路制御装置に対する位置を特定し、読取りデータを送信するタイミングを、前記同期メモリ装置と前記集積回路制御装置との間での伝播遅延が補償されるよう、前記送信クロックに対して調整する同期回路を備える
ことを特徴とする、同期メモリ装置。
【請求項１５】
請求項１４に記載の同期メモリ装置において、前記同期回路は、
前記送信クロックを前記受信クロックと比較して、それら間における相対的位相差を現すＳＫＩＰ信号を生じる位相比較器を備え、
前記読取りデータを受けてそれを遅らせた遅延読取りデータを生じる遅延要素を備え、
前記遅延要素および前記位相比較器に結合されたマルチプレクサにして、前記読取りデータおよび遅延読取りデータの一方を、前記送信回路から送信すべきものとして、前記ＳＫＩＰ信号に応じて選択するマルチプレクサを備えている
ことを特徴とする、同期メモリ装置。
【請求項１６】
請求項１３，１４または１５に記載の同期メモリ装置において、
第１クロック線セグメントを進行する前記送信クロックが前記同期メモリ装置を通り過ぎる時点に、前記読取りデータは、前記送信回路から前記外部データラインへと転送され
第２クロック線セグメントを進行する前記受信クロックが前記同期メモリ装置を通り過ぎる時点に、前記書込みデータは、外部データラインから前記入力回路へと転送される、
ことを特徴とする、同期メモリ装置。
【請求項１７】
請求項１６に記載の同期メモリ装置において、前記受信クロックは、前記第１クロック線セグメントおよび前記第２クロック線セグメントを繋ぐ折り返し部を通して前記送信クロックが前記第２クロック線セグメントに伝播したものであって、前記送信クロックの遅延したクロックである、ことを特徴とする、同期メモリ装置。
【請求項１８】
請求項１３〜１７の何れか１項に記載の同期メモリ装置において、前記ロックループ回路は遅延ロックループ回路である、ことを特徴とする、同期メモリ装置。
【請求項１９】
請求項１３〜１７の何れか１項に記載の同期メモリ装置において、前記ロックループ回路は位相ロックループ回路である、ことを特徴とする、同期メモリ装置。
【請求項２０】
請求項１３〜１９の何れか１項に記載の同期メモリ装置において、前記送信クロックの周波数は少なくとも２５０ＭＨｚであることを特徴とする、同期メモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は同期バス・システムに関する。さらに詳細には、本発明は、クロック・データ・スキューを最小限に抑えてエラーを回避し、データ送信を通過するクロック信号に対して同期させるバス・システムに関する。
【０００２】
【従来の技術】
コンピュータ・システムは通常、バス・システムを使用する。通常、データ・バスには幾つかの装置が結合される。従来のバス・システムは同期動作する、すなわち、クロック信号を使用してデータ信号を有効化する。同期バス・システム内では、クロック・データ・スキューが問題になる可能性がある。なぜなら、そのようなスキューは有効なデータのクロッキングを妨げる恐れがあるからである。したがって、クロック・データ・スキューからデータ・エラーが発生する恐れがある。クロック・データ・スキューは、データ信号伝搬遅延及びクロック信号伝搬遅延によって生じる。
【０００３】
十分短いバス及びクロック線長をもつ従来技術の同期バスでは、クロック信号及びデータ信号が短い距離しか進行せず、ほとんど瞬間的に到着するため、スキューは問題にならないと思われる。しかし、長いデータ・バス及び長いクロック線長をもつ同期バス・システム内では、特に、高クロック速度が望まれる場合、クロック・データ・スキューが問題になることが多い。多数の従来技術の同期バス・システム内では、クロック周期がクロック伝搬遅延より長くなければならない。言い換えれば、クロック速度は一般に、クロック線長が増加するにつれて遅くならなければならない。従来技術のこの関係は第１式で表される。
（１）クロック周期＞データ・ツー・クロック信号のセットアップ時間＋データ・ツー・クロック信号の保持時間＋クロック・データ・スキュー
【０００４】
クロック・データ・スキューを低減する従来技術の方式の１つを図１に示す。単一のクロック源を使用するのでなく複数のクロック源が使用されている。すなわち、調和された多数のクロック線が単一のクロック・ジェネレータに結合されている。クロック線は、クロック線長が長いにもかかわらず、クロック信号がほとんど同じ時点に各装置に到着するように調和されている。したがって、図のバス・システムはバスの伝搬遅延とクロック・ツー・データ・スキューとクロック・ツー・データ保持時間とを加算した値以上であるクロック周期によって動作しなければならない。
【０００５】
しかし、図１のバス・システムの１つの欠点は、そのバス・システムの相対的な複雑さである。クロッキングされる各装置にクロック線が必要であり、各クロック線は通常、すべての装置を同時にクロッキングするように慎重に調整しなければならない。図１のバス・システムの他の欠点は、クロック周期がデータ・バスの伝搬遅延によって制限されることである。
【０００６】
図２は、長いデータ・バスを使用する、異なる従来技術の同期バス・システム方式を示す。マスタ装置は２つのクロック信号、すなわち、受信クロックＲＣＬＫ及び送信クロックＴＣＬＫを生成する。受信クロックは、適当なフレーム制御信号と共に、スレーブ装置によるデータの送信とマスタ装置によるデータ受信を共にクロッキングするために使用される。したがって、図２のバス・システムはクロック周期に対するデータ・バスの伝搬遅延の影響を低減する。
【０００７】
図２のバス・システム方式の欠点は、制御信号の他に（単一のクロック源ではなく）２つのクロック源も必要なことである。他の欠点は、図２のバス・システムが１つのマスタ装置しか許容しないことである。
【０００８】
【発明が解決しようとする課題】
本発明の一目的は、クロック及びデータのタイミング・エラーを低減し、あるいはなくすことである。
本発明の他の目的は、クロック及びデータのタイミング・エラーを低減しながらデータの高速クロッキングを可能にすることである。
本発明の他の目的は、クロック・データ・スキューを最小限に抑えて比較的長い双方向データ・バスをもつバス・システムでのエラーを回避することである。本発明の他の目的は、クロック・データ・スキューを最小限に抑えて比較的長いクロック線をもつバス・システムでのエラーを回避することである。
本発明の他の目的は、クロック・データ・スキューを最小限に抑えて比較的高い速度のバスを有するコンピュータ・システムでのエラーを回避することである。
本発明の他の目的は、バスの速度がクロック線長やバス長によって制限されるのを回避することである。
本発明の他の目的は、クロック・データ・スキューが低減され、あるいはまったくない同期バス・システムを提供することである。
本発明の他の目的は、比較的長いバスをもつ高速バス・システムでの複雑なクロックの必要性をなくすことである。
本発明の他の目的は、高速同期データ・バスを提供することである。
本発明の他の目的は、バス上の装置間に一定待ち時間プロトコルを適応させる同期データ・バスを提供することである。
本発明の他の目的は、複数のマスタ装置に適応するデータ・バスを提供することである。
本発明の他の目的は、クロック同期がバス長から独立したデータ・バスを提供することである。
【０００９】
【課題を解決するための手段】
クロック・データ・スキューを最小限に抑えるトポロジーを有するバス・システムについて説明する。このバス・システムはデータ・バスと、クロック線と、データ信号をデータ・バスに送信するための手段とを含む。クロック線は、それぞれがデータ・バスの全長に延びる２つのセグメントを有する。これらのセグメントは、データ・バスの一端での折返しによって結合されている。バス・システム中の装置は、一方のクロック線セグメントを受信クロックとして、他方のクロック線セグメントを送信クロックとして使用する。データ信号がクロック信号に対して一定位相関係でデータ・バス上を進行するようにデータ信号をデータ・バス上に送信するための手段が提供されている。このバス・トポロジーの結果は、データ・バス上に送信されるデータ信号が、データを受信するために使用されるクロック信号と同じ方向に同時に進行することである。
【００１０】
バス・システムは、データ信号がクロック信号に対して一定位相関係でデータ・バス上を進行するように、同期回路を使用してデータ信号をデータ・バスに送信する。同期回路は特定の装置の送信クロックとデータを同期する。同期回路は、受信クロックを送信クロックと比較することによって選択信号を生成する位相比較機構を含む。マルチプレクサは選択信号を使用して、受信クロックに調整されたデータの遅延バージョンと非遅延バージョンのどちらかを選択する。マルチプレクサ出力はラッチの入力に結合され、ラッチのイネーブル入力は送信クロックに結合されている。したがって、ラッチは特定の装置の送信クロックと同期されてデータを出力する。
本発明の他の目的、特徴、及び利点は、以下の添付の図面及び詳細な説明から明らかになろう。
【００１１】
【発明の実施の形態】
図３は、１つの好ましい同期バス・システム１００をブロック図の形で示す。以下で詳細に説明するように、バス・システム１００はクロック・データ・スキューを低減し、あるいはなくす。そのために、バス・システム１００はクロック分散（分配）システムを各装置内の同期回路と共に使用する。
【００１２】
クロック分散（分配）システムは、２つのセグメントを有するクロック線（クロックライン）を含む。一方のセグメントはデータ・バスの一端からデータ・バスの第２の端部の近くの折返し点へ延びている。他方のクロック・セグメントは折返しからデータ・バスの第２の端部へ延びている。このトポロジーでは、装置によってデータ・バス上に結合されたデータ信号が、データを受信するために第２の装置によって使用されるクロック信号と同じ方向に同時に進行する。
【００１３】
したがって、バス・システム１００の同期回路によって、クロック信号とデータ信号が一緒に進行するように、実質的に送信クロックが到着した時点でデータを送信することができる。言い換えると、同期回路は、データ信号がクロック信号に対して一定位相関係でデータ・バス上を進行するように、特定のデータ信号をデータ・バスに送信する。これはクロック・データ・スキューを最小限に抑えるように働き、それによって、クロック・データ・スキューによって発生するエラーが低減され、あるいはなくなる。
【００１４】
高速同期バス・システム１００はマスタ装置１０２と、スレーブ装置１０４、１０６、１０８、及び１１０とを含む。マスタ装置１０２はスレーブ装置１０４、１０６、１０８、及び１１０にデータ・バス１２０を介して結合されている。マスタ装置１０２はクロック線の折返しの近くに位置することが好ましい。
【００１５】
「マスタ」及び「スレーブ」は、本明細書では、従来の意味と幾分異なる。バス・システム１００内では、マスタは他のマスタとスレーブの両方と通信でき、クロック線の折返しの近くに位置する装置である。これに対して、スレーブはマスタとしか通信できず、データ・バス１２０に沿ってどこにでも位置することができる。
【００１６】
１つの実施例では、マスタ１０２はマイクロプロセッサである。他の実施例では、マスタ装置１０２は周辺制御装置である。　１つの実施例では、スレーブ装置１０４、１０６、１０８、及び１１０は高速メモリである。たとえば、スレーブ装置１０４、１０６、１０８、及び１１０はＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）でよい。他の実施例では、スレーブ装置１０４、１０６、１０８、及び１１０はバス・トランシーバである。他の実施例では、スレーブ装置１０４、１０６、１０８、及び１１０は周辺装置である。他の実施例では、スレーブ装置１０４、１０６、１０８、及び１１０は入出力（Ｉ／Ｏ）ポートとして機能する。
【００１７】
同期バス・システム１００は多数のスレーブ装置を含むことができる。ただし、図３では４つしか図示していない。同期通信システム１００は複数のマスタを含むこともできる。複数のマスタを含む実施例では、迅速な通信を容易にするように、マスタ装置はクロック線の折返しの近くに相互に接近して位置すべきである。
【００１８】
マスタ装置１０２はアクセス要求パケットを同報通信することによってデータの交換を開始する。各スレーブ装置１０４、１０６、１０８、及び１１０はアクセス要求パケットを復号し、それ自体が選択されたスレーブ装置であるかどうかと、要求されたアクセスのタイプを判定する。選択されたスレーブ装置は次いで、データ・パケットをパイプライン的に読み取り、あるいは書き込んで、適切に応答する。
【００１９】
同期バス・システム１００は、一定待ち時間プロトコルを使用してデータ・バス１２０上でデータを交換することが好ましい。一定待ち時間プロトコルでは、どのスレーブ装置がデータを送信するかにかかわらず、マスタ装置１０２によるデータに対する要求とマスタ装置１０２によるそのデータの第１バイトのクロック・インとの間に一定数のクロック・サイクルが発生する必要がある。一定待ち時間プロトコルでは、送信される制御情報が一定待ち時間を使用する必要もある。
【００２０】
データ・バス１２０は、マスタ装置１０２とスレーブ装置１０４、１０６、１０８、及び１１０の間の高速双方向直接相互接続を提供する。データ・バス１２０は、デュアル・エッジ転送によって約２５０メガヘルツ（“ＭＨｚ”）で動作することが好ましい。言い換えると、転送は約２ナノ秒ごとに行うことができる。データ・バス１２０のエンド・ツー・エンド信号伝搬遅延はクロック周期と比べて大きい。実際の所、同期通信システム１００の一実施例では、データ・バス１２０のエンド・ツー・エンド伝搬遅延はクロック周期のエンド・ツー・エンド伝搬遅延の約半分であり、約４ナノ秒である。このデータ信号伝搬遅延は、幾つかの従来の同期システムで、受け入れられないクロック・データ・スキューを導入する恐れがある。
【００２１】
データ・バス１２０に結合された装置は、データを受信し、クロック信号を受信するために、待ち時間が非常に短い入力回路を含まなければならない。たとえば、位相ロックループ、遅延ロックループ、又はクロック補償回路はすべて、受け入れられるほど短い待ち時間を備えている。
【００２２】
クロック分散（分配）システム１３０は、クロック信号及びデータ信号を同じ方向に進行させることによってクロック・データ・スキューをなくすのを助ける。クロック分散（分配）システム１３０はクロック１３２とクロック線１３４とを含む。クロック１３２は装置１０２、１０４、１０６、１０８、及び１１０の外部にあり、それらから独立している。クロック生成が独立しているので、バス・システム１００は複数のマスタに適応する。クロック１３２は、クロック信号がクロック１３２からクロック線１３４の逆の端部に向かって一方向だけに進行するようにクロック線の端部に結合されている。クロック線１３４はバス・システム１００内のすべての装置にクロック信号を運ぶ。クロック線１３４は長く、データ・バス１２０の長さの２倍に近く、データ・バス１２０の一端付近で折り返し、または向きを変える。したがって、クロック線１３４は２つのクロック線セグメントとみなすことができる。セグメント１３６はデータ・バス１２０の一端から、データ・バス１２０の他端に位置する折返し点１３７へ延びている。他方のセグメントであるセグメント１３８は、折返し点１３７からデータ・バス１２０の逆の端部へ延びている。
【００２３】
好ましい実施例では、各クロック線１３６及び１３８の伝搬遅延は実質的にデータ・バス１２０の伝搬遅延に等しい。
【００２４】
セグメント１３６上のクロック信号は、クロック１３２からマスタ装置１０２に向かって進行する。このため、セグメント１３６上のクロック信号はＣＬＯＣＫＴＯＭＡＳＴＥＲと呼ばれている。ＣＬＯＣＫＴＯＭＡＳＴＥＲは、スレーブ装置１０４、１０６、１０８、及び１１０によって送信されるデータ信号と同じ方向にデータ・バス１２０を介して進行する。スレーブ装置１０４、１０６、１０８、及び１１０の送信クロック入力はＣＬＣＫＴＯＭＡＳＴＥＲに結合されている。図３では、これが、スレーブ装置送信クロック入力ＴＣＬＫ１、ＴＣＬＫ２、ＴＣＬＫ３とセグメント１３６との接続によって示されている。マスタ装置１０２はセグメント１３６上のクロック信号を使用して、データ・バス１２０上のデータ信号を受信する。したがって、マスタ装置１０２の受信クロック入力ＲＣＬＫ０はセグメント１３６に結合されている。
【００２５】
折返し１３７によって、セグメント１３８上のクロック信号は方向を変えて、データ・バスの逆の端部に向かって進行する。これは、データ信号がマスタ装置１０２からスレーブ装置１０４、１０６、１０８、及び１１０へ進行するのと同じ方向である。このため、マスタ装置１０２は、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲと呼ばれる信号を送信クロックＴＣＬＫ０として使用する。対称的に、スレーブ装置１０４、１０６、１０８、及び１１０はＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲを受信クロック入力として使用する。マスタ装置からのデータ信号は、セグメント１３８上の活動ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲ信号と同じ方向でスレーブ装置へ進行する。
【００２６】
クロック信号とデータ信号を同じ方向にしても、クロック・データ・スキューをなくすのに十分ではない。クロック線１３４の長さは、活動クロック・パルスが各装置１０２、１０４、１０６、１０８、及び１１０に同時に到着しないようなものである。したがって、各装置１０２、１０４、１０６、１０８、及び１１０は、ちょうど活動送信クロックが通過した時点でデータ信号をデータ・バス１２０上に結合しなければならない。これは、サーファーが波頭を捕らえてそれに乗るために波頭を観測し予測するサーフィンに類似している。しかし、装置１０２、１０４、１０６、１０８、及び１１０が直面する同期の問題は、サーフィンよりも複雑である。なぜなら、各装置が受信クロックによってデータを受信し、別の送信クロックによってデータを送信するからである。
【００２７】
クロック分散（分配）システム１３０内では、クロック源が使用されるので送信クロックと受信クロックは常に同じ周波数を有する。しかし、折返し１３７に対する装置の位置が与えられている場合、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲとＣＬＯＣＫＴＯＭＡＳＴＥＲの間の位相は変動する。図４Ａ、図４Ｂ、及び図４Ｃは、データ・バス１２０の伝搬遅延が１クロック周期にほとんど等しいバス・システム１００の実施例に関するＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲとＣＬＯＣＫＴＯＭＡＳＴＥＲの間の位相差を示す。もちろん、位相の正確な量は、クロック周期及びデータ・バス長が変動するにつれて変動する。
【００２８】
図４Ａは、折返し１３７の非常に近くに位置するスレーブ装置１０４のクロック信号のタイミングを示す。この位置では、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲ／ＲＣＬＫ１１６０とＣＬＯＣＫＴＯＭＡＳＴＥＲ／ＴＣＬＫ２１６の間の位相差はほとんど０°である。
【００２９】
図４Ｂは、折返し１３７から離れた、データ・バス１２０の長さのほとんど半分の位置に位置するスレーブ装置１０６用の受信クロックＲＣＬＫ２１６０及びＴＣＬＫ２１６２のタイミングを示す。この位置では、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲ／ＲＣＬＫ２１６０とＣＬＯＣＫＴＯＭＡＳＴＥＲ／ＴＣＬＫ２１６２の間の位相差は約１８０°である。
【００３０】
図４Ｃは、スレーブ装置１１０に対する信号のタイミングを示す。折返し１３７から遠く離れており、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲ／ＲＣＬＫ３１６０とＣＬＯＣＫＴＯＭＡＳＴＥＲ／ＴＣＬＫ３１６２の間の位相差は約３６０°である。
【００３１】
バス・システム１００内の各装置が経験する位相差は、バス・システム１００内で同じ装置を使用することに対する課題である。この要件を満たすには、装置の受信クロックと送信クロックの間の可変位相差に責任を負う同一の回路が必要である。
【００３２】
図５は、可変位相差を補償する同期回路１５０をブロック図の形で示す。同期回路１５０は各装置１０２、１０４、１０６、１０８、及び１１０に含まれる。簡単に説明すると、同期回路１５０は、受信クロックに調整されたデータ信号を送信クロックと同期させる。したがって、同期回路１５０は、１つの装置によってデータ・バス上に結合されたデータ信号が、データを受信するために他の装置によって使用されるクロック信号と一緒に同時に進行するようにする。
【００３３】
同期回路１５０は位相比較機構１５２と、遅延要素１５４と、２：１マルチプレクサ１５６と、ラッチ１５８とを含む。
【００３４】
位相比較機構１５２は受信クロック入力ＲＣＬＫ１６０を送信クロック入力ＴＣＬＫ１６２と比較して、２つの信号の間の相対位相を求める。スレーブ装置１０４、１０６、１０８、及び１１０では、ＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲが入力ＲＣＬＫ１６０に結合され、ＣＬＯＣＫＴＯＭＡＳＴＥＲが入力ＴＣＬＫ１６２に結合される。
【００３５】
位相比較機構１５２から出力される信号ＳＫＩＰ１６４は２つの入力１６０と１６２の間の相対位相を表す。ＳＫＩＰは折返し１３７の近くのスレーブ装置ではローであり、折返し１３７から遠くのスレーブ装置ではハイである。データ・バス１２０の中心では、ＳＫＩＰ１６４のレベルが不確かであるが、後で説明するようにこれは問題ではない。
【００３６】
ＳＫＩＰ１６４は、マルチプレクサ１５６への２つの入力の内どちらをラッチ１５８に出力するかを選択する。マルチプレクサ１５６への１つの入力は、遅延されない受信データ１５５である。マルチプレクサ１５６への第２の入力は受信データ１５５の遅延バージョン、遅延された受信データ１５７である。遅延された受信データ１５７は遅延要素１５４によって生成される。折返し１３７から離れたスレーブ装置では、遅延は必要とされず、ＳＫＩＰ１６４は遅延されない受信データ１５５を選択する。折返し１３７近くのシステム１００の逆の端部では、ＳＫＩＰ１６４は遅延された受信データ１５７を選択して、それらの装置に対する短い伝搬遅延を補償する。
【００３７】
ラッチ１５８はマルチプレクサ１５６の出力を捕獲して、データをＴＣＬＫ１６２と同期させる。
【００３８】
データ・バス１２０上にデータを乗せる前に、装置の送信クロックに同期される追加段１６３をラッチ１５８の後に挿入することができる。
【００３９】
図６は同期回路１５０の概略図である。説明を簡単にするために、単一のデータ・ビット用の同期回路を図示する。データ・ワード全体に対する同期は単に、多数の遅延要素１５４、２：１マルチプレクサ１５６、及びラッチを並行して使用することによって達成される。１スレーブ装置当たりに必要な位相比較機構１５２は１つだけである。
【００４０】
同期回路１５０は、図５に関して説明したものとはわずかに異なる。これによって、受信データは装置の送信クロックの遷移に集中するようになる。言い換えると、同期回路１５０は、第１の装置によってバスに乗せられたデータが第２の装置の受信クロックの遷移に集中するようにする。これは、ＴＣＬＫ１６２の拡張バージョンＴＣＬＫ＋９０°１６６とデータを同期させることによって行われる。ＴＣＬＫ＋９０°１６６は、やはり各装置１０２、１０４、１０６、１０８、及び１１０に含まれる位相同期ループを使用してＴＣＬＫ１６２から生成される。位相同期ループはＴＣＬＫ＋９０°１６６の補数ＴＣＬＫ＋９０°Ｂ１６７を生成する。ここで、“Ｂ”はバー又は補数を表す。
【００４１】
同期回路１５０内では、位相比較機構１５２は２つのエッジ・トリガＤフリップフロップ回路１６８及び１７０で構成されている。Ｄフリップフロップ回路１６８はＲＣＬＫＤ１６１の立下りエッジ上でＴＣＬＫ１６２をサンプルする。ＲＣＬＫＤ１６１はＲＣＬＫ１６０のわずかに遅延されたバージョンである。このわずかな遅延によってＤフリップフロップ回路１６８のタイミングがバイアスされ、折返し１３７の近くの装置では、すなわち、ＣＬＯＣＫＴＯＭＡＳＴＥＲとＣＬＯＣＫＦＲＯＭＭＡＳＴＥＲが同位相のときは、出力がローになる。
【００４２】
Ｄフリップフロップ回路１６８の出力１８０は、折返し１３７から離れた装置ではハイであり、折返し１３７の近くの装置ではローである。出力１８０は、データ・バス１２０の中央の近くの装置では、不確かであり、準安定性であることもある。Ｄフリップフロップ回路１７０は出力１８０をサンプルし、ＳＫＩＰ１６４がうまく整定するようにする。Ｄフリップフロップ回路１７０は、パケットの始めを示す信号ＰＫＴＳＴＡＲＴ１８２を使用して出力１８０をサンプルする。各スレーブ装置は、マスタ装置１０２がスレーブへのアクセスを要求したと判定したときにそれ自体のＰＫＴＳＴＡＲＴ１８２を生成する。ＰＫＴＳＴＡＲＴ１８２の立下りエッジと、ＳＫＩＰ１６４を使用してＳＫＩＰ１６４がうまく整定できるようにするときとの間には十分時間がある。後述のように、データ・バス１２０の中心では、マスタ装置１０２でのタイミングがどの場合にも受け入れられるので、ＳＫＩＰ１６４がハイで整定するか、それともローで整定するかは問題ではない。
【００４３】
同期回路１５０内では、ラッチ１８６が遅延要素１５４に対応する。ラッチ１８４は、ＲＣＬＫ１６０をイネーブル入力として使用して、送信すべきデータＲＤＡＴＡ１８７を捕獲する。ラッチ１８６はラッチ１８４の出力ＲＤＥ１８８を捕獲し、ＲＣＬＫＢ１８９を使用して半クロック・サイクルだけ遅延させる。ＲＣＬＫＢ１８９はＲＣＬＫ１６０の補数である。
【００４４】
ＲＣＬＫ１６０とＴＣＬＫ１６２の間の位相差がゼロに近づくにつれて、ＲＣＬＫ１６０によってクロッキングされたデータをＴＣＬＫ１６２と同期させるのは難しくなる。これは、２つのクロック信号が共に同時に状態を変更するからである。ラッチ１８６は、データのクロッキングをＲＣＬＫ１６０からＲＣＬＫＢ１８９に変更することによってこの問題を軽減することを助ける。
【００４５】
マルチプレクサ１５６の入力はＲＤＯ１９０及びＲＤＥ１８８に結合されている。ＳＫＩＰ１６４は２つのマルチプレクサ入力の内の一方を選択する。
ラッチ２００および２０２は全体的にラッチ１５８に対応する。２つのラッチは、タイミングの危険を回避しながらＲＣＬＫドメインとＴＣＬＫドメインの間でデータを転送するために使用される。
【００４６】
バス１２０を介して伝搬された後にマスタ装置１０２によって受信されるデータ信号は、ＴＤＡＴＡ２０４と呼ばれる。ＴＤＡＴＡ２０４はＴＤＯ２０３の遅延バージョンである。遅延の量は、追加段１６３によって発生する遅延と、マスタ装置１０２と各スレーブ装置の間の信号伝搬遅延に依存する。
【００４７】
図７Ａ、図７Ｂ、及び図７Ｃは、折返し１３７に対する３つの異なる位置での同期回路１５０の動作を示す。データを送信する装置にかかわらず、データは、送信側装置の送信クロック、たとえば、スレーブ装置１０４、１０６、１０８、及び１１０のＣＬＯＣＫＴＯＭＡＳＴＥＲの遷移に集中される。言い換えると、各スレーブ１０４、１０６、１０８、及び１１０は、マスタの受信クロックの遷移に集中されたデータを送信する。したがって、マスタ１０２は常に、有効なデータをクロック・インする。
【００４８】
図７Ａ、図７Ｂ、及び図７Ｃではある種の表記法及び規則が使用されている。これらの３つの装置中の同期回路信号は、数値添字によって相互に区別されている。たとえば、スレーブ装置１０４中のＳＫＩＰ１６４はＳＫＩＰ１と呼ばれ、スレーブ装置１０８中のＳＫＩＰ１６４はＳＫＩＰ３と呼ばれている。信号ＲＣＬＫＤ１、ＲＣＬＫＤ２、及びＲＣＬＫＤ３は別々の波形で表されてはいない。これらの信号の立下りエッジはＲＣＬＫ１、ＲＣＬＫ２、及びＲＣＬＫ３の波形上の点線で表されている。ＲＤＥ１８８、ＲＤＯ１９０、ＴＤＥ２０１、ＴＤＯ２０３、及びＴＤＡＴＡ２０４の波形は、これらの信号がいつ有効か、あるいは無効かだけを示し、それらの値は示していない。これらの信号が無効な周期は複数の“Ｘ”で示されている。通常、信号は、その生成元の信号の内の１つが状態を変更している間は無効である。
【００４９】
図７Ａは、折返し１３７の近くのスレーブ装置１０４のタイミングを示す。ＴＣＬＫ１１６２はＲＣＬＫＤ１１６１が立ち下がるまでローであり、したがってＳＫＩＰ１１６４はローである。マルチプレクサ１５６はＲＤＯ１１９０をラッチ２００に結合することによってＳＫＩＰ１１６４に応答する。ラッチ２０２は、受信クロック・ドメインから送信クロック・ドメインにデータを変換した後、ＴＤＯ１２０３を出力する。スレーブ装置１０４とマスタ装置１０２の間にはほとんど信号伝搬遅延がないので、ＴＤＯ１２０３の波形とＴＤＡＴＡ１２０４の波形は同じである。ＴＤＡＴＡ１２０４は常に、ＲＣＬＫ０１６２の遷移に集中する。これは一例として、ＲＣＬＫ０１６２の遷移に整列され、かつＴＤＡＴＡ１２０４と交差する、垂線２１２によって示されている。
【００５０】
データ・バス１０２の中央の近くのタイミングについて論じる前に、折返し１３７から遠くのタイミングの簡単なケースを検討する。このケースを図７Ｃに示す。データ・バス１２０のこの端部では、ＴＣＬＫ３１６２はＲＣＬＫＤ３１６１が立ち下がってもハイであり、したがってＳＫＩＰ３１６４はハイである。マルチプレクサ１５６はＲＤＥ３１８８をラッチ２００に結合することによってＳＫＩＰ３１６４に応答する。ラッチ２０２は、受信クロック・ドメインから送信クロック・ドメインにデータを変換した後、ＴＤＯ３２０３を出力する。ＴＤＡＴＡ３２０４は常に、ＲＣＬＫ０１６２の遷移に集中する。これは一例として、ＲＣＬＫ０１６２の遷移に整列され、かつＴＤＡＴＡ３２０４と交差する、垂線２１２によって示されている。
【００５１】
図７Ｂは、データ・バス１２０の中央の近くのスレーブ装置１０６のタイミングを示す。ＲＣＬＫＤ２１６１が立ち下がるとき、ＴＣＬＫ２１６２はハイであっても、ローであってもよく、したがって、ＳＫＩＰ２１６４はハイであっても、ローであってもよい。これは、図７ＢではＳＫＩＰ２１６４に関する２本の線で示されており、この内の１本はハイであり１本はローである。その結果、マルチプレクサ１５６はＲＤＥ２１８８又はＲＤＯ２１９０をラッチ２００へ出力する。ラッチ２００の出力ＴＤＥ２２０１は、ＴＣＬＫ＋９０°２１６６がハイである間、ラッチ２００の入力に従うようにイネーブルされる。ＴＤＥ２２０１は、ＴＣＬＫ＋９０°２１６６の立上りエッジの後の短い期間中は不確かである。ラッチ２００がオープンした後１ビットの間、可能な入力の１つＲＤＯ２１９０が不確かなので、ＴＤＥ２２０１は１ビットだけ長い間不確かなままである。しかし、ＴＤＥ２２０１は、ＳＫＩＰ２１６４によってどの信号が選択されたかにかかわらず、ＴＣＬＫ＋９０°Ｂ２１６７がハイになる前に整定する。その結果、ラッチ２０２の出力ＴＤＯ２２０３が不確かなのは、ＴＣＬＫ＋９０°Ｂ２１６７の立上りエッジの後の短い期間中だけである。ＴＤＯ２２０３は最終的にデータ・バス１２０に結合され、ある程度の伝搬遅延の後にＴＤＡＴＡ２２０４としてマスタ装置１０２に到着する。ＴＤＡＴＡ２２０４は常に、ＲＣＬＫ０１６２に集中する。これは一例として、ＲＣＬＫ０１６２の遷移に整列され、かつＴＤＡＴＡ３２０４と交差する、垂線２１２によって示されている。
【００５２】
したがって、図７Ａ、図７Ｂ、及び図７Ｃは共に、バス・システム１００がクロック信号とデータ信号を一緒に進行させ、かつマスタ装置１０２に一緒に到着させることによってクロック・データ・スキューを低減することを示す。
【００５３】
また、データを送信中のスレーブ装置にかかわらず、データが常に同時にマスタ装置１０２に到着するので、バス・システム１００は一定待ち時間プロトコルに適応する。幾つかの従来のバス・システムでは、スレーブからマスタへの可変信号伝搬遅延によって一定待ち時間プロトコルを使用することができない。
【００５４】
可変信号伝搬遅延がなぜ一定待ち時間プロトコルに対して問題であるかは、以下の第２式に関してよりよく理解することができる。
（２）待ち時間＝２＊（マスタ・スレーブ間信号伝搬遅延）＋スレーブ・アクセス遅延
【００５５】
第２式の２つの項の内、バス・システム１００内では信号伝搬遅延だけが可変である。すべての装置が同じであると仮定すると、アクセス遅延はすべてのスレーブ装置に対して同じである。これに対して、バス・システム１００での伝搬遅延は折返しに対する装置の位置とクロック線の長さに応じて変動する可能性がある。したがって、待ち時間は、同期回路１５０が存在する場合、マスタ・ツー・スレーブ伝搬遅延の２倍だけ変動する恐れがある。
【００５６】
図７Ａ、図７Ｂ、及び図７Ｃは、データの第１のバイトがＲＣＬＫ０１６２の同じ立上りエッジでマスタ装置１０２に到着するように同期回路１５０が助けることを示す。マスタ装置１０２に到着すべきデータの第１のバイトをＴＤＡＴＡ２０４の“Ａ”と呼ぶ。バイトＡが有効であるべきＲＣＬＫ０１６２のクロック・パルスを“Ｘ”と呼ぶ。図７から分かるように、垂線２１２はパルスＸに整列されており、ＴＤＡＴＡ１、ＴＤＡＴＡ２、及びＴＤＡＴＡ３の有効バイトＡデータと交差する。
【００５７】
図８は代替同期システム２００をブロック図の形で示す。システム２００は、同期しなければならない１データ・ワード当たりビット数が多い設計に適している。ＲＤＡＴＡ１８７ではなくＴＬＯＡＤ２０２を同期回路１５０に結合することによって複数のビットを再整列するために同期回路１５０の単一のインスタンスが使用されている。同期回路１５０は、受信クロック・ドメインから送信クロック・ドメインにデータを変換するのに必要とされる制御信号２０６を生成する。制御信号２０６は、ＲＬＯＡＤ２０４が活動状況になるよりも２クロック・サイクル前に発生するパルス信号である。制御信号２０６は１クロック・サイクル中活動状況に保持される。制御信号２０６は、その１サイクルの後に、次のデータ・ワードを同期すべきときになるまで非活動状況に保持される。
【００５８】
同期動作は、ＴＬＯＡＤ２０２及びＲＬＯＡＤ２０４によって部分的に制御される。ＴＬＯＡＤ２０２とＲＬＯＡＤ２０４は共にクロック・ドメイン信号を受信する。ＴＬＯＡＤ２０２は、ＲＬＯＡＤ２０４が活動状況になるよりも２クロック・サイクル前に発生するポジティブ・ゴーイング・エッジで活動状況になる。これによって、システム２００は同期回路１５０による伝搬遅延の責任を負うことができる。ＲＬＯＡＤ２０４は、同期中のあらゆるデータ・ワードの第１のクロック・サイクル全体にわたってアクティブ・ハイに保持される。ＲＬＯＡＤ２０４は、次のデータ・ワードが受信されるまで非活動状況に保持される。
【００５９】
したがって、クロック・データ・スキューを最小限に抑えるバス・システムについて説明した。このバス・システムはデータ・バスと、クロック線と、同期回路とを含む。クロック線は２つのクロック線セグメントを有する。各クロック線セグメントはデータ・バスの全長にわたって延び、データ・バスの一端にある折返しによって他方のクロック線セグメントに連結されている。クロック線は、クロック信号とデータ信号が同じ方向へ進行するようにする。同期回路は、データ信号が、データを受信するために受信側装置によって使用されるクロック信号と一緒に同時に進行するようにデータ・バス上に置かれるように助ける。
【００６０】
前記の明細書では、特定の典型的な実施例に関して本発明を説明した。しかし、本発明には、添付の特許請求の範囲に記載したその広い趣旨及び範囲から逸脱せずに、様々な修正及び変更を加えられることが明らかになろう。したがって、明細書及び図面は、制限的な意味ではなく例示的な意味で考察すべきである。
【図面の簡単な説明】
【図１】１つの従来技術のバス・システムのブロック図である。
【図２】他の従来技術のバス・システムのブロック図である。
【図３】クロック分散（分配）システムのブロック図である。
【図４】クロック信号波形の例を示す図であり、Ａはクロック線の折返しの近くに位置する装置のクロック信号波形の例を示し、Ｂはクロック線の中央に位置する装置のクロック信号波形の例を示し、Ｃは折返しから比較的遠くに位置する装置のクロック信号波形の例を示す図である。
【図５】同期回路のブロック図である。
【図６】同期回路の概略図である。
【図７】同期回路のタイミング図であり、Ａは折返しの近くに位置する同期回路のタイミングを示し、Ｂはクロック線の中央近くに位置する同期回路のタイミングを示し、Ｃは折返しから比較的遠くに位置する同期回路のタイミングを示す。
【図８】代替同期方式のブロック図である。
【符号の説明】
１０２　マスタ装置１０２；
１０４，１０６，１０８，１１０　スレーブ装置；　１２０　データ・バス；
１３４　クロック線；　１３６，１３８　クロック線セグメント；
１３７　クロック線折り返し部；　１５２　位相比較器；　１５４　遅延要素；１５６　マルチプレクサ
【図１】
2004079157.tif 000003
【図２】
2004079157.tif 000004
【図３】
2004079157.tif 000005
【図４】
2004079157.tif 000006
【図５】
2004079157.tif 000007
【図６】
2004079157.tif 000008
【図７】
2004079157.tif 000009
【図８】
2004079157.tif 000010