説明

クロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置

【課題】外部電源電圧が変動した場合でも、安定に動作する半導体装置を実現することが可能なクロックツリー生成方法を提供する。
【解決手段】プログラム5のCTS部8は、電源領域Aから電源領域Bにクロック信号CLK1,CLK2を伝達する経路L1,L2を設け、電源領域A内の経路L1,L2にそれぞれアンカーバッファB1,B2を配置し、遅延回路D1,D2を電源領域B内の経路L1,L2にそれぞれ配置し、遅延回路D3,D4をアンカーバッファB1,B2の入力ノード側の経路L1,L2にそれぞれ配置する。したがって、外部電源電圧VDD1,VDD2が変動した場合でも、クロック信号CLK1,CLK2の遅延時間は同じになる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置に関し、特に、第1および第2の電源領域を備えた半導体装置においてクロックツリーを生成するクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置に関する。
【背景技術】
【0002】
従来より、第1の外部電源電圧が供給される第1の電源領域と、第2の外部電源電圧が供給される第2の電源領域とを備えた半導体装置がある(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−301493号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような半導体装置において、第1および第2のクロック信号を発生するクロック発生回路を第1の電源領域に設け、第1および第2のクロック信号に同期して動作する内部回路を第2の電源領域に設け、クロック発生回路と内部回路の間にクロックツリーを設けたい場合がある。この場合、第1および第2の外部電源電圧の各々が独立に変動すると、第1および第2のクロック信号の遅延時間に差が発生し、内部回路が誤動作すると言う問題がある(図7参照)。
【0005】
それゆえに、この発明の主たる目的は、外部電源電圧が変動した場合でも、安定に動作する半導体装置を実現することが可能なクロックツリー生成方法、クロックツリー生成プログラム、記録媒体、およびクロックツリー生成装置を提供することである。
【課題を解決するための手段】
【0006】
この発明に係るクロックツリー生成方法は、第1の外部電源電圧が供給される第1の電源領域と、第2の外部電源電圧が供給される第2の電源領域と、第1の電源領域に設けられ、第1および第2のクロック信号を生成するクロック発生回路と、第2の電源領域に設けられ、第1および第2のクロック信号に同期して動作する内部回路とを備えた半導体装置において、クロック発生回路と内部回路の間にクロックツリーを生成する方法であって、クロック発生回路から内部回路にそれぞれ第1および第2のクロック信号を伝達するための第1および第2の経路を設け、第1の電源領域内の第1および第2の経路にそれぞれ第1および第2のアンカーバッファを配置し、同じ遅延時間を有する第1および第2の遅延回路を第2の電源領域内の第1および第2の経路にそれぞれ配置し、同じ遅延時間を有する第3および第4の遅延回路を第1および第2のアンカーバッファの入力バッファ側の第1および第2の経路にそれぞれ配置するものである。
【発明の効果】
【0007】
この発明に係るクロックツリー生成方法では、クロック発生回路から内部回路にそれぞれ第1および第2のクロック信号を伝達するための第1および第2の経路を設け、第1の電源領域内の第1および第2の経路にそれぞれ第1および第2のアンカーバッファを配置し、第1および第2の遅延回路を第2の電源領域内の第1および第2の経路にそれぞれ配置し、第3および第4の遅延回路を第1および第2のアンカーバッファの入力ノード側の第1および第2の経路にそれぞれ配置する。したがって、第1および第2の外部電源電圧の各々が独立に変動した場合でも、第1および第2のクロック信号の遅延時間は互いに等しくなり、半導体装置は安定に動作する。
【図面の簡単な説明】
【0008】
【図1】この発明の一実施の形態による集積回路設計装置の構成を示すブロック図である。
【図2】図1に示した設計ツールの動作を示すフローチャートである。
【図3】図2に示したCTSの対象となる半導体チップのレイアウトを示す回路ブロック図である。
【図4】CTSの第1の工程を示す回路ブロック図である。
【図5】CTSの第2の工程を示す回路ブロック図である。
【図6】CTSの第3の工程を示す回路ブロック図である。
【図7】本実施の形態の比較例を示す回路ブロック図である。
【図8】本実施の形態の変更例を示す回路ブロック図である。
【発明を実施するための形態】
【0009】
本発明の一実施の形態による集積回路設計装置は、図1に示すように、コンピュータ1、入力装置2、表示装置3、および設計ツール4を備える。コンピュータ1は、たとえば、パーソナルコンピュータ、ワークステーションなどである。入力装置2は、たとえばキーボードおよびマウスであり、コンピュータ1に情報を入力するために使用される。表示装置3は、たとえば液晶表示装置であり、情報を画面に表示する。
【0010】
設計ツール4は、コンピュータ1にインストールされる。設計ツール4は、プログラム5と記憶部10を含む。プログラム5は、配置部6、タイミング最適化部7、CTS(clock tree synthesis:クロックツリー合成)部8、および配線部9を含む。記憶部10には、ネットリスト11およびライブラリ12が格納される。
【0011】
なお、プログラム5は、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータ1によって読み取り可能な記録媒体に記録され、コンピュータ1によって記録媒体から読み出されることによって実行される。また、このプログラム5は、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【0012】
設計者は、回路の通常動作を記述したRTL(Register transfer level:レジスタ転送レベル)を作成し、作成したRTL記述を論理合成ツール(図示せず)に入力し、ネットリスト11を作成する。また、設計者は、作成したネットリスト11を記憶部10に記憶させる。設計ツール4は、ネットリスト11およびライブラリ12に基いて自動配置を行なう。
【0013】
図2は、設計ツール4の動作を示すフローチャートである。ステップS1において、コンピュータ1にインストールされたプログラム5の配置部6は、記憶部10からネットリスト11、タイミング制約などを読み込み、基本素子を半導体チップ上に最適に配置する。ステップS2において、タイミング最適化部7は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するようにタイミングの最適化を行なう。
【0014】
ステップS3において、CTS部8は、クロックツリーを生成し、最適化することによってクロック遅延を調整する。ステップS4において、タイミング最適化部7は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するように再度、タイミングの最適化を行なう。
【0015】
ステップS5において、配線部9は、配置された基本素子間を配線によって接続する。ステップS6において、タイミング最適化部7は、配置された基本素子の種類の変更などを行なうことによって遅延値を調整し、回路が仕様で定められたタイミングで正常動作するように、配線後の配線抵抗、配線容量を考慮して再度、タイミングの最適化を行なう。
【0016】
次に、この集積回路設計装置の特徴となるCTS部8の動作について説明する。図3は、CTSの対象となる半導体チップのレイアウトを示すブロック図である。図3において、この半導体チップは、外部電源電圧VDD1が供給される電源領域Aと、外部電源電圧VDD2が供給される電源領域Bとを備える。外部電源電圧VDD1とVDD2は、同じ電圧(たとえば、1.2V)であるが、外部から半導体チップに別々に供給されている。これにより、スタンバイ時(あるいは待機時)は電源領域Aのみに外部電源電圧VDD1を供給し、アクティブ時(あるいは受信時)は両方の電源領域A,Bに外部電源電圧VDD2を供給することが可能となり、消費電流の低減化を図ることができる。また、電源領域A,Bのうちの一方の電源領域で発生した電源電圧の変動が他方の電源領域に悪影響を与えることを防止することができる。
【0017】
電源領域AにはPLL(Phase Locked Loop:位相同期ループ)回路20および分周回路21が配置され、電源領域Bにはフリップフロップ22,23が配置されている。PLL回路20は、参照クロック信号(図示せず)に同期してクロック信号CLK1を生成する。クロック信号CLK1は、経路L1を介してフリップフロップ22のクロック端子(C)に与えられるとともに、分周回路21に与えられる。分周回路21は、クロック信号CLK1を分周してクロック信号CLK2を生成する。クロック信号CLK2は、経路L2を介してフリップフロップ23のクロック端子(C)に与えられる。
【0018】
フリップフロップ22は、クロック信号CLK1のたとえば立ち上がりエッジに応答して入力信号Eを取り込み、取り込んだ信号Eを保持および出力する。フリップフロップ23は、クロック信号CLK2のたとえば立ち上がりエッジに応答してフリップフロップ22の出力信号を取り込み、取り込んだ信号を保持および出力する。なお、実際には、フリップフロップ22,23の各々のクロック端子には、多数のフリップフロップのクロック端子が接続されている。
【0019】
まずCTS部8は、図4に示すように、電源領域Aの電源領域B側の端部において、経路L1,L2にそれぞれアンカーバッファB1,B2を挿入および配置する。次にCTS部8は、図5に示すように、アンカーバッファB1,B2の出力ノードをCTS起点とし、電源領域Bにおいて経路L1,L2にそれぞれ遅延回路D1,D2を挿入および配置する。遅延回路D1,D2の各々は、たとえば、直列接続された1または2以上のバッファを含む。また、CTS部8は、電源領域Bにおける経路L1の遅延時間と電源領域Bにおける経路L2の遅延時間とが同じになるように、遅延回路D1,D2の各々の負荷容量などを調整する。
【0020】
次いでCTS部8は、図6に示すように、PLL回路20の出力ノードをCTS起点とし、アンカーバッファB1,B2の入力ノードをリーフポイントとし、電源領域Aにおいて経路L1,L2にそれぞれ遅延回路D3,D4を挿入および配置する。遅延回路D3,D4は、それぞれアンカーバッファB1,B2の入力ノードよりもCTS起点側に配置される。遅延回路D3,D4の各々は、たとえば、直列接続された1または2以上のバッファを含む。また、CTS部8は、電源領域Aにおける経路L1の遅延時間と電源領域Aにおける経路L2の遅延時間とが同じになるように、遅延回路D3,D4の各々の負荷容量などを調整する。
【0021】
図7は、本実施の形態1の比較例を示すブロック図であって、図6と対比される図である。図7において、この比較例では、PLL回路20の出力ノードをCTS起点とし、3段のバッファ30〜32が経路L1に挿入および配置され、3段のバッファ33〜35が経路L2に挿入および配置される。この比較例では、電源領域A,Bを考慮せずにバッファ30〜35を配置した結果、電源領域Aにバッファ30,31,33を配置し、電源領域Bにバッファ32,34,35を配置したものとする。
【0022】
外部電源電圧VDD1,VDD2がともに1.2Vに維持されている場合、バッファ30〜35の各々の遅延時間を1nsとすると、バッファ30〜32の遅延時間Td1とバッファ33〜35の遅延時間Td2とはともに3nsとなり、同じになる。この場合、フリップフロップ22,23のクロック端子(C)において、クロック信号CLK1,CLK2のスキューは0になる。
【0023】
しかし、実際に半導体チップを動作させる場合、外部電源電圧VDD1,VDD2がそれぞれ1.1V,1.2Vになるときがある。外部電源電圧VDD1が1.2Vから1.1Vに低下した場合、バッファ30,31,33の各々の遅延時間が10%遅くなって1.1nsになるとすると、Td1=1.1+1.1+1.0=3.2nsとなり、Td2=1.1+1.0+1.0=3.1nsとなる。この場合、フリップフロップ22,23のクロック端子(C)において、クロック信号CLK1,CLK2のスキューは0.1nsとなり、シミュレーションで検証したタイミングと異なる条件になってしまう。したがって、比較例の半導体装置は、外部電源電圧VDD1,VDD2が変動した場合、誤動作する可能性がある。
【0024】
これに対して、本実施の形態では、図6に示すように、遅延回路D3の遅延時間と遅延回路D4の遅延時間は等しく、アンカーバッファB1の遅延時間とアンカーバッファB2の遅延時間とは等しく、遅延回路D1の遅延時間と遅延回路D2の遅延時間とは等しい。したがって、外部電源電圧VDD1とVDD2が電圧変動によって互いに異なる電圧になった場合でも、クロック信号CLK1の遅延時間とクロック信号CLK2の遅延時間とは同じになり、クロック信号CLK1とCLK2のスキューは0に維持される。よって、本実施の形態の半導体チップは、外部電源電圧VDD1,VDD2が変動しても安定に動作する。
【0025】
図8は、本実施の形態の変更例を示すブロック図であって、図6と対比される図である。図8において、この変更例では、分周回路21がゲート回路40で置換される。ゲート回路40は、制御信号FとPLL回路20からのクロック信号CLK1とを受け、制御信号Fが活性化レベル(たとえば「H」レベル)にされた場合はクロック信号CLK1を通過させ、制御信号Fが非活性化レベル(たとえば「L」レベル)にされた場合はクロック信号CLK1を遮断する。ゲート回路40は、たとえば、ANDゲート、NANDゲート、ORゲート、NORゲートなどである。ゲート回路40を通過したクロック信号CLK1がクロック信号CLK2となる。この変更例でも、実施の形態と同じ効果が得られる。
【0026】
なお、上記実施の形態および変更例では、外部電源電圧VDD1,VDD2が安定している場合にはVDD1=VDD2である半導体チップについて本願発明が適用された場合について説明したが、外部電源電圧VDD1,VDD2が安定している場合にはVDD1とVDD2が異なる半導体チップについても本願発明は適用可能である。
【0027】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0028】
1 コンピュータ、2 入力装置、3 表示装置、4 設計ツール、5 プログラム、6 配置部、7 タイミング最適化部、8 CTS部、9 配線部、10 記憶部、11 ネットリスト、12 ライブラリ、A,B 電源領域、20 PLL回路、21 分周回路、22,23 フリップフロップ、L1,L2 経路、B1,B2 アンカーバッファ、D1〜D4 遅延回路、30〜35 バッファ、40 ゲート回路。

【特許請求の範囲】
【請求項1】
第1の外部電源電圧が供給される第1の電源領域と、
第2の外部電源電圧が供給される第2の電源領域と、
前記第1の電源領域に設けられ、第1および第2のクロック信号を生成するクロック発生回路と、
前記第2の電源領域に設けられ、前記第1および第2のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成する方法であって、
前記クロック発生回路から前記内部回路にそれぞれ前記第1および第2のクロック信号を伝達するための第1および第2の経路を設け、
前記第1の電源領域内の前記第1および第2の経路にそれぞれ第1および第2のアンカーバッファを配置し、
同じ遅延時間を有する第1および第2の遅延回路を前記第2の電源領域内の前記第1および第2の経路にそれぞれ配置し、
同じ遅延時間を有する第3および第4の遅延回路を前記第1および第2のアンカーバッファの入力ノード側の前記第1および第2の経路にそれぞれ配置する、クロックツリー生成方法。
【請求項2】
前記クロック発生回路は、
前記第1のクロック信号を生成するクロック発生源と、
前記クロック発生源で生成された前記第1のクロック信号を分周して前記第2のクロック信号を生成する分周回路とを含む、請求項1に記載のクロックツリー生成方法。
【請求項3】
前記クロック発生回路は、
前記第1のクロック信号を生成するクロック発生源と、
制御信号と前記クロック発生源で生成された前記第1のクロック信号とを受け、前記制御信号が活性化レベルの場合は前記第1のクロック信号を通過させ、前記制御信号が非活性化レベルの場合は前記第1のクロック信号を遮断するゲート回路とを含み、
前記ゲート回路を通過した前記第1のクロック信号が前記第2のクロック信号となる、請求項1に記載のクロックツリー生成方法。
【請求項4】
前記第1の外部電源電圧のレベルと前記第2の外部電源電圧のレベルとは同じである、請求項1から請求項3までのいずれかに記載のクロックツリー生成方法。
【請求項5】
前記第1の外部電源電圧のレベルと前記第2の外部電源電圧のレベルとは異なる、請求項1から請求項3までのいずれかに記載のクロックツリー生成方法。
【請求項6】
第1の外部電源電圧が供給される第1の電源領域と、
第2の外部電源電圧が供給される第2の電源領域と、
前記第1の電源領域に設けられ、第1および第2のクロック信号を生成するクロック発生回路と、
前記第2の電源領域に設けられ、前記第1および第2のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成するプログラムであって、
前記クロック発生回路から前記内部回路にそれぞれ前記第1および第2のクロック信号を伝達するための第1および第2の経路を設け、
前記第1の電源領域内の前記第1および第2の経路にそれぞれ第1および第2のアンカーバッファを配置し、
同じ遅延時間を有する第1および第2の遅延回路を前記第2の電源領域内の前記第1および第2の経路にそれぞれ配置し、
同じ遅延時間を有する第3および第4の遅延回路を前記第1および第2のアンカーバッファの入力ノード側の前記第1および第2の経路にそれぞれ配置する、クロックツリー生成プログラム。
【請求項7】
請求項6に記載のクロックツリー生成プログラムを記録した、コンピュータによって読み取り可能な記録媒体。
【請求項8】
第1の外部電源電圧が供給される第1の電源領域と、
第2の外部電源電圧が供給される第2の電源領域と、
前記第1の電源領域に設けられ、第1および第2のクロック信号を生成するクロック発生回路と、
前記第2の電源領域に設けられ、前記第1および第2のクロック信号に同期して動作する内部回路とを備えた半導体装置において、前記クロック発生回路と前記内部回路の間にクロックツリーを生成する装置であって、
前記クロック発生回路から前記内部回路にそれぞれ前記第1および第2のクロック信号を伝達するための第1および第2の経路を設け、
前記第1の電源領域内の前記第1および第2の経路にそれぞれ第1および第2のアンカーバッファを配置し、
同じ遅延時間を有する第1および第2の遅延回路を前記第2の電源領域内の前記第1および第2の経路にそれぞれ配置し、
同じ遅延時間を有する第3および第4の遅延回路を前記第1および第2のアンカーバッファの入力ノード側の前記第1および第2の経路にそれぞれ配置する、クロックツリー生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−238139(P2012−238139A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−105980(P2011−105980)
【出願日】平成23年5月11日(2011.5.11)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】