(57)【要約】【課題】従来のレイアウト方法では、グローバル配線において電源電圧の降下が発生する問題があった。【解決手段】本発明にかかるレイアウト方法は、電源配線によって分割される複数の部分領域毎に機能回路を形成する基本セルが配置される半導体装置において基本セル間の信号配線に遅延調整素子を挿入するレイアウト方法であって、複数の部分領域毎に配置される基本セル間の信号の遅延量に基づき遅延調整素子を配置して第１の配置情報を取得し、第１の配置情報に基づき複数の部分領域毎に遅延調整素子の消費電力の合計値を計算し、複数の部分領域のうち消費電力の合計値が所定値以上となる第１の部分領域内の遅延調整素子を、複数の部分領域のうち消費電力の合計値が所定値以下となる第２の部分領域に配置変更するものである。【選択図】図２
2007281113.tif 000002
【特許請求の範囲】
【請求項１】
電源配線によって分割される複数の部分領域毎に機能回路を形成する基本セルが配置される半導体装置において基本セル間の信号配線に遅延調整素子を挿入するレイアウト方法であって、
前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき前記遅延調整素子を配置して第１の配置情報を取得し、
前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を計算し、
前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の部分領域に配置変更するレイアウト方法。
【請求項２】
前記複数の部分領域は、それぞれ同電位の前記電源配線によって分割されることを特徴とする請求項１に記載のレイアウト方法。
【請求項３】
前記電源配線は、前記複数の部分領域に電源を供給することを特徴とする請求項１に記載のレイアウト方法。
【請求項４】
前記第１の部分領域と前記第２の部分領域とは互いに隣接した部分領域であることを特徴とする請求項１に記載のレイアウト方法。
【請求項５】
前記所定値は、前記複数の部分領域毎に設定される前記遅延調整素子の消費電力の合計の上限値であることを特徴とする請求項１に記載のレイアウト方法。
【請求項６】
前記遅延調整素子は、前記基本セルに接続されるクロック配線に挿入されるクロックバッファあるいはクロック制御回路であることを特徴とする請求項１に記載のレイアウト方法。
【請求項７】
電源配線によって分割される複数の部分領域毎に機能回路を形成する基本セルが配置される半導体装置において基本セル間の信号配線への遅延調整素子の挿入をコンピュータに実行させるプログラムであって、
前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき、前記基本セル間に前記遅延調整素子を挿入した第１の配置情報を生成し、
前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を電力計算部で計算し、
前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の部分領域に配置変更した第２の配置情報を生成するプログラム。
【請求項８】
電源配線によって分割される複数の部分領域毎に機能回路を形成する基本セルが配置される半導体装置において基本セル間の信号配線への遅延調整素子の挿入を実行する自動配置配線装置であって、
前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき、前記基本セル間に前記遅延調整素子を挿入した第１の配置情報を生成するレイアウト実行部と、
前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を計算する電力計算部と、
前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内を検索する判定部と、
前記第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の部分領域に配置変更した第２の配置情報を生成する再配置部とを有する自動配置配線装置。
【請求項９】
前記再配置部は、前記第２の配置情報で、前記第１の配置情報を上書きすることを特徴とする請求項８に記載の自動配置配線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は遅延調整素子のレイアウト方法に関し、特に回路が消費する電流による電源配線の電圧降下を考慮した遅延調整素子のレイアウト方法に関する。
【背景技術】
【０００２】
近年、大規模集積回路のレイアウト設計には、自動レイアウトツールが多く用いられている。この自動レイアウトツールは、チップレイアウトの概略を設定するフロアプランと回路図とに基づき、半導体素子及びその配線を自動的に行うものである。
【０００３】
一方、大規模集積回路では、プロセスの微細化と動作電源電圧の低電圧化とに伴い、信号の遅延が顕著になってきた。信号遅延は、配線の寄生抵抗、寄生容量、ゲートの寄生容量等に起因して発生する。この信号遅延による誤動作を防止するために、一般的にクロックツリーシンセシス（Clock Tree Synthesis：CTS）が構成される。ＣＴＳは、例えばクロック信号配線に挿入される信号の遅延量を設定するＣＴＳセル（例えば、クロックバッファ）をツリー状に配置したものである。ＣＴＳは、チップ内、あるいは回路ブロック内のクロック信号の位相を最適化する。これによって、タイミング誤差による回路の誤動作を防ぐことが可能である。このＣＴＳは、回路の基本動作を行う基本回路のレイアウトが完了した後に行われる。
【０００４】
また、大規模集積回路では、回路規模の増大、動作周波数の向上に伴い、回路の消費電流が増大している。そのため、チップ内の電源配線では、消費される電流と電源配線の寄生抵抗によって、電源電圧の低下（ＩＲドロップ）が発生する。近年の大規模集積回路は電源電圧が低電圧化しているため、このＩＲドロップが発生すると、回路が動作しない、あるいは回路動作が不安定になる問題がある。そこで、ＩＲドロップを考慮したレイアウト方法が特許文献１（従来例）に開示されている。
【０００５】
従来のレイアウト方法によってレイアウトされた半導体装置の一部分の概略図を図５に示す。従来のレイアウト方法は、基本セルを１次元に配列したロウを設定する。そして、このロウ毎に電圧降下を計算し、電圧降下量が予め設定される許容値以下となるようにロウ間で基本セルを移動する。その後、ＣＴＳセルの配置を行う。
【０００６】
ここで、ＣＴＳセルの配置について、さらに詳細に説明する。ＣＴＳセルの配置は、予め設定される内部領域毎に行われる。内部領域は、領域の周囲に沿うようにしてグローバル電源配線Ｇ−ＶＤＤとグローバル接地配線Ｇ−ＶＳＳとが配線される。グローバル電源配線Ｇ−ＶＤＤ及びグローバル接地配線Ｇ−ＶＳＳは、複数の内部領域に電源を供給する配線である。また、内部領域は、複数のロウを有している。ロウは、内部領域に電源を供給するローカル電源配線Ｌ−ＶＤＤとローカル接地配線Ｌ−ＶＳＳとによって挟まれる領域として設定される。ローカル電源配線Ｌ−ＶＤＤ及びローカル接地配線Ｌ−ＶＳＳは、それぞれグローバル電源配線Ｇ−ＶＤＤ及びグローバル接地配線Ｇ−ＶＳＳからビアを介して分岐した配線である。また、ローカル電源配線Ｌ−ＶＤＤ及びローカル接地配線Ｌ−ＶＳＳは、グローバル配線よりも細い配線である。
【０００７】
従来のレイアウト方法においては、まず、内部領域内でＣＴＳセルを配置する領域Ａを設定する。続いて、領域Ａ内のロウ毎の消費電流を計算し、消費電流の少ないロウを有する領域Ｃ設定する。その後、この領域Ｃ内のロウにＣＴＳセルを配置する。このとき配置したＣＴＳセルの数がそのロウの許容値を上回った場合、領域Ｃから許容値を上回ったロウを有する領域Ｄを除いた領域Ｅを設定する。そして、領域Ｄに配置されたＣＴＳセルを領域Ｅに移動する。
【０００８】
従って、従来のレイアウト方法によれば、内部領域内の基本セルとＣＴＳセルとが消費する電流の偏りを低減することが可能である。また、内部領域内でのＩＲドロップを抑制することが可能である。
【特許文献１】特開２００２−２１７３００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、一般的にＣＴＳセルは、クロックタイミング制約に対してクロック信号の遅延のマージンが少ない領域に集中して配置される傾向がある。つまり、ＣＴＳセルが配置される領域は、チップ内の所定の領域に偏る。つまり、グローバル電源配線Ｇ−ＶＤＤでのＩＲドロップが領域によって偏る。
【００１０】
これに対して、従来のレイアウト方法は、内部領域内でのＣＴＳ配置を最適化しているのみである。つまり、従来のレイアウト方法は、内部領域内のローカル電源配線で発生するＩＲドロップを抑制するのみである。従って、従来のレイアウト方法では、グローバル電源配線のＩＲドロップの偏りについては抑制することができない問題がある。
【課題を解決するための手段】
【００１１】
本発明にかかるレイアウト方法は、電源配線によって分割される複数の部分領域毎に機能回路を形成する基本セルが配置される半導体装置において基本セル間の信号配線に遅延調整素子を挿入するレイアウト方法であって、前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき前記遅延調整素子を配置して第１の配置情報を取得し、前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を計算し、前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の部分領域に配置変更するものである。
【００１２】
また、上記レイアウト方法は、前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき、前記基本セル間に前記遅延調整素子を挿入した第１の配置情報を生成し、前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を電力計算部で計算し、前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の領域に配置変更した第２の配置情報を生成するプログラムによってコンピュータに実行させることが可能である。
【００１３】
あるいは、前記複数の部分領域毎に配置される前記基本セル間の信号の遅延量に基づき、前記基本セル間に前記遅延調整素子を挿入した第１の配置情報を生成するレイアウト実行部と、前記第１の配置情報に基づき前記複数の部分領域毎に前記遅延調整素子の消費電力の合計値を計算する電力計算部と、前記複数の部分領域のうち前記消費電力の合計値が所定値以上となる第１の部分領域内を検索する判定部と、前記第１の部分領域内の前記遅延調整素子を、前記複数の部分領域のうち前記消費電力の合計値が前記所定値以下となる第２の領域に配置変更した第２の配置情報を生成する再配置部とを有する自動配置配線装置によっても実現可能である。
【００１４】
本発明にかかるレイアウト方法によれば、基本セル間の信号遅延に基づき配置された遅延調整素子の消費電力を部分領域毎に計算する。ここで、部分領域内に配置された遅延調整素子の消費電力の合計が所定値を上回っていた場合、遅延調整素子の消費電力の合計が所定値を上回っていた部分領域内の遅延調整素子を、遅延調整素子の消費電力の合計が所定値を下回っている部分領域に配置変更する。これによって、各部分領域の消費電力は所定値以下となり、また各部分領域間の消費電力の差は低減される。
【００１５】
つまり、本発明にかかるレイアウト方法によれば、部分領域間の消費電力差を低減することで、所定の電源配線への電力の集中を避けることが可能である。これによって、電源配線への電力集中によって発生する電源配線の電圧降下の低減と、エレクトロマイグレーション（ＥＭ）の低減とが可能である。
【発明の効果】
【００１６】
本発明によれば、グローバル配線における消費電力の偏りを抑制することが可能である。
【発明を実施するための最良の形態】
【００１７】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる半導体装置１の概略図を図１に示す。図１に示すように、実施の形態１にかかる半導体装置１は、チップの外周付近にパッド１０を有し、内部に機能回路領域１１を有している。機能回路領域１１は、例えば複数の部分領域１２を有している。部分領域１２は、機能回路領域１１に格子状に配列される。この部分領域１２についてさらに詳細に説明する。ここでは、一例として機能回路領域１１のうち、図１の破線で囲まれる領域２について説明する。領域２の拡大図を図２に示す。
【００１８】
図２に示すように領域２は、部分領域１２が４行（行列Ａ〜Ｄ）４列（列ａ〜ｄ）で配列されている。部分領域１２は、複数の部分領域１２に電源を供給するグローバル配線によって囲まれている。本実施の形態においては、部分領域１２は、複数の部分領域１２に電源電圧を供給するグローバル電源配線Ｇ−ＶＤＤ、あるいは複数の部分領域１２に接地電圧を供給するグローバル電源配線Ｇ−ＶＳＳに囲まれている。図２では、便宜的にグローバル電源配線Ｇ−ＶＤＤとグローバル接地配線Ｇ−ＶＳＳとをずらして示し、４辺ある辺のうち２辺がグローバル電源配線Ｇ−ＶＤＤとなり、他の２辺がグローバル接地配線Ｇ−ＶＳＳとなるように部分領域１２を示す。また、図示しないが、部分領域１２の内部の各回路には、グローバル配線から分岐したローカル配線によって電源が供給されている。ローカル配線は、グローバル配線よりも細く、積層される配線においてグローバル配線よりも下層に形成され、グローバル配線とビアを介して接続される。
【００１９】
また、部分領域１２は、それぞれ図示しない機能回路（例えば、基本セル）がレイアウトされる領域であり、基本セルに供給されるクロックのタイミングを調整するする遅延調整素子（例えば、ＣＴＳ（Clock Tree Synthesis）セル）を有している。それぞれの部分領域１２に配置されるＣＴＳセルの個数は、例えば基本セルに供給されるクロックをどれだけ調整するかに応じて決定される。ＣＴＳセルは、クロックが伝播するクロック配線に挿入され、クロックの遅延時間の制御、あるいはクロックの伝達を制御する。ＣＴＳセルは、例えばクロックバッファであっても良く、又はクロックを通過させるか否かを制御するクロック制御回路であっても良い。ＣＴＳセルでクロックの時間差又は位相差を制御することで、各基本セルの同期動作が可能になる。
【００２０】
ここで、ＣＴＳセルの配置について説明する。ＣＴＳセルの配置は、一般的に基本セルのレイアウトが完了した後に行われる。ＣＴＳセルは、基本セルのレイアウトと基本セル間の信号遅延を考慮し、例えば各基本セルに到達するクロックのタイミングバラツキが大きな領域に多く配置される。ＣＴＳセルは、クロック配線に挿入されるため、一般的に出力をハイレベルからロウレベル、あるいはロウレベルからハイレベルに遷移させる動作（トグル動作）を常に繰り返す。そのため、ＣＴＳセルの消費電力は、半導体装置に配置されるセルの中でも多くなる。従って、所定の部分領域にＣＴＳセルが集中した場合、その部分領域の消費電力が他の部分領域よりも大きくなり、グローバル配線に流れる電流量が局所的に大きくなる。これによって、例えば局所的に電源電圧が大きく降下することがある。
【００２１】
そこで、本実施の形態では、ＣＴＳセルの消費電力が多い部分領域に配置されるＣＴＳセルを他の部分領域に移動させる。本実施の形態のＣＴＳセルのレイアウト方法について詳細に説明する。以下の説明では、例えば列Ａかつ行ａに配置される部分領域１２を部分領域１２Ａａと示す。
【００２２】
一例として図２に示す場合について説明する。図２に示すように、本実施の形態の半導体装置１では、初期のＣＴＳセル設計段階で部分領域１２Ｃｂに他の部分領域よりも多くのＣＴＳセルが配置される。そのため部分領域１２Ｃｂの消費電力は他の部分領域よりも多くなる。そこで、本実施の形態では、部分領域１２Ｃｂに配置されるＣＴＳセルのうちの一つを他の領域（例えば、部分領域１２Ｃｃ）に移動させる。
【００２３】
ここで、本実施の形態のＣＴＳセルのレイアウトフローについて説明する。図３に本実施の形態のレイアウトのフローチャートを示す。ここで、本実施の形態のＣＴＳセルのレイアウトは、例えばコンピュータ等で自動配置配線ツールを用いてＣＴＳセルを配置する方法であって、コンピュータにＣＴＳセルの配置を行わせるプログラムを用いて行う。
【００２４】
本実施の形態のＣＴＳセルのレイアウトは、基本セルのレイアウトが完了した後で実行される。ＣＴＳセルのレイアウトが開始されると、まず基本セルがレイアウトされたレイアウト情報を解析し、基本セル配置情報Ｆ１と電源配線情報Ｆ２を生成する（ステップＳ１）。続いて、基本セル配置情報Ｆ１と電源配線情報Ｆ２とに基づき、基本セル間のクロックの遅延時間を算出し、ＣＴＳセルをいずれのクロック配線に挿入するかを解析し、必要なＣＴＳセルを生成する。このＣＴＳセルの情報は、ＣＴＳセル挿入情報Ｆ３として出力される。（ステップＳ２）。次に、ＣＴＳセル挿入情報Ｆ３と基本セル配置情報Ｆ１とに基づき、基本セル配置情報Ｆ１とチップレイアウト上でのＣＴＳセルの配置情報が記述された第１の配置情報（例えば、ＣＴＳセル配置情報Ｆ４）を生成する（ステップＳ３）。このＣＴＳセル配置情報Ｆ４には、ＣＴＳセル間の配線の太さや長さ情報とＣＴＳセル間の接続情報とが記述される。また、ＣＴＳセル配置情報Ｆ４は、基本セル間の信号遅延を考慮したＣＴＳセルの配置情報である。ＣＴＳセル配置情報Ｆ４とＣＴＳセル毎の電力／トグル情報Ｆ５とクロックトグル率情報Ｆ６とに基づきＣＴＳセル毎の電力計算を行い、ＣＴＳセル毎の電力情報Ｆ７を生成する（ステップＳ４）。
【００２５】
ここで、ＣＴＳセル毎の電力／トグル情報Ｆ５とクロックトグル率情報Ｆ６とは、予め準備される情報である。ＣＴＳセル毎の電力／トグル情報Ｆ５には、ＣＴＳセルの種類毎に１回のトグル動作で消費される電力の情報が記述されている。例えば、配線の単位面積あたりの容量値をＣｌｉｎｅ、ＣＴＳセル間の配線長をＬｌｉｎｅ、次段に接続されるＣＴＳセルの入力容量をＣｉｎとした場合に、Ｃｌｉｎｅ×Ｌｌｉｎｅ＋Ｃｉｎという式が記述される。また、クロックトグル率情報Ｆ６には、クロックのトグル率情報が記述され、例えばクロックの遷移周期（周波数の逆数）が記述される。ステップＳ４では、ＣＴＳセル配置情報Ｆ４から各ＣＴＳセルに対応したＣｌｉｎｅ、Ｌｌｉｎｅ、Ｃｉｎを抽出し、ＣＴＳセル毎の電力／トグル情報Ｆ５とクロックトグル率情報Ｆ６とに基づきＣＴＳセル毎の消費電力を算出する。
【００２６】
一方、電源配線情報Ｆ２と電力上限値情報Ｆ８とに基づきチップ上の部分領域に関する情報を抽出し、部分領域区切り情報Ｆ９と部分領域毎の電力上限値情報Ｆ１０とを生成する（ステップＳ５）。電力上限値情報Ｆ８には、例えば、グローバル配線の単位面積あたりに流すことが可能な電流量が記述されている。電力上限値情報Ｆ８は予め準備されたものである。また、部分領域区切り情報Ｆ９は、例えばチップ上の各部分領域の座標が記述されており、部分領域の面積あるいは外形に関する情報である。部分領域毎の電力上限値情報Ｆ１０は、例えば各内部領域に配置されたＣＴＳセルの消費電力の上限値の情報が記述される。
【００２７】
続いて、ＣＴＳセル毎の電力情報Ｆ７と部分領域区切り情報Ｆ９とに基づき部分領域毎のＣＴＳセルの消費電力の合計値を計算し、部分領域毎の電力情報Ｆ１１を生成する（ステップＳ６）。部分領域毎の電力情報Ｆ１１には、部分領域毎のＣＴＳセルの消費電力の合計値が記述される。
【００２８】
次に、部分領域毎の電力情報Ｆ１１と所定値（例えば、部分領域毎の電力上限値情報Ｆ１０）とを比較し、各部分領域でのＣＴＳセルの消費電力の合計値が部分領域毎の電力上限値情報Ｆ１０に記述された上限値以下であるかを判断する（ステップＳ７）。ステップＳ７で全ての部分領域において、ＣＴＳセルの消費電力の合計値が部分領域毎の電力上限値情報Ｆ１０に記述された対応する上限値以下である場合（ＯＫの枝）、クロックスキューを計算する（ステップＳ８）。クロックスキューとは、各基本セルに到達するクロック信号のずれ（相対的な遅延時間）を規定するものである。ステップＳ８で計算されたクロックスキューが規格値の範囲内であればＣＴＳレイアウトを終了する（ステップＳ９のＯＫの枝）。
【００２９】
ステップＳ７又はステップＳ８の判断フローにおいて、それぞれの条件を満たせなかった場合（各ステップのＮＧの枝）、条件を満たせなかった部分領域のＣＴＳセルの再配置を行う（ステップＳ１０）。ステップＳ１０では、ステップＳ７、Ｓ９の条件を満たせなかった部分領域（仮に第１の部分領域とする）に配置されているＣＴＳセルのいずれかを他の領域（仮に第２の部分領域）に配置変更する。この第１の部分領域と第２の部分領域とは、互いに隣接する部分領域でも良く、離れた位置にある部分領域でも良い。また、第２の部分領域は、ＣＴＳセルの消費電力が少ない領域であることが好ましい。ステップＳ１０では、ＣＴＳセルを再配置した第２の配置情報（例えば、第２のＣＴＳセル配置情報）を生成し、ステップＳ１０が実行される前のＣＴＳセル配置情報Ｆ４を第２のは位置情報で上書きする。
【００３０】
その後、ステップＳ４からステップＳ９をステップＳ９の条件を満たすまで繰り返し行う。ここで、繰り返し計算を何回行ってもレイアウトが定まらない場合を想定し、ステップＳ４からステップＳ９の繰り返し計算の回数に予め制限を設けておくと良い。この場合、ＣＴＳセルを挿入したレイアウトの情報と共にワーニングメッセージを出力すると良い。
【００３１】
上記説明より、本実施の形態のレイアウト方法によれば、領域内に配置されるＣＴＳセルの消費電力の合計値が大きい部分領域に配置されるＣＴＳセルを、ＣＴＳセルの消費電力の合計値が小さい部分領域に移動させる。これによって、部分領域間の消費電力の差を低減することで、グローバル配線に流れる電流量の偏りを低減することが可能である。これによって、グローバル配線で発生する電源電圧降下が平均化されるため、局所的に大きな電源電圧降下を防止することが可能である。また、電源電圧降下が平均化されることで、電源電圧降下量を小さくすることが可能である。つまり、局所的に大きな電源電圧降下に起因した回路の誤動作を防ぐことが可能である。
【００３２】
また、グローバル配線に流れる電流量の偏りを低減することで、グローバル配線に局所的に大電流が流れることが無くなる。配線に大電流が流れると、エレクトロマイグレーション（ＥＭ）が発生する。ＥＭが発生すると、配線の断線、あるいは配線の劣化等の問題がおきる。従来のレイアウト方法では、部分領域内のローカル配線での電流の偏りは低減できたが、グローバル配線における電流の偏りは防止することができなかった。しかしながら、本実施の形態のレイアウト方法によれば、グローバル配線に流れる電流量の偏りを低減することが可能であり、ＥＭの発生を防止することが可能である。
【００３３】
一方、従来のレイアウト方法では、ロウ毎に基本セルとＣＴＳセルの消費電力を計算していたが、本実施の形態のレイアウト方法では、部分領域内のＣＴＳセルの消費電力のみを計算の対象とする。これによって、本実施の形態のレイアウト方法は、従来のレイアウト方法に比べ、電力計算における計算量を削減することができる。近年の大規模集積回路においては、回路規模が増大しているため、基本セルとＣＴＳセルとの消費電力をすべて計算していたのでは、計算に莫大な時間を要することになる。これに対し、本実施の形態のレイアウト方法によれば、ＣＴＳセルの消費電力のみを計算対象とすることで、現実的な時間で計算を行うことが可能である。
【００３４】
ここで、上記のＣＴＳのレイアウトは、コンピュータ等の演算装置を用いて実行する、あるいは上記ＣＴＳのレイアウトを実行するプログラムをコンピュータで実行することで行う。一例として、上記ＣＴＳのレイアウトを実行する自動配置配線装置３について説明する。本実施の形態の自動配置配線装置３のブロック図を図４に示す。図４に示すように、自動配置配線装置３は、レイアウト実行部３１、記憶部３２、部分領域分割部３３、電力計算部３４、判定部３５、再配置部３６を有している。
【００３５】
レイアウト実行部３１は、レイアウト解析部３１１、ＣＴＳ生成部３１２、ＣＴＳセル配置部３１３、レイアウト情報記憶部３１４を有している。レイアウト解析部３１１は、入力される基本セルレイアウト情報ＦＳに基づき、図３のステップＳ１を実行する。ＣＴＳ生成部３１２は、図３のステップＳ２を実行する。ＣＴＳセル配置部３１３は、図３のステップＳ３を実行する。レイアウト情報記憶部３１４は、基本セル配置情報Ｆ１、電源配線情報Ｆ２、ＣＴＳ挿入情報Ｆ３を記憶する。なお、レイアウト情報記憶部３１４は、後述する記憶部３２に含まれる構成でも良い。
【００３６】
記憶部３２は、ＣＴＳセル配置情報記憶部３２１、基本設定情報記憶部３２２、領域情報記憶部３２３を有している。ＣＴＳセル配置情報記憶部３２１は、ＣＴＳセル配置情報Ｆ４を記憶する。基本設定情報記憶部３２２は、ＣＴＳセル毎の電力／トグル情報Ｆ５、クロックトグル率情報Ｆ６、電力上限値情報Ｆ８を記憶する。領域情報記憶部３２３は、部分領域区切り情報Ｆ９、部分領域毎の電力上限値情報Ｆ１０を記憶する。部分領域分割部３３は、図３のステップＳ５を実行する。
【００３７】
電力計算部３４は、ＣＴＳセル電力計算部３４１、ＣＴＳセル毎の電力情報記憶部３４２、部分領域電力計算部３４３、部分領域毎の電力情報記憶部３４４を有している。ＣＴＳセル電力計算部３４１は、図３のステップＳ４を実行する。ＣＴＳセル毎の電力情報記憶部３４２は、ＣＴＳセル毎の電力情報Ｆ７を記憶する。部分領域電力計算部３４３は、図３のステップＳ６を実行する。部分領域毎の電力情報記憶部３４４は、部分領域毎の電力情報Ｆ１１を記憶する。なお、ＣＴＳセル毎の電力情報記憶部３４２と部分領域毎の電力情報記憶部３４４とは、記憶部３２に含まれる構成としても良い。
【００３８】
判定部３５は、電力判定部３５１は、電力判定部３５１、クロックスキュー計算部３５２、スキュー判定部３５３を有している。電力判定部３５１は、図３のステップＳ７を実行する。クロックスキュー計算部３５２は、図３のステップＳ８を実行する。スキュー判定部３５３は、図３のステップＳ９を実行する。また、スキュー判定部３５３は、判定がＯＫであった場合、基本セル配置情報及びＣＴＳセル配置情報が記述された基本セル／ＣＴＳセルレイアウト情報ＦＥを出力する。
【００３９】
再配置部３６は、図３のステップＳ１０を実行する。また、再配置部３６は、ＣＴＳセルの再配置後の配置情報で、ＣＴＳセル配置情報記憶部３２１に記憶されたＣＴＳセル配置情報Ｆ４を上書きする。
【００４０】
上記説明より、本実施の形態の自動配置配線装置３によれば、上記説明のＣＴＳのレイアウトのフローチャート（図３参照）を実行することが可能である。これによって、グローバル配線に流れる電流に偏りのないレイアウトを実現することが可能である。
【００４１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、グローバル配線の単位面積、あるいは単位距離あたりに接続されるＣＴＳセルの個数を設定し、グローバル配線に接続されるＣＴＳセルの個数を均一化することも可能である。
【図面の簡単な説明】
【００４２】
【図１】実施の形態１にかかる半導体装置の概略図である。
【図２】実施の形態１にかかる半導体装置の領域２の拡大図である。
【図３】実施の形態１にかかるレイアウト方法のタイミングチャートを示す図である。
【図４】実施の形態１にかかる自動配置配線装置のブロック図である。
【図５】従来のレイアウト方法によって生成される半導体装置のレイアウトの概略図である。
【符号の説明】
【００４３】
１    半導体装置
３    自動配置配線装置
１０    パッド
１１    機能回路領域
１２    部分領域
３１    レイアウト実行部
３１１    レイアウト解析部
３１２    ＣＴＳ生成部
３１３    ＣＴＳセル配置部
３１４    レイアウト情報記憶部
３２    記憶部
３２１    ＣＴＳセル配置情報記憶部
３２２    基本設定情報記憶部
３２３    領域情報記憶部
３３    部分領域分割部
３４    電力計算部
３４１    ＣＴＳセル電力計算部
３４２    ＣＴＳセル毎の電力情報記憶部
３４３    部分領域電力計算部
３４４    部分領域毎の電力情報記憶部
３５    判定部
３５１    電力判定部
３５２    クロックスキュー計算部
３５３    スキュー判定部
３６    再配置部
Ｆ１    基本セル配置情報
Ｆ２    基本セル配置情報
Ｆ２    電源配線情報
Ｆ３    ＣＴＳセル挿入情報
Ｆ４    ＣＴＳセル配置情報
Ｆ５    ＣＴＳセル毎の電力／トグル情報
Ｆ６    クロックトグル率情報
Ｆ７    ＣＴＳセル毎の電力情報
Ｆ８    電力上限値情報
Ｆ９    部分領域区切り情報
Ｆ１０    部分領域毎の電力上限値情報
Ｆ１１    部分領域毎の電力情報
ＦＳ    基本セルレイアウト情報
ＦＥ    基本セル／ＣＴＳセルレイアウト情報
Ｇ−ＶＤＤ    グローバル電源配線
Ｇ−ＶＳＳ    グローバル接地配線
【図１】
2007281113.tif 000003
【図２】
2007281113.tif 000004
【図３】
2007281113.tif 000005
【図４】
2007281113.tif 000006
【図５】
2007281113.tif 000007