(57)【要約】【課題】外部電源電圧が変動した場合でも、安定に動作する半導体装置を実現することが可能なクロックツリー生成方法を提供する。【解決手段】プログラム５のＣＴＳ部８は、電源領域Ａから電源領域Ｂにクロック信号ＣＬＫ１，ＣＬＫ２を伝達する経路Ｌ１，Ｌ２を設け、電源領域Ａ内の経路Ｌ１，Ｌ２にそれぞれアンカーバッファＢ１，Ｂ２を配置し、遅延回路Ｄ１，Ｄ２を電源領域Ｂ内の経路Ｌ１，Ｌ２にそれぞれ配置し、遅延回路Ｄ３，Ｄ４をアンカーバッファＢ１，Ｂ２の入力ノード側の経路Ｌ１，Ｌ２にそれぞれ配置する。したがって、外部電源電圧ＶＤＤ１，ＶＤＤ２が変動した場合でも、クロック信号ＣＬＫ１，ＣＬＫ２の遅延時間は同じになる。【選択図】図６
2012238139.tif 000002
【特許請求の範囲】
【請求項１】
第１の外部電源電圧が供給される第１の電源領域と、
第２の外部電源電圧が供給される第２の電源領域と、
前記第１の電源領域に設けられ、第１および第２のクロック信号を生成するクロック発生回路と、
前記第２の電源領域に設けられ、前記第１および第２のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成する方法であって、
前記クロック発生回路から前記内部回路にそれぞれ前記第１および第２のクロック信号を伝達するための第１および第２の経路を設け、
前記第１の電源領域内の前記第１および第２の経路にそれぞれ第１および第２のアンカーバッファを配置し、
同じ遅延時間を有する第１および第２の遅延回路を前記第２の電源領域内の前記第１および第２の経路にそれぞれ配置し、
同じ遅延時間を有する第３および第４の遅延回路を前記第１および第２のアンカーバッファの入力ノード側の前記第１および第２の経路にそれぞれ配置する、クロックツリー生成方法。
【請求項２】
前記クロック発生回路は、
前記第１のクロック信号を生成するクロック発生源と、
前記クロック発生源で生成された前記第１のクロック信号を分周して前記第２のクロック信号を生成する分周回路とを含む、請求項１に記載のクロックツリー生成方法。
【請求項３】
前記クロック発生回路は、
前記第１のクロック信号を生成するクロック発生源と、
制御信号と前記クロック発生源で生成された前記第１のクロック信号とを受け、前記制御信号が活性化レベルの場合は前記第１のクロック信号を通過させ、前記制御信号が非活性化レベルの場合は前記第１のクロック信号を遮断するゲート回路とを含み、
前記ゲート回路を通過した前記第１のクロック信号が前記第２のクロック信号となる、請求項１に記載のクロックツリー生成方法。
【請求項４】
前記第１の外部電源電圧のレベルと前記第２の外部電源電圧のレベルとは同じである、請求項１から請求項３までのいずれかに記載のクロックツリー生成方法。
【請求項５】
前記第１の外部電源電圧のレベルと前記第２の外部電源電圧のレベルとは異なる、請求項１から請求項３までのいずれかに記載のクロックツリー生成方法。
【請求項６】
第１の外部電源電圧が供給される第１の電源領域と、
第２の外部電源電圧が供給される第２の電源領域と、
前記第１の電源領域に設けられ、第１および第２のクロック信号を生成するクロック発生回路と、
前記第２の電源領域に設けられ、前記第１および第２のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成するプログラムであって、
前記クロック発生回路から前記内部回路にそれぞれ前記第１および第２のクロック信号を伝達するための第１および第２の経路を設け、
前記第１の電源領域内の前記第１および第２の経路にそれぞれ第１および第２のアンカーバッファを配置し、
同じ遅延時間を有する第１および第２の遅延回路を前記第２の電源領域内の前記第１および第２の経路にそれぞれ配置し、
同じ遅延時間を有する第３および第４の遅延回路を前記第１および第２のアンカーバッファの入力ノード側の前記第１および第２の経路にそれぞれ配置する、クロックツリー生成プログラム。
【請求項７】
請求項６に記載のクロックツリー生成プログラムを記録した、コンピュータによって読み取り可能な記録媒体。
【請求項８】
第１の外部電源電圧が供給される第１の電源領域と、
第２の外部電源電圧が供給される第２の電源領域と、
前記第１の電源領域に設けられ、第１および第２のクロック信号を生成するクロック発生回路と、
前記第２の電源領域に設けられ、前記第１および第２のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成する装置であって、
前記クロック発生回路から前記内部回路にそれぞれ前記第１および第２のクロック信号を伝達するための第１および第２の経路を設け、
前記第１の電源領域内の前記第１および第２の経路にそれぞれ第１および第２のアンカーバッファを配置し、
同じ遅延時間を有する第１および第２の遅延回路を前記第２の電源領域内の前記第１および第２の経路にそれぞれ配置し、
同じ遅延時間を有する第３および第４の遅延回路を前記第１および第２のアンカーバッファの入力ノード側の前記第１および第２の経路にそれぞれ配置する、クロックツリー生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置に関し、特に、第１および第２の電源領域を備えた半導体装置においてクロックツリーを生成するクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置に関する。
【背景技術】
【０００２】
従来より、第１の外部電源電圧が供給される第１の電源領域と、第２の外部電源電圧が供給される第２の電源領域とを備えた半導体装置がある（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３０１４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような半導体装置において、第１および第２のクロック信号を発生するクロック発生回路を第１の電源領域に設け、第１および第２のクロック信号に同期して動作する内部回路を第２の電源領域に設け、クロック発生回路と内部回路の間にクロックツリーを設けたい場合がある。この場合、第１および第２の外部電源電圧の各々が独立に変動すると、第１および第２のクロック信号の遅延時間に差が発生し、内部回路が誤動作すると言う問題がある（図７参照）。
【０００５】
それゆえに、この発明の主たる目的は、外部電源電圧が変動した場合でも、安定に動作する半導体装置を実現することが可能なクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明に係るクロックツリー生成方法は、第１の外部電源電圧が供給される第１の電源領域と、第２の外部電源電圧が供給される第２の電源領域と、第１の電源領域に設けられ、第１および第２のクロック信号を生成するクロック発生回路と、第２の電源領域に設けられ、第１および第２のクロック信号に同期して動作する内部回路とを備えた半導体装置において、クロック発生回路と内部回路の間にクロックツリーを生成する方法であって、クロック発生回路から内部回路にそれぞれ第１および第２のクロック信号を伝達するための第１および第２の経路を設け、第１の電源領域内の第１および第２の経路にそれぞれ第１および第２のアンカーバッファを配置し、同じ遅延時間を有する第１および第２の遅延回路を第２の電源領域内の第１および第２の経路にそれぞれ配置し、同じ遅延時間を有する第３および第４の遅延回路を第１および第２のアンカーバッファの入力バッファ側の第１および第２の経路にそれぞれ配置するものである。
【発明の効果】
【０００７】
この発明に係るクロックツリー生成方法では、クロック発生回路から内部回路にそれぞれ第１および第２のクロック信号を伝達するための第１および第２の経路を設け、第１の電源領域内の第１および第２の経路にそれぞれ第１および第２のアンカーバッファを配置し、第１および第２の遅延回路を第２の電源領域内の第１および第２の経路にそれぞれ配置し、第３および第４の遅延回路を第１および第２のアンカーバッファの入力ノード側の第１および第２の経路にそれぞれ配置する。したがって、第１および第２の外部電源電圧の各々が独立に変動した場合でも、第１および第２のクロック信号の遅延時間は互いに等しくなり、半導体装置は安定に動作する。
【図面の簡単な説明】
【０００８】
【図１】この発明の一実施の形態による集積回路設計装置の構成を示すブロック図である。
【図２】図１に示した設計ツールの動作を示すフローチャートである。
【図３】図２に示したＣＴＳの対象となる半導体チップのレイアウトを示す回路ブロック図である。
【図４】ＣＴＳの第１の工程を示す回路ブロック図である。
【図５】ＣＴＳの第２の工程を示す回路ブロック図である。
【図６】ＣＴＳの第３の工程を示す回路ブロック図である。
【図７】本実施の形態の比較例を示す回路ブロック図である。
【図８】本実施の形態の変更例を示す回路ブロック図である。
【発明を実施するための形態】
【０００９】
本発明の一実施の形態による集積回路設計装置は、図１に示すように、コンピュータ１、入力装置２、表示装置３、および設計ツール４を備える。コンピュータ１は、たとえば、パーソナルコンピュータ、ワークステーションなどである。入力装置２は、たとえばキーボードおよびマウスであり、コンピュータ１に情報を入力するために使用される。表示装置３は、たとえば液晶表示装置であり、情報を画面に表示する。
【００１０】
設計ツール４は、コンピュータ１にインストールされる。設計ツール４は、プログラム５と記憶部１０を含む。プログラム５は、配置部６、タイミング最適化部７、ＣＴＳ（clock tree synthesis：クロックツリー合成）部８、および配線部９を含む。記憶部１０には、ネットリスト１１およびライブラリ１２が格納される。
【００１１】
なお、プログラム５は、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータ１によって読み取り可能な記録媒体に記録され、コンピュータ１によって記録媒体から読み出されることによって実行される。また、このプログラム５は、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【００１２】
設計者は、回路の通常動作を記述したＲＴＬ（Register transfer level：レジスタ転送レベル）を作成し、作成したＲＴＬ記述を論理合成ツール（図示せず）に入力し、ネットリスト１１を作成する。また、設計者は、作成したネットリスト１１を記憶部１０に記憶させる。設計ツール４は、ネットリスト１１およびライブラリ１２に基いて自動配置を行なう。
【００１３】
図２は、設計ツール４の動作を示すフローチャートである。ステップＳ１において、コンピュータ１にインストールされたプログラム５の配置部６は、記憶部１０からネットリスト１１、タイミング制約などを読み込み、基本素子を半導体チップ上に最適に配置する。ステップＳ２において、タイミング最適化部７は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するようにタイミングの最適化を行なう。
【００１４】
ステップＳ３において、ＣＴＳ部８は、クロックツリーを生成し、最適化することによってクロック遅延を調整する。ステップＳ４において、タイミング最適化部７は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するように再度、タイミングの最適化を行なう。
【００１５】
ステップＳ５において、配線部９は、配置された基本素子間を配線によって接続する。ステップＳ６において、タイミング最適化部７は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するように、配線後の配線抵抗、配線容量を考慮して再度、タイミングの最適化を行なう。
【００１６】
次に、この集積回路設計装置の特徴となるＣＴＳ部８の動作について説明する。図３は、ＣＴＳの対象となる半導体チップのレイアウトを示すブロック図である。図３において、この半導体チップは、外部電源電圧ＶＤＤ１が供給される電源領域Ａと、外部電源電圧ＶＤＤ２が供給される電源領域Ｂとを備える。外部電源電圧ＶＤＤ１とＶＤＤ２は、同じ電圧（たとえば、１．２Ｖ）であるが、外部から半導体チップに別々に供給されている。これにより、スタンバイ時（あるいは待機時）は電源領域Ａのみに外部電源電圧ＶＤＤ１を供給し、アクティブ時（あるいは受信時）は両方の電源領域Ａ，Ｂに外部電源電圧ＶＤＤ２を供給することが可能となり、消費電流の低減化を図ることができる。また、電源領域Ａ，Ｂのうちの一方の電源領域で発生した電源電圧の変動が他方の電源領域に悪影響を与えることを防止することができる。
【００１７】
電源領域ＡにはＰＬＬ(Phase Locked Loop：位相同期ループ)回路２０および分周回路２１が配置され、電源領域Ｂにはフリップフロップ２２，２３が配置されている。ＰＬＬ回路２０は、参照クロック信号（図示せず）に同期してクロック信号ＣＬＫ１を生成する。クロック信号ＣＬＫ１は、経路Ｌ１を介してフリップフロップ２２のクロック端子（Ｃ）に与えられるとともに、分周回路２１に与えられる。分周回路２１は、クロック信号ＣＬＫ１を分周してクロック信号ＣＬＫ２を生成する。クロック信号ＣＬＫ２は、経路Ｌ２を介してフリップフロップ２３のクロック端子（Ｃ）に与えられる。
【００１８】
フリップフロップ２２は、クロック信号ＣＬＫ１のたとえば立ち上がりエッジに応答して入力信号Ｅを取り込み、取り込んだ信号Ｅを保持および出力する。フリップフロップ２３は、クロック信号ＣＬＫ２のたとえば立ち上がりエッジに応答してフリップフロップ２２の出力信号を取り込み、取り込んだ信号を保持および出力する。なお、実際には、フリップフロップ２２，２３の各々のクロック端子には、多数のフリップフロップのクロック端子が接続されている。
【００１９】
まずＣＴＳ部８は、図４に示すように、電源領域Ａの電源領域Ｂ側の端部において、経路Ｌ１，Ｌ２にそれぞれアンカーバッファＢ１，Ｂ２を挿入および配置する。次にＣＴＳ部８は、図５に示すように、アンカーバッファＢ１，Ｂ２の出力ノードをＣＴＳ起点とし、電源領域Ｂにおいて経路Ｌ１，Ｌ２にそれぞれ遅延回路Ｄ１，Ｄ２を挿入および配置する。遅延回路Ｄ１，Ｄ２の各々は、たとえば、直列接続された１または２以上のバッファを含む。また、ＣＴＳ部８は、電源領域Ｂにおける経路Ｌ１の遅延時間と電源領域Ｂにおける経路Ｌ２の遅延時間とが同じになるように、遅延回路Ｄ１，Ｄ２の各々の負荷容量などを調整する。
【００２０】
次いでＣＴＳ部８は、図６に示すように、ＰＬＬ回路２０の出力ノードをＣＴＳ起点とし、アンカーバッファＢ１，Ｂ２の入力ノードをリーフポイントとし、電源領域Ａにおいて経路Ｌ１，Ｌ２にそれぞれ遅延回路Ｄ３，Ｄ４を挿入および配置する。遅延回路Ｄ３，Ｄ４は、それぞれアンカーバッファＢ１，Ｂ２の入力ノードよりもＣＴＳ起点側に配置される。遅延回路Ｄ３，Ｄ４の各々は、たとえば、直列接続された１または２以上のバッファを含む。また、ＣＴＳ部８は、電源領域Ａにおける経路Ｌ１の遅延時間と電源領域Ａにおける経路Ｌ２の遅延時間とが同じになるように、遅延回路Ｄ３，Ｄ４の各々の負荷容量などを調整する。
【００２１】
図７は、本実施の形態１の比較例を示すブロック図であって、図６と対比される図である。図７において、この比較例では、ＰＬＬ回路２０の出力ノードをＣＴＳ起点とし、３段のバッファ３０〜３２が経路Ｌ１に挿入および配置され、３段のバッファ３３〜３５が経路Ｌ２に挿入および配置される。この比較例では、電源領域Ａ，Ｂを考慮せずにバッファ３０〜３５を配置した結果、電源領域Ａにバッファ３０，３１，３３を配置し、電源領域Ｂにバッファ３２，３４，３５を配置したものとする。
【００２２】
外部電源電圧ＶＤＤ１，ＶＤＤ２がともに１．２Ｖに維持されている場合、バッファ３０〜３５の各々の遅延時間を１ｎｓとすると、バッファ３０〜３２の遅延時間Ｔｄ１とバッファ３３〜３５の遅延時間Ｔｄ２とはともに３ｎｓとなり、同じになる。この場合、フリップフロップ２２，２３のクロック端子（Ｃ）において、クロック信号ＣＬＫ１，ＣＬＫ２のスキューは０になる。
【００２３】
しかし、実際に半導体チップを動作させる場合、外部電源電圧ＶＤＤ１，ＶＤＤ２がそれぞれ１．１Ｖ，１．２Ｖになるときがある。外部電源電圧ＶＤＤ１が１．２Ｖから１．１Ｖに低下した場合、バッファ３０，３１，３３の各々の遅延時間が１０％遅くなって１．１ｎｓになるとすると、Ｔｄ１＝１．１＋１．１＋１．０＝３．２ｎｓとなり、Ｔｄ２＝１．１＋１．０＋１．０＝３．１ｎｓとなる。この場合、フリップフロップ２２，２３のクロック端子（Ｃ）において、クロック信号ＣＬＫ１，ＣＬＫ２のスキューは０．１ｎｓとなり、シミュレーションで検証したタイミングと異なる条件になってしまう。したがって、比較例の半導体装置は、外部電源電圧ＶＤＤ１，ＶＤＤ２が変動した場合、誤動作する可能性がある。
【００２４】
これに対して、本実施の形態では、図６に示すように、遅延回路Ｄ３の遅延時間と遅延回路Ｄ４の遅延時間は等しく、アンカーバッファＢ１の遅延時間とアンカーバッファＢ２の遅延時間とは等しく、遅延回路Ｄ１の遅延時間と遅延回路Ｄ２の遅延時間とは等しい。したがって、外部電源電圧ＶＤＤ１とＶＤＤ２が電圧変動によって互いに異なる電圧になった場合でも、クロック信号ＣＬＫ１の遅延時間とクロック信号ＣＬＫ２の遅延時間とは同じになり、クロック信号ＣＬＫ１とＣＬＫ２のスキューは０に維持される。よって、本実施の形態の半導体チップは、外部電源電圧ＶＤＤ１，ＶＤＤ２が変動しても安定に動作する。
【００２５】
図８は、本実施の形態の変更例を示すブロック図であって、図６と対比される図である。図８において、この変更例では、分周回路２１がゲート回路４０で置換される。ゲート回路４０は、制御信号ＦとＰＬＬ回路２０からのクロック信号ＣＬＫ１とを受け、制御信号Ｆが活性化レベル（たとえば「Ｈ」レベル）にされた場合はクロック信号ＣＬＫ１を通過させ、制御信号Ｆが非活性化レベル（たとえば「Ｌ」レベル）にされた場合はクロック信号ＣＬＫ１を遮断する。ゲート回路４０は、たとえば、ＡＮＤゲート、ＮＡＮＤゲート、ＯＲゲート、ＮＯＲゲートなどである。ゲート回路４０を通過したクロック信号ＣＬＫ１がクロック信号ＣＬＫ２となる。この変更例でも、実施の形態と同じ効果が得られる。
【００２６】
なお、上記実施の形態および変更例では、外部電源電圧ＶＤＤ１，ＶＤＤ２が安定している場合にはＶＤＤ１＝ＶＤＤ２である半導体チップについて本願発明が適用された場合について説明したが、外部電源電圧ＶＤＤ１，ＶＤＤ２が安定している場合にはＶＤＤ１とＶＤＤ２が異なる半導体チップについても本願発明は適用可能である。
【００２７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００２８】
１  コンピュータ、２  入力装置、３  表示装置、４  設計ツール、５  プログラム、６  配置部、７  タイミング最適化部、８  ＣＴＳ部、９  配線部、１０  記憶部、１１  ネットリスト、１２  ライブラリ、Ａ，Ｂ  電源領域、２０  ＰＬＬ回路、２１  分周回路、２２，２３  フリップフロップ、Ｌ１，Ｌ２  経路、Ｂ１，Ｂ２  アンカーバッファ、Ｄ１〜Ｄ４  遅延回路、３０〜３５  バッファ、４０  ゲート回路。
【図１】
2012238139.tif 000003
【図２】
2012238139.tif 000004
【図３】
2012238139.tif 000005
【図４】
2012238139.tif 000006
【図５】
2012238139.tif 000007
【図６】
2012238139.tif 000008
【図７】
2012238139.tif 000009
【図８】
2012238139.tif 000010