(57)【要約】方法は、第一の時点において回路装置の動作速度を表す第一の動作特性を判別することを含む（５０２）。前記方法はさらに、前記回路装置の第一のラッチの入力において入力信号を受信し（５０４）、前記回路装置の第二のラッチの入力において出力信号を受信することを含む（５０６）。前記方法はさらに、クロック信号を第一の遅延だけ遅延させて第一の調整クロック信号を提供し（５０８）、前記クロック信号を第二の遅延だけ遅延させて（５１０）第二の調整クロック信号を提供することを含む。ある実施形態では、前記第一の遅延および前記第二の遅延は前記第一の動作特性に基づいている（５０８、５１０）。前記方法はさらに、前記第一の調整クロック信号に応答して前記第一のラッチにおいて前記入力信号をラッチし（５１２）、前記第二の調整クロック信号に応答して前記第二のラッチにおいて前記出力信号をラッチすることを含む（５１４）。
2009529296.tif 000002
【特許請求の範囲】
【請求項１】
回路装置の動作速度を表す動作特性を判別する段階と；
前記動作特性に基づいて前記回路装置の第一の論理のタイミングを制御する第一のクロック信号のレイテンシーを調整する段階と；
前記動作特性に基づいて前記回路装置の、前記第一の論理とは異なる第二の論理のタイミングを制御する第二のクロック信号のレイテンシーを調整する段階とを有する、
方法。
【請求項２】
前記動作特性を判別する段階が：
前記回路装置においてリング発振器を介して第三のクロック信号を生成する段階と；
前記第一のクロック信号および前記第二のクロック信号が第四のクロック信号に基づいているとして、前記第三のクロック信号の周波数と前記第四のクロック信号の周波数との比較に基づいてクロック比を決定する段階とを有しており、
前記動作特性が前記クロック比に基づく、請求項１記載の方法。
【請求項３】
前記動作速度がある指定された値を下回ることが前記動作特性によって示されるとき、前記第一のクロック信号のレイテンシーを調整する段階が前記第一のクロック信号のレイテンシーを増加させることを含み、前記第二のクロック信号のレイテンシーを調整する段階が前記第二のクロック信号のレイテンシーを減少させることを含む、請求項１記載の方法。
【請求項４】
前記動作速度がある指定された値を上回ることが前記動作特性によって示されるとき、前記第一のクロック信号のレイテンシーを調整する段階が前記第一のクロック信号のレイテンシーを減少させることを含み、前記第二のクロック信号のレイテンシーを調整する段階が前記第二のクロック信号のレイテンシーを増加させることを含む、請求項３記載の方法。
【請求項５】
前記指定された値が前記回路装置の、以前に判別された動作速度を表す、請求項４記載の方法。
【請求項６】
前記指定された値が期待される動作条件のもとでの前記回路装置の動作速度を表す、請求項４記載の方法。
【請求項７】
前記第一のクロック信号のレイテンシーが第一のプログラム可能遅延セルを介して調整され、前記第二のクロック信号のレイテンシーが第二のプログラム可能遅延セルを介して調整される、請求項１記載の方法。
【請求項８】
前記第一のクロック信号のレイテンシーおよび前記第二のクロック信号のレイテンシーが実質的に同時に調整される、請求項１記載の方法。
【請求項９】
ある第一の時点に回路装置の動作速度を表す第一の動作特性を判別する段階と；
前記回路装置の第一のラッチの入力において入力信号を受信する段階と；
前記回路装置の第二のラッチの入力において出力信号を受信する段階と；
クロック信号を前記第一の動作特性に基づく第一の遅延だけ遅延させて、第一の調整クロック信号を提供する段階と；
前記クロック信号を前記第一の動作特性に基づく第二の遅延だけ遅延させて、第二の調整クロック信号を提供する段階と；
前記第一の調整クロック信号に応答して前記第一のラッチにおいて前記入力信号をラッチする段階と；
前記第二の調整クロック信号に応答して前記第二のラッチにおいて前記出力信号をラッチする段階とを有する、
方法。
【請求項１０】
請求項９記載の方法であって、さらに：
前記第一の時点よりあとのある第二の時点に前記回路装置の動作速度を表す第二の動作特性を判別する段階と；
前記クロック信号を前記第二の動作特性に基づく第三の遅延だけ遅延させて、第三の調整クロック信号を提供する段階と；
前記クロック信号を前記第二の動作特性に基づく第四の遅延だけ遅延させて、第四の調整クロック信号を提供する段階と；
前記第三の調整クロック信号に応答して前記第一のラッチにおいて前記入力信号をラッチする段階と；
前記第四の調整クロック信号に応答して前記第二のラッチにおいて前記出力信号をラッチする段階とを有する、
方法。
【請求項１１】
前記動作特性が、前記回路装置において生成されるクロック信号の周波数の変化に基づいて判別される、請求項９記載の方法。
【請求項１２】
前記第一の動作特性によって、前記動作速度がある指定された動作速度より大きいことが示されるとき、前記第一の遅延が前記第二の遅延より大きく、
前記第一の動作特性によって、前記動作速度が前記指定された動作速度より小さいことが示されるとき、前記第二の遅延が前記第一の遅延より大きい、
請求項９記載の方法。
【請求項１３】
前記指定された動作速度が、前記第一の時点に先立つ第二の時点における前記回路装置の第二の動作速度である、請求項１２記載の方法。
【請求項１４】
前記第一の動作特性によって、前記動作速度が前記指定された動作速度と実質的に等しいことが示されるとき、前記第一の遅延が前記第二の遅延に実質的に等しい、請求項１２記載の方法。
【請求項１５】
第一の信号を受信する入力および出力をもつ第一の論理と；
第二の信号を受信する入力および出力をもつ第二の論理と；
前記第一の論理の前記出力に動作可能的に結合された入力、第一のクロック信号を受信するクロック入力および前記第一のクロック信号に応答して第一のラッチされた信号を提供する出力をもつ第一のラッチと；
前記第二の論理の前記出力に動作可能的に結合された入力、第二のクロック信号を受信するクロック入力および前記第二のクロック信号に応答して第二のラッチされた信号を提供する出力をもつ第二のラッチと；
前記第三のクロック信号を受信する入力、異なる遅延をもつ複数の遅延経路、前記複数の遅延経路のうちの選択された遅延経路を示す信号を受信する選択入力および前記選択された遅延経路を介して前記入力に選択的に結合された出力を含み、出力が前記第一のクロック信号を与える第一のプログラム可能な遅延セルと；
前記第三のクロック信号を受信する入力、異なる遅延をもつ複数の遅延経路、前記複数の遅延経路のうちの選択された遅延経路を示す信号を受信する選択入力および前記選択された遅延経路を介して前記入力に選択的に結合された出力を含み、出力が前記第二のクロック信号を与える第二のプログラム可能な遅延セルと；
前記第一のプログラム可能遅延セルの前記選択入力に結合された第一の出力および前記プログラム可能遅延セルの前記選択入力に結合された第二の出力をもつ動作速度モニタであって、前記第一の論理および前記第二の論理の動作速度の動作特性表現に基づいて、前記第一の出力を介して第一の値を、前記第二の出力を介して第二の値を与える動作速度モニタとを有する、
システム。
【請求項１６】
請求項１５記載のシステムであって、前記動作速度モニタが：
第四のクロック信号を与える出力をもつリング発振器と；
前記リング発振器の出力に結合された第一の入力と、前記第三のクロック信号を受信する第二の入力と、前記第四のクロック信号の周波数と前記第三のクロック信号の周波数との比を表すカウンタ値を与える出力とを有するカウンタとを有しており、前記動作特性が前記カウンタ値を含む、システム。
【請求項１７】
前記カウンタ値によってインデックスされる複数の項目を有するルックアップ・テーブルをさらに有する、請求項１６記載のシステムであって、各項目は前記動作速度モニタの出力を介した出力のための値と、前記動作速度モニタの第二の出力を介した出力のための値とを有する、システム。
【請求項１８】
前記第一の論理の入力が前記回路装置の入力を含み、前記第二の論理の出力が前記回路装置の出力を含む、請求項１５記載のシステム。
【請求項１９】
前記回路装置がバス・インターフェースを含む、請求項１５記載のシステム。
【請求項２０】
前記第一の論理が前記バス・インターフェースの入力論理を含み、前記第二の論理が前記バス・インターフェースの出力論理を含む、請求項１９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概括的には回路装置に関し、より詳細には回路装置のタイミング関係の制御に関する。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
集積回路装置の製造工程の変化ならびに集積回路装置の動作中の温度および電圧の変化（まとめて工程‐電圧‐温度［process-voltage-temperature］またはPVTと称される）は典型的には集積回路装置の論理の動作速度の著しい変化につながる。動作速度が変わると、さまざまな論理コンポーネントのセットアップ時間およびホールド時間が変わり、そのため、典型的にはその集積回路装置とインターフェースをもつ他の諸装置がセットアップ時間およびホールド時間についての最悪ケースのシナリオに向けて設計される必要が出てくる。こうしたタイミング制約の結果として、システム設計者は典型的にはよりコスト高で、より複雑で、より高速なインターフェース装置を実装することを強いられる。したがって、PVT変化を補償するために集積回路装置のタイミングを制御するための改良された技法が有益であろう。
【０００３】
付属の図面を参照することによって、本開示がよりよく理解され、その数多くの特徴および利点が当業者にとって明白になるであろう。
【０００４】
異なる図面における同じ参照符号の使用は、同様または同一の項目を示す。
【発明を実施するための最良の形態】
【０００５】
本開示のある側面によれば、方法は、回路装置の動作速度を表す動作特性を判別することを含む。前記方法はさらに、前記動作特性に基づいて前記回路装置の第一の論理のタイミングを制御する第一のクロック信号のレイテンシーを調整することを含む。前記方法はさらに、前記動作特性に基づいて前記回路装置の、前記第一の論理とは異なる第二の論理のタイミングを制御する第二のクロック信号のレイテンシーを調整することを含む。
【０００６】
本開示のもう一つの側面によれば、方法は、ある第一の時点に回路装置の動作速度を表す第一の動作特性を判別することを含む。前記方法はさらに、前記回路装置の第一のラッチの入力において入力信号を受信し、前記回路装置の第二のラッチの入力において出力信号を受信することを含む。前記方法はさらに、クロック信号を第一の遅延だけ遅延させて第一の調整クロック信号を提供し、前記クロック信号を第二の遅延だけ遅延させて第二の調整クロック信号を提供することを含む。ある実施形態では、前記第一の遅延および前記第二の遅延は前記第一の動作特性に基づいている。前記方法はさらに、前記第一の調整クロック信号に応答して前記第一のラッチにおいて前記入力信号をラッチし、前記第二の調整クロック信号に応答して前記第二のラッチにおいて前記出力信号をラッチすることを含む。
【０００７】
本開示のある別の側面によれば、回路装置は、第一の信号を受信する入力および出力をもつ第一の論理と、第二の信号を受信する入力および出力をもつ第二の論理とを含む。前記回路はさらに、前記第一の論理の前記出力に動作可能的に結合された入力、第一のクロック信号を受信するクロック入力および前記第一のクロック信号に応答して第一のラッチされた信号を提供する出力をもつ第一のラッチと、前記第二の論理の前記出力に動作可能的に結合された入力、第二のクロック信号を受信するクロック入力および前記第二のクロック信号に応答して第二のラッチされた信号を提供する出力をもつ第二のラッチとを含む。前記回路はまた、第一のプログラム可能な遅延セルをも含んでおり、該第一のプログラム可能な遅延セルは前記第三のクロック信号を受信する入力、異なる遅延をもつ複数の遅延経路、前記複数の遅延経路のうちの選択された遅延経路を示す信号を受信する選択入力、前記選択された遅延経路を介して前記入力に選択的に結合された出力を含む。前記第一のプログラム可能遅延セルの出力が前記第一のクロック信号を与える。前記回路はさらに、第二のプログラム可能な遅延セルをも含んでおり、該第二のプログラム可能な遅延セルは前記第三のクロック信号を受信する入力、異なる遅延をもつ複数の遅延経路、前記複数の遅延経路のうちの選択された遅延経路を示す信号を受信する選択入力、前記選択された遅延経路を介して前記入力に選択的に結合された出力を含む。前記第二のプログラム可能遅延セルの出力が前記第二のクロック信号を与える。前記回路装置はさらに、前記第一のプログラム可能遅延セルの前記選択入力に結合された第一の出力および前記プログラム可能遅延セルの前記選択入力に結合された第二の出力をもつ動作速度モニタを含む。前記動作速度モニタは、前記第一の論理および前記第二の論理の動作速度の動作特性表現に基づいて、前記第一の出力を介して第一の値を、前記第二の出力を介して第二の値を与える。
【０００８】
図１〜図５は、動作速度の変化を補償するよう集積回路装置の論理コンポーネント間の信号タイミング関係を動的に調整する例示的な技法を示している。少なくとも一つの実施形態では、たとえば製造工程、温度および電圧（すなわち、工程‐電圧‐温度またはPVT）の変化に基づいて前記入力および出力論理の動作速度の変化を判別するために、動作速度モニタが利用される。指定された動作速度（またはその変化）に基づいて、第一の論理（たとえば入力論理）を制御するために使われるタイミングおよび第二の論理（たとえば出力論理）を制御するために使われるタイミングが、互いに対して、かつある固定した入力または出力の参照クロックに対して調整される。この調整を実行することにより、指定された典型的または平均的な動作速度からの動作速度の逸脱が補償され、あるいは直前のモニタリング期間から測定された動作速度のような以前に測定された動作速度からの動作速度の逸脱が補償される。少なくとも一つの実施形態では、前記入力論理および前記出力論理のためのタイミングの調整は、入力ラッチ（取り込みラッチ［capture  latch］とも称される）および出力ラッチ（発射ラッチ［launch  latch］とも称される）を制御するために使われるクロック信号の実効的なクロック・レイテンシーを調整することによって行われる。
【０００９】
議論の簡単のため、本稿で開示される集積回路装置における動的タイミング調整技法は、中央処理装置（CPU:  central  processing  unit）をランダム・アクセス・メモリ（RAM:  random  access  memory）のような外部メモリに結合するのに使われる外部バス・インターフェース（EBI:  external  bus  interface）のコンテキストで記述されるが、当業者は、本稿で与えられる指針を使って、本開示の範囲から外れることなく他の集積回路装置において開示される技法を実装することができる。例示すると、代替的な実施形態が、条件論理回路への入力のゲーティングを制御するために使われてもよい。もう一つの例としては、本稿で記述される技法は代替的に、たとえばクロックレートを下げることによって回路のタイミングを調整するために使われてもよい。さらに、本開示の技法は、（たとえばある種のタイミング指定が満たされることを許容しつつクロックレートを下げることによって）集積回路の電力消費を減らすために使われてもよい。開示される技法が実装できる例示的な集積回路装置は、システムオンチップ（SOC:  a  system  on  a  chip）、特定用途向け集積回路（ASIC:  application  specific  integrated  circuit）などを含む。
【００１０】
図１を参照すると、本開示の少なくとも一つの実施形態に基づく、動的な信号タイミング調整を実装する例示的な処理システム１００が示されている。図示した例では、処理システム１００は、外部バス・インターフェース（EBI）１０６を介してバス１０４に結合されているCPU１０２をもつマイクロコントローラを含む。また、バス１０６には、EBI１０６を介してCPU１０２にとってアクセス可能な、周辺機器１０８、周辺機器１１０およびメモリ１１２を含む複数のコンポーネントが結合されている。動作では、CPU１０２は周辺機器１０８および１１０ならびにメモリ１１２にEBI１０６を介してバス要求を提出する。逆に、周辺機器１０８および１１０ならびにメモリ１１２からのデータおよび他の信号伝達がEBI１０６を介してCPU１０２に通信される。したがって、CPU１０２とEBI１０６との間の信号伝達は、データ信号伝達１２２、アドレス信号伝達１２４および制御信号伝達１２６を含むことができる。クロック信号伝達は典型的には位相ロックループ（PLL:  phase  locked  loop）を介して生成され、CPU１０２およびEBI１０６の両方に分配される。EBI１０６とバス１０４との間の信号伝達は、データ信号伝達１３２、アドレス信号伝達１３４、制御信号伝達１３６およびクロック信号伝達１３７を含むことができる。
【００１１】
図のように、EBI１０６は、入力信号を処理する入力論理１４２および出力のためのデータを処理する出力論理１４６を含む。タイミングを制御するために、クロック信号伝達１４７が入力論理１４２に分配され、クロック信号伝達１４８が出力論理１４６に分配される。クロック信号伝達１４７および１４８は、少なくとも一つの実施形態では、クロック信号伝達１３０の異なる遅延された表現を含む。例示すると、クロック信号伝達１４７および１４８は、クロック信号伝達１３０の位相ロックループ（PLL）同期された表現を表現できる。さらに、クロック信号伝達１４７および１４８は、クロック信号伝達１３０の周波数逓倍または周波数分割されたバージョンを表していてもよい。
【００１２】
論理コンポーネントの物理的な特性のため、入力論理１４２および出力論理１４６の動作速度は典型的にはEBI１０６の温度変化およびEBI１０６における電圧変化に応じて変化する。さらに、製造工程変化のためにEBI１０６が、同じ動作電圧および温度について、製造業者の期待したまたは典型的な動作速度から逸脱することがありうる。同様に、動作温度または電圧の変化によっても、EBI１０６は、典型的な動作速度から逸脱することがある。したがって、少なくとも一つの実施形態では、入力論理１４２に与えられるクロック信号伝達１４７および出力論理１４６に与えられるクロック信号伝達１４８はそれぞれ、所定の動作速度からの動作速度の逸脱を補償するよう、動的に調整される。ある実施形態では、クロック信号伝達は、入力論理１４２および出力論理１４６に与えられるクロック信号伝達１４７および１４８の異なる表現にレイテンシーを導入してそれらの実効的な周波数を変えることによって調整される。クロック信号伝達のこれらの調整は、入力論理１４２および出力論理１４６のセットアップ時間およびホールド時間の変化につながり、入力論理１４２のレイテンシーが出力論理１４６のレイテンシーを補い、逆に出力論理１４６のレイテンシーが入力論理１４２のレイテンシーを補うようになる。
【００１３】
図２を参照すると、図１のEBI１０６が、本開示の少なくとも一つの実施形態に基づいてより詳細に示されている。図解の簡単のため、EBI１０６は単一データ入力および単一データ出力のコンテキストで図示されているが、同様にして複数のデータまたは制御入力および出力が実装されてもよいことは理解されるであろう。図示した例では、EBI１０６は入力論理１４２、EBI回路２０１、出力論理１４６、データ信号入力２０２（たとえば、ダイ・パッドまたはパッケージ・ピン）、データ信号出力２０４、クロック信号入力２０６、クロック信号出力２０７、位相ロックループ（PLL）２０８、プログラム可能遅延セル２１０および２１２ならびに動作速度モニタ２１４を含む。入力論理１４２は入力信号処理／整形論理２１６および取り込みラッチ２１８を含む。出力論理１４６は発射ラッチ２２０および出力信号処理／整形論理２２２を含む。
【００１４】
入力論理１４２の入力信号処理／整形論理２１６は、データ信号入力２０２に接続された入力と、処理された入力信号２２４を提供するための出力とを含む。処理された入力信号２２４は、データ信号入力２０２を介して受信されたデータ信号２０３の整形されたまたは他の仕方で処理された表現を含む。取り込みラッチ２１８は、処理された入力信号２２４を受信するデータ入力、クロック信号２２５を受信するラッチ制御入力およびクロック信号２２５に応答してラッチされた入力信号２２６を提供するためのラッチ出力を含む。EBI回路２０１は、ラッチされた入力信号２２６を受信する入力と、データ信号２２７を提供するための出力とを含む。出力論理１４６の発射ラッチ２２０は、データ信号２２７を受信するためのデータ入力と、クロック信号２２８を受信するためのラッチ制御入力と、クロック信号２２８に応答してラッチされた出力信号２２９を提供するための出力とを含む。出力信号処理／整形論理２２２は、ラッチされた出力信号２２９を受信する入力と、処理された出力データ信号２３０を提供するための、前記データ信号出力２０４に結合された出力とを含む。
【００１５】
PLL２０８は、クロック信号入力２０６に結合された入力と、クロック信号入力２０６を介してPLL２０８の入力において受信されるクロック信号２５１に同期されたクロック信号２５２を提供するための出力とを含む。プログラム可能なセル２１０は遅延経路２３１、２３２、２３３および２３４（遅延経路２３１〜２３４）を含む。各遅延経路はクロック信号２５２を受信する入力と、クロック信号２５２の遅延された表現を提供するための出力とをもつ。遅延経路２３１〜２３４のそれぞれは、異なる量のレイテンシーをクロック信号２５２に導入する。プログラム可能なセル２１０はさらにマルチプレクサ２３６を含み、該マルチプレクサ２３６は、それぞれ遅延経路２３１〜２３４のうち対応するものの出力に結合された複数の入力と、mux〔マルチプレクサ〕制御信号２３８を受信するmux選択入力と、クロック信号２２５を提供するための出力とをもつ。ここで、クロック信号２２５は、遅延経路２３１〜２３４によって提供される遅延されたクロック信号のうちから、mux制御信号２３８に基づいて選択される。同様に、プログラム可能なセル２１２は遅延経路２４１、２４２、２４３および２４４（遅延経路２４１〜２４４）を含む。各遅延経路はクロック信号２５２を受信する入力と、クロック信号２５２の遅延された表現を提供するための出力とをもつ。遅延経路２３１〜２３４の場合と同様、遅延経路２４１〜２４４のそれぞれは、異なる量のレイテンシーをクロック信号２５２に導入する。少なくとも一つの実施形態では、遅延経路２４１〜２４４のそれぞれの遅延は、遅延経路２３１〜２３４の対応するものの遅延と実質的に等しい。プログラム可能なセル２１２はさらに、マルチプレクサ２４６を含み、該マルチプレクサ２４６は、それぞれ遅延経路２４１〜２４４のうち対応するものの出力に結合された複数の入力と、mux制御信号２４８を受信するmux選択入力と、クロック信号２２８を提供するための出力とをもつ。ここで、クロック信号２２８は、遅延経路２４１〜２４４によって提供される遅延されたクロック信号のうちから、mux制御信号２４８に基づいて選択される。
【００１６】
図示した例では、遅延経路２３１〜２３４および遅延経路２４１〜２４４は、異なる数の一連の反転回路として実装されている。しかしながら、当業者は、本開示の範囲から外れることなくクロック信号２５２に可変的な遅延を導入するために他の技法を利用することもできる。さらに、議論の簡単のため、プログラム可能なセル２１０および２１２はそれぞれ四つの遅延経路をもつものとして図解しているが、四つより少ないまたは四つより多い（たとえば64本の）遅延経路が適宜利用されてよいことは理解されるであろう。
【００１７】
動作速度モニタ２１４は、mux制御信号２３８を提供するための第一の出力およびmux制御信号２４８を提供するための第二の出力を含む。少なくとも一つの実施形態では、入力論理１４２および出力論理１４６の動作速度を決定するよう、動作速度モニタ２１４は、EBI１０６の少なくとも一つの動作特性をモニタリングする。決定された動作速度に基づいて、動作速度モニタ２１４は、mux制御信号２３８の値を調整して、クロック信号２２５として出力するためにマルチプレクサ２３６によってどの遅延されたクロック信号が選択されるかを制御し、それにより取り込みラッチ２１８のタイミングを調整することができる。同様に、動作速度モニタ２１４は、決定された動作速度に基づいてmux制御信号２４８の値を調整して、クロック信号２２８として出力するためにマルチプレクサ２４６によってどの遅延されたクロック信号が選択されるかを制御することにより、発射ラッチ２２０のタイミングを動的に調整することができる。
【００１８】
図３を参照してより詳細に述べるように、動作速度モニタ２１４は、EBI１０６のクロック生成コンポーネントによって生成されるクロック信号の周波数を、EBI１０６において別の装置から受信される外部クロック信号（たとえばクロック信号２５１または２５２）と比較することによって、入力論理１４２および出力論理１４６の相対動作速度を決定できる。クロック生成コンポーネントは典型的には、EBI１０６の他のコンポーネントと同じまたは同様の製造工程のもとで形成されるので、またそれはEBI１０６の残りのコンポーネントと実質的に同じ温度および電圧で動作するので、クロック生成コンポーネントによって生成されるクロック信号の周波数は典型的には、入力論理１４２および出力論理１４６と同じ仕方で、EBI１０６のPVT点によって影響される。こうして、クロック生成コンポーネントによって生成されるクロック信号の外部クロック信号に対する周波数の変化は、入力論理１４２および出力論理１４６の相対動作速度の指標として使用されてもよい。したがって、動作速度モニタ２１４は、内部的に生成されたクロック信号の周波数と外部クロック信号の周波数との比を、クロック信号２２５およびクロック信号２２８に導入されるレイテンシーの調整を実施して（enact）動作速度の変化を補償するようにするために、利用できる。チップ横断装置変動（across  chip  device  variation）によって導入される変動性を軽減または解消するため、動作速度モニタ２１４は、EBI１０６の他のコンポーネントの物理的なごく近傍に配置することができる。
【００１９】
少なくとも一つの実施形態において、動作速度モニタ２１４による取り込みラッチ２１８のタイミングの調整および発射ラッチ２２０のタイミングの調整は相補的であって、判別された動作速度の所定の動作速度（たとえば、典型的または通常の動作速度）からの逸脱を補償するようになっている。例示すると、実際の動作速度が典型的な動作速度より低いとき、動作速度モニタ２１４は、クロック信号２２５のレイテンシーを増して入力論理１４２についてのセットアップ時間を改善するよう、プログラム可能遅延セル２１０を制御できる。動作速度モニタ２１４はさらに、クロック信号２２８のレイテンシーを減らして出力論理１４６についての外部セットアップ時間を改善するよう、プログラム可能遅延セル２１２を制御できる。逆に、実際の動作速度が典型的な動作速度より高いとき、動作速度モニタ２１４は、クロック信号２２５のレイテンシーを減らして入力論理１４２についてのホールド時間を改善するよう、プログラム可能遅延セル２１０を制御できる。動作速度モニタ２１４はさらに、クロック信号２２８のレイテンシーを増して出力論理１４６についてのホールド時間を改善するよう、プログラム可能遅延セル２１２を制御できる。実際の動作速度が所定の動作速度と実質的に等しい場合には、動作速度モニタ２１４は、クロック信号２２５およびクロック信号２２８のレイテンシーを維持できる。
【００２０】
図３を参照すると、本開示の少なくとも一つの実施形態に基づく、動作速度モニタ２１４の例示的な実装が示されている。図示した例では、動作速度モニタ２１４はリング発振器３０２、カウンタ３０４、インデクサ・モジュール３０６およびルックアップ・テーブル３０８を含む。
【００２１】
リング発振器３０２はPVTクロック信号３１０を発生させ、提供する。リング発振器３０２はEBI１０６（図２）のところまたはそのごく直近に実装されるので、PVTクロック信号３１０の周波数はEBI１０６が動作するPVT点に依存する。カウンタ３０４はPLL２０８（図２）によって出力されるクロック信号２５２を受信する第一の入力と、PVTクロック信号３１０を受信する第二の入力と、リセット信号３１２を受信する第三の入力とを含む。リセット信号３１２のアサートに応答して、カウンタ３０４は、クロック信号２５２の所定のサイクル数（たとえば100クロック・サイクル）の間に生起するPVTクロック信号３１０のクロック・サイクル数をリセットして数え始める。こうして、カウンタ３０４によって生成されるクロック・サイクル計数（クロック比信号３１４）は、PVTクロック信号３１０とクロック信号２５２との周波数の比を表す。
【００２２】
上記したように、PVTクロック信号３１０の周波数はEBI１０６のPVT点によって影響される。一方、EBI１０６の外部の装置から与えられるクロック信号２５１（図２）の表現であるクロック信号２５２の周波数は、EBI１０６のPVT点とは実質的に独立である。したがって、クロック・サイクル計数によって表されるクロック比の変化は、EBI１０６のPVT点の変化に起因する、EBI１０６のPVTの相対的な変化を表すことができる。例示するため、クロック信号２５２が100メガヘルツ（100MHz）の周波数をもち、一方、EBI１０６が典型的なPVT点で動作しているときPVTクロック信号３１０は1ギガヘルツ（1GHz）の周波数をもつとする。こうして、EBI１０６が典型的なPVT点にあるときにカウンタ３０４によって出力されるクロック比信号３１４は、約10:1のクロック比を表す。EBI１０６のPVT点が温度上昇に起因して変化するとする。この温度上昇はリング発振器３０２の動作速度の低下につながり、それはPVTクロック信号３１０の周波数の、たとえば900MHzへの低下につながる。この場合、クロック比は約9:1に変わり、それによりEBI１０６の動作速度が典型的なPVT点より下まで遅くなったことを示す。逆に、EBI１０６の温度低下はリング発振器３０２の動作速度の増大につながり、それは動作速度クロック信号３１０の周波数の、たとえば1.1GHzへの上昇につながる。この場合、クロック比は約11:1に変わり、それによりEBI１０６の動作速度が典型的なPVT点より上まで増大したことを示す。
【００２３】
図示した例では、ルックアップ・テーブル３０８は、クロック比信号３１４によって表されるクロック比に基づいてインデクサ・モジュール３０６によってインデックスされる（インデックス値３１８）複数の項目３１６を含む。各項目３１６は、プログラム可能遅延セル２１０（図２）によって信号２２５（図２）に導入されるべき遅延を表す入力遅延値３２０と、プログラム可能遅延セル２１２（図２）によって信号２２８（図２）に導入されるべき遅延を表す出力遅延値３２２とを含む。少なくとも一つの実施形態において、入力遅延値３２０は、インデクサ・モジュール３０６によって出力されるmux選択値をmux制御信号２３８として含むことができる。それにより、マルチプレクサ２３６（図２）に、指示された入力レイテンシーをクロック信号２２５に導入するような遅延経路２３１〜２３４のうちの一つを選択するよう指令するのである。同様に、出力遅延値３２２は、インデクサ・モジュール３０６によって出力されるmux選択値をmux制御信号２４８として含む。それにより、マルチプレクサ２４６（図２）に、指示された出力レイテンシーをクロック信号２２８に導入するような遅延経路２４１〜２４４のうちの一つを選択するよう指令するのである。クロック比信号３１４に応答してmux制御信号２３８およびmux制御信号２４８のためのmux選択値を供給したのち、インデクサ・モジュール３０６は、次のモニタリング期間のためにカウンタ３０４をリセットするために、リセット信号３１２をアサートする。
【００２４】
図４を参照すると、回路装置の論理間のタイミング関係を動的に調整するための例示的な方法４００が、本開示の少なくとも一つの実施形態に従って示されている。方法４００は、ブロック４０２において、回路装置の動作速度を表す動作特性を判別することを含む。図３を参照して述べたように、前記動作特性は、回路装置においてリング発振器などによって生成されたクロック信号の周波数と、外部供給されるクロック信号の周波数との比較または比を含むことができる。
【００２５】
ブロック４０４では、方法４００は動作特性に基づいて回路装置の第一の論理のタイミングを制御する第一のクロック信号のレイテンシーを調整することを含む。第一の論理はたとえば、回路装置の入力論理を含むことができる。ブロック４０６では、方法４００は動作特性に基づいて回路装置の第二の論理のタイミングを制御する第二のクロック信号のレイテンシーを調整することを含む。第二の論理はたとえば、回路装置の出力論理を含むことができる。
【００２６】
少なくとも一つの実施形態では、動作速度が指定された値を下回ることが動作特性によって示されるとき、ブロック４０４における第一のクロック信号のレイテンシーの調整は、第一のクロック信号のレイテンシーを増加させることを含むことができ、ブロック４０６における第二のクロック信号のレイテンシーの調整は、第二のクロック信号のレイテンシーを減少させることを含むことができる。逆に、動作速度が指定された値を上回ることが動作特性によって示されるとき、ブロック４０４における第一のクロック信号のレイテンシーの調整は、第一のクロック信号のレイテンシーを減少させることを含むことができ、ブロック４０６における第二のクロック信号のレイテンシーの調整は、第二のクロック信号のレイテンシーを増加させることを含むことができる。前記の指定された値はたとえば、当該回路装置の所定の典型的または規格化された動作速度または以前に決定された動作速度を含むことができる。図２を参照して述べたように、第一のクロック信号および第二のクロック信号のレイテンシーは、プログラム可能遅延セルを使って調整できる。入力および出力クロック・レイテンシーへの調整は典型的には、EBI１０６がアイドルである、つまり進行中のデータ転送がないときに生起することを注意しておく。
【００２７】
図５を参照すると、回路装置におけるラッチングを制御するために使われる、クロック信号伝達を動的に調整するための例示的な方法５００が、本開示の少なくとも一つの実施形態に基づいて示されている。方法５００は、ブロック５０２において、ある第一の時点に回路装置の動作速度を表す第一の動作特性を判別することを含む。ある実施形態では、前記動作特性は、当該回路装置において生成されたクロック信号の周波数の変化に基づく。ブロック５０４では、方法５００は回路装置の第一のラッチの入力において入力信号を受信することを含む。方法５００は、ブロック５０６において回路装置の第二のラッチの入力において出力信号を受信することをさらに含む。
【００２８】
ブロック５０８において、方法５００は、第一の遅延によってクロック信号を遅延させて第一の調整クロック信号を与えることを含む。ブロック５１０では、方法５００は、第二の遅延によってクロック信号を遅延させて第二の調整クロック信号を与えることを含む。第一の遅延および第二の遅延は前記第一の動作特性に基づく。ある実施形態では、前記第一の動作特性によって動作速度が指定された動作速度より大きいことが示されるときに第一の遅延が第二の遅延より大きく、動作速度が指定された動作速度より小さいときに第二の遅延が第一の遅延より大きい。さらに、前記第一の動作特性によって、動作速度が前記の指定された動作速度に実質的に等しいことが示されるときは、第一の遅延は第二の遅延に実質的に等しい。前記の指定された動作速度は、前記第一の時点に先立つある第二の時点における当該回路装置の第二の動作速度を含むことができる。代替的に、前記の指定された動作速度は典型的または通常の動作速度を含むことができる。方法５００はさらに、ブロック５１２において、第一の調整クロック信号に応答して第一のラッチにおいて入力信号をラッチすることと、ブロック５１４において、第二の調整クロック信号に応答して第二のラッチにおいて出力信号をラッチすることとを含む。
【００２９】
方法５００はさらに、ブロック５１６において、前記第一の時点よりあとの第二の時点において当該回路装置の動作速度を表す第二の動作測定を判別することを含む。ブロック５１８において、方法５００は第三の遅延によってクロック信号を遅延させて第三の調整クロック信号を与えることを含む。ブロック５２０において、方法５００は第四の遅延によってクロック信号を遅延させて第四の調整クロック信号を与えることを含む。第三の遅延および第四の遅延は前記第二の動作特性に基づく。方法５００はさらに、ブロック５２２において、第三の調整クロック信号に応答して第一のラッチにおいて入力信号をラッチすることと、第四の調整クロック信号に応答して第二のラッチにおいて出力信号をラッチすることとを含む。
【００３０】
本開示の例示的な技法は本稿ではEBIにおける回路の速度を調整するために使われるとして記載されているが、代替的な実施形態は、いかなる集積回路におけるいかなる仕方で使われる回路の速度を調整するために使われてもよい。本開示の他の実施形態、使用および利点は本稿で開示される開示の明細および慣用の考慮から当業者には明白であろう。明細書および図面は単に例示的であると考えるべきであり、したがって本開示の範囲は、付属の請求項およびその等価物によってのみ限定されることが意図されている。
【図面の簡単な説明】
【００３１】
【図１】本開示の少なくとも一つの実施形態に基づく、動的な入力および出力タイミング調整を実装する集積回路装置を示すブロック図である。
【図２】図１の集積回路装置をより詳細に示すブロック図である。
【図３】本開示の少なくとも一つの実施形態に基づく、動的なタイミング調整で使うための動作速度モニタを示すブロック図である。
【図４】本開示の少なくとも一つの実施形態に基づく、集積回路装置における動的なタイミング調整のための例示的な方法を示す流れ図である。
【図５】本開示の少なくとも一つの実施形態に基づく、集積回路装置における動的なタイミング調整のためのもう一つの例示的な方法を示す流れ図である。
【図１】
2009529296.tif 000003
【図２】
2009529296.tif 000004
【図３】
2009529296.tif 000005
【図４】
2009529296.tif 000006
2009529296.tif 000007
2009529296.tif 000008