(57)【要約】【課題】本発明は、ＴＡＴを増大させることなく、許容電流量を超過することのないセル配置を実現するセル配置方法を提供することを目的とする。【解決手段】セル配置プログラムは、ネットリストを構成する各セルの消費電流量を算出し、着目セルについて算出された消費電流量に応じたサイズであり且つ着目セルの実際のサイズよりも大きいサイズの領域を着目セルの周りに確保しながら着目セルをレイアウト平面上に配置し、領域内には着目セル以外のセルが配置されないように他のセルを配置する各段階をコンピュータに実行させることを特徴とする。【選択図】図１
2007258215.tif 000002
【特許請求の範囲】
【請求項１】
ネットリストを構成する各セルの消費電流量を算出し、
着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、
該領域内には該着目セル以外のセルが配置されないように他のセルを配置する
各段階をコンピュータに実行させることを特徴とするセル配置プログラム。
【請求項２】
該着目セルについて算出された該消費電流量に応じたサイズを有するダミーセルを該着目セルとして配置することにより該領域を確保することを特徴とする請求項１記載のセル配置プログラム。
【請求項３】
該着目セルについて算出された該消費電流量に応じたサイズを有する該領域を配置禁止領域として設定し、該配置禁止領域内には他のセルを配置することを禁止することを特徴とする請求項１記載のセル配置プログラム。
【請求項４】
該レイアウト平面上のある範囲に電源を供給する電源配線に流すことが可能な最大の電流量として許容電流の量を算出し、該領域の大きさを該許容電流の量及び該範囲の大きさに応じて変化させることを特徴とする請求項１記載のセル配置プログラム。
【請求項５】
設計対象の回路に関する情報とセル配置プログラムとを格納するメモリと、
該メモリに格納された該セル配置プログラムを実行することで該メモリに格納された該設計対象の回路の各セルをレイアウト平面上に配置する演算処理ユニットを含み、該演算処理ユニットは、該セル配置プログラムを実行することにより、
該設計対象の回路を構成する各セルの消費電流量を算出し、
着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、
該領域内には該着目セル以外のセルが配置されないように他のセルを配置する
各段階を実行することを特徴とするセル配置装置。
【請求項６】
該着目セルについて算出された該消費電流量に応じたサイズを有するダミーセルを該着目セルとして配置することにより該領域を確保することを特徴とする請求項５記載のセル配置装置。
【請求項７】
該着目セルについて算出された該消費電流量に応じたサイズを有する該領域を配置禁止領域として設定し、該配置禁止領域内には他のセルを配置することを禁止することを特徴とする請求項５記載のセル配置装置。
【請求項８】
該レイアウト平面上のある範囲に電源を供給する電源配線に流すことが可能な最大の電流量として許容電流の量を算出し、該領域の大きさを該許容電流の量及び該範囲の大きさに応じて変化させることを特徴とする請求項５記載のセル配置装置。
【請求項９】
ネットリストを構成する各セルの消費電流量を算出し、
着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、
該領域内には該着目セル以外のセルが配置されないように他のセルを配置する
各段階を含むことを特徴とするセル配置方法。
【請求項１０】
該レイアウト平面上のある範囲に電源を供給する電源配線に流すことが可能な最大の電流量として許容電流の量を算出し、
該領域の大きさを該許容電流の量及び該範囲の大きさに応じて変化させる
各段階を更に含むことを特徴とする請求項９記載のセル配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に計算機利用設計装置及び計算機利用設計方法に関し、詳しくはセル配置装置及びセル配置方法に関する。
【背景技術】
【０００２】
半導体集積回路を設計する際には、まず電源配線を設計し、その後セルを配置して、セルにおいて消費する電流が所定の要件を満たしていることを確認する必要が有る。この目的のために、設計工程の所定の段階において、消費電流解析により消費電流を計算し、計算結果に基づいて設計の手直しを行う。
【０００３】
半導体集積回路の動作周波数が高くなったり、セル内の状態変化確率（動作率）が高くなったりすると、セル及びセルに接続している電源ラインに流れる消費電流が増加する。またセルの配置密度が高くなると、一本の電源ラインから電流を供給されるセルの数が増える結果となり、電源ラインに大量の電流が流れる。このような理由のために、ある電源ラインに流れる電流量が、その電源ラインの許容電流量（電源ラインに流すことが可能な最大の電流量）を超えてしまう場合がある。その結果、電流量が極端に大きい場合には、エレクトロマイグレーション現象により電源ラインが切断されてしまう。これを避けるために、半導体集積回路の設計においては、セル配置後に電源ラインを流れる電流量が許容電流量以下であるか否かのチェックを行なう。許容電流量を超過している箇所が存在する場合には、設計の手直しを行う。
【０００４】
設計の手直しには、大きく分類して以下の２つの方法がある。第１の方法は、許容電流量を超過している箇所にあるセルを、許容電流量を超過していない箇所へ移動させるものである（特許文献１）。第２の方法は、電源ラインの幅を拡張する又は別の配線層の配線ラインを電源ラインに重ねて強化すること等により、電源ラインの許容電流量を増やすものである（特許文献２）。上記の何れの方法においても、許容電流量超過のチェックと違反箇所の修正とを繰り返し実行して、違反箇所が無くなるまで手直しを続けることになる。
【０００５】
第１の方法においては、半導体集積回路内の動作周波数又は動作率が高い箇所では許容電流量超過が発生する可能性が高く、セルを移動しても別の場所で許容電流量超過が発生してしまう場合がある。その結果、許容電流量超過をなくすために必要なＴＡＴ（ターンアラウンドタイム）が長くなってしまう。またセルの配置密度が高い場合には、許容電流量超過が発生しても適切なセル移動先を見つけることが困難なためにセル配置の全面的な見直しが必要になる可能性もあり、更にＴＡＴが長くなってしまう。
【０００６】
第２の方法においては、半導体集積回路内の動作周波数又は動作率が高い箇所では、電源ラインの補強により配線チャネルが減少して、信号配線の配線に支障が生じる可能性がある。また許容電流量超過箇所の電流量によっては、電源ラインの補強により別の箇所（例えば補強箇所よりも電源供給元に近い箇所）で新たな許容電流量超過が発生する可能性があり、許容電流量超過をなくすために必要なＴＡＴ（ターンアラウンドタイム）が長くなってしまう。
【０００７】
別の観点として、異なる２層の電源配線抵抗比から、セルの配置位置を決める方法も存在する（特許文献３）。ただ、見ているのが電源配線抵抗比（相対値）であって許容電流（絶対値）ではないため、セルの初期配置の限定化による、許容電流超過箇所削減でのＴＡＴ（ターンアラウンドタイム）短縮はある程度期待できるが、許容電流超過箇所の修正は第１の方法、あるいは第２の方法を用いなければならない。
【特許文献１】特開平１１−８７５１８号公報
【特許文献２】特開平０４−２８７９４５号公報
【特許文献３】特開平０７−１０６５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上を鑑みて本発明は、ＴＡＴを増大させることなく、許容電流量を超過することのないセル配置を実現するセル配置方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
セル配置プログラムは、ネットリストを構成する各セルの消費電流量を算出し、着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、該領域内には該着目セル以外のセルが配置されないように他のセルを配置する各段階をコンピュータに実行させることを特徴とする。
【００１０】
セル配置装置は、設計対象の回路に関する情報とセル配置プログラムとを格納するメモリと、該メモリに格納された該セル配置プログラムを実行することで該メモリに格納された該設計対象の回路の各セルをレイアウト平面上に配置する演算処理ユニットを含み、該演算処理ユニットは、該セル配置プログラムを実行することにより、該設計対象の回路を構成する各セルの消費電流量を算出し、着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、該領域内には該着目セル以外のセルが配置されないように他のセルを配置する各段階を実行することを特徴とする。
【００１１】
セル配置方法は、ネットリストを構成する各セルの消費電流量を算出し、着目セルについて算出された該消費電流量に応じたサイズであり且つ該着目セルの実際のサイズよりも大きいサイズの領域を該着目セルの周りに確保しながら該着目セルをレイアウト平面上に配置し、該領域内には該着目セル以外のセルが配置されないように他のセルを配置する各段階を含むことを特徴とする。
【発明の効果】
【００１２】
本発明の少なくとも１つの実施例によれば、各セルの消費電流量を考慮しながらセルを配置することにより、一回のセル配置で、許容電流量を超過しないようなセル配置を実現することができる。従来のようにセル配置後に許容電流量を超過する箇所があるか否かをチェックして設計を変更する必要が無いので、ＴＡＴを削減することが可能である。また電源ライン幅を広げて配線チャネルを減らしてしまうこともない。
【発明を実施するための最良の形態】
【００１３】
本発明では、セル配置段階において、各セルが消費する電流量を考慮した配置制限を加えながらセルを配置することにより、チップ上（レイアウト平面上）の所定サイズの領域当りにおいて配置セルにより消費される電流が、許容電流量を超えることがないようにする。具体的には、まず所定サイズの領域に電源を供給する電源ラインの許容電流量を算出する。これは電源ラインの配線幅より算出することができる。更に各セルに流れる消費電流量を求める。各セルの消費電流量は、スタティック解析手法を用いて、セルの動作周波数、動作率（セル内の状態変化確率）、セルの電源電圧、及び負荷容量等に基づいて求めることができる。こうして求めた許容電流量及び各セルの消費電流に基づいて、セルを配置していく。この際、あるセルを配置するときに、上記許容電流量及び当該セルの消費電流量に応じた大きさの領域を、当該セルを配置する位置に確保し、この領域内には他のセルが配置されることがないように各セルを配置していく。即ち、電流消費量が大きいセルには大きい領域を確保し、この領域内には他のセルが配置されることがないように各セルを配置していく。また許容電流量が大きいほど、この領域の大きさを小さくする。
【００１４】
このようにして、許容電流量及び各セルの消費電流量を考慮しながらセルを配置することにより、一回のセル配置で、許容電流量を超過しないようなセル配置を実現することができる。従来のようにセル配置後に許容電流量を超過する箇所があるか否かをチェックして設計を変更する必要が無いので、ＴＡＴを削減することが可能である。また電源ライン幅を広げて配線チャネルを減らしてしまうこともない。
【００１５】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１６】
図１は、本発明によるセル配置方法の第１の実施例を示すフローチャートである。ステップＳ１において、電源ライン間隔を設定する。ステップＳ２において、電源ライン許容電流量を算出する。
【００１７】
図２は、電源ライン間隔設定と電源ライン許容電流量算出について説明するための図である。図２には、基幹電源ライン１１、１２、１３、及び１４（例えば電源メッシュの一部）が示され、その間に電源ライン１５が配置される。基幹電源ライン１１及び１２の一方が電源電位ＶＤＤ供給のためのものであり、他方が接地電位ＶＳＳ供給のためのものである。同様に、基幹電源ライン１３及び１４の一方が電源電位ＶＤＤ供給のためのものであり、他方が接地電位ＶＳＳ供給のためのものである。電源ライン１５は、電源電位用のライン及び接地電位用のラインが交互に配置される。まず図１のステップＳ１において、図２に示される電源ライン１１、１２、１３、及び１４間の間隔Ｌ（即ち１本の電源ライン１５が電源を供給する対象となる領域の幅）を設定する。次にステップＳ２において、各電源ライン１５の幅Ｗに基づいて電源ライン１５の許容電流量を算出する。この際、動作温度、半導体製造プロセス、電源電圧条件を考慮して、許容電流量を算出する。
【００１８】
以下において説明するように、基本的には、２本の隣接する電源ライン１５間に電源ラインに沿って一列にセルが配置される。電源電位ＶＤＤを供給する一本の電源ライン１５が電源を供給するセルは、この電源ライン１５の両側にある２つの列に配置される全てのセルである。従って、この全てのセルの消費電流の合計値が、この電源ライン１５の許容電流量を超えないようにセルを配置する必要がある。
【００１９】
図１に戻りステップＳ３で、個々のセルの電流量を算出する。各セルの消費電流は、セル内部で消費される電流と、出力端子に繋がる負荷容量の充放電電流とを含む。セル内部で消費される電流には、セル内部の容量成分の充放電による電流とＰＭＯＳトランジスタ及びＮＭＯＳトランジスタの瞬間的な短絡により生じる貫通電流とが含まれるので、セル内部の容量及び貫通電流に関する情報を各セルについてライブラリ化しておけばよい。また出力端子に繋がる負荷容量の充放電電流を求めるためには、想定される配線容量及び接続先の入力端子の容量から出力端子に繋がる負荷容量を求めればよい。
【００２０】
上記のようにして求めた容量に、セルの動作周波数、動作率（セル内の状態変化確率）、及びセルの電源電圧を掛け合わせることで、容量充放電に起因する電流量を算出することができる。また貫通電流については、セルの動作周波数、動作率、平均貫通電流量、貫通時間を掛け合わせることで、貫通電流に起因する電流量を算出することができる。
【００２１】
なおセルの動作周波数及び動作率については、ネットリストの入力側において各クロック信号及び各データ信号について動作周波数（例えば５０ＭＨｚ）と動作率（例えば０．２：単位時間Ｔ当り平均０．２Ｔの期間動作する）を規定し、ネットリストの各セルについて入力側から出力側に順次各信号をトレースしていけばよい。これにより、着目セルの各入力端子の動作周波数及び動作率と各出力端子の動作周波数及び動作率とを求めることができる。
【００２２】
図３は、個々のセルの電流量算出について説明するための図である。図３において、セル２０乃至２９が示される。上記のようにしてセルの消費電流を算出することで、例えばセル２０については消費電流量が２０μＡ、セル２１については消費電流量が３０μＡ、セル２２については消費電流量が２６μＡであることが計算される。同様にして、セル２３乃至２９についても消費電流量が算出される。
【００２３】
図１に戻りステップＳ４で、着目セルのセル幅を算出する。後述するように第１の実施例では、各セルが、現実のセル（そのセルの機能を実現する回路）のセル幅ではなく、当該セルの消費電流量に応じたセル幅を有するものと見なしてセルを配置する。これにより、消費電流量に応じた面積を各セルがレイアウト領域において占めることになり、単位領域内に存在する全セルの消費電流の合計を制限することが可能になる。
【００２４】
図４は、セル消費電流とセル幅との関係を示す図である。本発明では、例えば図４に示すようにセル消費電流とセル幅との関係を線形関数として定義する。１つの消費電流値と１つのセル幅とを一対のデータとして、複数対のデータエントリを有するテーブルを作成することで、図４に示すようなセル消費電流とセル幅との関係を用意しておけばよい。図３に示すように着目セルの消費電流量が算出されると、図４の関係（又は上記テーブル）からその消費電流量に応じたセル幅を算出することができる。
【００２５】
なおこのセル幅は、ステップＳ１で設定した電源ライン間隔とステップＳ２で算出した許容電流量とに応じたものである。例えば許容電流量が大きくなれば、電源ライン１５に接続する全セルの合計消費電流量を大きくすることができる。即ち、２つの隣接する電源ライン１５間に配置される一列のセルの数を増やすことができる。従ってこの場合、セルの幅を狭く設定することになる。また例えば図２に示される電源ライン間隔Ｌ（１本の電源ライン１５が電源を供給する対象となる領域の幅）が広くなっても、１本の電源ライン１５が供給可能な許容電流量が変わらなければ、一列に配置されるセルの数を増やすことはできない。従って、電源ライン間隔Ｌが広がった分セルの幅を広く設定する必要がある。
【００２６】
このように、算出するセルの幅は、許容電流量が大きくなると狭くなり、電源ライン間隔Ｌが広くなると広くなる。このような算出セル幅と許容電流量と電源ライン間隔Ｌとの関係を実現するためには、例えば、図４のセル消費電流とセル幅との関係を示す直線の傾きを、許容電流量と電源ライン間隔Ｌとに応じて調整するようにすればよい。
【００２７】
図１に戻りステップＳ５で、算出したセル幅が元のセル幅より長いか否かが判定される。即ち、着目セルの現実のセルの幅と、ステップＳ４で算出したセルの幅とを比較して、何れが広いかを判定する。元のセル幅よりも算出したセル幅が広い場合には、ステップＳ６で当該着目セルをダミーセルに置き換える。即ち、着目セルを現実のセルから、算出したセル幅を有するダミーセルに変更する。元のセル幅よりも算出したセル幅が広くない場合には、ステップＳ６におけるダミーセルへの置き換え処理はスキップする。
【００２８】
図５は、セルの幅の変更について説明する図である。図５に示す例では、セル２０乃至２９のうちで、セル２７乃至２９のセル幅が変更され、ダミーセル（ハッチによりダミーセルであることを示す）に置き換えられている。セル２０乃至２６については、算出したセル幅が元のセル幅よりも広くないので、ダミーセルへの置き換えは行われない。
【００２９】
図５に示す例では、セル２７については、その幅Ｗ１が図３に示すセル２７の幅よりも広くなっている。この幅Ｗ１がステップＳ４で算出したセル幅である。またセル２８及び２９については、幅が広くなるだけではなく、高さＨも図３に示すセル２７及び２９に比べて高くなっている。このように第１の実施例においては、算出した幅が所定の幅（例えば電源ライン間隔Ｌの１／２）よりも広い場合には、セルの高さを高くするように設定してよい。算出した幅が所定の幅（例えば電源ライン間隔Ｌの１／２）よりも広くない場合には、セルの高さは元のセルの高さと同一とする。
【００３０】
図１に戻り、ステップＳ７で、全てのセルについてステップＳ４乃至ステップＳ６の処理を実行したか否かを判断する。まだ処理していないセルが残っている場合には、処理していないセルの１つを着目セルとして、ステップＳ４乃至ステップＳ６の処理を実行する。全てのセルについて処理が終了すると、ステップＳ８に進む。
【００３１】
ステップＳ８で電源配線をレイアウトする。この際、ステップＳ１及びＳ２で指定した電源ライン間隔及び電源ライン幅の条件に従って電源配線をレイアウトする。
【００３２】
図６は、レイアウト後の電源配線を示す図である。基幹電源ライン３１、３２、３３、及び３４（例えば電源メッシュの一部）が示され、その間に電源ライン３５が配置される。基幹電源ライン３１及び３２の一方が電源電位ＶＤＤ供給のためのものであり、他方が接地電位ＶＳＳ供給のためのものである。同様に、基幹電源ライン３３及び３４の一方が電源電位ＶＤＤ供給のためのものであり、他方が接地電位ＶＳＳ供給のためのものである。電源ライン３５は、電源電位用のライン及び接地電位用のラインが交互に配置される。
【００３３】
図１に戻りステップＳ９で、セル配置を行う。即ち、算出したセル幅を有するダミーセル（及びダミーセルへの置き換えの必要が無かったセル）を、自動レイアウト・ツールによりチップ上に自動的に配置していく。ダミーセルは元のセルと比較してセルサイズが大きくなっているので、隣接セルとの関係においてセル配置可能な領域が元のセルの場合よりも制限されることになる。しかも電源ラインの電源供給領域幅、許容電流量、及びセル消費電流量に応じたセルサイズを使用しているので、電源ラインと接続するセルの電流量の和が当該電源ラインの許容電流量を超えることはない。
【００３４】
図７は、ダミーセルを含むセルを配置した様子を示す図である。図７において、図６と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００３５】
図７に示すダミーセルを含むセル２０乃至２９は、図５に示すセル２０乃至２９に対応している。図７から分かるように、例えばセル２０乃至２２については、消費電流量が少ないので、電源ライン１５に沿って３つのセルを一列に配置することが可能である。しかしセル２７については、セル消費電流量が大きく、それに応じてセル幅が大きなダミーセルに置き換えられている。従って、２つのセル２６及び２７を一列に配置するレイアウトとなっている。またセル２８及び２９については、セル幅が拡大されるだけでなくセルの高さも拡大されており、その近傍には他のセルが配置されることがない。
【００３６】
図１に戻りステップＳ１０で、ダミーセルを元のセルに戻す。即ち、ステップＳ６においてダミーセルに置き換えたセルについては、セル配置のために使用したダミーセルから、現実のセル（そのセルの機能を実現する回路）に戻す。
【００３７】
図８は、元のセルに戻した後のセル配置を示す図である。図８において、図６及び図７と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００３８】
図８に示すダミーセルを含むセル２０乃至２９は、図７に示すセル２０乃至２９に対応している。ダミーセルを用いてセル配置されたセル２７乃至２９については、ダミーセルから元のセル（そのセルの機能を実現する現実の回路）に戻してある。これにより、現実のセルの配置を規定したレイアウトデータが得られることになる。
【００３９】
図９は、本発明によるセル配置方法の第２の実施例を示すフローチャートである。ステップＳ１において、電源ライン間隔を設定する。ステップＳ２において、電源ライン許容電流量を算出する。ステップＳ３で、個々のセルの電流量を算出する。これらのステップの処理は、それぞれ図１のステップＳ１乃至Ｓ３と同一である。
【００４０】
第２の実施例では、ダミーセルへの置き換えを行うことなく、電源配線及びセルを配置していく。即ちステップＳ４において、電源配線をレイアウトする。この際、ステップＳ１及びＳ２で指定した電源ライン間隔及び電源ライン幅の条件に従って電源配線をレイアウトする。これにより、第１の実施例の場合と同様に、図６に示すようなレイアウト後の電源配線が得られる。
【００４１】
更にステップＳ５において着目セルを配置する。このセルは、現実のセル（そのセルの機能を実現する実際に用いる回路）であり、実際のサイズを有したものである。
【００４２】
図１０は、着目セルを配置した様子を示す図である。図１０において、図６と同一の構成要素は同一の番号で参照し、その説明は省略する。図１０の例では、図３に示すセル２９が着目セルとしてまず始めに配置されている。
【００４３】
その後ステップＳ６で、着目セルのセル幅を算出する。セル幅の算出方法は第１の実施例の場合と同一であり、例えば図４に示すようなセル消費電流とセル幅との関係を規定するデータを、テーブル等として用意しておけばよい。着目セルの消費電流量の算出値に基づいてテーブルを参照することで、その消費電流量に応じたセル幅を特定することができる。なおこのセル幅は、許容電流量が大きくなると狭くなり、電源ライン間隔Ｌが広くなると広くなる。このような算出セル幅と許容電流量と電源ライン間隔Ｌとの関係を実現するためには、例えば、図４のセル消費電流とセル幅との関係を示す直線の傾きを、許容電流量と電源ライン間隔Ｌとに応じて調整するようにすればよい。
【００４４】
ステップＳ７で、算出したセル幅が元のセル幅より長いか否かが判定される。即ち、着目セルの現実のセルの幅と、ステップＳ６で算出したセルの幅とを比較して、何れが広いかを判定する。元のセル幅よりも算出したセル幅が広い場合には、ステップＳ８で当該着目セルの周りにセル配置禁止領域を設定する。このセル配置禁止領域の幅は、ステップＳ６で算出したセル幅と同一である。元のセル幅よりも算出したセル幅が広くない場合には、ステップＳ８におけるセル配置禁止領域設定処理はスキップする。
【００４５】
図１１は、セル配置禁止領域の設定について説明する図である。図１１において、図１０と同一の構成要素は同一の番号で参照し、その説明は省略する。図１１に示す例では、着目セル２９に対してセル配置禁止領域４０が設定されている。このセル配置禁止領域４０は、図５に示すセル（ダミーセル）２９と同一のサイズのものである。このようにセル配置禁止領域４０を設定することで、消費電流量が大きなセル２９の近傍には他のセルが配置されないようにできる。なお第１の実施例の場合と同様に、算出した幅が所定の幅（例えば電源ライン間隔Ｌの１／２）よりも広い場合には、セル配置禁止領域の高さを高くするように設定してよい。この場合、算出した幅が所定の幅（例えば電源ライン間隔Ｌの１／２）よりも広くない場合には、セル配置禁止領域の高さは元のセルの高さと同一とする。
【００４６】
図９に戻り、ステップＳ９で、全てのセルについてステップＳ５乃至ステップＳ８の処理を実行したか否かを判断する。まだ処理していないセルが残っている場合には、処理していないセルの１つを着目セルとして、ステップＳ５乃至ステップＳ８の処理を実行する。全てのセルについて処理が終了すると、ステップＳ８に進む。
【００４７】
図１２は、２番目の着目セルを配置してセル配置禁止領域を設定した状態を示す図である。図１２において、図１１と同一の構成要素は同一の番号で参照し、その説明は省略する。図１２に示す例では、セル２９に続いて着目セル２８が配置され、更に着目セル２８に対してセル配置禁止領域４１が設定されている。このセル配置禁止領域４１は、図５に示すセル（ダミーセル）２８と同一のサイズのものである。
【００４８】
図１３は、全てのセルの配置を完了した状態を示す図である。図１３において、図１１と同一の構成要素は同一の番号で参照し、その説明は省略する。図１３に示す例では、セル２０乃至２９が全て配置されている。セル２９、２８、２７については、それぞれ配置禁止領域４０、４１、４２が設けられており、セル近傍への他のセルの配置が行われない。配置禁止領域のサイズは、電源ラインの電源供給領域幅、許容電流量、及びセル消費電流量に応じて決定した大きさであり、電源ラインと接続するセルの電流量の和が当該電源ラインの許容電流量を超えることはない。
【００４９】
図１４は、本発明によるセル配置方法を実行する装置の構成を示す図である。
【００５０】
図１４に示されるように、本発明によるセル配置方法を実行する装置（ＣＡＤシステム）は、例えばパーソナルコンピュータやエンジニアリングワークステーション等のコンピュータにより実現される。図１４の装置は、コンピュータ５１０と、コンピュータ５１０に接続されるディスプレイ装置５２０、通信装置５２３、及び入力装置よりなる。入力装置は、例えばキーボード５２１及びマウス５２２を含む。コンピュータ５１０は、ＣＰＵ５１１、ＲＡＭ５１２、ＲＯＭ５１３、ハードディスク等の二次記憶装置５１４、可換媒体記憶装置５１５、及びインターフェース５１６を含む。
【００５１】
キーボード５２１及びマウス５２２は、ユーザとのインターフェースを提供するものであり、コンピュータ５１０を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。ディスプレイ装置５２０は、コンピュータ５１０で処理された結果等を表示すると共に、コンピュータ５１０を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。通信装置５２３は、遠隔地との通信を行なうためのものであり、例えばモデムやネットワークインターフェース等よりなる。
【００５２】
本発明によるセル配置方法は、コンピュータ５１０が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可換媒体記憶装置５１５に装着可能な記憶媒体Ｍに記憶されており、記憶媒体Ｍから可換媒体記憶装置５１５を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。或いは、このコンピュータプログラムは、遠隔地にある記憶媒体（図示せず）に記憶されており、この記憶媒体から通信装置５２３及びインターフェース５１６を介して、ＲＡＭ５１２或いは二次記憶装置５１４にロードされる。
【００５３】
キーボード５２１及び／又はマウス５２２を介してユーザからプログラム実行指示があると、ＣＰＵ５１１は、記憶媒体Ｍ、遠隔地記憶媒体、或いは二次記憶装置５１４からプログラムをＲＡＭ５１２にロードする。ＣＰＵ５１１は、ＲＡＭ５１２の空き記憶空間をワークエリアとして使用して、ＲＡＭ５１２にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおＲＯＭ５１３は、コンピュータ５１０の基本動作を制御するための制御プログラムが格納されている。
【００５４】
上記コンピュータプログラムを実行することにより、コンピュータ５１０が、上記各実施例で説明されたようにセル配置方法を実行する。
【００５５】
図１５は、本発明のセル配置方法を実現するソフトウェアの構成を示す機能ブロック図である。図１５に示すソフトウェアは、本願発明のセル配置方法に関連するＣＡＤ機能を含むＣＡＤシステム用のソフトウェアであり、機能設計部５１、論理自動設計部５２、セル配置部５３、電源配線部５４、信号配線部５５、電流算出部５６、及びセル配置制限生成部５７で構成されている。更に他の各種機能部分が、一般的なＣＡＤシステムのソフトウェアには設けられるが、本願発明と直接には関係しないので、ここでは説明を省略する。
【００５６】
機能設計部５１は、設計対象の回路の振る舞いを機能的に記述するために使用されるツールである。論理自動設計部５２は、機能設計部５１で記述した回路の振る舞いに基づいて、設計対象の回路を構成するセルとセル間の接続とを規定したネットリストを生成する。セル配置部５３は、ネットリストの各セルを自動的にチップ上に配置する。電源配線部５４及び信号配線部５５は、それぞれ電源配線及び信号配線をレイアウトする。
【００５７】
電流算出部５６は、配線層抽出手段６１、配線幅抽出手段６２、セル電流モデル抽出手段６３、及び電流算出手段６４を含む。配線層抽出手段６１及び配線幅抽出手段６２は、電源配線の層及び電源配線の幅を抽出してメモリに記憶する。セル電流モデル抽出手段６３は、着目したセルの電流モデルを抽出しメモリに記憶する。電流算出手段６４は、セル電流モデル抽出手段６３が抽出した情報および外部情報（動作周波数、動作率）に基づいて、各セルの消費電流量を算出する。
【００５８】
セル配置制限生成部５７は、電流−セル幅抽出手段７１、セル幅比較手段７２、ダミーセル作成手段７３、ダミーセル置き換え手段７４、及び配置禁止領域設定手段７５を含む。電流−セル幅抽出手段７１は、消費電流とセル幅との対応関係を格納したテーブルを参照して、消費電流量よりセル幅を抽出しメモリに記憶する。セル幅比較手段７２は、着目したセルのセル幅と電流−セル幅抽出手段７１で抽出したセル幅とを比較し、その結果をメモリに記憶する。ダミーセル作成手段７３は、セル幅比較手段７２の比較結果に基づいて、ダミーセルを作成しメモリに記憶する。ダミーセル置き換え手段７４は、着目セルがダミーセルに置き換わる対象のセルである場合、ネットリスト上の当該セルをダミーセルに置き換える。配置禁止領域設定手段７５は、セル幅比較手段７２の比較結果に基づいて、配置禁止領域を設定しメモリに記憶する。
【００５９】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明によるセル配置方法の第１の実施例を示すフローチャートである。
【図２】電源ライン間隔設定と電源ライン許容電流量算出について説明するための図である。
【図３】個々のセルの電流量算出について説明するための図である。
【図４】セル消費電流とセル幅との関係を示す図である。
【図５】セルの幅の変更について説明する図である。
【図６】レイアウト後の電源配線を示す図である。
【図７】ダミーセルを含むセルを配置した様子を示す図である。
【図８】元のセルに戻した後のセル配置を示す図である。
【図９】本発明によるセル配置方法の第２の実施例を示すフローチャートである。
【図１０】着目セルを配置した様子を示す図である。
【図１１】セル配置禁止領域の設定について説明する図である。
【図１２】２番目の着目セルを配置してセル配置禁止領域を設定した状態を示す図である。
【図１３】全てのセルの配置を完了した状態を示す図である。
【図１４】本発明によるセル配置方法を実行する装置の構成を示す図である。
【図１５】本発明のセル配置方法を実現するソフトウェアの構成を示す機能ブロック図である。
【符号の説明】
【００６１】
１１〜１４  基幹電源ライン
１５  電源ライン
２０〜２９  セル
３１〜３４  基幹電源ライン
３５  電源ライン
５１０  コンピュータ
５１１  ＣＰＵ
５１２  ＲＡＭ
５１３  ＲＯＭ
５１４  二次記憶装置
５１５  可換媒体記憶装置
５１６  インターフェース
５２０  ディスプレイ装置
５２１  キーボード
５２２  マウス
５２３  通信装置
【図１】
2007258215.tif 000003
【図２】
2007258215.tif 000004
【図３】
2007258215.tif 000005
【図４】
2007258215.tif 000006
【図５】
2007258215.tif 000007
【図６】
2007258215.tif 000008
【図７】
2007258215.tif 000009
【図８】
2007258215.tif 000010
【図９】
2007258215.tif 000011
【図１０】
2007258215.tif 000012
【図１１】
2007258215.tif 000013
【図１２】
2007258215.tif 000014
【図１３】
2007258215.tif 000015
【図１４】
2007258215.tif 000016
【図１５】
2007258215.tif 000017