JP2007087380A - クロックスキュー管理方法および装置 - Google Patents
クロックスキュー管理方法および装置 Download PDFInfo
- Publication number
- JP2007087380A JP2007087380A JP2006232248A JP2006232248A JP2007087380A JP 2007087380 A JP2007087380 A JP 2007087380A JP 2006232248 A JP2006232248 A JP 2006232248A JP 2006232248 A JP2006232248 A JP 2006232248A JP 2007087380 A JP2007087380 A JP 2007087380A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- clock
- frequency
- circuit
- gate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulation Of Pulses (AREA)
- Pulse Circuits (AREA)
Abstract
【課題】クロック信号を複数の経路で伝搬させると、クロックスキューが大きくなることがあり、装置の誤動作等を招く。
【解決手段】 信号生成器であるクロック源402は、第1の周波数を有する第1の信号を供給する。クロックツリー404は、第1の信号を本装置の少なくともひとつのクロックメッシュ406へ伝搬せしめる。第2の最終段のバッファ418は、第1の信号を受け、第2の周波数を有する第2の信号を提供し、第2の信号を第1の信号と同期せしめ、同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュ416へ伝搬せしめる。
【選択図】図4
【解決手段】 信号生成器であるクロック源402は、第1の周波数を有する第1の信号を供給する。クロックツリー404は、第1の信号を本装置の少なくともひとつのクロックメッシュ406へ伝搬せしめる。第2の最終段のバッファ418は、第1の信号を受け、第2の周波数を有する第2の信号を提供し、第2の信号を第1の信号と同期せしめ、同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュ416へ伝搬せしめる。
【選択図】図4
Description
この発明はクロックスキューを管理する技術に関し、とくに、LSIの異なる個所へ異なる周波数のクロックを供給するために個別にクロックメッシュが利用されるときのクロックスキューを管理する技術に関する。
システムクロック信号は、例えばLSI回路を利用して実装されるデジタル回路において、なんらかの論理機能を同期実行する際に利用される。例えば、超ディープサブミクロン(UDSM)マイクロプロセッサは、論理機能を同期実行するためにシステムクロック信号を用いるデジタル回路を採用する。これらのマイクロプロセッサは1ギガヘルツ以上の周波数のシステムクロックで動作する。任意のLSI回路のシステムクロック信号は、デジタル回路の多数の異なる個所で使われるために、多数の経路へ分岐することが多い。
理想的には、デジタル回路の異なる個所において、システムクロック信号は全く同一のタイミング特性をもち、それらの個所が正確に同期して動作すべきである。しかし、実際には、デジタル回路のいろいろなポイントにおけるシステムクロック信号は、異なる上昇エッジおよび/または下降エッジ(すなわち信号遷移)、異なるデューティサイクルおよび/または異なる周波数というような、異なるタイミング特性を示す。こうした理想的ではない特性は、クロックジッタまたはクロックスキューと呼ばれる。
クロックジッタは、システムクロック信号を生成する際に生じる不正確さに関する。クロックジッタに起因するシステムクロック信号の理想的ではない特性は、システムクロック信号が回路のいろいろな個所にどう分配されていても、LSI回路の全体に同じ影響を及ぼす。
クロックスキューは、システムクロック信号を多数の経路に分岐させ、デジタル回路の異なる個所へクロックを届けるために採用される分配技術のためにシステムクロック信号に混入する不正確さに関する。
クロックスキューの原因は、静的なものと動的なものに分けられる。静的な原因は、LSI回路の設計または製造プロセスにおいて生じ、LSI回路の動作状態とは関係がない。一方、動的な原因は、LSI回路の動作状態によって生じるが、LSI回路の設計または製造プロセスの要因の関数になっているものもある。
静的な原因は、(i)トランジスタの負荷の容量(例えばゲート負荷の容量)のばらつき、(ii)回路の接続部分におけるRC遅延(例えば配線の長さと幅の非対称)、(iii)配線間の相互結合容量(例えば配線間容量)のばらつきまたは非対称、(iv)半導体プロセスのばらつき(例えばトランジスタのしきい値電圧のばらつき、トランジスタのオン抵抗のばらつき、配線のばらつき、バイアスおよびコンタクトのRCのばらつき)、を含む。
動的な原因は、(i)配線間の容量に起因する、配線の長さ方向における結合、(ii)配線間の誘導に起因する、配線の長さ方向における結合、(iii)電流のリターンパスに起因する相互結合、(iv)温度のばらつき、(v)VDD(電源電圧)とVSS(接地電圧)のばらつき、例えばDC(直流)動作電圧のばらつき、を含む。残念ながら、クロックスキューに起因するシステムクロック信号のタイミング特性のばらつきによって、LSI回路内のデジタル回路に好ましくない誤動作が発生する。この問題は、サイズ(すなわち論理ゲートの数とそれに対応する回路面積)が大きくなり、および/またはシステムクロック信号の周波数が高くなるほど悪化する。
クロックスキューの好ましくない影響を改善するために様々な技術が開発され、利用されてきた。そうした技術は、(i)クロックバーの利用(すなわちLSI回路の様々な個所へシステムクロックを伝達するための比較的広いバーの利用)、(ii)RC遅延のバランスをとる技術(すなわちRC遅延特性に見合うように配線各部の位置決めを工夫する配線技術)、(iii)システムクロック信号を分配するためのグリッド構造の利用、(iv)LSI回路を領域へ分割する階層的構造の利用、(v)システムクロック信号を補償するためのアクティブフィードバックの利用、(vi)LSI回路の様々な個所でローカルの発振器を利用し、LSI回路全体の共振を利用すること、(vii)配線ループの共振の利用、などを含む。しかし、いろいろな理由により、これらの技術はクロックスキューの問題を十分に解決するには至っていない。
図1は、従来の技術により、クロックツリー104を介してクロックメッシュ106へシステムクロック信号が分配される回路100の回路図である。信号がPLL(位相ロックループ)、OSC(発振器)、またはその他の信号源102に現れた後、その信号は、クロックメッシュ106へ到達する前にクロックツリー104内でいくつかの可能な経路に沿って分岐する。回路100内の様々なポイントは、上述の理由でクロックスキューの影響を受けることになる。
図2は別の回路200の回路図である。この回路200では、異なる周波数をもつふたつの個別のクロック信号が、それぞれ個別のクロックツリー204、214に沿ってメッシュ206、216に分配される。クロックスキューの問題は、異なるクロックの周波数を回路の異なる個所へ伝達するために個別のクロックツリーと個別のクロックメッシュが利用されるとき顕著になる。
図2は4ギガヘルツのクロックメッシュ206と2ギガヘルツのクロックメッシュ216を従来の手法で実装した様子を示す。回路200はそのために、周波数を1/2にする分周器212を4ギガヘルツの発振器に接続するとともに、個別のクロックツリー204、214を導入し、それぞれ4ギガヘルツと2ギガヘルツのクロック信号を4ギガヘルツのクロックメッシュ206と2ギガヘルツのクロックメッシュ216へ伝達させている。この構成により、ふたつの信号の同期ポイントは、2ギガヘルツの信号を生成するために4ギガヘルツの信号が分周器212へ投入されている個所となる。このポイント以降、ふたつの信号はそれぞれ個別のクロックツリーに沿ってそれぞれのクロックメッシュへ伝搬するため、クロックスキューは次第に悪化する。信号それぞれの配線長とそれが通過するデバイスによって、信号の伝搬速度に食い違いが混入しうるためである。
図3は、図2の回路内で生じるクロックスキューを示すタイミング図である。グラフ302は発振器202の出力端子における4ギガヘルツの信号をプロットしたものである。グラフ304は分周器212の出力端子における、4ギガヘルツの信号から生成された2ギガヘルツの信号を理想的な条件下でプロットしたものである。グラフ306とグラフ308は、クロックメッシュ216内の異なるポイントに現れうる2ギガヘルツの信号をプロットしたものである。グラフ306とグラフ308で示される2ギガヘルツの信号のクロックスキューは、グラフ302で示される4ギガヘルツの信号との対比から明らかである。
個別のメッシュ間に生じるクロックスキューを軽減するための従来の技術は非常に複雑である。したがって、異なる周波数で動作するクロックメッシュ間のクロックスキューに対し、より単純な解決方法が望まれている。
本発明のある態様は、クロックスキューを管理する装置であって、第1の周波数を有する第1の信号を供給する信号生成器と、第1の信号を本装置の少なくともひとつのクロックメッシュへ伝搬せしめるクロックツリーと、第1の信号を受け、第2の周波数を有する第2の信号を提供し、第2の信号を第1の信号と同期せしめ、同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュへ伝搬せしめる最終段のバッファと、を備える。
最終段のバッファは、第1の信号を所定の分周値で分周することによって、第2の周波数をもつ第2の信号を提供してもよい。少なくともひとつのクロックツリーは信号生成器に接続されていてもよい。前記少なくともひとつのクロックメッシュは、クロックツリーに接続されていてもよい。前記少なくともひとつのクロックメッシュは、複数のクロックメッシュを含んでもよい。最終段のバッファは、第1の信号を受け、第2の周波数を有する第2の信号を提供する分周器と、第2の信号を第1の信号と同期せしめる同期回路と、を備えてもよい。
分周器はフリップフロップ回路を含んでもよく、その場合、このフリップフロップ回路は、第1の信号を受け、これを所定の分周値で分周し、第2の周波数を有する第2の信号を同期回路へ供給してもよい。同期回路はデジタル論理回路を含んでもよく、その場合、このデジタル論理回路は、第1および第2の信号を受け、これら第1および第2の信号に少なくともひとつの論理演算を施し、出力として、同期処理後の第2の信号を提供してもよい。
デジタル論理回路は、少なくとも、ANDゲート、NANDゲート、ORゲート、NORゲートのいずれかを含んでもよい。また、第2の周波数は第1の周波数よりも低くてもよい。分周器は、同期処理後の第2の信号を前記少なくともひとつの別のクロックメッシュへの伝搬を停止ないし遮断できるよう構成されていてもよい。同期回路は、a)第2の信号の上昇エッジを第1の信号の上昇エッジに同期せしめるか、b)第2の信号の下降エッジを第1の信号の下降エッジに同期せしめるか、c)第2の信号の上昇エッジを第1の信号の下降エッジに同期せしめるか、d)第2の信号の下降エッジを第1の信号の上昇エッジに同期せしめるか、のいずれかを実施するよう構成されていてもよい。
本発明の別の態様は、クロックスキューを管理する方法であって、第1の周波数を有する第1の信号を提供するステップと、クロックツリーを介して、第1の信号を本装置の少なくともひとつのクロックメッシュへ伝搬せしめるステップと、第2の周波数を有する第2の信号を生成するステップと、第2の信号を第1の信号と同期せしめるステップと、同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュへ伝搬せしめるステップと、を備える。第2の信号を生成するステップは、所定の分周値によって第1の信号を分周してもよく、分周値は例えば約2である。
同期せしめるステップは、デジタル論理回路を用いて第2の信号を第1の信号に同期せしめてもよい。このデジタル論理回路を用いて同期せしめるステップは、第1および第2の信号を受け取るステップと、第1および第2の信号に少なくともひとつの論理演算を施すステップと、デジタル論理回路の出力として、同期処理後の第2の信号を提供するステップと、を含んでもよい。
デジタル論理回路は、少なくとも、ANDゲート、NANDゲート、ORゲート、NORゲートのいずれかを含んでもよい。分周するステップは、同期処理後の第2の信号の前記少なくともひとつの別のクロックメッシュへの伝搬を停止ないし遮断してもよい。また、同期せしめるステップは、a)第2の信号の上昇エッジを第1の信号の上昇エッジに同期せしめるか、b)第2の信号の下降エッジを第1の信号の下降エッジに同期せしめるか、c)第2の信号の上昇エッジを第1の信号の下降エッジに同期せしめるか、d)第2の信号の下降エッジを第1の信号の上昇エッジに同期せしめるか、のいずれかを実施してもよい。
以上の各ステップを入れ替えたり、方法と装置の間で表現を一部または全部入れ替え、または追加したり、表現をコンピュータプログラム、記録媒体等に変更したものもまた、本発明として有効である。
本発明により、複数のクロック信号を伝搬せしめる際、それらのクロックスキューを低減することができる。
実施の形態において、信号生成器は、周期性のある信号を生成する能力のある、PLL、発振器、その他のデバイスを利用して実装される。「最終段のバッファ」は、クロックツリーとクロックメッシュの接続部分ないしその付近に配置されるクロックバッファとするが、それに限る趣旨ではない。以下、図面では同様の構成には同様の符号が与えられている。また、図4には、LSI回路の例として、半導体デバイス400が描かれている。
図4は、実施の形態に係る回路400を示す。回路400はPLL、発振器その他のクロック源402と、クロックツリー404と、クロックメッシュ416を含む。クロック源402は、周期的な信号を供給する既知のデバイスである。クロックツリー404は導電性部材409と、クロックバッファ422と、第1の最終段のバッファ408、第2の最終段のバッファ418のネットワークを含み、第1のクロック信号410をクロックメッシュ406、416の複数ポイントへと駆動する。
クロックバッファ422、最終段のバッファ408はインバータまたは他の適当なデジタル論理デバイスである。第2の最終段のバッファ418は図5で後述する。クロックメッシュ406、416はLSI回路のいろいろな回路部分へクロック信号を伝達するグリッドである。クロックメッシュ406、416は、好ましくは電気的に分離され、異なるクロック信号を伝達するように構成される。
クロック源402からの第1のクロック信号410は、クロックツリー404に沿って伝搬し、実施の形態に係る回路400内の所定のポイントで分周され、第2の周波数を有する第2のクロック信号420が提供される。第1のクロック信号410は4ギガヘルツでクロックツリー404に沿って伝搬し、第1の最終段のバッファ408、第2の最終段のバッファ418へ向けて分岐する。第1の最終段のバッファ408、第2の最終段のバッファ418の構成は、これらのバッファのそれぞれから出力される周波数を決めるために、制御可能とすることが望ましい。
ある実施の形態では、第1の最終段のバッファ408は第1のクロック信号410の周波数を変化させず、発振器402から現れる第1のクロック信号410をクロックメッシュ406へ伝送する。一方、第2の最終段のバッファ418は分周器によって所定の分周値で第1のクロック信号410の周波数を分周し、第2のクロック信号420を供給するよう動作することが望ましい。第2の最終段のバッファ418はまた、第2のクロック信号420と第1のクロック信号410が同期するよう動作することが望ましい。このように、第1のクロック信号410とは異なる周波数をもちつつも、それと同期する第2のクロック信号420をクロックメッシュ416へ供給することができる。
ある実施の形態では、第1のクロック信号410は4ギガヘルツの周波数で、第2の最終段のバッファ418内の分周器の分周値は「2」であり、第2のクロック信号420はそのため2ギガヘルツの周波数となる。しかし、もちろん、第1のクロック信号410の周波数は4ギガヘルツより高くても低くてもよいし、第2の最終段のバッファ418内の分周器の分周値は2より高くても低くてもよい。例えば、分周値は約2でもよいし、3、4、・・・でもよく、その場合、第1のクロック信号410に対して第2のクロック信号420の周波数が低くなっていく。あるいは、分周値を非常に大きな値とし、分周後の周波数をゼロにするか、またはそれに近づけることにより、クロックメッシュ416に対するクロック信号の供給を実質的に停止ないし遮断することもできる。本発明はそのような種々の変形例を含む。このように、回路400内における信号伝搬が進んだ段階で第2のクロック信号420を第1のクロック信号410へ同期させることは、これらの信号間のクロックスキューを最小にするよう動作することが望ましい。
この実施の形態で第2の最終段のバッファ418が置かれている特定の位置、すなわち周波数分周と同期が発生する特定の位置は、望ましい位置ではあるが、必須というわけではない。信号の同期は、回路400内で2個所以上に実装されてもよい。さらに、信号の同期は、異なる周波数の信号を含む場合に限る必要はなく、同一または十分同一に近い周波数をもつ信号どうしについて実施されてもよい。
図5は、図4の第2の最終段のバッファ418を利用するためにふさわしい回路500のブロック図、図6は、図5の回路500のある特定されたポイントにおいて、信号を時間領域で表示したタイミング図である。回路500は分周回路508と同期回路510を含む。この実施の形態では、第1のクロック信号である4ギガヘルツの高周波信号502は、分周回路508と同期回路510へ入力される。高周波信号502の周波数は、図4の第2の最終段のバッファ418へ入力される高周波クロック信号と一致していてもよい。
分周回路508は、高周波信号502の周波数を分周器の分周値で分周し、分周の結果に当たる周波数をもつ出力信号(第2のクロック信号である低周波信号504)を生成するよう動作する。高周波信号502と低周波信号504は、同期回路510へ入力される。高周波信号502は4ギガヘルツ、分周値は「2」、低周波信号504は2ギガヘルツとする。
同期回路510は、低周波信号504を高周波信号502に同期させ、同期処理後の低周波信号504としての出力信号506を生成する。出力信号506は図4の第2のクロック信号420に一致してもよい。後述するように、同期回路510は低周波信号504の少なくともひとつの特性を高周波信号502の対応する特性と同期させ、出力信号506を生成するよう動作する。例えば、出力信号506の上昇エッジを高周波信号502の上昇エッジと同期させてもよい。
同期回路510は出力信号506を生成する際、低周波信号504の周波数を変化させないことが望ましいが、もちろん、出力信号506の周波数が低周波信号504の周波数と違ってもよい。回路500が内蔵される、より大きい回路の必要性に応じ、同期回路510から出力された出力信号506はインバータ、バッファ、その他の回路や素子に入力されてもよい。
以上の分周回路508および同期回路510の機能は、1以上のデジタル論理ゲートによって実現できる。例えば、分周回路508は1以上のフリップフロップ回路で実装できる。同期回路510は1以上の論理ゲートで実装できる。
図6は、特定の分周回路508および同期回路510の実装を想定したときの高周波信号502、低周波信号504、出力信号506の時間領域におけるプロット図である。低周波信号504の周波数は高周波信号502のそれの約半分である。しかし、分周回路の動作時間のために、高周波信号502と低周波信号504の上昇エッジは十分に同時であるとはいえない。同期回路510のために、出力信号506の上昇エッジは高周波信号502の上昇エッジとほぼ同期している。上昇エッジ間のわずかな遅延は、同期回路510を通る高周波信号502と低周波信号504の伝搬遅延に起因する。しかし、この遅延の量は同期回路の設計によってコントロールできる。この実施の形態では、同期の対象は高周波信号502と出力信号506の上昇エッジであり、そのためそれらの入力信号にAND演算を施す。同期を目的として、他にOR、NOR、NAND演算も採用できるが、もちろんそれらに限定する必要はない。
図7は、図5の周波数分周および信号同期回路500の実装に好適な回路700の回路図である。図6の同期処理は高周波信号502と低周波信号504を入力し、出力信号506を出力する論理AND演算に対応する。回路700は、分周回路708とANDゲート710を含む。分周回路708は、フリップフロップ回路で実装でき、高周波信号502の周波数を分周器の分周値で分周し、分周の結果に当たる周波数をもつ低周波信号504を生成するよう動作する。ANDゲート710は高周波信号502と低周波信号504を入力し、出力信号506を出力する通常のデジタル論理ゲートでよい。
回路700の動作は、ANDゲート710が同期処理を実行している点を除き、図5の回路500の動作と実質的に同じである。ANDゲート710の出力はANDゲートの真理値表にしたがい、両入力がともにハイのときにかぎりハイを出力する。そのため、図6に示すように、出力信号506は高周波信号502と低周波信号504に論理AND演算が施されたものとなる。出力信号506の周波数は低周波信号504と同じであり、上昇エッジも高周波信号502のそれに同期する。
もちろん、図5の回路500の別の例として、高周波信号502と出力信号506の下降エッジを同期させるものであってもよい。さらに別の例として、高周波信号502の上昇エッジと出力信号506の下降エッジを同期させてもよい。また、高周波信号502の下降エッジを出力信号506の上昇エッジに同期させることもできる。
分周回路708にフリップフロップを用いる場合、上昇エッジトリガタイプと下降エッジトリガタイプがあり、デジタル論理ゲートにも反転タイプと非反転タイプがある。これらの組合せにより、高周波信号502のいずれのエッジと出力信号506のいずれのエッジを同期させるかを選択することができる。
図8は本発明の別の実施の形態に係る回路800を示す。回路800は第1の複数のインバータ801、分周回路808、NANDゲート810、および第2の複数のインバータ812を含む。第1の複数のインバータ801は、波形整形、バッファサイズの要請、タイミング調整、物理的な設計の要請、その他設計上の要請のためのもので、複数のバッファを示している。別の例として、複数の第1のインバータ801は非反転型のバッファに置き換えることもできる。分周回路808は、高周波信号802の周波数を分周器の分周値で分周し、分周の結果に当たる周波数をもつ低周波信号804を生成するよう動作する点で図7の分周回路708と同様である。
NANDゲート810は通常のデジタル論理ゲートであり、高周波信号802と低周波信号804を入力し、低周波信号804の同期処理後の出力信号806を出力する。NANDゲート810は、NANDゲートの真理値表にしたがい、両入力がともにハイのときにかぎりローを出力する。そのため、出力信号806の周波数は低周波信号804と同じであり、高周波信号802に同期する。この実施の形態では、出力信号806の下降エッジが高周波信号802の上昇エッジと同期される。出力信号806は第2の複数のインバータ812へ入力される。
第2の複数のインバータ812は、波形整形、バッファサイズの要請、タイミング調整、物理的な設計の要請、その他設計上の要請のためのもので、複数のバッファを示している。別の例として、インバータ812は非反転型のバッファに置き換えることもできる。
図9は本発明のさらに別の実施の形態に係る回路900を示す。回路900は第1の複数のインバータ901、分周器908、NORゲート910、および第2の複数のインバータ912を含む。第1の複数のインバータ901は、波形整形、バッファサイズの要請、タイミング調整、物理的な設計の要請、その他設計上の要請のためのもので、所定数のバッファを示している。別の例として、第1の複数のインバータ901は非反転型のバッファに置き換えることもできる。
分周器908は、高周波信号902の周波数を分周器の分周値で分周し、分周の結果に当たる周波数をもつ低周波信号904を生成するよう動作する点で図7の分周回路708と同様である。
NORゲート910は高周波信号902と低周波信号904を入力し、出力信号906を出力する通常のデジタル論理ゲートである。NORゲート910は、NORゲートの真理値表にしたがい、両入力がともにローのときにかぎりハイを出力する。そのため、出力信号906の周波数は低周波信号904と同じであり、高周波信号902に同期する。この実施の形態では、出力信号906の上昇エッジが高周波信号902の下降エッジと同期される。
出力信号906は第2の複数のインバータ912へ入力される。第2の複数のインバータ912は、波形整形、バッファサイズの要請、タイミング調整、物理的な設計の要請、その他設計上の要請のためのもので、複数のバッファを示している。別の例として、第2の複数のインバータ912は非反転型のバッファに置き換えることもできる。
なお、NORゲート910をORゲート(図示せず)に置き換えることにより、出力信号906の極性が反転する。出力信号906を利用する後段の回路に合わせてNORゲート910またはORゲートを選択すればよい。
以上、実施の形態に係る方法および装置を説明した。これらの方法や装置は、既知の技術、例えば標準的なデジタル回路、アナログ回路、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、その他、ソフトウエアおよび/またはファームウェアプログラムを実行可能な任意のプロセッサ、プログラマブルアレイ論理(PAL)回路またはシステム、ないし以上の現在利用可能なデバイスおよび/または将来開発されるべきデバイスの任意の組合せによって実現できる。任意の実施の形態は、LSI回路内のデジタル回路として実現できる。
以上の本発明を実施の形態をもとに説明した。これらの実施の形態は例示に過ぎず、当業者にはさまざまな変形技術も可能である。本発明はそうした変形技術も含むものと解釈されるべきである。
400、500、700、800、900 実施の形態に係る回路、 402 発振器またはクロック源、 404 クロックツリー、 406、416 クロックメッシュ、 408 第1の最終段のバッファ、 410 第1のクロック信号、 418 第2の最終段のバッファ、 420 第2のクロック信号、 508、708、808 分周回路、 502 高周波信号、 504 低周波信号、 506 出力信号、 510 同期回路、 710 ANDゲート、 801、901 第1の複数のインバータ、 810 NANDゲート、 812、912 第2の複数のインバータ、 910 NORゲート910。
Claims (20)
- クロックスキューを管理する装置であって、
第1の周波数を有する第1の信号を供給する信号生成器と、
第1の信号を本装置の少なくともひとつのクロックメッシュへ伝搬せしめるクロックツリーと、
第1の信号を受け、第2の周波数を有する第2の信号を提供し、第2の信号を第1の信号と同期せしめ、同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュへ伝搬せしめる最終段のバッファと、
を備えることを特徴とする、クロックスキューを管理する装置。 - 請求項1に記載の装置において、最終段のバッファは、第1の信号を所定の分周値で分周することによって、第2の周波数をもつ第2の信号を提供することを特徴とする、クロックスキューを管理する装置。
- 請求項1または2に記載の装置において、クロックツリーは信号生成器に接続されていることを特徴とする、クロックスキューを管理する装置。
- 請求項1から3のいずれかに記載の装置において、前記少なくともひとつのクロックメッシュは、クロックツリーに接続されていることを特徴とする、クロックスキューを管理する装置。
- 請求項1から4のいずれかに記載の装置において、前記少なくともひとつのクロックメッシュは、複数のクロックメッシュを含むことを特徴とするクロックスキューを管理する装置。
- 請求項1から5のいずれかに記載の装置において、最終段のバッファは、
第1の信号を受け、第2の周波数を有する第2の信号を提供する分周器と、
第2の信号を第1の信号と同期せしめる同期回路と、
を備えることを特徴とする、クロックスキューを管理する装置。 - 請求項6に記載の装置において、分周器はフリップフロップ回路を含み、このフリップフロップ回路は、第1の信号を受け、これを所定の分周値で分周し、第2の周波数を有する第2の信号を同期回路へ供給することを特徴とする、クロックスキューを管理する装置。
- 請求項6または7に記載の装置において、同期回路はデジタル論理回路を含み、このデジタル論理回路は、第1および第2の信号を受け、これら第1および第2の信号に少なくともひとつの論理演算を施し、出力として、同期処理後の第2の信号を提供することを特徴とする、クロックスキューを管理する装置。
- 請求項8に記載の装置において、デジタル論理回路は、少なくとも、ANDゲート、NANDゲート、ORゲート、NORゲートのいずれかを含むことを特徴とする、クロックスキューを管理する装置。
- 請求項1から9のいずれかに記載の装置において、第2の周波数は第1の周波数よりも低いことを特徴とする、クロックスキューを管理する装置。
- 請求項6から9のいずれかに記載の装置において、分周器は、同期処理後の第2の信号を前記少なくともひとつの別のクロックメッシュへの伝搬を停止できるよう構成されていることを特徴とする、クロックスキューを管理する装置。
- 請求項6から9のいずれかに記載の装置において、同期回路は、
a)第2の信号の上昇エッジを第1の信号の上昇エッジに同期せしめるか、
b)第2の信号の下降エッジを第1の信号の下降エッジに同期せしめるか、
c)第2の信号の上昇エッジを第1の信号の下降エッジに同期せしめるか、
d)第2の信号の下降エッジを第1の信号の上昇エッジに同期せしめるか、
のいずれかを実施するよう構成されていることを特徴とする、クロックスキューを管理する装置。 - クロックスキューを管理する方法であって、
第1の周波数を有する第1の信号を提供するステップと、
クロックツリーを介して、第1の信号を本装置の少なくともひとつのクロックメッシュへ伝搬せしめるステップと、
第2の周波数を有する第2の信号を生成するステップと、
第2の信号を第1の信号と同期せしめるステップと、
同期処理後の第2の信号を本装置の少なくともひとつの別のクロックメッシュへ伝搬せしめるステップと、
を備えることを特徴とする、クロックスキューを管理する方法。 - 請求項13に記載の方法において、第2の信号を生成するステップは、所定の分周値によって第1の信号を分周することを特徴とする、クロックスキューを管理する方法。
- 請求項14に記載の方法において、分周値は約2であることを特徴とする、クロックスキューを管理する方法。
- 請求項13から15のいずれかに記載の方法において、同期せしめるステップは、デジタル論理回路を用いて第2の信号を第1の信号に同期せしめることを特徴とする、クロックスキューを管理する方法。
- 請求項16に記載の方法において、デジタル論理回路を用いて同期せしめるステップは、
第1および第2の信号を受け取るステップと、
第1および第2の信号に少なくともひとつの論理演算を施すステップと、
デジタル論理回路の出力として、同期処理後の第2の信号を提供するステップと、
を含むことを特徴とする、クロックスキューを管理する方法。 - 請求項16または17に記載の方法において、デジタル論理回路は、少なくとも、ANDゲート、NANDゲート、ORゲート、NORゲートのいずれかを含むことを特徴とする、クロックスキューを管理する方法。
- 請求項に記載の方法において、分周するステップは、同期処理後の第2の信号の前記少なくともひとつの別のクロックメッシュへの伝搬を停止することを特徴とする、クロックスキューを管理する方法。
- 請求項13から19のいずれかに記載の方法において、同期せしめるステップは、
a)第2の信号の上昇エッジを第1の信号の上昇エッジに同期せしめるか、
b)第2の信号の下降エッジを第1の信号の下降エッジに同期せしめるか、
c)第2の信号の上昇エッジを第1の信号の下降エッジに同期せしめるか、
d)第2の信号の下降エッジを第1の信号の上昇エッジに同期せしめるか、
のいずれかを実施することを特徴とする、クロックスキューを管理する方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/233,423 US7301385B2 (en) | 2005-09-22 | 2005-09-22 | Methods and apparatus for managing clock skew |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007087380A true JP2007087380A (ja) | 2007-04-05 |
Family
ID=37883455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006232248A Pending JP2007087380A (ja) | 2005-09-22 | 2006-08-29 | クロックスキュー管理方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7301385B2 (ja) |
JP (1) | JP2007087380A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528377A (ja) * | 2007-05-23 | 2010-08-19 | サイクロス セミコンダクター, インコーポレイテッド | マルチクロックネットワークを備えたデジタルデバイス用共振クロックおよびインターコネクトアーキテクチャ |
JP2017220063A (ja) * | 2016-06-08 | 2017-12-14 | キヤノン株式会社 | 半導体集積回路 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788613B2 (en) * | 2005-07-06 | 2010-08-31 | Fujitsu Limited | Border-enhanced sliding window scheme (SWS) for determining clock timing in a mesh-based clock architecture |
US7725852B2 (en) * | 2005-07-06 | 2010-05-25 | Fujitsu Limited | Sliding window scheme (SWS) for determining clock timing in a mesh-based clock architecture |
JP2007189293A (ja) * | 2006-01-11 | 2007-07-26 | Matsushita Electric Ind Co Ltd | クロック発生回路 |
KR100837278B1 (ko) * | 2007-02-27 | 2008-06-11 | 삼성전자주식회사 | 클럭 스큐 컨트롤러 및 그것을 포함하는 집적 회로 |
US8205182B1 (en) | 2007-08-22 | 2012-06-19 | Cadence Design Systems, Inc. | Automatic synthesis of clock distribution networks |
US20100266081A1 (en) * | 2009-04-21 | 2010-10-21 | International Business Machines Corporation | System and Method for Double Rate Clocking Pulse Generation With Mistrack Cancellation |
WO2011046980A2 (en) * | 2009-10-12 | 2011-04-21 | Cyclos Semiconductor, Inc. | Architecture for adjusting natural frequency in resonant clock distribution networks |
US20120033772A1 (en) * | 2010-08-08 | 2012-02-09 | Freescale Semiconductor, Inc | Synchroniser circuit and method |
US9602125B1 (en) | 2014-10-01 | 2017-03-21 | Northrup Grumman Systems Corporation | Wideband InP digital-to-analog converter integrated with a SiGe clock distribution network |
US9779201B2 (en) | 2014-10-27 | 2017-10-03 | Samsung Electronics Co., Ltd. | Low power minimal disruptive method to implement large quantity push and pull useful-skew schedules with enabling circuits in a clock-mesh based design |
US9411361B2 (en) * | 2014-11-14 | 2016-08-09 | Cavium, Inc. | Frequency division clock alignment using pattern selection |
US9417655B2 (en) * | 2014-11-14 | 2016-08-16 | Cavium, Inc. | Frequency division clock alignment |
GB2532284A (en) | 2014-11-17 | 2016-05-18 | Ibm | Method to reduce dynamic clock skew and/or slew in an electronic circuit |
US9256246B1 (en) * | 2015-01-29 | 2016-02-09 | Qualcomm Incorporated | Clock skew compensation with adaptive body biasing in three-dimensional (3D) integrated circuits (ICs) (3DICs) |
CN112487753B (zh) * | 2020-12-15 | 2024-07-12 | 安徽芯纪元科技有限公司 | 一种面向软件开发的时钟树建模方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003173361A (ja) | 2001-12-05 | 2003-06-20 | Seiko Epson Corp | 半導体集積回路のレイアウト設計方法及び装置 |
US7046066B2 (en) * | 2004-06-15 | 2006-05-16 | Via Telecom Co., Ltd. | Method and/or apparatus for generating a write gated clock signal |
-
2005
- 2005-09-22 US US11/233,423 patent/US7301385B2/en active Active
-
2006
- 2006-08-29 JP JP2006232248A patent/JP2007087380A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010528377A (ja) * | 2007-05-23 | 2010-08-19 | サイクロス セミコンダクター, インコーポレイテッド | マルチクロックネットワークを備えたデジタルデバイス用共振クロックおよびインターコネクトアーキテクチャ |
JP2017220063A (ja) * | 2016-06-08 | 2017-12-14 | キヤノン株式会社 | 半導体集積回路 |
Also Published As
Publication number | Publication date |
---|---|
US20070063756A1 (en) | 2007-03-22 |
US7301385B2 (en) | 2007-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007087380A (ja) | クロックスキュー管理方法および装置 | |
US6538957B2 (en) | Apparatus and method for distributing a clock signal on a large scale integrated circuit | |
US8290109B2 (en) | Circuit, system and method for multiplexing signals with reduced jitter | |
US6338144B2 (en) | Computer system providing low skew clock signals to a synchronous memory unit | |
US7863987B2 (en) | Clock signal generating and distributing apparatus | |
US6378080B1 (en) | Clock distribution circuit | |
JPH0677950A (ja) | 同期クロック分配システム | |
JP7263539B2 (ja) | クロック分配共振器システム | |
JP5704795B2 (ja) | クロック分配システム、分配方法、それらを利用した集積回路 | |
US5666079A (en) | Binary relative delay line | |
US7761748B2 (en) | Methods and apparatus for managing clock skew between clock domain boundaries | |
US8427252B2 (en) | Oscillators with low power mode of operation | |
JP2004054350A (ja) | クロック切り替え回路 | |
JP2001184210A (ja) | 情報処理装置および情報処理システム | |
CN105247788A (zh) | 带有动态分配旁路模式的时钟生成系统 | |
JP2003174358A (ja) | プログラマブル論理回路およびそのクロック制御方法 | |
JP2001312328A (ja) | クロック信号生成回路 | |
TW200403555A (en) | Clock signal generation and distribution via ring oscillators | |
JP2001084053A (ja) | 電磁雑音抑制回路及び方法並びにデジタル回路設計方法 | |
Prodanov et al. | GHz serial passive clock distribution in VLSI using bidirectional signaling | |
Kuttappa et al. | Low Swing—Low Frequency Rotary Traveling Wave Oscillators | |
US6629255B1 (en) | Generating a 2-phase clock using a non-50% divider circuit | |
Honkote et al. | Skew analysis and design methodologies for improved performance of resonant clocking | |
JPH09139467A (ja) | 半導体集積回路 | |
JPS61198920A (ja) | 1/2↑n同期信号生成回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090804 |