(57)【要約】  回路には、相互接続された複数の論理ブロックと、論理ブロックに基準クロック信号を配給する主クロック発生器とが設けられる。この回路における各論理ブロックは、論理ブロックのそれぞれの要素へのさらなる供給のために基準クロック信号から同期化された局部クロック信号のセットを発生する局部クロック発生器を有する。このような回路においては、第１のブロックの局部クロック信号のセットと第２のブロックの局部クロック信号のセットとの間に位相シフトが導入される。
2007519097.tif 000002
【特許請求の範囲】
【請求項１】
相互接続された複数の論理ブロックと、
前記論理ブロックに基準クロック信号を配給する主クロック発生器と、
前記論理ブロックのそれぞれの要素へのさらなる供給のために前記基準クロック信号から同期化された局部クロック信号のそれぞれのセットを発生するための、各論理ブロックにおける少なくとも１つの局部クロック発生器と、
を有し、
第１のブロックの局部クロック信号のセットは、第２のブロックの局部クロック信号のセットに対して位相シフトされる、
回路。
【請求項２】
請求項１に記載の回路であって、前記第１及び第２のブロックは、一方向データパスを介して通信する、回路。
【請求項３】
請求項２に記載の回路であって、前記第１のブロックは、第１の論理セルを有し、この第１の論理セルは、当該セルのイネーブル入力に供給される前記第１のブロックの局部クロック信号の１つの立ち上がりエッジにおいて前記一方向データパスへのデータの書き込みを行うように構成され、前記第２のブロックは、第２の論理セルを有し、この第２の論理セルは、当該セルのイネーブル入力に供給される前記第２のブロックの局部クロック信号の１つの立ち上がりエッジにおいて一方向データパスから当該書込データの読み取りを行うように構成される、回路。
【請求項４】
請求項２に記載の回路であって、前記第１のブロックは、第１の論理セルを有し、この第１の論理セルは、当該セルのイネーブル入力に供給される前記第１のブロックの局部クロック信号の１つの立ち上がりエッジにおいて一方向データパスへのデータの書き込みを行うように構成され、前記第２のブロックは、第２の論理セルを有し、この第２の論理セルは、当該セルのイネーブル入力に供給される基準クロック信号の立下りエッジにおいて一方向データパスから当該書込データの読み取りを行うように構成される、回路。
【請求項５】
請求項１に記載の回路であって、二方向データバスを介して通信する少なくとも２つの付加的なブロックをさらに有し、前記少なくとも２つの付加的な論理ブロックの局部クロック信号のそれぞれのセットは、互いに同期化される、回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路及び集積回路の異なる領域へのクロック配給に関する。本発明はまた、ブロック間同期（inter-blocks synchronization）が必要なブロック間のクロック均衡状態を最適化するクロック生成方策に関する。
【背景技術】
【０００２】
大規模集積回路（ＩＣ）においては、そのチップ面積及びクロック周波数の増大化の傾向がある。ＩＣは、動作及びスイッチングがより高速になり続けるフリップフロップセルのような素子が構築され、均衡のとられるべきポイントの数がそのチップのサイズと共に指数関数的に増えている。こうした２つの傾向の結果は、クロックスキューの悪化をもたらしており、新しい回路設計の全体のクロックツリーの品質を許容可能なレベルに維持するような工業上の努力がある。したがってクロックスキューを小さくする方策が期待されてきたが、設計者は、開発された技術の幾つかによって上昇する傾向を持ちうる電力消費に特別な注目を払わなければならない。
【０００３】
米国特許出願に係る文献のＵＳ２００２／００６０５９５は、大規模集積回路のクロックスキューを減らす方法を開示している。この文献は、独立したクロックで動作する複数の領域と、当該クロックの１つの位相を他のクロックの位相から区別し各クロックを当該領域にそれぞれ分配する位相分離素子とを含む半導体ＩＣを提案している。この開示された回路では、位相分離素子が各領域のクロックドライバにクロックを配給する。この位相分離素子は、各クロックの位相をセットし配給して当該領域にそれぞれ分配するべきクロックの各サイクルの開始ポイントが当該領域の各々についての異なるタイミングにおけるものとするようにした素子を有する。この方策においては、所与の領域にそのクロックを配給することは、当該位相分離素子からの配給パスに依然として依拠するものであり、主たるクロックジェネレータからのこれらのパス或いは供給されるべき領域に対する位相分離素子は、回路のポイント数が多くなるほど大きくなる可能性がある。当該回路の全体のクロックツリーの深さは、大きくなってしまう可能性があり、したがって配給パスは影響を受けやすいものとなり、外部ノイズ問題を被り易い。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者らは、現行の構成の弱点を軽減する論理ブロックへのクロック配給方策を追求した。
【課題を解決するための手段】
【０００５】
複数の相互接続された論理ブロックを含む回路が提案される。基準クロック発生器は、全ての論理ブロックに対して配給される基準クロック信号を発生する。各ブロックは、それぞれのセットの同期化局部クロック信号を発生する少なくとも１つの局部クロック発生器を含む。当該発生器は、当該基準クロック信号から局部クロック信号を生成し、これらを当該論理ブロックのそれぞれの部分に供給する。この回路は、第１ブロックの局部クロック信号のセットが他のブロックの局部クロック信号のセットに対して位相シフトされるようにしている。
【０００６】
本発明は、各ブロックにおいてクロック発生器を採用して、ブロック内のクロックの発生及び配給が中央で管理される構成に対して、局部的にクロック発生を行うことができるようにしている。局部的にクロックを扱うことにより、当該回路の規模をブロックレベルにまで落とすことを可能にし、これにより大なるチップ構成のクロック均衡及びクロックスキューに伴う問題が回避される。局部クロックを一方のブロックから他方のブロックへ独立させることを可能にすることにより、クロックスキューを低減することを可能とし、クロックツリーの全体の品質が向上する。当該回路の幾つかの論理ブロック間に導入される位相シフトは、電力の消耗が生じるとして知られている、全ての局部クロックが同時に切り替わることを回避する。実際、当該回路における全ての局部クロックが基準クロックに対して位相同期及び同期化されると、当該基準クロックのレベルにおいて、クロックエッジ周辺の電力の消耗のピークを観察することができる。このような現象は、しばしば損失に係わる強力なオンチップ電源を必要とする。したがって、本発明に導入された位相シフトは、こうした電力ピークを滑らかにするのである。本発明の１つ以上の実施例の他の効果は、均衡を保つ必要のある回路ポイントの数を減らすことである。
【０００７】
本発明のこうした態様及びその他の態様は、以下に説明される実施例に基づいて明らかとなる。以下、添付図面を参照しつつ例証によって本発明をより詳しく説明する。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の回路のブロックの幾つかの典型的実施例によって本発明を例示する。本発明の回路は、ここで提示されるもののようなブロックのペア又はグループ又はこうしたものの組み合わせの１つ以上のタイプを含むようにしてもよい。但し、ここに提示されるブロック構成、その中に含まれる要素及び図３及び図６に示されるようなブロック間のデータパスは、単に例証の目的で示されているものであり、本発明の範囲及び本発明の回路の構成を限定するために用いるべきではない。以下の説明では、ブロック１００，２００及び３００において発生したクロックは、それぞれ添え字phi1，phi2及びphi3によってそれぞれ指し示される。
【０００９】
図１は、論理ブロック１００及び２００を有する本発明の回路の部分の典型的実施例の第１のブロック図である。本発明の回路は、ＲＦ回路又は処理回路などの何らかのタイプの集積回路とすることができる。この実施例において、ブロック１００は、例えば、クロック発生ユニット１１０と、フリップフロップセル１２０及び１３０と、セル１２０のデータ出力とセル１３０のデータ入力との間の組み合わせセル１４０とを含む。クロック発生ユニット１１０は、本発明の回路の基準クロック発生器から受信した基準クロックclk_refから局部クロック信号clk1_phi1及びclk2_phi1を生成する。例えば内部クロック信号clk1_phi1及びclk2_phi1は、受信した基準クロックclk_refのクロック分割及び位相シフトから得ることができる。クロックclk1_phi1及びclk2_phi1は、基準クロックclk_refと同期がとられている。回路の基準クロック発生器は、図１には示されておらず、位相同期ループ（Phase Locked-loop）ブロックの例示のものとして実現可能である。ブロック２００は、ブロック１００と同様のものであり、同様の要素、すなわちメモリ２４０を介してフリップフロップセル２２０及び２３０のそれぞれのイネーブル入力に供給される局部クロック信号clk2_phi2及びclk1_phi2を生成する局部クロック発生ユニット２１０を有する。
【００１０】
この第１の実施例では、ブロック１００及び２００は互いに独立して動作し、これら２つのブロック間で何らデータ交換が行われない。したがって、両ブロックの同期化の必要性がない。対照的に、この実施例では、ブロック１００において発生されるクロック、すなわちclk1_phi1及びclk2_phi1のセットと、ブロック２００において発生されるクロック、すなわちclk1_phi2及びclk2_phi2のセットとの間に位相シフトが任意に導入される。ブロック１００及び２００のそれぞれの局部クロックは、図２のタイミング図に示されており、これから分かるように、基準クロックclk_refの１クロックサイクルの位相シフトがクロック発生ユニット１１０及び２１０によって導入される。また、各独立ブロック１００及び２００に対してクロックツリーが構築されていてもよく、各ブロックは、当該内部クロック信号のクロックエッジの間にマージンが保証されないように独立して平衡がとられる。この結果、それぞれのブロックの全ての局部クロック信号が、与えられたブロックにおける要素の内部同期動作のために同期化される。
【００１１】
図２は、本発明の回路の部分の他の典型的実施例である。この実施例におけるブロック１００及び２００は、データパス４００を介して交信する。データパス４００は、一方向単一データパスとすることができる。セル１３０のデータ出力は、ブロック２００のフリップフロップセル２５０のデータ入力に接続される。セル２５０のイネーブル入力は、クロック発生ユニット２１０により発生したクロックclk3_phi2によりトリガーが掛けられる。図４に示されるように、各ブロック１００及び２００は、内部でバランスがとられており、ブロック１００の内部クロックすなわちクロック信号clk1_phi1及びclk2_phi1は、互いに同期がとられ、さらにこれらが得られる元である基準クロックclk_refと同期がとられる。同様に、ブロック２００では、クロック信号clk1_phi2，clk2_phi2及びclk3_phi2も、互いにそしてこれもそれらの発生元である基準クロックclk_refと同期がとられる。この実施例においてはまた、１つの基準クロックサイクルの位相シフトがブロック１００の内部クロックのセットとブロック２００の内部クロックのセットとの間で導入される。実際、ブロック１００のセル１３０からデータパス４００を介してブロック２００のセル２５０にデータが伝送される。セル１３０のイネーブル入力がアクティブとされたとき、すなわちセル１３０のイネーブル入力に供給されるブロック１００のクロック信号clk1_phiが切り換わったときにデータパス４００にデータが供給される。セル２５０のイネーブル入力がアクティブとされたとき、すなわちセル２５０のイネーブル入力に供給されるブロック２００のクロック信号clk3_phi2が切り換わったときにデータパス４００からセル２５０によってデータが取り込まれる。この典型的実施例においては、クロック信号clk3_phi2がブロック１の内部クロックclk1_phi1よりも１クロックサイクル遅く切り換わるので、セル２５０がアクティブとなったときにセル２５０のデータ入力に現データが供給される。
【００１２】
図５に描かれる第４の典型的実施例では、セル２５０のスイッチングがセル２５０のイネーブル入力に供給される基準クロックclk_refにより制御される。但し、ブロック１００は内部で平衡を保たれており、次の２つの信号は互いに同期化される。
【００１３】
・セル１３０のアクティブ化及びこれによるデータパス４００へのデータ書き込みを行うクロック信号clk1_phi
【００１４】
・基準クロック信号clk_phi
【００１５】
これに加え、セル２５０は、基準クロック信号clk_phiが切り換わったときにデータパス４００を読み込む。データ妨害は、まだ存在も安定もしていないデータパス４００からのデータをセル２５０が読むときに生じる可能性がある。何故ならこれはセル１３０により同時に出力されるからである。このため、反転イネーブル入力を有するフリップフロップセル２６０は、セル１３０とセル２５０との間においてデータパス４００上に置かれ、基準クロック信号clk_refのダウンスイッチングのときにパス４００のデータの読み取りを可能にする。したがって、セル１３０により供給されたデータは、セル２６０がデータパス４００で伝送されたデータを読み取るときにデータパス４００において安定したものとなる。そしてデータは、基準クロックclk_refが上に切り換わったときにセル２５０に供給可能となる。
【００１６】
図６は、ブロック１００，２００及び３００を含む本発明の回路の部分の他の実施例を提示するものである。ブロック１００，２００及び３００を有するこの特定の典型的実施例では、データバス４００がブロック１００の出力をブロック２００及び３００の入力に相互接続する。データパス４００が一方向データリンクである図３及び図５を参照して提示される実施例とは対照的に、データバス４００は、その特性によりブロック１００，２００及び３００の構成に付加的な制約をもたらす。実際、データバス４００は、双方向通信バスとすることができ、同期のとれた状態でデータを書き込み読み出すことを必要とする。したがって、ブロック１００，２００及び３００は、それらの内部クロック平衡状態を保ちつつ互いにバランスのとられることが必要である。したがって、クロック発生器１１０，２１０及び３１０は、ブロック１００，２００及び３００における内部クロックの同期化セットを発生するように最初に設定される。すなわち当該各ブロックは内部でバランスがとられる。そして、一緒に形成されるこれら３つのブロックについてのクロックツリーも、平衡状態に保たれ、全ての内部クロックが同期化される。
【図面の簡単な説明】
【００１７】
【図１】本発明の回路における論理ブロックの典型的実施例のブロック図。
【図２】図１の論理ブロックの局部クロックを示すタイミング図。
【図３】本発明の回路における論理ブロックの他の典型的実施例のブロック図。
【図４】図３の論理ブロックの局部クロックのタイミング図。
【図５】本発明の回路における論理ブロックの他の典型的実施例のブロック図。
【図６】本発明の回路における論理ブロックのさらに他の典型的実施例のブロック図。
【図７】図６の論理ブロックの局部クロックのタイミング図。
【図１】
2007519097.tif 000003
【図２】
2007519097.tif 000004
【図３】
2007519097.tif 000005
【図４】
2007519097.tif 000006
【図５】
2007519097.tif 000007
【図６】
2007519097.tif 000008
【図７】
2007519097.tif 000009
【国際調査報告】
2007519097.tif 000010
2007519097.tif 000011
2007519097.tif 000012