(57)【要約】マスタ・クロックから追加のクロックを９０度遅延させることによって、１サイクル中に必要とされる追加のクロック・エッジを設ける。追加のクロック・エッジを必要とするのは、同じクロック・サイクルにおいてリード及びライトを実行したいという希望から生じたことである。マスタ・クロックの周波数が変化するに連れて更新可能なクロック・プログラマブル遅延回路によって、正確な遅延を得る。２つの別のプログラマブル遅延回路を用いることによって、１８０度の遅延を得るのに都合が良いように、遅延量を検出する。１８０度の遅延は、フリップ・フロップを用いると、容易に検出できる。合計１８０度の遅延を発生させるプログラミング信号は、１つのプログラマブル遅延回路当たり９０度を発生させる。次いで、同じプログラミング信号をクロック・プログラマブル遅延回路に結合し、追加クロックに所望の９０度の遅延を実現する。
2005518685.tif 000002
【特許請求の範囲】
【請求項１】
マスタ・クロック信号から遅延クロック信号を発生する方法であって、
第１のプログラマブル遅延回路を設けるステップと、
第２のプログラマブル遅延回路を設けるステップと、
第３のプログラマブル遅延回路を設けるステップと、
前記第１及び第２のプログラマブル遅延回路を介して前記マスタ・クロックを結合するステップと、
前記第１及び第２のプログラマブル遅延回路の各々を第１の最終遅延に改変し、前記マスタ・クロック信号を約１８０度遅延させるステップと、
前記第３のプログラマブル遅延回路を前記第１の最終遅延にプログラムするステップと、
前記マスタ・クロックを前記第３のプログラマブル遅延回路に結合し、前記遅延クロック信号を得るステップと、
から成る方法。
【請求項２】
請求項１記載の方法であって、更に、
前記マスタ・クロックの周波数を変更するステップと、
前記第１及び第２のプログラマブル遅延回路の各々を第２の最終遅延に改変し、前記マスタ・クロックを約１８０度遅延させるステップと、
前記第３のプログラマブル遅延回路を前記第２の最終遅延にプログラムするステップと、
を含む方法。
【請求項３】
請求項２記載の方法において、前記第１、第２、及び第３のプログラマブル遅延回路が同一である方法。
【請求項４】
請求項３記載の方法であって、更に、
メモリを設けるステップと、
前記マスタ・クロックを前記メモリに結合するステップと、
前記遅延クロック信号を前記メモリに結合するステップと、
を含む方法。
【請求項５】
請求項４記載の方法であって、更に、前記マスタ・クロックの第１サイクルの第１部分において、前記マスタ・クロック及び前記遅延クロックに応答して、メモリのリードを実行するステップと、
前記第１サイクルの第２部分において、前記マスタ・クロック及び前記遅延クロックに応答して前記メモリのライトを実行するステップと、
を含む方法。
【請求項６】
マスタ・クロックから遅延クロックを発生するクロック回路であって、
前記マスタ・クロックに結合された第１のプログラマブル遅延回路と、
前記第２の遅延に結合され、出力クロックを供給する第２のプログラマブル遅延回路と、
前記マスタ・クロックに結合され、前記遅延クロックを供給する第３のプログラマブル遅延回路と、
前記第１、第２、及び第３の遅延に結合され、該第１、第２、及び第３の遅延をプログラムする制御ユニットと、
前記出力クロック、前記マスタ・クロック、及び前記制御ユニットに結合されたフリップ・フロップと、
を備えているクロック回路。
【請求項７】
請求項６記載のクロック回路であって、更に、
前記制御ユニットと前記第３のプログラマブル遅延回路との間に結合された同期部を備えているクロック回路。
【請求項８】
請求項６記載のクロック回路において、前記フリップ・フロップが、前記第１及び第２のプログラマブル遅延回路が１８０度の遅延を達成するときを示す手段であることを特徴とするクロック回路。
【請求項９】
請求項８記載のクロック回路であって、更に、前記第１のプログラマブル遅延回路と前記マスタ・クロックとの間に結合されたドライバを備えているクロック回路。
【請求項１０】
請求項９記載のクロック回路において、前記制御ユニットが、更に、前記フリップ・フロップが１８０度の遅延を検出したときに最終遅延信号を前記第１及び第２のプログラマブル遅延回路に供給し、更に、前記第１及び第２のプログラマブル遅延回路が１８０度の遅延を達成したことを前記フリップ・フロップが示すことに応答して、前記最終遅延信号を前記第３のプログラマブル遅延回路に結合することを特徴とするクロック回路。
【請求項１１】
マスタ・クロックに応答する処理システムであって、
前記マスタ・クロックを受けるメモリと、
前記マスタ・クロックを受ける入力と、前記メモリに結合された出力とを有するクロック・プログラマブル遅延回路と、
前記メモリ及び前記クロック・プログラマブル遅延回路に結合され、前記プログラマブル・アレイを所望の遅延にプログラムし、前記メモリにアドレス及びデータを供給するプロセッサと、
を備え、前記プロセッサが、更に、
前記マスタ・クロックに結合され、基準遅延を与えるプログラマブル遅延手段と、
前記プログラマブル遅延手段に結合され、前記基準遅延が前記所望の遅延の整数倍であるときを判断する検出手段と、
を備えている処理システム。
【請求項１２】
請求項１１記載の処理システムにおいて、前記検出手段がフリップ・フロップを備えている処理システム。
【請求項１３】
請求項１２記載の処理システムにおいて、前記プログラマブル遅延手段が、前記プログラマブル遅延回路と同じ特性を有する１対のプログラマブル遅延回路を備えている処理システム。
【請求項１４】
請求項１３記載の処理システムにおいて、前記１対のプログラマブル遅延回路が、１８０度の遅延を与える処理システム。
【請求項１５】
請求項１１記載の処理システムにおいて、前記メモリが、更に、前記マスタ・クロックの１サイクルにおいてリード及びライトを実行することを特徴とする処理システム。
【請求項１６】
マスタ・クロックから遅延クロック信号を発生する方法であって、
第１のプログラマブル遅延回路を設けるステップと、
１よりも多い数の基準プログラマブル遅延回路を有するプログラマブル遅延手段を設けるステップと、
前記プログラマブル遅延手段を介して前記マスタ・クロック信号を結合するステップと
、
所望の遅延の実質的に整数倍の遅延が得られ、かつ前記整数倍が前記数に等しくなるまで、前記プログラマブル遅延回路の基準の各々の遅延を改変するステップと、
前記第１のプログラマブル遅延回路を実質的に前記所望の遅延にプログラムするステップと、
前記マスタ・クロックを前記第３のプログラマブル遅延回路に結合し、前記遅延クロック信号を供給するステップと、
から成る方法。
【請求項１７】
請求項１６記載の方法において、前記数が２であり、前記所望の遅延が９０度である方法。
【請求項１８】
請求項１６記載の方法において、前記基準プログラマブル遅延回路及び前記第１のプログラマブル遅延回路が同じ特性を有する方法。
【請求項１９】
請求項１６記載の方法であって、更に、前記所望の遅延の実質的に整数倍である前記遅延が得られ、かつ前記整数倍がフリップ・フロップを用いる数に等しいことを検出するステップを含む方法。
【請求項２０】
請求項１６記載の方法であって、更に、
メモリを設けるステップと、
前記マスタ・クロックを前記メモリに結合するステップと、
前記遅延クロック信号を前記メモリに結合するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックに関し、更に特定すれば、同期信号を供給するクロックに関する。
【背景技術】
【０００２】
殆どの集積回路は、動作の同期を取っており、少なくとも１つのマスタ・クロックを利用し、このマスタ・クロックから別のクロックを発生している。多数のクロックを発生するのは、異なる目的及び異なる場所のためである。集積回路の異なる機能は、個々の目的のために異なるクロックを有する。処理システムでは、クロックのサイクル毎に、処理システムの命令セットにおける命令のいずれかを実行することのように、種々の選択肢に応じられることが望ましい。クロックの速度は、高いことが望ましいが、命令を完了するのに必要な動作全てを遂行できる程度には低くなければならない。必要な動作又は望ましい動作の中には、１回のクロック・サイクルにおいてできるだけ多くの処理を行うことに関係するものがある。これを行うには、これらの結果が得られるようなクロックがなければならない。１つの技法は、クロック周波数を２倍に高め、これらの動作に必要なクロックを供給することである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この周波数倍増手法には、そのために位相ロック・ループを設けることが必要になるという欠点がある。位相ロック・ループ自体は、一般に電圧制御発振器（ＶＣＯ）を必要とする。適正な動作のためには、集積回路上にかなりの設計資源及び空間が必要となる。その結果、時間がかかり、しかも空間も多く取る手法となる。
【０００４】
このため、位相ロック・ループを用いて周波数を２倍にする必要がなく、１サイクル中における複数の動作のためにクロックを供給する機構が求められている。  
【課題を解決するための手段】
【０００５】
本明細書に記載するのは、システム・クロックの１回のサイクル中にメモリを動作させる方法を提供する技術である。マスタ・クロックから実質的に９０度位相がずれた第２クロックを発生する。これによって、マスタ・クロックのクロック・エッジ間の途中にクロック・エッジが得られる。この追加したクロック・エッジによって、１回のサイクルにおいてメモリへのライト（書き込み）及びメモリからのリード（読み出し）が可能になるという効果がある。
【発明を実施するための最良の形態】
【０００６】
図面における要素は、簡略化及び明確化を目的に図示されており、必ずしも同じ拡縮率で描かれている訳ではないことを当業者は認識するであろう。例えば、図面における要素の一部を他の要素に対して誇張することによって、本発明の実施形態の理解を深めるのに役立つようにしている場合もある。
【０００７】
図１に示す処理システム１０は、プロセッサ１２、メモリ１４、及びプログラマブル遅延回路１６から成る。プロセッサ１２は、グローバル・クロックＧＣによって与えられるタイミングにしたがって動作する。メモリ１４は、２系統のバスＡ１及びＡ２を通じてプロセッサ１２に結合されている。各系統のバスは、リード・バス、ライト・バス、及びアドレス・バスを有する。メモリ１４は、グローバル・クロックＧＣ及び遅延グローバル・クロックＤＧＣによって与えられるタイミングにしたがって動作する。プログラマブル遅延回路１６は、グローバル・クロックＧＣと周波数が同一で、実質的に９０度遅延した遅
延グローバル・クロックＤＧＣを供給する。
【０００８】
図２に示すタイミング図は、クロックＧＣ及びＤＧＣのクロック・エッジに基づくいくつかの機能的動作を表す。クロック・サイクルの開始は、グローバル・クロックＧＣの立ち上がりエッジにおいて発生し、次の立ち上がりエッジでクロック・サイクルが終了すると見なす。次の立ち上がりエッジは、次のクロック・サイクルの開始も示す。グローバル・クロックＧＣの立ち下がりエッジは、クロック・サイクルの中間にある。グローバル・クロックＧＣのデューティ・サイクルは５０％であることが望ましい。遅延グローバル・クロックは、その立ち上がりエッジがサイクルの約２５％のところにあり、その立ち下がりエッジがサイクルの約７５％のところにある。つまり、図２に示すように、各サイクルは、４つのクロック・エッジを有すると見なすことができ、グローバル・クロックＧＣの立ち上がりエッジにおけるＰ０に始まり、続いて、遅延クロックＤＧＣの立ち上がりクロック・エッジ、グローバル・クロックＧＣの立ち下がりエッジ、及び遅延グローバル・クロックＤＧＣの立ち下がりエッジにそれぞれ、Ｐ１、Ｐ２、及びＰ３がある。
【０００９】
動作中、プロセッサ１２がリード及びライトを実行することが望ましい場合がある。リード及びライト双方のアドレスがわかっており、書き込むデータもわかっている場合、リード及びライト双方を同じサイクルにおいて実行すれば、動作速度を高める好機となる。このような場合、プロセッサ１２は、サイクルを開始する前に、アドレス・バスＡ１及びＡ２上にアドレスを供給する。アドレスは、Ｐ３及びＰ０の間でラッチされ、Ｐ３が次に発生するまで維持される。サイクルＰ０の開始時に、アドレス・バスＡ１上のアドレスによってメモリ１４の１つの行を選択し、これをイネーブルする。この場合、バス系統Ａ１はリード用であると仮定する。メモリ１４内部のセンス・アンプがＰ２においてイネーブルされると、読み出すデータが得られ、Ｐ２においてＡ１データ・バス上に出力される。このデータは、次にＰ２が発生するまで有効である。また、Ｐ２において、アドレス・バスＡ２上のアドレスにしたがって別の行がアクセスされ、ライト・バスＡ２上でライト・データがサンプルされる。ライト・データは、少なくともＰ２に先立つ短い設定時間中は有効でなければならない。Ｐ３において、次のアドレスをラッチし、Ｐ０における次のサイクルの開始の準備を整える。
【００１０】
この機能は、高速動作を得るには有効である。これによって、１回のサイクルでリード及びライトを実行することが可能となる。同様に、２系統のバスＡ１及びＡ２を、グローバル・クロックＧＣ及び遅延グローバル・クロックＤＧＣと組み合わせて用いることによって、同じサイクルにおいて２回のリード又は２回のライトを実行することもできる。
【００１１】
プロセッサ１２は、プログラマブル遅延回路１６の遅延を連続的に更新することによって、遅延グローバル・クロックを実質的に９０度の遅延に維持する。グローバル・クロックＧＣの周波数に変化がある場合、プロセッサ１２はこれに応じて、プログラマブル遅延回路１６の遅延を調節する。遅延の更新は、グローバル・クロックＧＣの１２８サイクル毎に行われる。サイクル数は、一選択事項であり、減らすことも増やすことも可能である。周波数変化を正確に定量化できるまでにはある数のサイクルを要するので、この数には下限を設けるとよい。
【００１２】
図３に、プログラマブル遅延回路１６と、プロセッサ１２の制御部３０とを示す。制御部３０は、同期部１８、制御ユニット２０、プログラマブル遅延回路２２、プログラマブル遅延回路２４、及びＤフリップ・フロップ２６を備えている。プログラマブル遅延回路２２及び２４は、プログラマブル遅延回路１６と同一である。プログラマブル遅延回路２２及び２４の遅延は、制御ユニット２０によって選択される。ドライバ２８は、グローバル・クロックＧＣに応答して、グローバル・クロックＧＣと同相で同じ周波数のプロセッサ・グローバル・クロックＰＧＣを、制御ユニット２０の入力、プログラマブル遅延回路
２２の入力、及びフリップ・フロップ２６のクロック入力に供給する。プログラマブル遅延回路２２の出力は、プログラマブル遅延回路２４の入力に結合されている。プログラマブル遅延回路２４の出力は、Ｄフリップ・フロップ２６のＤ入力に結合されている。同期部１８は、更新バス３２によって制御ユニット２０に結合されており、更新イネーブル信号ＵＥがプログラマブル遅延回路１８に結合されている。プログラマブル遅延回路１６、２２、及び２４は同一である。これらは必ずしも同一でなければいけない訳ではないが、これらは所与のプログラミング入力に対して実質的に同じ量の遅延を有していなければならないので、同じ特性を有するはずである。
【００１３】
プログラミング遅延２２及び２４を組み合わせて１８０度の遅延を形成するようにプログラムした場合、これは、遅延が適正に設定されたことを示す。何故なら、これは各プログラマブル遅延回路２２及び２４が９０度であることを意味するからである。つまり、このプログラミング量は、プログラマブル遅延回路１６が所望の９０度遅延を与えるために必要な量であることがわかっている。プロセスが開始すると、最小遅延を有するようにプログラマブル遅延回路をプログラムする。本実施形態では、５００ピコ秒（ｐｓ）である。合計の遅延はフリップ・フロップ２６のＤ入力に結合される。次いで、Ｄ入力の論理状態は、そのクロック入力の立ち上がりエッジにおいて、Ｄフリップ・フロップの出力に結合される。この場合、クロック入力はプロセッサ・グローバル・クロックＰＧＣであり、グローバル・クロックＧＣと同等と見なすことができる。したがって、遅延が１８０度未満である限り、フリップ・フロップ１２６によって出力される論理状態は論理低となる。遅延が１８０度に達すると直ぐに、フリップ・フロップ２６の出力は、プロセッサ・グローバル・クロックＰＧＣが論理高に切り替わる時点で、論理高に切り替わる。制御ユニット２０は、１８０度の遅延が発生するまで、遅延を最小遅延から増分していく。この場合、各刻み幅は４０ピコ秒（ｐｓ）であるが、これは、プログラマブル遅延回路１６に９０度の遅延を得る際に所望の精度に応じて、増減することも可能である。更に、単に遅延量を増分して１８０度点を発見する代わりに、連続近似のような別の技法を用いてもよい。
【００１４】
制御ユニット２０が、１８０度マークに達するのに必要な遅延量、即ち、プログラマブル遅延回路毎に９０度を判定した後、更新イネーブル信号ＵＥの制御の下でこの情報を同期部１８に転送する。バス３２は、他の使い方をしてもよく、遅延の更新には関係のない情報を搬送してもよい。つまり、信号ＵＥは、バス３２の情報が有効な更新情報であることを同期部１８に示す。同期部１８は、プログラマブル遅延回路１６の更新を調整する。グローバル・クロックＧＣの各遷移（エッジ）で、同様の遅延したエッジが生じ、遅延グローバル信号ＤＧＣが得られる。したがって、プログラマブル遅延回路１６の更新は、対応するエッジを供給した後であるが、次のエッジを受け取る前に行わなければならない。
【００１５】
このように、制御部３０は、ＰＬＬやＶＣＯのような付随する回路を必要とせずに、サイクルの実質的に２５％及び７５％点に位置するクロック・エッジを得る方法を与える。また、これによって、周波数を２倍にする必要性も回避する。クロックの速度を倍増すると、クロック信号が伝搬しなければならない距離のために通常必要となる電流駆動に起因する障害が一部では生じる可能性がある。周波数を逓倍する代わりにクロックを分割するというこの技法は、他の状況も包含するように拡張することができる。例えば、遅延クロックを９０％以外にすることが望ましい場合もある。したがって、２以外の所望の遅延の整数倍である個数のプログラマブル遅延回路と直列に、２つよりも多いプログラマブル遅延回路を有することが望ましい場合もある。また、１８０度以外の遅延を検出し、その理由のために同様に２以外の整数倍にすることも適当な場合もある。
【００１６】
前述の明細書では、具体的な実施形態を参照しながら本発明の説明を行った。しかしながら、特許請求の範囲に明示した本発明の範囲から逸脱することなく、種々の修正や変更が可能であることを当業者は認識するであろう。したがって、本明細書及び図面は、限定
的な意味ではなく、例示的な意味で解釈することとし、このような修正は全て本発明の範囲に含まれることを意図している。
【００１７】
具体的な実施形態に関して、効果、その他の利点、及び問題に対する解決策について説明した。しかしながら、これらの効果、利点、問題に対する解決策、及びいずれの効果、利点又は解決策をもたらす、又は一層際立たせるいずれの要素（複数の要素）も、いずれの又は全ての請求項の重要な、必要な、又は必須の特徴としては解釈すべきではない。ここで用いる場合、「備える」、「備えている」又はその他のあらゆる派生語は、非排他的包含に該当することを意図しており、要素のリストを構成するプロセス、方法、品目、又は装置は、これらの要素を含むだけでなく、明示的には掲示されていない、あるいはこのようなプロセス、方法、品目、又は装置には固有のその他の要素も含むこととする。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態による処理システムのブロック図。
【図２】図１の処理システムを理解するのに供するタイミング図。
【図３】図１の処理システムの一部を詳細に示すブロック図。
【図１】
2005518685.tif 000003
【図２】
2005518685.tif 000004
【図３】
2005518685.tif 000005
【国際調査報告】
2005518685.tif 000006
2005518685.tif 000007
2005518685.tif 000008