(57)【要約】【課題】  システムクロックの周波数の実質的に２倍の周波数を持つクロック信号を生成するクロック・ダブラを提供すること。【解決手段】  システムクロック(102)をもとにして、該システムクロック(102)の実質的に２倍の周波数を持ち、パルス幅およびデューティサイクルをさらに有するクロック信号(246)を生成するクロック倍化回路(250)を含むクロック・ダブラ(108)を提供する。クロック信号が低である時間を示す第１の信号(208)およびクロック信号が高である時間を示す第２の信号(244)を生成するタイミング回路(255)は、第１の信号(208)を第２の信号(244)と比較する比較回路(265)に対し、入力を供給する。パルス幅変更回路(270)は、クロック信号(246)のパルス幅を第１の信号(208)と第２の信号(244)の比較結果に基づいて変更する。【選択図】図２
2005304020.tif 000002
【特許請求の範囲】
【請求項１】
システムクロック(102)をもとにして、該システムクロック(102)の周波数の実質的に２倍の周波数を有し、パルス幅およびデューティサイクルをさらに有するクロック信号(246)を生成するクロック倍化回路(250)と、
前記クロック信号が低である時間を示す第１の信号(208)および前記クロック信号が高である時間を示す第２の信号(244)を生成するタイミング回路(255)と、
前記第１の信号(208)を前記第２の信号(244)と比較する比較器(265)と、
前記クロック信号のパルス幅を前記第１の信号(208)と前記第２の信号(244)の比較結果に基づいて変更するパルス幅変更回路(270)と、
からなるクロック・ダブラ(108)。
【請求項２】
前記クロック倍化回路(250)はクロック分割器(210)を含む、請求項１に記載のクロック・ダブラ。
【請求項３】
前記システムクロック(102)を遅延させるタップ遅延線(204)と、
前記クロック信号が前記タップ遅延線(204)を通過する遅延を監視することにより信号を生成するタイミング回路(255)と、
をさらに含み、前記タイミング回路(255)の出力が、前記タップ遅延線(204)を通過する遅延を示すものである、請求項１に記載のクロック・ダブラ。
【請求項４】
前記第１の信号(208)を遅延させる第１のタップ遅延線(204)と、
前記第２の信号(244)を遅延させる第２のタップ遅延線(230)と、 
をさらに含み、前記比較器(265)は比較器(222)を使用し、該比較器(222)は、
前記第１のタップ遅延線(204)を通過する遅延を示す第１の入力(224)と、
前記第２のタップ遅延線(230)を通過する遅延を示す第２の入力(226)と、
前記第１の信号が前記第２の信号よりも、大きいか、小さいか、それとも等しいかを示す出力(232,234,235)と、
を有する、請求項１に記載のクロック・ダブラ。
【請求項５】
前記クロック信号(246)の遅延を調節して変化させる可変遅延チェーン回路(625)をさらに含む、請求項１に記載のクロック・ダブラ。
【請求項６】
システムクロック(102)を変化させて第２のクロック信号(246)を生成するクロック・ダブラ(108)であって、
前記第２のクロック信号(246)が低である時間を示す第１の出力(208)と、前記第２のクロック信号(246)が高である時間を示す第２の出力(244)とを有するクロック分割器(210)と、
前記第１の出力(208)を受信するように接続され且つ第１のタップ遅延出力(212)を有する第１のタップ遅延線(204)と、
前記第２の出力(244)を受信するように接続され且つ第２のタップ遅延出力(228)を有する第２のタップ遅延線(230)と、
前記第１のタップ遅延線の出力(212)を第１の比較器入力(224)として受信し、前記第２のタップ遅延線の出力(228)を第２の比較器入力(226)として受信し、前記第１の比較器入力(224)が前記第２の比較器入力(226)よりも大きいか、小さいか、それとも等しいかを示す比較器出力(232,234,235)を受信するように接続された比較器(222)と、
からなり、前記第２のクロック信号(246)が低である時間または高である時間を前記比較器出力(232,234,235)によって可変制御するように構成される、クロック・ダブラ。
【請求項７】
前記クロック分割器(210)は、
可変制御される長さを有する遅延チェーン(312)と、
前記遅延チェーン(312)の長さを可変制御するための遅延制御装置(300)と、
前記第２のクロック信号(246)が低である時間および前記第２のクロック信号(246)が高である時間を監視するための論理回路(325)と、
を含む、請求項６に記載のクロック・ダブラ(108)。
【請求項８】
前記クロック分割器(210)は、
可変制御長の遅延チェーン素子(600)を含む遅延チェーン(312)と、
前記遅延チェーン(312)内の特定の遅延チェーン素子(600)を選択するための遅延制御装置(300)と、
を含む、請求項６に記載のクロック・ダブラ(108)。
【請求項９】
前記第１のタップ遅延線(204)および前記第２のタップ遅延線(230)のそれぞれが複数のタップ遅延セル(400)を含み、該複数の遅延セル(400)が、該複数のタップ遅延セルを通る前記第１の出力(208)および前記第２の出力(244)の伝搬を遅延させるように接続される、請求項６に記載のクロック・ダブラ(108)。
【請求項１０】
前記比較器(222)は、
前記第１の出力(208)の値および前記第２の出力(244)の値に対して減算関数を実施する減算器(500)と、
前記減算器(500)に接続され、前記比較器出力(232,234,235)を生成する関数発生器(508)と、
を含む、請求項６に記載のクロック・ダブラ(108)。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクロック・ダブラに関し、詳しくはシステムクロックの実質的に２倍の周波数を持つクロック信号を生成するクロック・ダブラに関する。
【背景技術】
【０００２】
コンピュータを利用するシステムは、プロセッサ、システムの他のコンポーネント、または、システム全体を作動させるシステムクロックとして使用される１以上のクロック・ソースを有することが多い。システムで使用される所与のクロック・ソースよりも高い周波数のクロック信号をシステムの一部に使用することが望ましい場合もある。例えば、所与のクロック・ソースによって生成されるクロック信号を２倍にすることが望ましい場合がある。回路設計者は、内部動作速度を増加させるためにクロック周波数逓倍器すなわちクロック・ダブラを用いることがある。
【０００３】
クロック・ダブラは、集積回路内部で使用されるオフチップ基準クロック信号の周波数を増加させるために、特定用途向け集積回路（ＡＳＩＣ）やマイクロプロセッサなどの集積回路すなわちチップの設計に広く使用されている。
【発明の開示】
【課題を解決するための手段】
【０００４】
本発明によれば、システムクロックをもとにして、該システムクロックの実質的に２倍の周波数を持ち、パルス幅およびデューティサイクルを有するクロック信号を生成するクロック周波数倍化回路を含むクロック・ダブラが得られる。クロック信号が低である時間を示す第１の信号およびクロック信号が高である時間を示す第２の信号を生成するタイミング回路は、第１の信号と第２の信号を比較する比較器に対し、入力を供給する。パルス幅変更回路は、第１の信号と第２の信号の比較結果に応じてクロック信号のパルス幅を変更する。
【０００５】
本発明の実施形態のいくつかは、上記の利点の他に、あるいは、上記の利点の代わりに他の利点を有する。そうした利点は、添付の図面を参照して下記の説明を読むことで当業者には明らかになるであろう。
【発明を実施するための最良の形態】
【０００６】
下記の説明では、本発明を完全に理解してもらうために、具体的な細部を多数記載している。しかしながら、それらの細部が無くても本発明を実施できることは、本明細書の開示を読めば明らかである。発明が不明確にならないように、一部の周知の回路、システム構成、および、プロセス・ステップについては、詳しい説明をしないものとする。
【０００７】
同様に、本発明の実施形態を示す図面は概略的なものであり、一定の比率で拡大縮小されていない。特に、図面によっては表現上の分かりやすさを追求して一部の寸法を大幅に強調しているものもある。また、共通の特徴を有する複数の実施形態を開示説明する場合は通常、図示説明を明瞭かつ容易にする目的で、複数の実施形態間で同じ参照符号を使用している。
【０００８】
ここで図１を参照する。図１は、特定用途向け集積回路（ＡＳＩＣ）やシステム・オン・チップ（ＳＯＣ）のようなシステム１００を示す。システム１００は、複数の増幅器１０４を介してシステム１００の種々のコンポーネントにクロック信号を供給するシステムクロック１０２を含む。システムクロック１０２は、クロック・ダブラ１０８にも入力１０６を供給する。クロック・ダブラ１０８は、システムクロック１０２の周波数の２倍の周波数の出力１１０を有する。システム１００はさらに、クロック・ダブラ１０８のリセットに使用されるシステム・リセット１１２を有する。
【０００９】
次に図２を参照する。図２は、図１のクロック・ダブラ１０８の回路図を示す。クロック・ダブラ１０８は、図１に示すシステムクロック１０２からのクロック（Ｃｌｋ）入力２００を有する。クロック・ダブラ１０８は、クロック・ダブラ１０８のリセットに使用されるｎＲｅｓｅｔ入力２０２をさらに有する。
【００１０】
クロック・ダブラ１０８は、第１のタップ遅延線（ＴＤＬ：Tap Delay Line）２０４を含む。第１のＴＤＬ２０４は、クロック分割器２１０のＰｈａｓｅ０出力２０８に接続されたＩｎ入力２０６と、Ｏｕｔ出力バス２１２として示される複数の出力とを有する。Ｏｕｔ出力バス２１２を構成する出力の数は、特定の設計に必要とされる分解能に応じて異なる数でよい。図２に示す実施形態において、Ｏｕｔ出力バス２１２は、８個の出力に相当する。
【００１１】
Ｏｕｔ出力バス２１２は、レジスタ２１６のＤ入力２１４に接続される。レジスタ２１６は、クロック・ダブラ１０８のＣｌｋ入力２００に接続されたＣｌｋ入力２１３、および、ｎＲｅｓｅｔ入力２０２に接続されたｎＲｅｓｅｔ入力２２０を更に有する。レジスタ２１６は、Ｑ出力２１８をさらに有する。Ｑ出力２１８も同様に、所望の分解能によって決まる数の出力を含む。図２に示す例において、Ｑ出力２１８は、８個の出力に相当する。
【００１２】
比較器２２２は、レジスタ２１６のＱ出力２１８に接続されたＩｎＡ入力２２４を有し、レジスタ２１６からＱ出力２１８を受信する。従って、ＩｎＡ入力２２４は、少なくともＱ出力２１８のライン数と同じ数のラインを有する。比較器２２２は、第２のＴＤＬ（すなわちタップ遅延線）２３０のＯｕｔ出力バス２２８に接続されたＩｎＢ入力２２６をさらに有する。比較器２２２は、ＡがＢよりも大きい（ＡｇｔＢ）出力２３２と、ＡがＢよりも小さい（ＡｌｔＢ）出力２３４とを有する。ＡｇｔＢ出力２３２は、ＩｎＡ入力２２４がＩｎＢ入力２２６よりも大きい場合に生成される。ＡｌｔＢ出力２３４は、ＩｎＡ入力２２４がＩｎＢ入力２２６よりも小さい場合に生成される。
【００１３】
比較器２２２のＡｇｔＢ出力２３２は、クロック分割器２１０のパルス幅デクリメント（ＰＷＤｅｃｒ）入力２３６に接続される。比較器２２２のＡｌｔＢ出力２３４は、クロック分割器２１０のパルス幅インクリメント（ＰＷＩｎｃｒ）入力２３８に接続される。クロック分割器２１０は、クロック・ダブラ１０８のＣｌｋ入力２００および負のＲｅｓｅｔ（ｎＲｅｓｅｔ）入力２０２にそれぞれ接続されたＣｌｋ入力２４０および負のＲｅｓｅｔ（ｎＲｅｓｅｔ）入力２４２を含む。
【００１４】
ＰＷＤｅｃｒ入力２３６は、比較器２２２のＩｎＡ入力２２４が比較器２２２のＩｎＢ入力２２６よりも大きい場合に、クロック分割器２１０のＣｌｋＯｕｔ出力２４６のパルス幅をデクリメントする必要があることを示す信号を受信する。ＰＷＩｎｃｒ入力２３８は、比較器２２２のＩｎＡ入力２２４が比較器２２２のＩｎＢ入力２２６よりも小さい場合に、クロック分割器２１０のＣｌｋＯｕｔ出力２４６のパルス幅をインクリメントする必要があることを示す信号を受信する。
【００１５】
クロック分割器２１０は、Ｐｈａｓｅ１出力２４４およびＣｌｋＯｕｔ出力２４６を有する。Ｐｈａｓｅ１出力２４４は、第２のＴＤＬ２３０のＩｎ入力２４８に接続される。ＣｌｋＯｕｔ出力２４６の周波数は、Ｃｌｋ入力２００の周波数の２倍である。
【００１６】
動作に関し、第１のＴＤＬ２０４のＯｕｔ出力バス２１２の出力は、図２に示すＣｌｋ入力２００が高になる度に、レジスタ２１６に記憶される。従って、Ｃｌｋ入力２００が高になると、比較器２２２は、第１のＴＤＬ２０４のＯｕｔ出力バス２１２を第２のＴＤＬ２３０のＯｕｔ出力バス２２８と比較することが可能になる。第１のＴＤＬ２０４のＯｕｔ出力バス２１２の出力および第２のＴＤＬ２３０のＯｕｔ出力バス２２８の出力は、ＣｌｋＯｕｔ出力２４６が高または低である時間にそれぞれ応じたパルス幅を表わしている。
【００１７】
目的は、ＣｌｋＯｕｔ出力２４６が高である時間（すなわちパルス幅）とＣｌｋＯｕｔ出力２４６が低である時間（すなわちパルス幅）を同じにすることである。比較器２２２は、第１のＴＤＬ２０４のＯｕｔ出力バス２１２を第２のＴＤＬ２３０のＯｕｔ出力バス２２８と比較する。一方の出力が他方の出力よりも大きい場合、比較器２２２は、比較器２２２の適当な出力から信号を出力する。ＩｎＡ入力２２４がＩｎＢ入力２２６よりも大きい場合は、ＡｇｔＢ出力２３２が出力信号を受信する。ＩｎＢ入力２２６がＩｎＡ入力２２４よりも大きい場合は、ＡｌｔＢ出力２３４が出力信号を受信する。
【００１８】
比較器２２２のＡｇｔＢ出力２３２は、クロック分割器２１０のＰＷＤｅｃｒ入力２３６に接続されている。ＡｇｔＢ出力が比較器２２２から信号を受信すると、クロック分割器２１０のＰＷＤｅｃｒ入力２３６はその信号を受信し、クロック分割器２１０はＣｌｋＯｕｔ出力２４６が高である時間を短縮する信号を生成する。ＡｌｔＢ出力２３４が比較器２２２から信号を受信すると、クロック分割器２１０のＰＷＩｎｃｒ入力２３８はその信号を受信し、クロック分割器２１０はＣｌｋＯｕｔ出力２４６が高である時間を延長する信号を生成する。
【００１９】
クロック・ダブラ回路２５０はクロック分割器２１０を含む。クロック・ダブラ回路２５０は、Ｃｌｋ入力２００すなわちシステムクロックの実質的に２倍の周波数のＣｌｋＯｕｔ出力２４６を生成する。
【００２０】
第１のタップ遅延線２０４、レジスタ２１６および第２のタップ遅延線２３０は、クロック分割器２１０のＰｈａｓｅ０出力２０８が高である時間、および、Ｐｈａｓｅ１出力２４４が高である時間を測定するタイミング回路２５５として機能する。Ｐｈａｓｅ１出力２４４が高である時間は、Ｐｈａｓｅ０の出力が低である時間に等しい。
【００２１】
比較器２２２は、第１のタイミング回路２５５の出力２１８を第２のタイミング回路２６０のＯｕｔ出力バス２２８の出力と比較するための比較回路２６５を含む。比較回路２６５については、図５を参照して後で詳しく説明する。
【００２２】
クロック分割器のＰＷＤｅｃｒ入力２３６およびＰＷＩｎｃｒ入力２３８は、パルス幅変更回路２７０を含む。パルス幅変更回路２７０は、クロック分割器２１０のＣｌｋＯｕｔ出力２４６のパルス幅を増減する。
【００２３】
次に図３を参照する。図３は、図２に示すクロック分割器２１０の回路図を示す。クロック分割器２１０は、アップ／ダウン・スケーラのような遅延制御装置３００を含む。遅延制御装置３００は、Ｃｌｋ入力２００に接続されたＣｌｋ入力３０２と、ｎＲｅｓｅｔ入力２４２に接続されたｎＲｅｓｅｔ入力３０４とを有する。ＭｏｒｅＤｅｌａｙ入力３０６は、ＰＷＤｅｃｒ入力２３６に接続され、ＬｅｓｓＤｅｌａｙ入力３０８は、ＰＷＩｎｃｒ入力２３８に接続される。遅延制御装置３００は、特定の設計に必要とされる分解能によって決まる出力数に相当するＴａｐＳｅｌｅｃｔ出力３１０をさらに有する。図３に示す実施形態において、ＴａｐＳｅｌｅｃｔ出力３１０は１６個の出力に相当する。
【００２４】
クロック分割器２１０は遅延チェーン３１２をさらに含む。遅延チェーン３１２は、Ｃｌｋ入力２４０に接続されたＣｌｋ入力３１４と、遅延制御装置３００のＴａｐＳｅｌｅｃｔ出力３１０に接続されたＤｅｌａｙＳｅｌｅｃｔ入力３１６とを有する。遅延チェーン３１２のｄ＿Ｃｌｋ出力３１８は、遅延制御装置３００によって選択された遅延に基づいて調節される。
【００２５】
Ｃｌｋ入力２４０およびｄ＿Ｃｌｋ出力３１８は、第１の排他的論理和（ＸＯＲ）ゲート３２０に入力される。第１のＸＯＲゲート３２０は、その出力として、Ｃｌｋ入力２４０の２倍の周波数のＣｌｋＯｕｔ出力２４６を有する。ＣｌｋＯｕｔ出力２４６は、第２のＸＯＲゲート３２２および第３のＸＯＲゲート３２４に入力される。第２のＸＯＲゲート３２２の他方の入力はアースに接続され、第３のＸＯＲゲート３２４の他方の入力は論理「１」に接続される。
【００２６】
第２のＸＯＲゲート３２２の出力はＰｈａｓｅ０出力２０８である。第３のＸＯＲゲート３２４の出力はＰｈａｓｅ１出力２４４である。
【００２７】
動作に関し、クロック分割器２１０は、Ｃｌｋ入力２４０を受信すると、遅延チェーン３１２の中を伝搬する一連のパルスを生成する。Ｃｌｋ入力２４０は論理「１」としてクロック分割器２１０に入力されるが、このＣｌｋ入力２４０が遅延チェーン３１２を伝搬するのには多少の時間がかかるので、遅延チェーン３１２のｄ＿Ｃｌｋ出力３１８は、最初は論理「０」であり、論理「１」が遅延チェーン３１２を通過するまで論理「０」にとどまる。
【００２８】
第１のＸＯＲゲート３２０の一方の入力は論理「１」になり、従って第１のＸＯＲゲート３２０の出力は論理「１」になる。そして第１のＸＯＲゲート３２０の出力は、Ｃｌｋ入力２４０が遅延チェーン３１２の中を伝搬し、遅延チェーン３１２のｄ＿Ｃｌｋ出力３１８が論理「１」になるまで、その論理「１」のレベルにとどまる。その時点で、第１のＸＯＲゲート３２０の入力は両方とも論理「１」になる。従って、第１のＸＯＲゲート３２０の出力は論理「０」になり、その結果、Ｃｌｋ入力２４０が論理「０」から論理「１」へ遷移するときの立ち上がりエッジに関連するパルスが生成される。同様に、Ｃｌｋ入力２４０の立下りエッジ、すなわち、論理「１」から論理「０」への遷移に関しても、同じロジックが使用される。
【００２９】
第１のＸＯＲゲート３２０の出力は、第２のＸＯＲゲート３２２および第３のＸＯＲゲート３２４に対する入力として機能する。第２のＸＯＲゲート３２２の第２の入力は、論理「０」の信号に接続される。第３のＸＯＲゲート３２４の第２の入力は、論理「１」の信号に接続される。第３のＸＯＲゲート３２４は、第１のＸＯＲゲート３２０の出力を常に反転させるので、図２に示すＰｈａｓｅ１出力２４４は、図２に示すＰｈａｓｅ０出力２０８に対して反対の信号になる。
【００３０】
第２のＸＯＲゲート３２２と第３のＸＯＲゲート３２４が並列に接続されるため、第２のＸＯＲゲート３２２または第３のＸＯＲゲート３２４を通る第１のＸＯＲゲート３２０の出力には、多少の有限の伝搬遅延が生じる。従って、第１のＸＯＲゲート３２０の出力は、反転されるか否かにかかわらず、Ｐｈａｓｅ０出力２０８またはＰｈａｓｅ１出力２４４に対して同じ伝搬遅延を有する。
【００３１】
遅延制御装置３００は、アップ／ダウン・カウンタまたはスケーラの働きをする。遅延制御装置３００のＴａｐＳｅｌｅｃｔ出力３１０は、遅延チェーン３１２の遅延長を制御する。第１のＸＯＲゲート３２０の出力におけるパルスの幅は、Ｃｌｋ入力２４０が遅延チェーン３１２の中を伝搬するのに要する時間によって決まる。従って、遅延チェーン３１２を調節することで、第１のＸＯＲゲート３２０の出力パルスの長さを制御することができる。
【００３２】
第１のＸＯＲゲート３２０、第２のＸＯＲゲート３２２および第３のＸＯＲゲート３２４は、論理回路３２５を構成する。他の構成で論理素子を配置し、論理回路３２５の機能を実現することもできる。
【００３３】
次に図４を参照する。図４は、図２に示す第１のＴＤＬ２０４および第２のＴＤＬ２３０の多数のＴＤＬセル４００からなる回路図を示す。第１のＴＤＬ２０４と第２のＴＤＬ２３０は、同じ構成である。
【００３４】
第１のＴＤＬ２０４は複数のＴＤＬセル４００を含む。各ＴＤＬセル４００は、フェーズ・イン（ＰｈＩｎ）入力４０２と、複数のＴＤＬセル４００のうちの最初のセルのＰｈＩｎ入力４０２に接続された負クリア（ｎＣｌｅａｒ）入力４０４とを有する。複数のＴＤＬセル４００のうちの最初のセルのＰｈＩｎ入力は、図２および図３に示すクロック分割器２１０のＰｈａｓｅ０出力２０８に接続される。
【００３５】
各ＴＤＬセル４００の出力は、フェーズ・アウト（ＰｈＯｕｔ）出力４０６である。複数のＴＤＬセル４００のカスケード構成において、複数のＴＤＬセル４００のそれぞれのＰｈＯｕｔ出力４０６はＯｕｔ出力バス２１２に接続される。複数のＴＤＬセル４００のそれぞれのＰｈＯｕｔ出力４０６は、複数のＴＤＬセル４００のうちのそのＴＤＬセルのタイミングによって遅延させられる、複数のＴＤＬセル４００のうちのそのＴＤＬセルのＰｈＩｎ入力４０２である。
【００３６】
第２のＴＤＬ２３０は、複数のＴＤＬセル４００を用いて第１のＴＤＬ２０４と同じように構成される。ただし、図２に示す第２のＴＤＬ２３０の場合、複数のＴＤＬセル４００のうちの最初のＴＤＬセルのＰｈＩｎ入力４０２は、図２および図３に示すクロック分割器２１０のＰｈａｓｅ１出力２４４に接続される。また、図２に示す第２のＴＤＬ２３０の場合、複数のＴＤＬセル４００のそれぞれのＰｈＯｕｔ出力４０６は、図２に示す第２のＴＤＬ２３０のＯｕｔ出力バス２２８に接続される。
【００３７】
動作に関し、複数のＴＤＬセル４００のそれぞれは多少の公称遅延を有し、複数のＴＤＬセル４００のうちのあるＴＤＬセルのＰｈＯｕｔ出力４０６は、複数のＴＤＬセル４００のうちの次のＴＤＬセルのＰｈＩｎ入力４０２となる。複数のＴＤＬセル４００の最初のセルのＰｈＩｎ入力４０２は、図２および図３に示すクロック分割器２１０のＰｈａｓｅ０出力２０８となる。Ｐｈａｓｅ０出力２０８が複数のＴＤＬセル４００にカスケード接続されるため、Ｐｈａｓｅ０出力２０８と複数のＴＤＬセル４００のカスケード接続により遅延が発生する。
【００３８】
Ｐｈａｓｅ０出力２０８が複数のＴＤＬセル４００にカスケード接続されているので、第１のＴＤＬ２０４のＯｕｔ出力バス２１２は、Ｐｈａｓｅ０出力２０８の論理高信号と論理低信号の間の遷移に応じて変化する。Ｏｕｔ出力バス２１２の最下位ビットから始めて特定数の隣接論理低信号と特定数の隣接論理高信号を生成するこの形式のコードは、サーモメータ・コードと呼ばれることがある。サーモメータ・コードは、２進コードというよりはむしろ、論理高信号と論理低信号の間の遷移を識別するコードである。
【００３９】
第２のＴＤＬ２３０は第１のＴＤＬ２０４と同じであり、第２のＴＤＬ２３０のＰｈＩｎ入力４０２が、図２および図３に示すクロック分割器２１０のＰｈａｓｅ１出力２４４である点を除けば、同じように動作する。
【００４０】
次に図５を参照する。図５は、図２に示す比較器２２２の回路図を示す。比較器２２２は、図２に示すＩｎＡ入力２２４およびＩｎＢ入力２２６を有する。ＩｎＡ入力２２４の符号ビット２２５Ａは、ＩｎＡ入力２２４が符号を有していないこと示す論理低信号に接続される。バス２２５Ｂ上の値は、ＩｎＡ入力２２４の大きさの値を表している。ＩｎＢ入力２２６の第２の符号ビット２２７Ａは、ＩｎＢ入力２２６が符号を有していないことを示す論理低信号に接続される。バス２２７Ｂ上の値は、ＩｎＢ入力２２６の大きさの値を表している。
【００４１】
ＩｎＡ入力２２４およびＩｎＢ入力２２６はそれぞれ、第１のバス２２５および第２のバス２２７をそれぞれ介して、ディジタル減算器のような第１の機能ブロック５００に入力される。第１の機能ブロック５００は、符号出力５０４および差分出力５０６を含む出力バス５０２を有する。符号出力５０４は、ＩｎＡ入力２２４とＩｎＢ入力２２６の２つの入力のうちのどちらが大きいかを表わし、差分出力５０６は、ＩｎＡ入力２２４とＩｎＢ入力２２６の差の大きさを表わしている。従って、出力バス５０２において、符号出力５０４は１本の導体として形成することができ、差分出力５０６は、複数の導体として形成することができる。第１の符号ビット２２５Ａおよび第２の符号ビット２２７Ａはそれぞれ、第１のバス２２５および第２のバス２２７のそれぞれにおいてプレース・ホルダとして使用され、結果の符合を出力バス５０２上に提示できるようにする。
【００４２】
符号出力５０４および差分出力５０６は、第２の機能ブロック５０８に入力される。第２の機能ブロック５０８の出力は、図２に示す比較器２２２のＡｇｔＢ出力２３２、ＡｅｑＢ出力２３５およびＡｌｔＢ出力２３４である。第１の機能ブロック５００によって行なわれた比較結果に応じて、第２の機能ブロック５０８の出力のうちの１つから信号が生成される。
【００４３】
ＩｎＡ入力２２４がＩｎＢ入力２２６よりも大きい場合、第２の機能ブロック５０８はＡｇｔＢ出力２３２を生成する。ＩｎＡ入力２２４がＩｎＢ入力２２６と等しい場合、第２の機能ブロック５０８はＡｅｑＢ出力２３５を生成する。ＩｎＡ入力２２４がＩｎＢ入力２２６よりも小さい場合、第２の機能ブロック５０８はＡｌｔＢ出力２３４を生成する。
【００４４】
動作に関し、第１の機能ブロック５００は、ＩｎＡ入力２２４とＩｎＢ入力２２６の関係を判定するように設計される。第１の機能ブロック５００は、例えばＩｎＡ入力２２４の大きさからＩｎＢ入力２２６の大きさを減算することにより、符号出力５０４上に符号ビットを生成し、差分出力５０６上に大きさの値を生成する。すなわち、一実施形態において、第１の機能ブロックは減算器である。符号出力５０４および差分出力５０６は、第２の機能ブロック５０８に入力される。
【００４５】
第２の機能ブロック５０８は、第１の機能ブロック５００により判定され、符号出力５０４および差分出力５０６に値として表現されたＩｎＡ入力２２４とＩｎＢ入力２２６の関係に応じて、１つの出力を有する。ＩｎＡ入力２２４がＩｎＢ入力２２６よりも大きい場合、第２の機能ブロック５０８は、ＡｇｔＢ出力２３２に出力を生成する。ＩｎＡ入力２２４がＩｎＢ入力２２６よりも小さい場合、第２の機能ブロック５０８は、ＡｌｔＢ出力２３４に出力を生成する。ＩｎＡ入力とＩｎＢ入力が等しい場合、第２の機能ブロック５０８は、ＡｅｑＢ出力２３５に出力を生成する。比較器のＡｇｔＢ出力２３２、ＡｌｔＢ出力２３４およびＡｅｑＢ出力２３５は、図２に示すクロック分割器２１０に入力される。
【００４６】
次に図６を参照する。図６は、図３に示す遅延チェーン３１２の回路図を示す。遅延チェーン３１２は、図３に示すｄ＿Ｃｌｋ出力３１８を生成するようにカスケード構成で接続された複数の遅延素子６００を含む。遅延素子の数は、特定の設計または用途に必要とされる分解能の大きさに応じて変えてもよい。
【００４７】
複数の遅延素子６００はそれぞれ、ＣｌｋＩｎｓｅｒｔ入力６０２を有し、そこにＣｌｋ入力２４０が接続される。複数の遅延素子６００はそれぞれ、ＣａｒｒｙＩｎ入力６０４、Ｓｅｌｅｃｔ入力６０６およびＯｕｔ出力６０８をさらに有する。遅延チェーン３１２の複数の遅延素子６００のうちの最初の遅延素子のＣａｒｒｙＩｎ入力６０４は、論理低のソースに接続される。遅延チェーン３１２の複数の遅延素子６００のうちの最初の遅延素子のＳｅｌｅｃｔ入力６０６には、ＤｅｌａｙＳｅｌｅｃｔ入力３１６が接続される。遅延チェーン３１２の複数の遅延素子６００のうちの最初の遅延素子のＯｕｔ出力は、遅延チェーン３１２の複数の遅延素子６００のうちの次に続く遅延素子のＣａｒｒｙＩｎ入力６０４に接続される。
【００４８】
図３に示すＤｅｌａｙＳｅｌｅｃｔ入力３１６は、遅延チェーン３１２の各遅延素子６００のＳｅｌｅｃｔ入力６０６に入力される。各遅延素子６００のＯｕｔ出力６０８は、遅延チェーン３１２の複数の遅延素子６００のうちのすぐ次の遅延素子のＣａｒｒｙＩｎ入力６０４に接続される。カスケード接続された複数の遅延素子６００のうちの最後の遅延素子の出力は、図３に示すｄ＿Ｃｌｋ出力３１８である。
【００４９】
複数の遅延素子６００のそれぞれのＯｕｔ出力６０８には、特定の遅延素子の出力を読み出すためのタップ・バス６１０が接続される。
【００５０】
ＤｅｌａｙＳｅｌｅｃｔバス６１２によって選択された特定の遅延素子に基づいて遅延を調節するために、複数の遅延素子６００のそれぞれのＳｅｌｅｃｔ入力６０６は、ＤｅｌａｙＳｅｌｅｃｔバス６１２に接続される。従って、図３に示す遅延チェーン３１２のタイミングおよび出力は、遅延チェーン３１２の複数の遅延素子６００のうちの特定の遅延素子を選択するか、または、遅延チェーン３１２の複数の遅延素子６００のうちの特定の遅延素子のＯｕｔ出力６０８を読み出すことによって、変更することができる。
【００５１】
動作に関し、Ｃｌｋ入力２４０は、複数の遅延素子６００によって遅延チェーン３１２の中を伝搬する。遅延素子６００の数は、特定の設計に必要とされる制御量に応じて変更してもよい。遅延チェーン３１２全体の遅延の長さは、ＤｅｌａｙＳｅｌｅｃｔバス６１２を用いて特定の遅延素子を選択し、遅延チェーン３１２内の複数の遅延素子６００のうちのその特定の遅延素子にＣｌｋ入力２４０を選択的に送ることによって制御される。ＤｅｌａｙＳｅｌｅｃｔバス６１２を用いて遅延チェーン３１２内の複数の遅延素子６００のうちの最後の遅延素子を選択し、その最後の遅延素子のＣｌｋＩｎｓｅｒｔ入力６０２にＣｌｋ入力２４０を送ることにより、遅延は最大になる。遅延チェーン３１２内の複数の遅延素子６００のうちの他の遅延素子のＣｌｋＩｎｓｅｒｔ入力６０２にＣｌｋ入力２４０を送った場合、その遅延は、最大遅延よりも短くなる。従って、遅延チェーン３１２全体の遅延量は、ＤｅｌａｙＳｅｌｅｃｔバス６１２に供給されるワン・ホット・エンコーディングされた値によって制御することができる。
【００５２】
複数の遅延素子６００のそれぞれにおいて、Ｏｕｔ出力６０８は、ＣｌｋＩｎｓｅｒｔ入力６０２、ＣａｒｒｙＩｎ入力６０４およびＳｅｌｅｃｔ入力６０６の遅延組み合わせである。ＣｌｋＩｎｓｅｒｔ入力６０２とＳｅｌｅｃｔ入力６０６を論理積（ＡＮＤ）演算を実施することによって結合し、次いでその結果とＣａｒｒｙＩｎ入力６０４との間で論理和（ＯＲ）演算を実施することにより、複数の遅延素子６００のそれぞれの内部に遅延を作り出すことができる。
【００５３】
ＤｅｌａｙＳｅｌｅｃｔバス６１２は、複数の遅延素子６００のうちの選択された遅延素子に信号を送り、遅延チェーン６１２内の複数の遅延素子６００のうちの特定の遅延素子のＣｌｋＩｎｓｅｒｔ入力６０２にＣｌｋ入力２４０を送る。
【００５４】
従って、種々の設計要件を満たすために、可変遅延チェーン回路６２５は種々の方法で実施することができる。図１に示すクロック・ダブラ１０８において様々な制御レベルが得られるようにするために、遅延素子６０の数は変更してもよい。
【００５５】
次に図７を参照する。図７は、本発明によるクロック・ダブラのデューティサイクルを調節するための方法７００を示すフロー図である。方法７００は、システムクロック信号をもとにして、該システムクロック信号の実質的に２倍の周波数を持ち、パルス幅およびデューティサイクルをさらに有するクロック信号を生成するステップ（ブロック７０２）と、クロック信号が低である時間を示す第１の信号を生成するステップ（ブロック７０４）と、クロック信号が高である時間を示す第２の信号を生成するステップ（ブロック７０６）と、第１の信号を第２の信号と比較するステップ（ブロック７０８）と、第１の信号と第２の信号の比較結果に基づいてクロック信号のパルス幅を変更するステップ（ブロック７１０）とを含む。
【００５６】
このように、本発明の方法および装置が、クロック・ダブラにデューティサイクル自動補正機能を与えるための、重要かつ従来に無い解決法、能力、および、機能的利点を提供するものであることを明らかにしてきた。得られるプロセスおよび構成は、簡単で、経済的で、単純で、汎用性が高く、有効で、従来のテクノロジを利用しているので、従来の製造プロセスおよび製造技術と完全な互換性を持つ装置の製造にも、簡単に適合させることができる。
【００５７】
多くの設計目的では、クロック信号のデューティサイクルを約５０％に維持することが重要となる。クロックが高である時間は、クロックが低である時間とほぼ同じである。デューティサイクルの変動は、集積回路チップなどのシステムに固有のものであり、チップの製造プロセスのばらつきや、チップの動作電圧、温度などに起因する。本発明は、デューティサイクルを能動的に監視し、デューティサイクルに変化が生じると、その変化を自動的に補正する。
【００５８】
本発明の説明は最良の実施形態に関するものになっているが、上記の説明を参照すれば、多数の代替、修正および変更が可能であることは、当業者にとって明らかであろう。従って本件は、それらの代替、修正および変更も、特許制球の範囲に記載した発明の範囲に含めることを意図している。本明細書に記載した事項および図面に記載した事項はすべて例として解釈すべきものであり、限定の意味で解釈してはならない。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態によるクロック・ダブラを有するシステムを示すブロック図である。
【図２】クロック分割器、タップ遅延線、比較器を含む図１のクロック・ダブラの回路図である。
【図３】遅延チェーンを含む図２に示すクロック分割器の回路図である。
【図４】図２に示すタップ遅延線の複数のタップ遅延セルを示す回路図である。
【図５】図２に示す比較器の回路図である。
【図６】図３に示す遅延チェーンの回路図である。
【図７】本発明の一実施形態による方法を示すフロー図である。
【符号の説明】
【００６０】
１０２  システムクロック
１０８  クロック・ダブラ
２０４，２３０  タップ遅延線（ＴＤＬ）
２１０  クロック分割器
２２２  比較器
２６５  比較回路
２５０  周波数倍化回路
２５５  タイミング回路
２７０  パルス幅変更回路
３００  遅延制御装置
３２５  論理回路
３１２，６２５  遅延チェーン回路
４００  タップ遅延線（ＴＤＬ）セル
５００、５０８  機能ブロック
６００  遅延素子
【図１】
2005304020.tif 000003
【図２】
2005304020.tif 000004
【図３】
2005304020.tif 000005
【図４】
2005304020.tif 000006
【図５】
2005304020.tif 000007
【図６】
2005304020.tif 000008
【図７】
2005304020.tif 000009