(57)【要約】【課題】  データの移動をクロック制御して、データが意図する箇所に意図する時間に到着することを確実にする。【解決手段】  本発明にかかる集積回路は、クロック発振器１０７と、ＡＳＩＣモジュール１０２それぞれに調整された遅延を供給する同期位相選択回路１０９／３０９と、前記調整された遅延の供給のために、位相オフセットを異なる位相調整ステップサイズに分割する手段と、目標位相に移行する目標位相タップおよびクロック選択タップを指定する手段と、前記調整された遅延を前記ＡＳＩＣモジュールそれぞれに供給するときに、前記クロック選択タップを使用して、遅延されたクロックパルスを前記クロック選択レジスタに供給する手段とを備える。【選択図】図１
2005063436.tif 000002
【特許請求の範囲】
【請求項１】
クロック発振器（１０７）と、
該クロック発振器（１０７）に接続された複数の同期位相選択回路（１０９−１、１０９−２、１０９−３／３０９）であって、それぞれ各ＡＳＩＣモジュール（１０２−１、１０２−２、１０２−３）に接続され、該ＡＳＩＣモジュール（１０２−１、１０２−２、１０２−３）それぞれに調整された遅延を供給するように動作可能な同期位相選択回路（１０９−１、１０９−２、１０９−３／３０９）と、
前記調整された遅延を前記ＡＳＩＣモジュールそれぞれに供給するときに、位相オフセットを異なる位相調整ステップサイズに分割する手段と、
目標位相に移行する目標位相タップおよびクロック選択タップを指定する手段であって、前記目標位相タップはクロック選択レジスタに供給され、前記調整された遅延を前記ＡＳＩＣモジュールそれぞれに供給するときに、前記クロック選択タップを使用して、遅延されたクロックパルスを前記クロック選択レジスタに供給する手段と
を備える集積回路（ＩＣ）。
【請求項２】
前記複数のＡＳＩＣモジュールそれぞれから標準遅延を正規化して除去する手段（１１７）
をさらに備える請求項１記載のＩＣ。
【請求項３】
前記複数のＡＳＩＣモジュールそれぞれから標準遅延を正規化して除去する手段は、
複数の位相測定回路（ＰＭＣ）（１１５−１、１１５−２、１１５−３）であって、それぞれ前記複数のＡＳＩＣモジュールの１つに接続され、現在のＡＳＩＣモジュールクロック信号を受け取るとともに、位相遅延測定値の計算のために前記クロック発振器（１０７）からクロック信号を受け取る複数の位相測定回路（ＰＭＣ）（１１５−１、１１５−２、１１５−３）と、
該複数のＰＭＣそれぞれから信号を受け取るように動作可能であり、複数の論理回路を備える該正規化遅延計算ブロック（１１７）と
を備え、
前記複数の論理回路は、
特定のＡＳＩＣモジュールに関連するクロック選択レジスタに保持されている現在のクロック位相遅延値を表すフィードバック入力信号から、前記位相遅延測定値を減算し、それによって各ＡＳＩＣモジュールの補正値を生成することと、
前記位相遅延測定値の中から最低標準遅延を求めることと、
前記補正値それぞれから前記最低標準遅延を減算し、それによって各ＡＳＩＣモジュールが目標位相に移行する新しい正規化補正値を出力することと
を行うように動作可能である
請求項２記載のＩＣ。
【請求項４】
前記位相オフセットを異なる位相調整ステップサイズに分割する手段は、
前記複数のＡＳＩＣモジュールの１つにそれぞれ接続された複数の同期位相調整ステートマシン回路（１１９−１、１１９−２、１１９−３）を備え、該複数の同期位相調整ステートマシン回路はそれぞれ、前記正規化遅延計算ブロックおよび前記同期位相選択回路の１つに接続され、
該複数の同期位相調整ステートマシン回路はそれぞれ、前記特定のＡＳＩＣモジュールの前記新しい正規化補正値および前記フィードバック入力信号を受け取るように動作可能であり、
該同期位相調整ステートマシン回路はそれぞれ、前記フィードバック入力信号（３６２）から前記新しい正規化補正値（３４０）を減算する論理回路（３４１）
を備える
請求項３記載のＩＣ。
【請求項５】
前記同期位相調整ステートマシン回路はそれぞれ、
前記論理回路（３４１）に接続された位相調整範囲チェック回路（３４２）
を備える
請求項４記載のＩＣ。
【請求項６】
前記目標位相タップおよびクロック選択タップを指定する手段は、
前記位相調整範囲チェック回路（３４２）に接続されたテーブル駆動ステートマシン（３４６／３４７）
を備える
請求項５記載のＩＣ。
【請求項７】
前記同期位相調整ステートマシン回路はそれぞれ、
前記位相調整範囲チェック回路（３４２）に接続されたファームウェアプログラム可能な位相調整ステップサイズレジスタ（３４３）
を備える
請求項６記載のＩＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路においてデータの転送を同期させるために使用されるクロック信号の調整に関する。
【背景技術】
【０００２】
クロック信号は、電子回路においてデータの転送を同期させるために使用される。
データの移動はクロック制御され、データが意図する箇所に意図する時間に到着することを確実にする。
正確なクロック制御なしでは、アプリケーションおよび計算を意図するように実行することはできない。
【特許文献１】米国特許５４３８３５３号
【特許文献２】米国特許５６３８４１０号
【特許文献３】米国特許５７６０８１６号
【特許文献４】米国特許５８７７６４１号
【特許文献５】米国特許５９４９２６０号
【特許文献６】米国特許６０１４０４８号
【特許文献７】米国特許６５５００４５号
【特許文献８】米国特許公開２００２／００８０８２５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特定用途向け集積回路（ＡＳＩＣ）は、クロック信号を使用する回路の一例である。
ＡＳＩＣのサイズおよび密度は増大している。
実に、ＡＳＩＣはあまりに大型化、たとえば、２００万ゲート以上になりつつあり、ＡＳＩＣのすべての部分に等しい時間調整でクロック信号を生成することがますます難しくなっている。
ＡＳＩＣダイにわたる時間におけるプロセス、電圧、および温度（ＰＶＴ）の変動は、クロックが個々の論理回路に到着する際の様々な遅延に繋がり、それゆえにＡＳＩＣダイにわたる電圧、温度、およびプロセスの変動が異なる場合に信号の誤伝送および時間調整の失敗に繋がる可能性がある。
【０００４】
ＡＳＩＣダイ上のＡＳＩＣモジュールは、１つまたは複数のクロックを使用してＡＳＩＣモジュール間および個々のＡＳＩＣモジュール内での信号の生成および取り込みを制御する。
同じクロックを使用する複数のモジュールは、クロックが同じクロック遅延であらゆるフリップフロップに到着するものと想定する。
ＡＳＩＣによって生成された信号が正しい遅延を有していない場合、その信号はそれぞれの宛先モジュールに時間通りに到着せず、モジュールも他のモジュールからの入力を正しく検知しない。
ＡＳＩＣによっては、クロック信号を別のＡＳＩＣモジュールに正確に供給する仕事が、クロックバッファツリーに分割される。
それにも関わらず、ＡＳＩＣダイにわたる様々なモジュールへの様々なパスにより、なお、クロック信号の最終的な宛先までの遅延がばらつく可能性がある。
この問題は、時間の経過に伴うＡＳＩＣにわたる温度およびプロセスの変動によって悪化する可能性がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明にかかる集積回路は、クロック発振器（１０７）と、該クロック発振器（１０７）に接続された複数の同期位相選択回路（１０９−１、１０９−２、１０９−３／３０９）であって、それぞれ各ＡＳＩＣモジュール（１０２−１、１０２−２、１０２−３）に接続され、該ＡＳＩＣモジュール（１０２−１、１０２−２、１０２−３）それぞれに調整された遅延を供給するように動作可能な同期位相選択回路（１０９−１、１０９−２、１０９−３／３０９）と、前記調整された遅延を前記ＡＳＩＣモジュールそれぞれに供給するときに、位相オフセットを異なる位相調整ステップサイズに分割する手段と、目標位相に移行する目標位相タップおよびクロック選択タップを指定する手段であって、前記目標位相タップはクロック選択レジスタに供給され、前記調整された遅延を前記ＡＳＩＣモジュールそれぞれに供給するときに、前記クロック選択タップを使用して、遅延されたクロックパルスを前記クロック選択レジスタに供給する、目標位相タップおよびクロック選択タップを指定する手段とを備える。
【発明を実施するための最良の形態】
【０００６】
上に述べたように、クロック回路は、電子アプリケーションおよび計算を実行するために、データを意図する箇所に意図する時間に移動させるために使用される。
例示を目的として、以下の説明では、特定用途向け集積回路（ＡＳＩＣ）クロック回路を参照して考察する。
しかし、当業者が本開示を読んだ上で理解するように、本発明の実施形態はＡＳＩＣダイ上のＡＳＩＣクロック回路に関連しての使用に限定されない。
【０００７】
ＡＳＩＣおよび他の集積回路（ＩＣ）では、ＡＳＩＣのすべての箇所に等しい時間調整でクロック信号を生成することはますます難しくなっている。
たとえば、ＡＳＩＣが大型化するにつれ、各種論理回路内の何万または何百万ものフリップフロップの駆動にＡＳＩＣクロックが使用される場合がある。
これら回路への時間調整は同期をとるべきである。
【０００８】
ＡＳＩＣによっては、単一のシステムクロックがシステムクロックモジュールにおいて生成され、それからこのクロックがＡＳＩＣ内のすべてのモジュールに送られる。
クロック信号が回路全体を通して複数のモジュールに送られるとき、クロックが駆動しようとしている各ＡＳＩＣモジュールまたは各ブロックに可変のクロック遅延が存在する場合がある。
クロック信号は、各ＡＳＩＣモジュール内で受け取られるとバッファリングされ、それからすべてのＡＳＩＣモジュールの論理回路のクロック入力を駆動する。
ルーティング遅延およびクロックのロードにより、システムクロック信号は様々なモジュールに様々な時間に到着することになる可能性がある。
【０００９】
実施形態は、ＡＳＩＣダイの各ＡＳＩＣモジュールに関連する同期位相調整ステートマシン回路、同期位相選択回路、および位相測定回路を備える。
正規化遅延計算ブロックが、すべてのＡＳＩＣモジュールの標準遅延を正規化して除去する。
同期位相調整ステートマシン回路は、目標位相タップおよびクロック選択タップを出力する。
同期位相選択回路は目標位相をレジスタに供給し、レジスタは、目標位相をクロックマルチプレクサに供給して、所与のＡＳＩＣモジュールへのクロック遅延を調整する。
同期位相選択回路はクロック選択タップで動作可能であり、レジスタが目標位相をクロックマルチプレクサに導入すべきときを確実に信号で通知する。
【００１０】
図１は、ＡＳＩＣダイに関連付けることができる集積回路（ＩＣ）１００の一実施形態のブロック図を示す。
図１の実施形態に示すように、ＩＣ１００は、ＡＳＩＣダイに関連付けることができるＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３等、複数のモジュールを備える。
任意の数のモジュールを包含することが可能である。
本発明の実施形態はそのように限定されるものではない。
図１の実施形態では、システムクロックまたは基準クロック１０３がクロック回路１０５に接続される。
クロック回路１０５はＡＳＩＣクロック回路として使用することができ、本明細書では例示を目的としてＡＳＩＣクロック回路として参照することにする。
しかし、上に述べたように、本発明の実施形態はＡＳＩＣダイ上のＡＳＩＣクロック回路に関連しての使用に限定されない。
【００１１】
図１の実施形態に示すように、ＡＳＩＣクロック回路１０５は、ＡＳＩＣダイの個々のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれに接続される。
システム（基準）クロック１０３は、クロック信号をＡＳＩＣクロック回路１０５上のシステムクロック発振器１０７に供給する。
システムクロック発振器１０７は増分的に遅延させたクロックを生成し、モジュール１０９−１、１０９−２、および１０９−３として示す複数の同期位相選択回路に供給する。
限定ではなく例として、システムクロック発振器１０７は、３２個の可能なクロック信号を生成することができる。
図１の実施形態に示すように、同期位相選択回路１０９−１、１０９−２、および１０９−３は、ＡＳＩＣダイの各ＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３に関連し、これに接続されている。
同期位相選択回路１０９−１、１０９−２、および１０９−３はそれぞれ、クロックマルチプレクサ１１０−１、１１０−２、および１１０−３を備える。
同期位相選択回路１０９−１、１０９−２、および１０９−３については、図４に関連してさらに詳細に後述する。
【００１２】
各同期位相選択回路１０９−１、１０９−２、および１０９−３は、ＡＳＩＣダイのすべての部分に同期する時間調整を供給するために、ミッシングクロックなしで、またはラントパルス（runt pulse）を導入することなく、ＡＳＩＣ使用中に、調整されたクロック信号を関連するＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３に供給することができる。
【００１３】
図１の実施形態に示すように、システムクロック発振器１０７からのクロック信号は、基準クロック信号として複数の位相測定回路１１５−１、１１５−２、および１１５−３にも供給される。
述べたように、各位相測定回路１１５−１、１１５−２、および１１５−３は、ＡＳＩＣダイの各ＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３に関連し、これに接続されている。
【００１４】
各同期位相選択回路１０９−１、１０９−２、および１０９−３から各ＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれに送られたクロック信号は、モジュール回路１１２−１、１１２−２、および１１２−３として示すその特定のＡＳＩＣモジュールの論理回路を駆動する。
【００１５】
これらクロック信号は、各モジュール１０２−１、１０２−２、および１０２−３それぞれの、１１１−１、１１１−２、および１１１−３として示す低インピーダンスリターンクロックバッファにも供給される。
リターンクロックバッファ１１１−１、１１１−２、および１１１−３は、低インピーダンスパス１１３−１、１１３−２、および１１３−３を介して、各ＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３において受け取ったクロック信号を、特定のＡＳＩＣモジュールに関連する位相測定回路１１５−１、１１５−２、および１１５−３に再び送る。
低インピーダンスパスは、ワイドメタリゼーションバスタイプパス等、低インピーダンスワイヤまたはメタリゼーションパスを含むことができる。
【００１６】
各リターンクロックバッファ１１１−１、１１１−２、および１１１−３からのクロック信号は、各位相測定回路１１５−１、１１５−２、および１１５−３に入力される。
このクロック信号は、特定のＡＳＩＣモジュールにおいて実際に受け取ったクロックに対応する。
次に、位相測定回路１１５−１、１１５−２、および１１５−３がＡＳＩＣモジュールから受け取ったクロック信号を、システムクロック発振器から供給された基準クロック信号と突き合わせて測定して、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれの位相遅延測定値を生成する。
【００１７】
図１の実施形態に示すように、次に、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれの位相遅延測定値は、各位相測定回路１１５−１、１１５−２、および１１５−３から正規化遅延計算ブロック１１７に供給される。
正規化遅延計算ブロック１１７の実施形態は、図２に関連してさらに詳細に考察するように、各位相測定回路、たとえば１１５−１、１１５−２、および１１５−３によって生成された位相遅延測定値を受け取るように動作することが可能であり、また、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれに新しい正規化補正値を入念に計算するように動作することが可能である。
【００１８】
正規化遅延計算ブロック１１７は、同期遅延制御ステートマシン１１８に接続されて示されている。
同期遅延制御ステートマシン１１８は、クロック回路１０５によって行われる補正または位相調整の頻度を統制する。
特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれの新しい正規化補正値が計算されると、同期遅延制御ステートマシン１１８は、位相調整の位相オフセットまたはシフト、たとえば位相の移動を開始する。
すなわち、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれの新しい正規化補正値は同期遅延制御ステートマシン１１８に供給され、それから１１９−１、１１９−２、および１１９−３として示す同期位相調整ステートマシン回路に供給される。
同期位相調整ステートマシン回路１１９−１、１１９−２、および１１９−３は、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３それぞれに関連する。
同期位相調整ステートマシン回路１１９−１、１１９−２、および１１９−３の実施形態については、図３に関連してさらに詳細に後述する。
【００１９】
図１の実施形態に示すように、各同期位相調整ステートマシン回路１１９−１、１１９−２、および１１９−３はそれぞれ、特定のＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３の同期位相選択回路１０９−１、１０９−２、および１０９−３に接続される。
同期位相調整ステートマシン回路１１９−１、１１９−２、および１１９−３ならびに同期位相選択回路１０９−１、１０９−２、および１０９−３は協働して、中間位相調整ステップサイズを通して各ＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３への位相を入念に調整する。
正規化遅延計算ブロック１１７、同期位相調整ステートマシン回路１１９−１、１１９−２、および１１９−３、ならびに同期位相選択回路１０９−１、１０９−２、および１０９−３の動作の実施形態については、図２〜図５に関連してさらに説明する。
【００２０】
図２は、図１に示す正規化遅延計算ブロック１１７として機能することができる正規化遅延計算ブロック２１７の一実施形態のブロック図を示す。
図２の実施形態に示すように、正規化遅延計算ブロック２１７は、各位相測定回路２１５−１、２１５−２、および２１５−３から生成された、特定のＡＳＩＣモジュールそれぞれの位相遅延測定値を受け取る。
すなわち、位相測定回路２１５−１、２１５−２、および２１５−３は、図１におけるＡＳＩＣモジュール１０２−１、１０２−２、および１０２−３に関連する位相測定回路１１５−１、１１５−２、および１１５−３として示されている。
【００２１】
位相遅延測定値は、基準クロック信号、たとえば、図１に関連して上に述べたシステムクロック発振器１０７からのクロック信号に対する、ＡＳＩＣモジュール、たとえば、１０２−１、１０２−２、および１０２−３における現在のクロックの位相を表す。
２進数で表される位相遅延測定値は、２３１−１、２３１−２、および２３１−３として示す各論理回路に渡される。
本明細書において使用する論理回路は、ソフトウェア、ファームウェア、またはこれらのある組み合わせによってプログラム可能なゲートで構成することができる。
これら論理回路２３１−１、２３１−２、および２３１−３はそれぞれ、図１に１１８として示す同期遅延制御ステートマシン２１８からも入力を受け取り、また、クロック選択レジスタ２５７によって選択される現在の被選択位相を表すフィードバック入力信号も受け取る。
クロック選択レジスタ２５７の実施形態については、図４に関連してさらに詳細に説明する。
図１に１１８として示す同期遅延制御ステートマシン２１８からの入力は、クロック回路によって行われる補正または位相調整の頻度を統制する。
【００２２】
各論理回路２３１−１、２３１−２、および２３１−３は、所与のＡＳＩＣモジュールの各位相測定回路（ＰＭＣ）２１５−１、２１５−２、および２１５−３の値から、フィードバック入力信号、たとえば、クロック選択レジスタ２５７の信号を減算する。
述べたように、同期遅延制御ステートマシン２１８はこのアクションの頻度を統制する。
説明のために、限定ではなく例として、同期遅延制御ステートマシン２１８は、単一ビット信号を各論理回路２３１−１、２３１−２、および２３１−３に供給して、減算をトリガする頻度を統制または制御することができる。
【００２３】
これら論理回路２３１−１、２３１−２、および２３１−３それぞれからの出力は、所与のＡＳＩＣモジュールに供給されている現在のクロックを、目標位相値に到達するようにオフセットまたはシフトするために使用される補正値である。
図２の実施形態に示すように、各ＡＳＩＣモジュールそれぞれの補正値は、入力信号として論理回路２３３に供給される。
論理回路２３３は、これら入力信号の中から最低位相遅延値を求め、それからこの最低位相遅延値を出力する。
【００２４】
図２の実施形態に示すように、論理回路２３１−１、２３１−２、および２３１−３からの出力は、２３５−１、２３５−２、および２３５−３として示す別の論理回路セットにも入力信号として供給される。
各ＡＳＩＣモジュールの最低位相遅延値を表す出力も、論理回路２３５−１、２３５−２、および２３５−３に入力として供給される。
【００２５】
個々の論理回路２３１−１、２３１−２、および２３１−３はそれぞれ対になって、ＡＳＩＣモジュール毎に論理回路２３５−１、２３５−２、および２３５−３の中の１つに入力信号を供給する。
論理回路２３５−１、２３５−２、および２３５−３は、一方の入力において受け取った、論理回路２３３によって計算された最低遅延値を、各論理回路２３１−１、２３１−２、および２３１−３の１つからの他方の入力において受け取った補正値から減算する。
これにより、新しい正規化補正値が生成される。
すべてのＡＳＩＣモジュールが十分すぎる遅延を有する場合、正規化遅延計算ブロック２１７により標準遅延部分が正規化されて除去される。
【００２６】
図２の実施形態は、３個のＡＳＩＣモジュールに対して行われるクロック遅延フィードバックを示している。
したがって、図２の実施形態では、３個のＡＳＩＣモジュールそれぞれの新しい正規化補正値が、論理回路２３５−１、２３５−２、および２３５−３からライン２３７−１、２３７−２、および２３７−３のそれぞれに出力される。
【００２７】
図２の実施形態に示すように、正規化遅延計算ブロック２１７には、位相調整に限度をセットする構成可能限度レジスタ２３８も設けることができる。
限度レジスタ２３８の目的は、補正値に、クロック回路の利用可能遅延範囲を越える範囲が関連付けられる可能性があることである。
すなわち、正規化遅延計算ブロック２１７は、許容可能なパフォーマンスの遅延調整がクロック回路の調整範囲外であることを発見することができる。
【００２８】
この問題に対処するため、論理回路２３５−１、２３５−２、および２３５−３からの出力信号を比較ブロック２３９に入力することができる。
レジスタ２３８からの位相調整限度も比較ブロック２３９に供給される。
比較ブロック２３９は、遅延調整が遅延範囲外であるか否かをチェックして判断する。
これがあてはまる場合、障害レジスタ（図示せず）をアサートして、システムプロセッサの致命的な割り込み(fatal interrupt）をトリガすることができる。
しかし、補償のため、同期遅延制御ステートマシン、たとえば図１における１１８は、補正の頻度を調整するようにファームウェアプログラム可能であることができる。
【００２９】
要約すると、本明細書に述べる正規化遅延計算ブロック２１７は、目標位相に到達するために適用する位相差をさらに抽出する前に、標準位相遅延部分を除去する。
この正規化を正規化遅延計算ブロック２１７において行うことにより、位相オフセットまたはシフトが低減され、ＡＳＩＣモジュール間のクロックサイクルが失われる傾向が低くなる。
【００３０】
各ＡＳＩＣモジュール毎に、図３〜図５に関連して述べる後続アクションは、各ＡＳＩＣモジュールそれぞれに関連する新しい正規化補正値を使用して調整（正または負）することである。
【００３１】
図３は、同期位相調整ステートマシン回路３１９のブロック図実施形態を示す。
図３の実施形態に示すように、図２における論理回路２３５−１、２３５−２、および２３５−３からの新しい正規化補正値はそれぞれ、同期位相調整ステートマシン回路３１９に入力される。
図３の実施形態では、新しい正規化補正値は、同期位相調整ステートマシン回路３１９へのライン３４０に入力される。
図１に関連して説明したように、個々のＡＳＩＣモジュールはそれぞれ、関連する同期位相調整ステートマシン回路３１９を有する。
【００３２】
図３の実施形態に示すように、現在のクロック位相遅延値、すなわちクロック選択レジスタ（図４に４５７として示し、図４に関連してさらに考察する）によって選択された現在の被選択位相を表すフィードバック入力信号が、同期位相調整ステートマシン回路３１９へのライン３６２に入力される。
【００３３】
これら入力ライン３４０および３６２はそれぞれ、２進入力として論理回路モジュール３４１に供給される。
論理回路モジュール３４１は、各ＡＳＩＣモジュールの現在のクロック位相遅延値から新しい正規化補正値を減算する。
この計算の結果は、目標位相値を表す２進数として位相調整範囲チェック論理回路３４２に供給される。
位相調整範囲チェック論理回路３４２は、位相調整ステップサイズレジスタ３４３からも入力を受け取る。
【００３４】
位相調整ステップサイズレジスタ３４３は、範囲制限レジスタ３４４およびステップサイズレジスタ３４５を備えることができる。
範囲制限レジスタ３４４およびステップサイズレジスタ３４５はファームウェアによりセットすることができる。
一実施形態では、範囲制限レジスタ３４４は少なくとも４つの２進範囲を含み、ステップサイズレジスタ３４５は少なくとも４つの２進ステップサイズを含む。
たとえば、４つの２進範囲を７を越える２進値、３を越えるが７以下の２進値、１を越えるが３以下の２進値、および１未満の２進値をカバーする４つの範囲に分割することができる。
少なくとも４つの２進ステップサイズは、２進ステップサイズ４、２進ステップサイズ２、２進ステップサイズ１、および２進ステップサイズ０を含むことができる。
【００３５】
位相調整範囲チェック論理回路３４２は、位相オフセットまたはシフトの継続のために、範囲制限レジスタ３４４からの２進範囲およびステップサイズレジスタ３４５からの２進ステップサイズを使用して、様々な中間位相ステップサイズ、たとえば、小、中、または大の位相ステップを選択することができる。
本明細書において使用する連続位相オフセットまたは位相シフトは、本明細書では、ある位相遅延から別の位相遅延までに各ＡＳＩＣモジュールに供給されるクロック信号を同期して掃引する「位相の移動」も指す。
【００３６】
上に与えられた範囲およびステップサイズの例を使用すると、位相調整範囲チェック論理回路３４２は、目標位相値を表す２進数を受け取り、その２進数を範囲制限レジスタ３４４からの２進範囲と比較する。
目標位相値を表す２進数が７を越える場合、２進ステップサイズ４を選択することができる。
目標位相値を表す２進数が３を越えるが７以下である場合、２進ステップサイズ２を選択することができる。
目標位相値を表す２進数が１を越えるが３以下である場合、２進ステップサイズ１を選択することができる。
そして、目標位相値を表す２進数が１未満である場合、２進ステップサイズ０を選択することができる。
当業者は、この構成例に対して多くの変形を実施することが可能であることを理解するであろう。
本発明の実施形態はこの例に限定されない。
【００３７】
位相調整範囲チェック論理回路３４２が使用する位相ステップサイズを決定すると、選択された位相ステップサイズが、ブロック３４６に示す、すべての位相調整範囲およびすべての位相ステップサイズについてのテーブルに出力される。
位相ステップサイズ信号は、マルチモジュールバス上でテーブル３４６に出力することができる。
テーブルは、各２進ステップサイズに関連する目標位相タップおよびクロック選択タップのリストを提供する。
当業者が理解するように、位相タップ数は、異なる被選択位相ステップサイズ数に相関することができる。
テーブル３４６は位相調整ステートマシン３４７に接続され、２進出力を位相調整ステートマシン３４７に生成する。
位相調整ステートマシン３４７はこの２進入力ならびに新しい正規化補正値からの入力、ライン３４０、および現在のクロック位相遅延値、すなわち、現在の被選択位相（図４における４５７）からの入力、ライン３６２に対して動作し、どの目標位相タップ値およびクロック選択タップ値を出力するかを選択する。
目標位相タップ値およびクロック選択タップ値は、ライン３４８および３４９それぞれに出力される。
これら信号は、関連するＡＳＩＣモジュールそれぞれのマルチモジュールバスに出力することができる。
【００３８】
当業者は上記例を再考することから理解するように、目標位相タップ値およびクロック選択タップ値は、中間位相ステップ値、たとえば、位相オフセットまたはシフト値目標と同等とみなすことができる、目標位相値よりもいくらか少ない値を表してもよい。
これは、ＡＳＩＣモジュール間にグリッチおよびミッシングクロックが導入されないように、目標クロック位相への移行が確実に行われることを保証するためである。
【００３９】
したがって、テーブル駆動ステートマシンを使用して、目標位相を指定するとともに、目標位相タップへの移行に使用されるクロック選択タップを指定する。
テーブル駆動ステートマシンは、位相調整ステップサイズレジスタ３４３によってセットされるステップに位相の移動を分割することができる。
すなわち、同期位相調整ステートマシン回路３１９は、位相の移行が考えられる現在および目標のクロック位相毎に確実に実行されるように、一連の中間クロック位相（対応する選択クロックパルスとともに）を出力する。
目標位相に到達する前の中間ステップのサイズにより、クロック回路が目標位相に到達することのできる早さが決まり、中間ステップのサイズは、被選択クロックタップが現在のクロックタップに不適切に重複する可能性がないように使用することができる最大位相ギャップの関数である。
同期位相調整ステートマシン回路３１９は、ファームウェアプログラム可能である。
したがって、位相のオフセットまたはシフトは、設計後の調整およびファームウェア駆動温度および電圧の補償に対応することができる。
次に、図４に、位相調整ステップステートマシン３４７がどのように所与の関連するＡＳＩＣモジュールの被調整クロック生成を駆動するかについて説明する。
【００４０】
図４は、同期位相選択回路４０９のブロック図実施形態を示す。
同期位相選択回路４０９は、図１に示す同期位相選択回路、たとえば１０９−１、１０９−２、および１０９−３として機能することができる。
図１に関連して説明したように、個々のＡＳＩＣモジュールはそれぞれ、関連する同期位相選択回路４０９を有する。
【００４１】
図４の実施形態に示すように、目標位相タップ値およびクロック選択タップ値（図３におけるライン３４８および３４９への出力）は、入力ライン４４８および４４９それぞれに供給される。
目標位相タップ値およびクロック選択タップ値は、テーブル駆動ステートマシン（図３における３４６および３４７）に関連して実行された計算によって求められる、または指定されるように変化する。
さらに、各同期位相選択回路４０９は、システムクロック発振器（図１における１０７）から生成された遅延クロック信号を入力ライン４５１において受け取る。
図４に示す実施形態では、入力ライン４５１は、互いに対してタイムシフトされた３２個のクロック信号のセットを表す。
【００４２】
図４の実施形態に示すように、クロック選択タップ信号は入力ライン４４９上で遅延クロックパルス発振器４５２に供給される。
クロック選択タップ値は、どのクロック値を所与のＡＳＩＣモジュールに供給するかを選択するクロック選択レジスタ４５７を確実にクロック制御することができる信号を生成するために、遅延クロックパルス発振器４５２に供給される。
このクロック選択レジスタを事前にセットされた、すなわち固定位相で、たとえば、位相０でクロック制御するのは十分ではない。
これは、クロック選択を固定位相で実行すると、時によりラントパルスグリッチが生じることがあるためである。
【００４３】
図４に示すように、システムクロック発振器から生成される遅延クロック信号は、入力ライン４５１からこの遅延クロックパルス発振器４５２にも同様に供給される。
この実施形態では、遅延クロックパルス発振器４５２は、遅延範囲内の３２個の異なる遅延の中の１つを有することができる単一パルスを生成する。
パルスに選択される遅延は入力４４９によって決まる。
したがって、限定ではなく例として、遅延クロックパルス発振器４５２は、増分的に異なる遅延を有する３２個の可能なパルスを供給することが可能である。
しかし、本発明の実施形態は特定のいずれの数の増分的に異なる遅延にも限定されない。
【００４４】
遅延クロックパルス発振器４５２は、トリガソース４５０によりトリガすることができる。
テーブル駆動ステートマシンによって指定されるクロック選択タップ値をすべての位相調整範囲に適用することで（図３における３４６）、遅延クロックパルス発振器４５２は遅延クロックパルスを出力する。
遅延クロックパルス発振器４５２によって生成された出力信号（遅延クロックパルス）は、クロック選択結合論理回路４５３に送られる。
クロック選択結合論理回路４５３は動作して、クロックパルス発振器４５２により出力されたパルスを、３２個のラインの中のいずれの１つでパルスが発生するかに関わりなく、ラントパルスの発生を阻止するように、クロック選択結合論理回路４５３を通して実質的に同じ伝搬遅延で３２個のラインの中の１つに供給する。
【００４５】
一実施形態では、クロック選択結合論理回路４５３には排他的論理和（ＸＯＲ）ゲートが構成される。
このように、どの入力が使用されるかに関係なく、遅延の等しい二分木が可能である。
クロック選択結合論理回路４５３は、クロック選択レジスタ４５７への均等に離間された間隔の１つのパルスとして、この入念に選択されたクロック遅延を出力する。
【００４６】
図４の実施形態に示すように、クロック選択レジスタ４５７はクロックマルチプレクサ４５４に接続され、クロックマルチプレクサ４５４に入力を供給する。
クロックマルチプレクサ４５４は、他方の、ライン４５１上の入力として、システムクロック発振器から増分的に遅延するクロックも受け取る。
図４の実施形態では、入力ライン４５１は増分的に遅延する３２個のクロックのセットを表す。
【００４７】
目標位相タップ値が、ライン４４８上の入力としてクロック選択レジスタ４５７に供給される。
この例では、クロック選択レジスタ４５７は、３２個の増分的に遅延するクロックの中の１つを選択するために、目標位相タップ値０〜３１を保持する５ビットレジスタであることができる。
クロック選択レジスタ４５７は、この値をクロック選択信号としてクロックマルチプレクサ４５４に供給し、次に、クロックマルチプレクサ４５４がどの遅延クロックを使用するかを選択する。
したがって、クロック選択レジスタ４５７は、位相オフセットまたはシフトを表す２進入力をクロックマルチプレクサ４５４に供給し、マルチプレクサ４５４はこの値を使用して、どのクロック値を所与のＡＳＩＣモジュールに供給するかを選択する。
本明細書に述べたように、クロック選択レジスタ４５７は、クロック選択結合論理回路４５３からのパルス出力によってクロック制御される。
【００４８】
クロック選択レジスタ４５７は、新たに選択された位相で更新されるまで、目標クロック位相に移行する現在の位相値を表す目標位相タップ値を保持することができる。
クロック選択レジスタ４５７は、現在の被選択位相を表すレジスタ中の値をライン４６２上に出力することができる。
現在の被選択位相は、上に述べたように使用されるため、フィードバック信号として正規化遅延計算ブロック（図２における２１７）および同期位相調整ステートマシン回路（図３における３１９）の両方に供給される。
当業者が理解するように、このプロセスは現在の位相が目標の位相に整合するまで続けられる。
すなわち、たとえばＡＳＩＣダイ上の所与のＡＳＩＣモジュールに関連する、各同期位相調整ステートマシン回路（図３における３１９）中の各位相調整範囲チェック論理回路（図３における３４２）はそれぞれ、目標位相値を表す２進数を引き続き受け取り、２進数を範囲制限レジスタ（図３における３４４）からの２進範囲と引き続き比較する。
【００４９】
図３に関連して説明した例では、目標位相値を表す２進数が７を越える場合、２進ステップサイズ４を選択することができると述べた。
ここで、選択された２進ステップサイズ４は、すべての位相調整範囲およびすべてのステップサイズ（図３における３４６）についてのテーブルに出力される。
ルックアップテーブルは、各２進ステップサイズに関連する目標位相タップおよびクロック選択タップのリストを有し、そしてしかるべき目標位相タップ値およびクロック選択タップ値、中間値を位相調整ステートマシン（図３における３４７）に供給する。
次に、目標位相タップ値およびクロック選択タップ値は、考えられる現在の位相値および目標クロック位相それぞれについて位相の移行が確実に行われるように、上に述べたようにして各同期位相選択回路（図４における４０９）に供給される。
クロック選択レジスタ（図４における４５７）は、現在の位相値を各同期位相調整ステートマシン回路に循環して戻し、プロセスが繰り返される。
【００５０】
ここで、目標位相値を表す２進数が３を越えるが７以下である場合、２進ステップサイズ２が選択され、プロセスが繰り返される。
次のシーケンスにおいて、目標位相値を表す２進数が１を越えるが３以下である場合、２進ステップサイズ１が選択され、プロセスが繰り返される。
最後に、目標位相値を表す２進数が１以下であった場合、２進ステップサイズ０を選択することができる。
【００５１】
図３の考察において述べたように、この構成例に対する多くの変形を実施することが可能である。
本発明の実施形態はこの例に限定されない。
当業者は、目標位相が常に変化しうることをさらに理解するであろう。
しかし、本明細書に述べた実施形態によれば、クロック回路は、前の目標位相へのステッピングを終えていない場合であっても新しい目標位相を正しく追いかけることができる。
また、上に述べたように、同期位相調整ステートマシン回路はファームウェアプログラム可能である。
したがって、位相のオフセットまたはシフトは、設計後の調整およびファームウェア駆動温度および電圧の補償に対応することができる。
【００５２】
図５は、本明細書に述べるクロック回路実施形態に関連する流れ図実施形態を示す。
図１〜図４に関連して説明したように、ブロック５５１において、同期位相調整ステートマシン回路は位相の調整を行うべきか否かをチェックする。
行うべきではない場合、プロセスはブロック５５２に進み、システムクロック発振器からの初期状態の遅延クロックを引き続き使用する。
行うべき場合、プロセスは位相調整ステップサイズの選択に進むことができる。
本明細書に述べたように、異なる位相調整ステップサイズ、たとえば、小、中、または大の位相調整ステップをブロック５５３〜５５５の中に示すように提供することができる。
【００５３】
図５の実施形態に示すように、次に、ブロック５５６に示すように、選択された位相調整ステップサイズ値を使用して、すべての位相調整範囲／すべてのステップサイズについてのテーブルからクロック選択タップおよび目標位相タップを選択する。
ブロック５５７において、図４に関連して上に述べた同期位相選択回路によって生成されるように、ＡＳＩＣモジュールへのクロックを調整する目標選択パルスが生成される。
【００５４】
ブロック５５８において、プロセスは、プロセスを繰り返す前に（たとえば、次のステップ位相調整シーケンスを実行する前に）、同期遅延制御ステートマシン（たとえば、図１における１１８）の頻度によって制御または統制される時間量、待機することができる。
実施形態によっては、ブロック５５８中のプロセスは、目標選択パルスが調整済み遅延クロックを各ＡＳＩＣモジュールに供給し終えるまで待機する。
次に、プロセスは再びブロック５５１に戻り、パルスの調整を行うべきか否かをチェックする。
しかし、上に述べたように、目標位相は常に変化し得る。
したがって、シーケンスは、前の目標位相へのステッピングを終えていない場合であっても、常に新しい目標位相を追いかけることができる。
【００５５】
図６〜図８は、様々な方法実施形態を示すブロック図である。
各種方法実施形態は、時間の経過に伴うＰＶＴの変動に対応しながら、クロック回路における可変クロック遅延の処理を提供する。
各種方法実施形態に、ＡＳＩＣダイを使用している間に、ＡＳＩＣダイ上の個々のＡＳＩＣモジュールへのクロック遅延を同期して調整することについて述べる。
【００５６】
各種方法実施形態は、図１〜図５に関連して述べたクロック回路等、クロック回路において動作可能なコンピュータ実行可能命令セットにより行うことができる。
本発明の実施形態は、特定のプログラミング言語または動作環境に限定されない。
明示的な定めがある場合を除き、本明細書に記載する方法実施形態は特定の順序またはシーケンスに制約されない。
さらに、記載する方法実施形態によっては同時に発生または実行してもよいものもある。
【００５７】
図６の実施形態では、方法は、ブロック６１０において、独立したＡＳＩＣモジュールからフィードバッククロックを受け取ることを含む。
ブロック６２０において、方法は、フィードバッククロックを基準クロックと比較して、位相測定値を生成することを含む。
ブロック６３０において、方法は、位相測定値から標準遅延を除去して、正規化補正値を生成することを含む。
標準遅延の除去は、図２に関連して上に述べたように行うことができる。
【００５８】
ブロック６４０において、方法は、正規化補正値を使用して目標位相値およびクロック選択値を選択することを含む。
図３に関連して考察したように、正規化補正値を使用して目標位相値およびクロック選択値を選択することは、同期位相調整ステートマシンブロック内の論理回路における特定のＡＳＩＣモジュールのクロック選択レジスタによって供給される新しい正規化補正値およびフィードバック信号を受け取ることを含む。
論理回路は、新しい正規化補正値をフィードバック入力信号から減算し、目標位相値を表す２進数を位相調整範囲チェック論理回路に出力することができる。
実施形態は、位相調整レジスタから位相調整ステップ範囲を位相調整範囲チェック論理回路において受け取ることをさらに含む。
図３に関連して述べたように、位相調整レジスタは、ファームウェアプログラム可能な位相調整レジスタであることができる。
実施形態は、目標位相値を、受け取った位相調整ステップ範囲と比較して、位相調整ステップサイズを選択することをさらに含む。
また、実施形態は、選択された位相調整ステップサイズを、各種位相調整ステップサイズに関連する目標位相値およびクロック選択値を列挙したテーブルと比較すること、および２進値を位相調整ステートマシンに出力すること、を含むことができる。
位相調整ステートマシンからの目標位相値およびクロック選択値は、２進値、新しい正規化補正値、およびフィードバック信号に基づいて出力される。
したがって、実施形態は、テーブル駆動ステートマシンを使用して、位相調整レジスタに関連する様々なサイズのステップで位相をオフセットまたはシフト（たとえば、ある位相値から別の位相値への位相の移動）することを含む。
【００５９】
ブロック６５０において、方法は、目標位相値およびクロック選択値に基づいて、独立したＡＳＩＣモジュールへのクロック信号を調整することをさらに含む。
【００６０】
図７の実施形態では、方法は、ブロック７１０において、複数のＡＳＩＣモジュールそれぞれのフィードバッククロック信号を位相測定回路（ＰＭＣ）に供給することを含む。
ブロック７２０において、方法は、各モジュール毎に、基準クロックに対する信号の位相を測定し、位相遅延測定値を供給することを含む。
ブロック７３０において、方法は、位相遅延測定値から標準遅延を正規化して除去し、正規化位相遅延測定値を生成することを含む。
また、ブロック７４０において、方法は、各モジュール毎に、テーブル駆動ステートマシンを使用し、正規化位相遅延測定値に基づいて目標位相タップおよびクロック選択タップの両方を指定することを含む。
【００６１】
図８の実施形態では、方法は、ブロック８１０において、ＡＳＩＣモジュールが受け取ったクロック信号の位相遅延を測定することを含む。
ブロック８２０において、方法は、位相調整レジスタを使用してＡＳＩＣモジュールの位相調整を異なるサイズの位相調整ステップに分離することを含む。
また、ブロック８３０において、方法は、テーブル駆動ステートマシンを使用して、ＡＳＩＣモジュールの目標位相タップおよびクロック選択タップの両方を指定することを含む。
このようにして、本明細書に述べた実施形態は、測定された位相遅延に基づいて、時間の経過に伴うプロセス、電圧、および温度の変動を動的に補償する。
各種実施形態では、時間の経過に伴うプロセス、電圧、および温度の変動に対する補償は、モジュール間通信が位相グリッチまたはミッシングクロックを受けないように、ある位相遅延から別の位相遅延へのクロック信号の位相遅延を同期して掃引することを含む。
【００６２】
図９は、実施形態を実施することができる、電子写真式プリンタまたはインクジェットプリンタ９００等、撮像システムを示す。
電子写真式プリンタまたはインクジェットプリンタ９００は、報告書、書状、デスクトップパブリッシング、写真等をプリントするビジネス環境において使用することができる。
当業者が理解するように、本明細書に述べる実施形態によるＡＳＩＣクロック回路は、電子写真式プリンタまたはインクジェットプリンタ９００のプリンタフォーマッタボード上に含めることができる。
しかし、本発明の実施形態はそのように限定されない。
【００６３】
特定の実施形態について本明細書に図示し説明したが、当業者は、同じ技法を実現するように計算されたいずれの構成でも、示した特定の実施形態と置き換えることができることを理解するであろう。
本開示は、本発明の実施形態の適合または変更をいずれか、またすべて包含することを意図する。
上記説明は制限様式ではなく例示様式で行われたことを理解されたい。
本明細書に特に述べていない上記実施形態の組み合わせ、および他の実施形態は、上記説明を再検討した上で当業者に明白になるであろう。
本発明の各種実施形態の範囲は、上記構造および方法が使用される他のいずれの用途も包含する。
したがって、本発明の各種実施形態の範囲は、添付の特許請求の範囲ならびにかかる特許請求の範囲が権利付与される全範囲の等価物を参照して決定されるべきである。
【００６４】
要約書は、読み手が技術的開示の性質を素早く把握できるようにする要約書を要求する米国特許法施行規則第１．７２条第（ｂ）項に準拠して提供されるものであることを強調しておく。
要約書は、特許請求の範囲の限定に使用されないという理解のもので提出されたものである。
【００６５】
上記詳細な説明では、本開示の簡明化を目的として各種特徴がともに１つの実施形態にまとめられている。
この開示方法は、本発明の実施形態が、各請求項に明示的に記載されている特徴よりも多くを必要とする意図を反映したものとして解釈されるべきではない。
むしろ、添付の特許請求の範囲が反映しているように、本発明の主題は、開示される一実施形態のすべての特徴よりも少ない特徴にある。
したがって、添付の特許請求の範囲はこれによって詳細な説明に援用され、各請求項はそれぞれ別個の実施形態として独立している。
【図面の簡単な説明】
【００６６】
【図１】クロック回路の一実施形態のブロック図を示す。
【図２】図１に示すクロック回路の一部としての正規化遅延計算ブロックの一実施形態のブロック図を示す。
【図３】図１に示すクロック回路の一部としての同期位相調整ステートマシン回路のブロック図実施形態を示す。
【図４】図１に示すクロック回路の一部としての同期位相選択回路のブロック図実施形態を示す。
【図５】流れ図実施形態を示す。
【図６】方法実施形態を示す。
【図７】別の方法実施形態を示す。
【図８】別の方法実施形態を示す。
【図９】実施形態を実施することができる電子写真式プリンタまたはインクジェットプリンタ等の撮像システムを示す。
【符号の説明】
【００６７】
１０３・・・基準クロック、
１０７・・・システムクロック発振器、
１０９−１〜１０９−３・・・同期位相選択、
１１１−１〜１１１−３・・・リターンクロックバッファ、
１１２−１〜１１１−３・・・モジュール回路、
１１５−１〜１１５−３・・・位相測定回路、
１１７・・・正規化遅延計算、
１１８・・・同期遅延制御ステートマシン、
１１９−１〜１１９−３・・・同期位相調整ステートマシン、
４４８・・・目標位相タップ、
４４９・・・クロック選択タップ、
４５０・・・クロックパルストリガ、
４５１・・・遅延クロック、
４５２・・・遅延クロックパルス発振器、
４５３・・・クロック選択結合器、
４５４・・・クロックマルチプレクサ、
４５７・・・クロック選択レジスタ、
【図１】
2005063436.tif 000003
【図２】
2005063436.tif 000004
【図３】
2005063436.tif 000005
【図４】
2005063436.tif 000006
【図５】
2005063436.tif 000007
【図６】
2005063436.tif 000008
【図７】
2005063436.tif 000009
【図８】
2005063436.tif 000010
【図９】
2005063436.tif 000011