(57)【要約】【課題】  電源電圧降下並びにエレクトロマイグレーションを防止しつつ、高性能化並びに高集積化を実現することができる自動設計技術を提供する。【解決手段】  複数の論理素子３５ｄ〜３５ｋを配置し、これらの論理素子が配置されたレイヤーとは異なる配線層に、高位電源配線５２と低位電源配線５６を配置し、論理素子３５ｄ〜３５ｋよって消費される消費電流量を計算し、高位電源配線５２のエレクトロマイグレーション許容電流値を解析し、基準点から特定位置までの高位電源配線５２の区間電圧降下値を解析し、基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値と電圧降下許容値とを比較し、高位電源配線５２から論理素子３５ｄ〜３５ｋに電源電圧を給電するスタックド・ビア１６０の配置位置を決定する。【選択図】        図５
2005209776.tif 000002
【特許請求の範囲】
【請求項１】
論理素子配置モジュールが、チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置するステップと、
前記論理素子配置モジュールが、前記複数の論理素子が配置されたレイヤーとは異なる配線層に、前記複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させるステップと、
前記論理素子配置モジュールが、前記複数の論理素子が配置されたレイヤーとは異なる配線層に、前記高位電源配線と対をなし前記高位電源配線と平行に走行する低位電源配線を配置するステップと、
消費電流算出モジュールが、前記高位電源配線と低位電源配線との間に、前記論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、前記論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納するステップと、
エレクトロマイグレーション解析モジュールが、前記高位電源配線のエレクトロマイグレーション許容電流値を解析し、該エレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納するステップと、
電圧降下解析モジュールが、基準点から特定位置までの前記高位電源配線の区間電圧降下値を解析し、該区間電圧降下値を区間電圧降下値データファイルに格納するステップと、
ビア配置場所算出モジュールが、前記基準点から前記特定位置までの前記消費電流量の総和と前記エレクトロマイグレーション許容電流値とを比較し、且つ前記区間電圧降下値と電圧降下許容値とを比較し、前記高位電源配線から前記論理素子に電源電圧を給電するビアの配置位置を決定するステップ
とを含むことを特徴とする自動設計方法。
【請求項２】
ビア仮配置モジュールが、高位電源配線と、該高位電源配線と対をなし該高位電源配線と平行に走行する低位電源配線を配置し、更に該高位電源配線上にビアの配置位置を仮に決定するステップと、
論理素子配置モジュールが、前記高位電源配線及び前記低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置するステップと、
消費電流算出モジュールが、前記高位電源配線と低位電源配線との間に、前記論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、前記論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納するステップと、
エレクトロマイグレーション解析モジュールが、前記高位電源配線のエレクトロマイグレーション許容電流値を解析し、該エレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納するステップと、
電圧降下解析モジュールが、基準点から特定位置までの前記高位電源配線の区間電圧降下値を解析し、該区間電圧降下値を区間電圧降下値データファイルに格納するステップと、
ビア配置場所最適化モジュールが、前記基準点から前記特定位置までの前記消費電流量の総和と前記エレクトロマイグレーション許容電流値とを比較し、且つ前記区間電圧降下値と電圧降下許容値とを比較し、仮配置された前記ビアの配置位置を最適化するステップ
とを含むことを特徴とする自動設計方法。
【請求項３】
チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置し、該複数の論理素子が配置されたレイヤーとは異なる配線層に、該複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させ、更に、前記複数の論理素子が配置されたレイヤーとは異なる配線層に、前記高位電源配線と対をなし前記高位電源配線と平行に走行する低位電源配線を配置する論理素子配置モジュールと、
前記高位電源配線と低位電源配線との間に、前記論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、前記論理素子によって消費される消費電流量を計算する消費電流量計算モジュールと、
前記消費電流量を格納する消費電流量データファイルと、
前記高位電源配線のエレクトロマイグレーション許容電流値を解析するエレクトロマイグレーション解析モジュールと、
前記解析により得られた前記エレクトロマイグレーション許容電流電流値を格納するエレクトロマイグレーション許容電流データファイルと、
基準点から特定位置までの前記高位電源配線の区間電圧降下値を解析する電圧降下解析モジュールと、
前記区間電圧降下値を格納する区間電圧降下値データファイルと、
前記高位電源配線の電圧降下許容値を格納する電圧降下許容値データファイルと、
前記基準点から前記特定位置までの前記消費電流量の総和と前記エレクトロマイグレーション許容電流データファイルに格納された前記エレクトロマイグレーション許容電流値とを比較し、且つ前記区間電圧降下値データファイルに格納された区間電圧降下値と前記電圧降下許容値データファイルに格納された前記電圧降下許容値とを比較し、前記高位電源配線から前記論理素子に電源電圧を給電するビアの配置場所を算出するビア配置場所算出モジュール
とを含むことを特徴とする自動設計装置。
【請求項４】
チップ領域に設けられた論理素子形成領域に、高位電源配線と、該高位電源配線と対をなし前記高位電源配線と平行に走行する低位電源配線を配置し、且つ前記高位電源配線にビアを仮に配置するビア仮配置モジュールと、
前記高位電源配線及び前記低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置する論理素子配置モジュールと、
前記高位電源配線と低位電源配線との間に、前記論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、前記論理素子によって消費される消費電流量を計算する消費電流量計算モジュールと、
前記消費電流量を格納する消費電流量データファイルと、
前記高位電源配線のエレクトロマイグレーション許容電流値を解析するエレクトロマイグレーション解析モジュールと、
前記解析により得られた前記エレクトロマイグレーション許容電流電流値を格納するエレクトロマイグレーション許容電流データファイルと、
基準点から特定位置までの前記高位電源配線の区間電圧降下値を解析する電圧降下解析モジュールと、
前記区間電圧降下値を格納する区間電圧降下値データファイルと、
前記高位電源配線の電圧降下許容値を格納する電圧降下許容値データファイルと、
前記基準点から前記特定位置までの前記消費電流量の総和と前記エレクトロマイグレーション許容電流データファイルに格納された前記エレクトロマイグレーション許容電流値とを比較し、且つ前記区間電圧降下値データファイルに格納された区間電圧降下値と前記電圧降下許容値データファイルに格納された前記電圧降下許容値とを比較し、前記高位電源配線から前記論理素子に電源電圧を給電するビアの配置場所を最適化するビア配置場所最適化モジュール
とを含むことを特徴とする自動設計装置。
【請求項５】
半導体チップ上に配置された複数の論理セルと、
該複数の論理素子の上部に層間絶縁膜を介して配置された上層の配線層に、一定方向に走行する、前記複数の論理素子に電源電圧を給電する高位電源配線と、
前記複数の論理素子の上部に層間絶縁膜を介して配置された上層の配線層において、前記高位電源配線と対をなし前記高位電源配線と平行に走行する低位電源配線と、
前記高位電源配線の特定位置に配置され、前記高位電源配線から前記複数の論理セルに電源電圧を給電するビア
とを備える多層配線構造の半導体集積回路であって、前記ビアの配置場所は、基準点から前記特定位置までの前記消費電流量の総和が前記高位電源配線のエレクトロマイグレーション許容電流値よりも小さく、且つ前記基準点から前記特定位置までの前記高位電源配線の区間電圧降下値が電圧降下許容値よりも小さくなる位置に決定され、これにより、前記ビアを、前記論理セルが疎の領域に比べて、前記論理セルが密の領域に多く配設されたことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いた自動設計方法、この自動設計方法を実現するコンピュータシステムとしての自動設計装置に係り、特に複数の論理セルとこれらの複数の論理セルに電源を供給する電源配線を有する多層配線構造の半導体集積回路の自動設計方法、自動設計装置、及びこれらの自動設計方法、自動設計装置によりマスクパターンが設計された半導体集積回路に関する。
【背景技術】
【０００２】
図２１に示すように、電源供給方式にメッシュ方式が採用した半導体集積回路は、平面方形状のシリコン単結晶基板（半導体チップ）の各辺に沿って、複数個のパッド（外部入出力端子）７１１〜７１ｐ，７２１〜７２ｑ，７３１〜７３ｒ．７４１〜７４ｓが配列されている。そして、パッド７１１〜７１ｐ，７２１〜７２ｑ，７３１〜７３ｒ，７４１〜７４ｓの内側には入出力バッファセル（Ｉ／Ｏセル）３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４ｓが、パッド７１１〜７１ｐ，７２１〜７２ｑ，７３１〜７３ｒ，７４１〜７４ｓの配列に対応して、半導体チップの周辺部に配列されている。入出力バッファセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４により周囲を囲まれた半導体チップの中央部分は、論理機能若しくは記憶機能を備えたマクロセル（機能ブロック）や論理セル（論理素子）等を配置する論理素子配置領域である。論理素子配置領域にはマクロセル、論理セル等に、水平方向電源配線８１〜８ｋ及び垂直方向電源配線９１〜９ｌが、複数層に渡り、互いに交差して、メッシュ状に配設されている。
【０００３】
図２３には、最下層の第１配線層に配設され、Ｘ方向（図中、左右方向）に延在する高位電源配線３７、第２配線層に配設され、Ｙ方向（図中、左下から右上に向かう斜め方向）に延在する高位電源配線９８、第３配線層に配設され、Ｘ方向に延在する高位電源配線８９、第４配線層に配設され、Ｙ方向に延在する高位電源配線９９及び最上層の第５配線層に配設され、Ｘ方向に延在する高位電源配線８８が示されている。図２３に示すように、第５配線層の高位電源配線８８は第４配線層の高位電源配線９９、第３配線層の高位電源配線８９、第２配線層の高位電源配線９８のそれぞれを順次通して第１配線層の高位電源配線３７に電気的に接続され、第５配線層の高位電源配線８８から論理セル（論理素子）３５ｘに電源が供給されている。第５配線層の高位電源配線８８と第４配線層の高位電源配線９９との間は図示しない層間絶縁膜に形成されたビア・ホール（又はスルーホール）を通して電気的に接続されている。同様に、第４配線層の高位電源配線９９と第３配線層の高位電源配線８９との間、第３配線層の高位電源配線８９と第２配線層の高位電源配線９８との間、第２配線層の高位電源配線９８と第１配線層の高位電源配線３７との間は、ビア・ホールを通して電気的に接続されている。
【０００４】
このようなメッシュ方式の半導体集積回路のコンピュータを用いた自動設計（ＣＡＤ）においては、論理素子配置領域の全域に予め電源配線８１〜８ｋ，９１〜９ｌを均等に割り付ける設計手法が一般的である。このため、半導体集積回路の高性能化や高密度化が進につれて消費電流が増大すると、電源配線８１〜８ｋ，９１〜９ｌの配設本数が増加する傾向にある。この結果、マクロセル間、論理セル（論理素子）３５ｘ間等を接続する信号配線の配設領域（配線領域）の面積が逆に減少し、信号配線の配線効率の低下を招くので、かえって高性能化や高密度化を実現することが難しい。このメッシュ方式の半導体集積回路の自動設計では、電源配線８１〜８ｋ，９１〜９ｌ、マクロセル、論理セル（論理素子）３５ｘ等を配置した後に、電源配線８１〜８ｋ，９１〜９ｌのエレクトロマイグレーション耐性や電圧降下の解析が行われている。解析の結果、充分なエレクトロマイグレーション耐性が得られない場合や電圧降下が許容値を超える場合には、補強用電源配線が追加される。また、マクロセル、論理セル（論理素子）３５ｘ、電源配線８１〜８ｋ，９１〜９ｌ等をすべて配置し、レイアウト設計を終了した後に、動作タイミングの改善や回路変更等が発生し、エンジニアリングチェンジオーダ（ＥＣＯ）を実施する場合がある。ＥＣＯを実施し、論理セル（論理素子）３５ｘの追加やリサイズを行う場合には、半導体集積回路の一部の領域において消費電流が増大し、補強用電源配線が追加される。
【０００５】
しかしながら、メッシュ方式の半導体集積回路には既にクロック信号配線や信号配線の配置が完了しているので、このような補強用電源配線の追加は難しい。例えば、補強用電源配線を追加した場合には、この補強用電源配線との間の電気的な短絡を防止するために、クロック信号配線や信号配線を移動しなくてはならいない。また、クロック信号配線や信号配線を移動した場合には、動作タイミングに変化が生じる。即ち、半導体集積回路においては、ある程度の再設計を余儀なくされるという技術的課題があった。
【０００６】
このため、図２２に示すようなスタックド・ビア方式の半導体集積回路が用いられている。スタックド・ビア方式の半導体集積回路では、メッシュ方式の半導体集積回路と同様に、半導体チップの各辺に沿って複数個のパッド（外部入出力端子）が配列されるが、図示を省略している。そして、これらのパッド（外部入出力端子）の内側に入出力バッファセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４が配列されている。半導体集積回路において、入出力バッファセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４により周囲を囲まれた中央部分は、論理機能若しくは記憶機能を備えたマクロセル３０や論理セル（論理素子）等を配置する論理素子配置領域である。
【０００７】
図２４に、スタックド・ビア方式の半導体集積回路の論理素子配置領域に配設された第１配線層の高位電源配線３７及び第５配線層の高位電源配線５１を示す。図２４も、図２３に示した半導体集積回路と同様に５層の多層配線構造の部分を模式的に示している。第１配線層の高位電源配線３７は、Ｘ方向に延在し、第５配線層の高位電源配線５１は、第１配線層の高位電源配線３７と同一方向であるＸ方向に延在している。第１配線層の高位電源配線３７と第５配線層の高位電源配線５１との間はスタックド・ビア１６１を通して電気的に接続されている。スタックド・ビア１６１は、第２配線層のビアプラグ４１ｐ、第３配線層のビアプラグ４２ｐ及び第４配線層のビアプラグ４３ｐのそれぞれを同一平面位置において垂直方向に積み重ねて構築されている。
【０００８】
しかしながら、従来のスタックド・ビア方式の半導体集積回路の自動設計においては：
（ａ）論理素子配置領域の全域にビアを均等に配設した後、マクロセル、論理セル（論理素子）等を実際に配置し、論理機能や記憶機能を構築する。ところが、論理素子配置領域の中央部分においては、電源供給のＩ／Ｏ位置から距離があるため、電源供給配線の抵抗成分が大きく電流を消費する。そのため、中央部分においては、電源供給量が不足し、電源電圧の降下が発生し易い。一方、論理素子配置領域の密な部分においては、論理素子による電流の消費量が多いために、スタックド・ビアからの電源供給量が不足し、電源電圧の降下が発生し易い。
【０００９】
（ｂ）上記論理セル（論理素子）の配置状態が密の領域においては、結果的にスタックド・ビアの配置個数が相対的に不足しており、１個当たりのスタックド・ビアに過剰な電流が流れ易い。このため、エレクトロマイグレーションが発生し易い。
【００１０】
（ｃ）スタックド・ビアは論理素子配置領域の全域に均等に配置されているので、逆に、上記論理セル（論理素子）の配置個数が少なく、論理セル（論理素子）の配置状態が疎の領域においては、必要以上のスタックド・ビアが配置されていることになる。このため、スタックド・ビアに信号配線が制約され、配線効率が低下し、半導体集積回路の高性能化並びに高集積化の妨げになる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、電源電圧降下並びにエレクトロマイグレーションを防止しつつ、高性能化並びに高集積化を実現することができる自動設計方法、自動設計装置、及びこれらの自動設計技術により設計された半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の特徴は、以下の各ステップを含む自動設計方法であることを要旨とする：
（イ）論理素子配置モジュールが、チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置するステップ；
（ロ）論理素子配置モジュールが、複数の論理素子が配置されたレイヤーとは異なる配線層に、複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させるステップ；
（ハ）論理素子配置モジュールが、複数の論理素子が配置されたレイヤーとは異なる配線層に、高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置するステップ；
（ニ）消費電流算出モジュールが、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納するステップ；
（ホ）エレクトロマイグレーション解析モジュールが、高位電源配線のエレクトロマイグレーション許容電流値を解析し、このエレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納するステップ；
（ヘ）電圧降下解析モジュールが、基準点から特定位置までの高位電源配線の区間電圧降下値を解析し、この区間電圧降下値を区間電圧降下値データファイルに格納するステップ；
（ト）ビア配置場所算出モジュールが、基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値と電圧降下許容値とを比較し、高位電源配線から論理素子に電源電圧を給電するビアの配置位置を決定するステップ。
【００１３】
本発明の第２の特徴は、以下の各ステップを含む自動設計方法であることを要旨とする：
（イ）ビア仮配置モジュールが、高位電源配線；この高位電源配線と対をなしこの高位電源配線と平行に走行する低位電源配線を配置し、更にこの高位電源配線上にビアの配置位置を仮に決定するステップ；
（ロ）論理素子配置モジュールが、高位電源配線及び低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置するステップ；
（ハ）消費電流算出モジュールが、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納するステップ；
（ニ）エレクトロマイグレーション解析モジュールが、高位電源配線のエレクトロマイグレーション許容電流値を解析し、このエレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納するステップ；
（ホ）電圧降下解析モジュールが、基準点から特定位置までの高位電源配線の区間電圧降下値を解析し、この区間電圧降下値を区間電圧降下値データファイルに格納するステップ；
（ヘ）ビア配置場所最適化モジュールが、基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値と電圧降下許容値とを比較し、仮配置されたビアの配置位置を最適化するステップ。
【００１４】
本発明の第３の特徴は、（イ）チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置し、この複数の論理素子が配置されたレイヤーとは異なる配線層に、この複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させ、更に、複数の論理素子が配置されたレイヤーとは異なる配線層に、高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置する論理素子配置モジュールと、（ロ）高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算する消費電流量計算モジュールと、（ハ）消費電流量を格納する消費電流量データファイルと、（ニ）高位電源配線のエレクトロマイグレーション許容電流値を解析するエレクトロマイグレーション解析モジュールと、（ホ）解析により得られたエレクトロマイグレーション許容電流電流値を格納するエレクトロマイグレーション許容電流データファイルと、（ヘ）基準点から特定位置までの高位電源配線の区間電圧降下値を解析する電圧降下解析モジュールと、（ト）区間電圧降下値を格納する区間電圧降下値データファイルと、（チ）高位電源配線の電圧降下許容値を格納する電圧降下許容値データファイルと、（リ）基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流データファイルに格納されたエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値データファイルに格納された区間電圧降下値と電圧降下許容値データファイルに格納された電圧降下許容値とを比較し、高位電源配線から論理素子に電源電圧を給電するビアの配置場所を算出するビア配置場所算出モジュールとを含む自動設計装置であることを要旨とする。
【００１５】
本発明の第４の特徴は、（イ）  チップ領域に設けられた論理素子形成領域に、高位電源配線と、この高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置し、且つ高位電源配線にビアを仮に配置するビア仮配置モジュールと、（ロ）高位電源配線及び低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置する論理素子配置モジュールと、（ハ）高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算する消費電流量計算モジュールと、（ニ）消費電流量を格納する消費電流量データファイルと、（ホ）高位電源配線のエレクトロマイグレーション許容電流値を解析するエレクトロマイグレーション解析モジュールと、（ヘ）解析により得られたエレクトロマイグレーション許容電流電流値を格納するエレクトロマイグレーション許容電流データファイルと、（ト）基準点から特定位置までの高位電源配線の区間電圧降下値を解析する電圧降下解析モジュールと、（チ）区間電圧降下値を格納する区間電圧降下値データファイルと、（リ）高位電源配線の電圧降下許容値を格納する電圧降下許容値データファイルと、（ヌ）基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流データファイルに格納されたエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値データファイルに格納された区間電圧降下値と電圧降下許容値データファイルに格納された電圧降下許容値とを比較し、高位電源配線から論理素子に電源電圧を給電するビアの配置場所を最適化するビア配置場所最適化モジュールとを含む自動設計装置であることを要旨とする。
【００１６】
本発明の第５の特徴は、（イ）半導体チップ上に配置された複数の論理セルと、（ロ）この複数の論理素子の上部に層間絶縁膜を介して配置された上層の配線層に、一定方向に走行する、複数の論理素子に電源電圧を給電する高位電源配線と、（ハ）複数の論理素子の上部に層間絶縁膜を介して配置された上層の配線層において、高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線と、（ニ）高位電源配線の特定位置に配置され、高位電源配線から複数の論理セルに電源電圧を給電するビアとを備える多層配線構造の半導体集積回路に係る。即ち、本発明の第５の特徴は、ビアの配置場所は、基準点から特定位置までの消費電流量の総和が高位電源配線のエレクトロマイグレーション許容電流値よりも小さく、且つ基準点から特定位置までの高位電源配線の区間電圧降下値が電圧降下許容値よりも小さくなる位置に決定され、これにより、ビアを、論理セルが疎の領域に比べて、論理セルが密の領域に多く配設された半導体集積回路であることを要旨とする。
【発明の効果】
【００１７】
本発明によれば、電源電圧降下並びにエレクトロマイグレーションを防止しつつ、高性能化並びに高集積化を実現することができる自動設計方法、自動設計装置、及びこれらの自動設計技術により設計された半導体集積回路を提供することができる。  
【発明を実施するための最良の形態】
【００１８】
次に、図面を参照して、第１〜第４の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。但し、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００１９】
（第１の実施の形態）
本発明の第１の実施の形態に係る自動設計装置は、図１に示すように、操作者からのデータや命令などの入力を受け付ける入力装置４と、レイアウト設計等の種々の演算を実行する演算処理部（ＣＰＵ）１ａと、レイアウト結果等を出力する出力装置６及び表示装置５と、半導体集積回路のレイアウト設計に必要な所定のデータなどを格納したデータ記憶装置２ｄと、半導体集積回路レイアウトプログラムなどを格納したプログラム記憶装置２ｍとを備えるコンピュータシステムである。入力装置４、出力装置６及び表示装置５は、入出力制御装置３を介して、演算処理部（ＣＰＵ）１ａに接続されている。演算処理部（ＣＰＵ）１ａは、フロアプランを行うフロアプランモジュール１１、論理素子の配置を行う論理素子配置モジュール１２、エレクトロマイグレーションと電圧降下の問題が生じないようにビアを作成するビア作成モジュール１３及び信号配線を行う信号配線モジュール１４を備える。ビア作成モジュール１３は、図８及び図９に示すようなスタックド・ビア１６３，１６４，１７３，１７４、図２５に示すようなシングルカットビア１０２、或いは図２６に示すようなマルチカット・ビアＶij（ｉ＝１〜４，ｊ＝１〜４）等を作成出来る。図８では第５配線層の高位電源配線５３と第１配線層の高位電源配線３６がスタックド・ビア１６３，１６４で接続されている。「スタックド・ビア」は、配線間の接続を複数個のビアを積層することで実現する。図９では第４配線層の低位電源配線５７と第１配線層の低位電源配線３７がスタックド・ビア１７３，１７４で接続されている。図２５では第ｍ配線層の配線１０３と第（ｍ−１）配線層の配線１０１がシングルカットビア１０２で接続されている（ｍは２以上の整数である。）。「シングルカットビア」は、配線間の接続ビア・ホールが１箇所のみの接続である。配線間の接続ビアが１箇所のみの接続である。図２６では第ｋ配線層の配線１１３と第（ｋ−１）配線層の配線１１１が複数の標準サイズのビアＶijで接続されている（ｋは２以上の整数である。）。「マルチカット・ビア」は、配線間の接続ビアを複数個有する接続である。製造上の制限から大きいビアではなく、複数の標準サイズのビアＶijでを配置し、第ｋ配線層の配線１１３と第（ｋ−１）配線層の配線１１１との接続部の抵抗を下げている。このような、スタックド・ビア１６３，１６４，１７３，１７４、シングルカットビア、マルチカット・ビアＶijにより、電源層から論理素子の電源配線に直接電源供給を行うことのができる。
【００２０】
論理素子配置モジュール１２は、チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置し、この複数の論理素子が配置されたレイヤーとは異なる配線層に、この複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させ、更に、複数の論理素子が配置されたレイヤーとは異なる配線層に、高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置する。「チップ領域」とは、組み立て工程（アセンブル工程）において、パッケージに搭載される半導体チップとして切り出される単位面積の領域である。一般に、「チップ領域」は円形の半導体ウェハ上に、逐次露光方式による繰り返しパターンとして、複数個がマトリクス状に配置される。そして、マトリクス状に配置されたチップ領域とチップ領域との間の空間がダイシングレーン（ダイシングレーン）となり、このダイシングレーンを用いて、半導体ウェハが、半導体チップとして分離され、切り出される。なお、ＣＰＵ１ａを構成するフロアプランモジュール１１、論理素子配置モジュール１２、ビア作成モジュール１３及び信号配線モジュール１４等はハードウェア資源としての専用の論理回路で構成しても良く、コンピュータプログラムを利用してソフトウェアとして構成しても良い。
【００２１】
ビア作成モジュール１３は、論理素子の消費電流を算出する消費電流算出モジュール１３１、電源配線の抵抗成分を抽出する抵抗成分抽出モジュール１３２、基準点から特定位置までの電圧降下を解析する電圧降下解析モジュール１３３、エレクトロマイグレーションを解析するエレクトロマイグレーション解析モジュール１３４、ビアを配置する場所を算出するビア配置場所算出モジュール１３５及びビアを配置するビア配置モジュール１３６を備える。ここで、「ビア」とはスタックド・ビア、シングルカットビア、マルチカット・ビアを含む概念である。消費電流算出モジュール１３１は、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算する。その際、概略配線情報から論理素子の負荷容量を見積もり、論理素子の充放電に関する消費電流を算出する。また、シミュレーションにより論理素子の入力信号から貫通電流量を算出する。これらの結果から論理素子の消費電流量とする。電圧降下解析モジュール１３３は、論理素子のパフォーマンス等を考慮して、区間電圧降下値の計算と、対応する電圧降下の許容範囲を設定する。エレクトロマイグレーション解析モジュール１３４は、動作温度と耐久年数、動作周波数、配線の断面積からエレクトロマイグレーションの許容電流値を算出する。
【００２２】
データ記憶装置２ｄは、消費電流算出モジュール１３１が算出した個々の論理素子の消費電流量を格納する消費電流量データファイル２１、電源供給の位置情報を格納する電源供給位置情報データファイル２２、電圧降下解析モジュール１３３の設定した区間電圧降下値を格納する区間電圧降下値データファイル２３ｂ、対応する電圧降下の許容範囲を格納する電圧降下許容値データファイル２３ａ及びエレクトロマイグレーション解析モジュール１３４が算出したエレクトロマイグレーションの許容電流値を格納するエレクトロマイグレーション許容電流値データファイル２４を備える。
【００２３】
図１において、入力装置４はキーボード、マウス、ライトペン又はフレキシブルディスク装置などで構成される。入力装置４よりレイアウト実行者は、入出力データを指定したり、自動設計に必要な数値等の設定がきる。更に、入力装置４より出力データの形態等のレイアウトパラメータを設定することも可能で、また、演算の実行や中止等の指示の入力も可能である。また出力装置６及び表示装置５は、それぞれプリンタ装置及びディスプレイ装置等により構成されている。表示装置５は入出力データやレイアウト結果等を表示する。データ記憶装置２ｄは入出力データやレイアウトパラメータ及びその履歴や演算途中のデータ等を記憶する。
【００２４】
以下の自動設計方法の説明でより明らかになるであろうが、本発明の第１の実施の形態に係る自動設計装置によれば、エレクトロマイグレーションと電圧降下の問題が生じないように、論理素子に対して電源供給を行うことができる。
【００２５】
次に、第１の実施の形態に係る自動設計方法を図２（ａ）に示すフローチャートを用いて説明する。
【００２６】
（イ）図１に示す自動設計装置（ＣＡＤシステム）のＣＰＵ１ａが備えるフロアプランモジュール１１が、ステップＳ１０において、フロアプランニングを行う。フロアプランニングは、図３に示すように、自動設計装置のメモリ空間内に仮想的に設置された半導体集積回路のチップ領域において、周辺領域にＩ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４を配置し、論理素子配置領域にマクロセル３０とを配置する。「論理素子配置領域」は、図３においては、それぞれのチップ領域のＩ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４で周囲を囲まれた矩形の領域である。Ｉ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４は、ある程度固定的なブロックであり、マクロセル３０は比較的大きなブロックであるので、最初に配置される。
【００２７】
（ロ）次に、ステップＳ１１において、図４に示すように、ＣＰＵ１ａが備える論理素子配置モジュール１２が、論理セル（論理素子）３５ａ〜３５ｓ及びその電源配線の配置を行う。例えば、図４に示すように、第５配線層の高位電源配線５１〜５４，第４配線層の低位電源配線５５〜５８を配置する。第５配線層の高位電源配線５３の下には、図８に示すように、第１配線層の高位電源配線３６が配置される。図示を省略しているが、第５配線層の他の高位電源配線５１，５２，５４の下にも同様に、第１配線層の高位電源配線が配置される。第４配線層の低位電源配線５７の下には、図９に示すように、第１配線層の低位電源配線３７が配置される。図示を省略しているが、第４配線層の他の低位電源配線５５，５６，５８の下にも同様に、第１配線層の低位電源配線が配置される。論理セル（論理素子）３５ａ〜３５ｓは、論理素子配置領域のマクロセル３０が配置されていない別の領域に配置される。第１配線層の高位電源配線３６，第１配線層の低位電源配線３７，第４配線層の低位電源配線５７，第５配線層の高位電源配線５３は、論理セル（論理素子）３５ｌ，３５ｍ，３５ｎ，３５ｏと共に１つの部品データとして作成されており、論理セル（論理素子）３５ｌ〜３５ｏが配置されると同時に、第１配線層の高位電源配線３６，第１配線層の低位電源配線３７，第４配線層の低位電源配線５７，第５配線層の高位電源配線５３が配置されたことになる。第１配線層についての言及を省略するが、図４に示すように、第４配線層の低位電源配線５５，第５配線層の高位電源配線５１は、論理セル（論理素子）３５ａ〜３５ｃと共に１つの部品データとして作成されており、第４配線層の低位電源配線５６，第５配線層の高位電源配線５２は、論理セル（論理素子）３５ｄ〜３５ｋと共に１つの部品データとして作成されており、第４配線層の低位電源配線５８，第５配線層の高位電源配線５４は、論理セル（論理素子）３５ｐ〜３５ｓと共に１つの部品データとして作成されている。図５（ａ）は、図４の領域（ロウ）Ａを示し、ステップＳ１１により、第４配線層の低位電源配線５６，第５配線層の高位電源配線５２及び論理セル（論理素子）３５ｄ〜３５ｋが配置された状態を示す。
【００２８】
（ハ）次に、ステップＳ１２において、図７に示すように、ＣＰＵ１ａが備えるビア作成モジュール１３が、第５配線層の高位電源配線５１〜５４上にスタックド・ビア１６１〜１６５を，第４配線層の低位電源配線５５〜５８上にスタックド・ビア１７１〜１７５を配置する。ステップＳ１２の詳細は、図２（ｂ）に示すフローチャートを用いて後述するが、スタックド・ビア１６１〜１６５，１７１〜１７５は、エレクトロマイグレーション並びに電圧降下が問題とならない許容範囲内において、等間隔で配置される。例えば、スタックド・ビア１６３，１６４は、図８に示すように、第５配線層の高位電源配線５３から第１配線層の高位電源配線３６に高位電源ＶDDを直接供給することができる。同様に、図９に示すように、スタックド・ビア１７３，１７４は、第４配線層の低位電源配線５７から第１配線層の低位電源配線３７に低位電源（グランド）ＶSSを直接供給することができる。図５（ｂ）は、ステップＳ１２により、第５配線層の高位電源配線５２の論理セル（論理素子）３５ｇの位置に、スタックド・ビア１６０が配置された状態を示す。
【００２９】
（ニ）次に、ステップＳ１２において、ＣＰＵ１ａが備える信号配線モジュール１４が、マクロセル３０間、論理セル（論理素子）３５ａ〜３５ｓ間、マクロセル３０と論理セル（論理素子）３５ａ〜３５ｓとの間等を電気的に接続する信号配線を配置する。信号配線は、自動設計のアルゴリズムを利用して自動的に配置される。
【００３０】
＜ステップＳ１２の詳細＞
図５（ａ）のステップＳ１１により、第４配線層の低位電源配線５６，第５配線層の高位電源配線５２及び論理セル（論理素子）３５ｄ〜３５ｋが配置された状態に対して、図５（ｂ）に示すように、スタックド・ビア１６０の位置が決定される手順である、ステップＳ１２の詳細を、図２（ｂ）に示すフローチャートを用い、図４の領域（ロウ）Ａに対応する等価回路である図６を用いて説明する：
（ａ）  先ず、ステップＳ１１１において、ＣＰＵ１ａが備える消費電流算出モジュール１３１が、消費電流の算出をする。消費電流算出モジュール１３１は、概略配線情報から論理素子の負荷容量を見積もり、論理素子の充放電に関する消費電流を算出する。また、消費電流算出モジュール１３１は、シミュレーションにより論理素子の入力信号から貫通電流量を算出する。これらの結果から論理素子の消費電流量とする。例えば、図６のPoint０（基準点）とPoint1（特定位置）との間の消費電流Ｉd（0.3）は、図５（ａ）に示した論理セル（論理素子）３５ｄ，３５ｅ，３５ｆ，３５ｇのそれぞれの貫通電流量をＩ0，Ｉ1，Ｉ2，Ｉ3として：
Ｉd（0.3）＝Ｉ0＋Ｉ1＋Ｉ2＋Ｉ3／２        ------ （１a）
と算出される。式（１a）で、論理セル（論理素子）３５ｇの貫通電流量は、図６のPoint1の右側と左側とで、２分されている。図５（ａ）に示した論理セル（論理素子）３５ｄ，３５ｅ，３５ｆ，３５ｇ，３５ｈまでの消費電流Ｉd（0.4）ならば、論理セル（論理素子）３５ｈの貫通電流量をＩ4として：
Ｉd（0.4）＝Ｉ0＋Ｉ1＋Ｉ2＋Ｉ3＋Ｉ4／２------ （１b）
と算出される。式（１b）で、論理セル（論理素子）３５ｈの貫通電流量は、論理セル（論理素子）３５ｈの右側と左側とで、２分されている。より、一般的には、０番目の論理セル（論理素子）から、ｎ番目の論理セル（論理素子）の間の消費電流Ｉd（0.n）は、ｍ番目の論理セル（論理素子）の貫通電流量をＩmとして、ｎ番目の論理セル（論理素子）の貫通電流量が、その右側と左側とで、２分されているとすれば、
Ｉd（0.ｎ）＝（Σ（m=0,n-1)Ｉm）＋Ｉn／２  ------ （１c）
と算出される。式（１c）で、Σ（m=0,n-1)Ｉmは、通常の数学の表記とは異なるが、本明細書では、Ｉmのｍ＝０からｍ＝ｎ−１までの総和を表す。なお、消費電流を算出するロウの範囲で着目しているPointが、論理セル（論理素子）上に存在しなければ、貫通電流量が、そのPointの右側と左側とで２分されることはないので、式（１c）は：
Ｉd（0.ｎ）＝Σ（m=0,n)Ｉm  ------ （１d）
と算出される。式（１c）で述べたと同様に、Σ（m=0,n)Ｉmは、Ｉmのｍ＝０からｍ＝ｎまでの総和を表す。
【００３１】
一方、図５（ａ）に示した論理セル（論理素子）３５ｈ，３５ｉ，３５ｊのそれぞれの貫通電流量をＩ4，Ｉ5，Ｉ6として、図６のPoint1のとPoint4との間の消費電流Ｉd（3,6）は：
Ｉd（3,6）＝Ｉ3／２＋Ｉ4＋Ｉ5＋Ｉ6  ------ （１e）
と算出される。更に、図５（ａ）に示した論理セル（論理素子）３５ｇ〜３５ｈの間の領域の消費電流Ｉd（3,7）は、論理セル（論理素子）の貫通電流量をＩ7として：
Ｉd（3,7）＝Ｉ3／２＋Ｉ4＋Ｉ5＋Ｉ6＋Ｉ7  ------ （１f）
と算出される。式（１e）及び(１f)でも、前述したように、論理セル（論理素子）３５ｇの貫通電流量は、図６のPoint1の右側と左側とで、２分されているのでＩ3／２の値を用いている。より、一般的には、ｎ番目の論理セル（論理素子）から、ｐ番目の論理セル（論理素子）の間の消費電流Ｉd（n,p）は、ｍ番目の論理セル（論理素子）の貫通電流量をＩmとして、ｎ番目の論理セル（論理素子）の貫通電流量が、その右側と左側とで、２分されているとすれば、
Ｉd（n,p）＝Ｉn／２＋（Σ（m=n+1,p)Ｉm）        ------ （１g）
と算出される。式（１g）で、Σ（m=n+1,p)Ｉmは、Ｉmのｍ＝ｎ＋１からｍ＝ｐまでの総和を表す。なお、消費電流を算出するロウの範囲で着目しているPointが、論理セル（論理素子）上に存在しなければ、貫通電流量が、そのPointの右側と左側とで２分されることはないので、式（１c）は、ｎ＋１番目の論理セル（論理素子）の右側から算出すれば良く：
Ｉd（n,p）＝Σ（m=n+1,p)Ｉm        ------ （１h）
と算出される。式（１c）で述べたと同様に、Σ（m=0,n)Ｉmは、Ｉmのｍ＝０からｍ＝ｎまでの総和を表す。Ｉd（0.ｎ）の値が、式（１d）で算出される場合は、Ｉd（n,p）の値の算出は、式（１h）を用いることになる。算出された消費電流の値Ｉd（0.3），Ｉd（0.4)，Ｉd（3,6），Ｉd（3,7），・・・・・或いはＩd（0.ｎ）やＩd（n,p）等の値は、データ記憶装置２ｄの消費電流量データファイル２１に格納する。
【００３２】
（ｂ）  次に、ステップＳ１１２において、ＣＰＵ１ａが備える抵抗成分抽出モジュール１３２が、抵抗成分の抽出をする。例えば、ρ[Ω/□]を電源配線のシート抵抗、w[m]を電源配線の幅、L1[m]を電源配線のPoint０（基準点）とPoint1（特定位置）との間の長さ、L2[m]を電源配線のPoint1のとPoint4との間の長さとして、電源配線の単位厚さに対し、Point０（基準点）とPoint1（特定位置）との間の電源配線の抵抗値Rp01[Ω]は、
Rp01   ＝ρ×L1／w  ------ （2a）
で与えられ、Point1とPoint4との間の電源配線の抵抗値Rp14[Ω]は、 
Rp14   ＝ρ×L1／w  ------ （2b）
で与えられる。
【００３３】
（ｃ）  次に、ステップＳ１１３において、ＣＰＵ１ａが備える電圧降下解析モジュール１３３が、電圧降下の許容値の解析をする。電圧降下解析モジュール１３３は、論理素子のパフォーマンス等を考慮して、電圧降下の許容範囲を設定する。Vth01[V]をPoint０（基準点）とPoint1（特定位置）との間の電圧降下の許容値、Vvia[V]を作成したスタックド・ビア部分の電圧値、Ip[A]を電源配線に流れる電流値とすると：
Vth01≦Vvia−（Ip×Rp01） ------ （３a）
で、解析される。スタックド・ビア部分の電圧値Vvia[V]は、チップの電圧供給源からスタックド・ビアまでの電圧降下を考慮して算出する。（Ip×Rp01）がPoint０（基準点）とPoint1（特定位置）との間の区間電圧降下値になる。区間電圧降下値（Ip×Rp01）は、前もって計算しておき、区間電圧降下値データファイル２３ｂに格納しておく。そして、式（３a）の計算に際し、区間電圧降下値データファイル２３ｂから読み出す。同様に、Point１とPoint４（第２基準点）との間の電圧降下の許容値Vth14[V]は：
Vth14≦Vvia−（Ip×Rp14） ------ （３b）
で、解析される。（Ip×Rp04）がPoint1とPoint４（第２基準点）との間の区間電圧降下値になる。区間電圧降下値（Ip×Rp04）は、前もって計算しておき、区間電圧降下値データファイル２３ｂに格納しておく。そじて、式（３ｂ）の計算に際し、区間電圧降下値データファイル２３ｂから読み出す。ここでは（より一般的には）、式（３a）及び（３b）は：
Vth≦Vvia−（Ip×Rp） ------ （３c）
と表記する。解析された電圧降下の許容値Vth01，Vth14，・・・・・は、データ記憶装置２ｄの電圧降下許容値データファイル２３ａに格納する。
【００３４】
（ｄ）  更に、ステップＳ１１４において、ＣＰＵ１ａが備えるエレクトロマイグレーション解析モジュール１３４が、エレクトロマイグレーションの許容電流値の解析をする。エレクトロマイグレーション解析モジュール１３４は、半導体集積回路の動作温度と耐久年数、動作周波数、配線の断面積からエレクトロマイグレーションの許容電流値IWEM[A]を算出する。解析されたエレクトロマイグレーション許容電流値IWEM[A]は、データ記憶装置２ｄのエレクトロマイグレーション許容電流値データファイル２４に格納する。
【００３５】
（ｅ）  引き続き、ステップＳ１１５において、ＣＰＵ１ａが備えるタックド・ビア配置場所算出モジュール１３５がスタックド・ビアの配置場所の算出をする。IVEM[A]を、スタックド・ビアのエレクトロマイグレーション許容電流値とすると、スタックド・ビアが論理素子の電源供給源上にある場合には、スタックド・ビアから供給された電流は左右の論理素子に対して電流供給を行うので、この場合は、IVEM/2[A]を考慮する必要がある。即ち、エレクトロマイグレーションの電流許容値は、スタックド・ビアが論理素子の電源供給源上にない場合のスタックド・ビアのエレクトロマイグレーション許容電流値IVEM[A]と、スタックド・ビアが論理素子の電源供給源上にある場合のスタックド・ビアのエレクトロマイグレーション許容電流値IVEM/2[A]の内で、電流許容値の小さい値min(IWEM,IVEM/2)、即ち厳しい方の値と、消費電流量データファイル２１に格納された、０番目の論理セル（論理素子）から、ｎ番目の論理セル（論理素子）の間の消費電流値Ｉd（0.n）より大きく、ｎ；１番目の論理セル（論理素子）の間の消費電流値Ｉd（0.n+1）より小さくなる位置を選定する。即ち：
min(IWEM,IVEM/2)≧Ｉd（0.n）------ （４a）
且つ
min(IWEM,IVEM/2)≦Ｉd（0.n+1）------ （４b）
となる位置を選定する。更に、ステップＳ１１３で算出した式（３a）、（３ｂ）又は（３c）の関係を満足する必要があるので、データ記憶装置２ｄの電圧降下許容値データファイル２３ａから、電圧降下の許容値Vth01，Vth14，・・・・・等を読み出して、スタックド・ビアの配置場所の算出をする。例えば、図６の例では、Point1（特定位置）が、式（３a）の関係と、
min(IWEM,IVEM/2)≧Ｉd（0.3）------ （４c）
且つ
min(IWEM,IVEM/2)≦Ｉd（0.4）------ （４d）
の関係を満足すれば、Point1（特定位置）をスタックド・ビアの配置場所とすれば、Point０（基準点）とPoint1（特定位置）の間の領域では電圧降下やエレクトロマイグレーションの問題が生じないことになる。更に、Point1（特定位置）とPoint４（第２基準点）との間の電圧降下の許容値Vth14[V]が、式（３b）の関係を満足し、且つ：
min(IWEM,IVEM/2)≧Ｉd（3,6）------ （４e）
且つ
min(IWEM,IVEM/2)≦Ｉd（3,7）------ （４f）
の関係を満足すれば、Point1（特定位置）をスタックド・ビアの配置場所とすれば、Point1（特定位置）とPoint3の間の領域では電圧降下やエレクトロマイグレーションの問題が生じないことになる。式(4c)及び(4e)から：
min(IWEM,IVEM/2)≧Ｉd（0.6）------ （４g）
となることが分かる。算出されたスタックド・ビアの配置場所は、データ記憶装置２ｄの電源供給位置情報データファイル２２に格納する。
【００３６】
（ｆ）  そして、ステップＳ１１６において、ＣＰＵ１ａが備えるビア配置モジュール１３６は、電源供給位置情報データファイル２２から、スタックド・ビアの配置場所を読み出し、スタックド・ビアの配置をする。ステップＳ１１６で、Point1（特定位置）に電源供給用のスタックド・ビアを配置した時の例を、図５（ｂ）に示す。また、このときPoint1（特定位置）に配置されたスタックド・ビアは式（４g）から図５（ｂ）の領域Ｂに対して、エレクトロマイグレーションの問題が生じない。また、式（３a）及び式（３b）から図５（ｂ）の領域Ｂに対して、電圧降下が生じない。このことから、Point1（特定位置）に配置されたスタックド・ビアは図５（ｂ）の領域Ｂに対して、電圧降下やエレクトロマイグレーションの問題が生じない様に電源供給を行うことができる。
【００３７】
（ｇ）  なお、図２（ｂ）に示すフローチャートのステップＳ１１１〜Ｓ１１６の処理が終了した後には、図６に示すPoint3の位置を再び、新たなPoint0（新たな基準点）とし、この新たな基準点に対する特定位置、この特定位置と新たな第２基準点までの間で、同様な計算を行う。この新たなPoint0（新たな基準点）と新たな基準点に対する特定位置、新たな第２基準点の設定を、ロウの終端まで繰り返し、これらに対しそれぞれ同様な計算を行い、スタックド・ビアの作成を、論理素子配置領域の全領域に対して行う。
【００３８】
本発明の第１の実施の形態に係る自動設計方法によれば、論理セル（論理素子）が密に配設された領域に多数のスタックド・ビアを備え、高位電源配線及び低位電源配線から多数のスタックド・ビアを通して論理素子に電源を供給することができるので、高位電源配線のエレクトロマイグレーション耐圧を向上することができ、加えて高位電源配線の電圧降下を減少することができる。更に、第１の実施の形態に係る自動設計方法によれば、論理素子が疎に配設された領域のスタックド・ビアの個数を減少するようにしたので、面積使用効率を高め、集積度を向上することができる。つまり、論理素子が疎に配設された領域において、配線配置の障害となるスタックド・ビアの配設個数を減少することにより、配線配置領域を確保することができる。したがって、第１の実施の形態に係る自動設計方法によれば、無駄な引き回し配線（又は迂回配線）を減少することができるので、半導体集積回路の集積度を向上することができる。  
図２にフローを示した一連の自動設計の処理は、図２と等価なアルゴリズムのプログラムにより、図１に示したコンピュータシステム （自動設計装置）を制御して実行出来る。このプログラムは、図１に示したプログラム記憶装置２ｍに記憶させれば良い。
【００３９】
即ち、第１の実施の形態に係る自動設計プログラムは：
（イ）論理素子配置モジュールに、チップ領域に設けられた論理素子形成領域に、複数の論理素子を配置させる命令；
（ロ）論理素子配置モジュールに、複数の論理素子が配置されたレイヤーとは異なる配線層に、複数の論理素子に電源電圧を給電する高位電源配線を一定方向に走行させるステップ；
（ハ）論理素子配置モジュールに、複数の論理素子が配置されたレイヤーとは異なる配線層に、高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置させる命令；
（ニ）消費電流算出モジュールに、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納させる命令；
（ホ）エレクトロマイグレーション解析モジュールに、高位電源配線のエレクトロマイグレーション許容電流値を解析し、このエレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納させる命令；
（ヘ）電圧降下解析モジュールに、基準点から特定位置までの高位電源配線の区間電圧降下値を解析し、この区間電圧降下値を区間電圧降下値データファイルに格納させる命令；
（ト）ビア配置場所算出モジュールに、基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値と電圧降下許容値とを比較し、高位電源配線から論理素子に電源電圧を給電するビアの配置位置を決定させる命令
等を含んで構成される。
【００４０】
また、第１の実施の形態に係る自動設計プログラムは、プログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体をプログラム記憶装置２ｍに読み込ませることにより、第１の実施の形態に係る自動設計の一連の自動設計の処理を実行することができる。ここで、「コンピュータ読取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのプログラムを記録することができるような媒体などを意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ，ＭＯディスク、カセットテープ、オープンリールテープなどが「コンピュータ読取り可能な記録媒体」に含まれる。例えば、コンピュータシステム （自動設計装置）の本体は、フレキシブルディスク装置（フレキシブルディスクドライブ）及び光ディスク装置（光ディスクドライブ）を内蔵若しくは外部接続するように構成出来る。フレキシブルディスクドライブに対してはフレキシブルディスクを、また光ディスクドライブに対してはＣＤ−ＲＯＭをその挿入口から挿入し、所定の読み出し操作を行うことにより、これらの記録媒体に格納されたプログラムをコンピュータシステム （自動設計装置）を構成するプログラム記憶装置にインストールすることができる。また、所定のドライブ装置を接続することにより、例えばゲームパック等に利用されているメモリ装置としてのＲＯＭや、磁気テープ装置としてのカセットテープを用いることもできる。更に、インターネット等の情報処理ネットワークを介して、このプログラムをプログラム記憶装置に格納することが可能である。  
図２（ａ）及び（ｂ）に示すフローチャートに従い、論理素子３５ａ〜３５ｓに電源供給を行った際の例を図７に示す。現実には、自動設計装置（ＣＡＤシステム）により、図２（ａ）及び（ｂ）に示すフローチャートに従い作成されたレイアウト情報に基づき、イオンビーム露光装置等のパターンジェネレータ等を用いて、半導体集積回路の実際の製造に使用される製造マスク（例えばレチクル）を作成する。製造マスクには、マクロセル３０や論理セル（論理素子）３５ａ〜３５ｓを構築する素子の製造に必要な製造マスク、第１配線層の高位電源配線３６、低位電源配線３７及び信号配線等の製造に必要な製造マスク、第１配線層と第２配線層の間の層間絶縁膜にビア・ホールを開口するに必要な製造マスク、第２配線層の配線に必要な製造マスク、第２配線層と第３配線層の間の層間絶縁膜にビア・ホールを開口するに必要な製造マスク、第３配線層の配線に必要な製造マスク、第３配線層と第４配線層の間の層間絶縁膜にビア・ホールを開口するに必要な製造マスク、第４配線層の配線に必要な製造マスク、第４配線層と第５配線層の間の層間絶縁膜にビア・ホールを開口するに必要な製造マスク、第５配線層の高位電源配線５１〜５４及び低位電源配線５５〜５８等の製造に必要な製造マスク等が、少なくとも含まれる。そして、これらの複数枚の製造マスクのセットを露光装置（ステッパ）に使用し、それぞれの段階のフォトリソグラフィー工程を行い、このフォトリソグラフィー工程とイオン注入、反応性イオンエッチング（ＲＩＥ）、ＣＶＤ、スパッタリング等の種々の半導体製造プロセスとを組み合わせ、図７に示すような半導体集積回路を完成させる。
【００４１】
図７に示す第１の実施の形態に係る半導体集積回路は、それぞれのチップ領域が対応する半導体チップとして切り出された特定用途向け半導体集積回路（ＡＳＩＣ）である。半導体チップ上の複数の論理セル（論理素子）３５ａ〜３５ｓと、複数の論理セル（論理素子）３５ａ〜３５ｓ上に規則的に配列され、論理セル（論理素子）３５ａ〜３５ｓに電源を供給する複数本の第１配線層の高位電源配線３６（図８参照。）、第１配線層の低位電源配線３７（図９参照。）、第４配線層の低位電源配線５５〜５８及び第５配線層の高位電源配線５１〜５４及び低位電源配線５５〜５８を備えている。そして、第１配線層の高位電源配線３６と第５配線層の高位電源配線５１〜５４との間をスタックド・ビア１６１〜１６５が、更に第１配線層の低位電源配線３７と第４配線層の低位電源配線５５〜５８との間をスタックド・ビア１７１〜１７５が電気的に接続している。ここで、スタックド・ビア１６１〜１６５，１７１〜１７５は、論理セル（論理素子）３５ａ〜３５ｓが疎の領域に比べて、論理セル（論理素子）３５ａ〜３５ｓが密の領域に多く配設されている。
【００４２】
また、表現を代えれば、半導体集積回路においては、第１配線層の高位電源配線３６及び低位電源配線３７において、エレクトロマイグレーション耐性が高くかつ電圧降下が生じ難い領域に比べて、エレクトロマイグレーション耐性が低くかつ電圧降下が生じ易い領域にスタックド・ビア１６１〜１６５，１７１〜１７５が多く配設されている。
【００４３】
半導体チップとしてシリコン単結晶からなる半導体基板を実用的に使用することができる。ここでは、正方形状又は長方形状の平面形状を有する半導体チップが使用されている。図示を省略したが、半導体チップ上（基板主面上）の各辺に沿った最外周領域には、複数個の外部端子（ボンディングパッド）が規則的に配列されている。この外部端子にはボンディングワイヤ又はバンプ電極が接続され、外部機器に半導体集積回路を電気的に接続するようになっている。通常、外部端子は、半導体集積回路の最上層の配線層に配置され、且つ最上層の配線層と同一材料により形成されている。半導体チップ上の各辺に沿った外周領域において、外部端子の内側には、この外部端子の配列に対応して、複数個のインターフェイス回路（Ｉ／Ｏセル）３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４が規則的に配列されている。Ｉ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４は、入力インターフェイス回路、出力インターフェイス回路、入出力インターフェイス回路のいずれかである。Ｉ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４により周囲を囲まれた領域内、即ち半導体チップの主面上の中央部分は論理素子配置領域である。論理素子配置領域には、マクロセル３０、論理セル（論理素子）３５ａ〜３５ｓ等が配置されている。マクロセル３０は、１つのブロックにおいて、論理機能、演算機能、記憶機能等を構築することが可能な専用設計された機能ブロックである。論理セル（論理素子）３５ａ〜３５ｓは、ＡＮＤ回路、ＮＡＮＤ回路、ＦＦ回路等、基本的な論理回路を構築するブロックである。
【００４４】
論理セル（論理素子）３５ａ〜３５ｓは、第１の実施の形態において、図７中、Ｘ方向（第１の方向又は横方向）に複数配列され、更に配線領域を介在させて、Ｙ方向（第２の方向又は縦方向）に複数配列されている。論理セル（論理素子）３５ａ〜３５ｓは、その断面構造並びに平面レイアウトを省略するが、例えば、ＣＭＯＳ等の相補型絶縁ゲート型トランジスタ（ＩＧＦＥＴ）により構成されている。なお、Ｙ方向に配列される論理セル（論理素子）３５ａ〜３５ｓの間に配線領域を介在させない、いわゆる敷詰方式を採用する半導体集積回路にも本発明を適用することができる。また、論理セル（論理素子）３５ａ〜３５ｓは、ｐチャネル導電型或いはｎチャネル導電型のいずれかのＩＧＦＥＴを少なくとも備えた論理セル（論理素子）３５ａ〜３５ｓ、バイポーラトランジスタを少なくとも備えた論理セル（論理素子）３５ａ〜３５ｓであっても良い。
【００４５】
第１配線層の高位電源配線３６は、Ｘ方向に配列された複数の論理セル（論理素子）３５ａ〜３５ｓ上をＸ方向に延在し、Ｙ方向に複数本配設されている。第１配線層の高位電源配線３６は、論理セル（論理素子）３５ａ〜３５ｓのｐチャネル導電型ＩＧＦＥＴに電源ＶDDを供給し易いレイアウトになっている。電源ＶDDは、回路動作電圧であり、例えば２．５Ｖ〜５．０Ｖを実用的に使用することができる。第１配線層の高位電源配線３６は、アルミニウム層又はアルミニウム合金層を主体として形成されている。ここで、アルミニウム合金とは、アルミニウムにＳｉ（珪素）、Ｃｕ（銅）等の添加物を単独で若しくは複合して添加したものである。また、主体とは、アルミニウム層又はアルミニウム合金層の単層、ＴｉＮ（チタンナイトライド）層上にアルミニウム層又はアルミニウム合金層を積層した複合層、更にアルミニウム層又はアルミニウム合金層上にＭｏ（モリブデン）層等の反射防止膜を積層した複合層が少なくとも含まれる意味で使用されている。一方、第１配線層の低位電源配線３７は、第１配線層の高位電源配線３６と一対にかつ平行に配設され、Ｘ方向に配列された複数の論理セル（論理素子）３５ａ〜３５ｓ上をＸ方向に延在し、Ｙ方向に複数本配設されている。第１配線層の低位電源配線３７は、論理セル（論理素子）３５ａ〜３５ｓのｎチャネル導電型ＩＧＦＥＴに電源ＶSSを供給し易いレイアウトになっている。電源ＶSSは、回路の基準電圧（接地電圧）であり、例えば０Ｖを実用的に使用することができる。第１配線層の低位電源配線３７は、第１配線層の高位電源配線３６と同一の第１層目配線層により構成されている。
【００４６】
第５配線層の高位電源配線５１〜５４は、第１配線層の高位電源配線３６上にこの第１配線層の高位電源配線３６と同一位置においてＸ方向に延在し、Ｙ方向に複数本配設されている。つまり、第５配線層の高位電源配線５１〜５４の配列ピッチは第１配線層の高位電源配線３６の配列ピッチと同一に設定されている。第５配線層の高位電源配線５１〜５４は、５層配線層の内の最上層の第５層目配線層により構成され、第１配線層の高位電源配線３６と同様の構造と材料とにより形成されている。図８に示すように、第５配線層の高位電源配線５３は、第１配線層の高位電源配線３６とスタックド・ビア１６３，１６４を通して電気的に接続されている。スタックド・ビア１６３は、第２配線層のビアプラグ４１ａ、第３配線層のビアプラグ４２ａ及び第４配線層のビアプラグ４３ａを、同一位置において順次積み上げて構成している。同様に、スタックド・ビア１６４は、第２配線層のビアプラグ４１ｂ、第３配線層のビアプラグ４２ｂ及び第４配線層のビアプラグ４３ｂを、同一位置において順次積み上げて構成している。図７に示す他のスタックド・ビア１６１，１６２，１６４〜１６５，・・・・・等も同様な３層の積層構造である。
【００４７】
図９に示すように、第４配線層の低位電源配線５７は、第１配線層の低位電源配線３７とスタックド・ビア１７３，１７４を通して電気的に接続されている。スタックド・ビア１７３は、第２配線層のビアプラグ４１ｃ及び第３配線層のビアプラグ４２ｃを、同一位置において順次積み上げて構成している。同様に、スタックド・ビア１７４は、第２配線層のビアプラグ４１ｄ及び第３配線層のビアプラグ４２ｄを、同一位置において順次積み上げて構成している。図７に示す他のスタックド・ビア１７１，１７２，１７４〜１７５，・・・・・等も同様な２層の積層構造である。
【００４８】
なお、図示しないが、第１配線層の高位電源配線３６及び低位電源配線３７を除く第１配線層の配線、ビアプラグ４１ａ〜４１ｄを除く第２配線層の配線、ビアプラグ４２ａ〜４２ｄを除く第３配線層の配線は、マクロセル３０間、論理セル（論理素子）３５ａ〜３５ｓ間、マクロセル３０と論理セル（論理素子）３５ａ〜３５ｓとの間等を電気的に接続する信号配線、クロック信号配線等に使用されている。また、第１配線層の配線と第３配線層の配線との間は、第２配線層のビアプラグにより電気的に接続されるようになっている。
【００４９】
また、第１の実施の形態においては、第５配線層の高位電源配線５１〜５４及び低位電源配線５５〜５８をＣｕ又はＣｕ合金で形成することもできるが、スタックド・ビア１６１〜１６５，・・・・・を構成する各ビアプラグは、基本的には第１配線層の高位電源配線３６或いは第５配線層の高位電源配線５１〜５４と同様の構造と材料とにより形成されている。同様に、スタックド・ビア１７１〜１７５，・・・・・を構成する各ビアプラグは、基本的には第１配線層の低位電源配線３７或いは４配線層の低位電源配線５５〜５８と同様の構造と材料とにより形成されている。
【００５０】
なお、図１０のように高位電源配線（VDD）５１〜５４及び低位電源配線（VSS）５５〜５８を論理素子３５ａ〜３５ｓの真上に配線することにより電源供給する場合もある。また、図１１に示すように論理素子３５ａ〜３５ｓに垂直方向に電源配線する方法がある。
【００５１】
この時には、ビアを配置時に上位層に高位電源配線（VDD）５１〜５４及び低位電源配線（VSS）５５〜５８の電源があるかどうかを、式(3a)〜(3c)及び（4a）〜（4d）の計算時に考慮する必要がある。
【００５２】
なお、第１の実施の形態においては、スタックド・ビアを例示して説明したが、ビアを配置する際には、スタックド・ビアに限らず、配線事情に応じて、シングルカットビアやマルチカット・ビアを選択して作成し、配置することも当然可能である。
【００５３】
（第２の実施の形態）
本発明の第２の実施の形態に係る自動設計装置は、図１２に示すように、操作者からのデータや命令などの入力を受け付ける入力装置４と、レイアウト設計等の種々の演算を実行する演算処理部（ＣＰＵ）１ｂと、レイアウト結果等を出力する出力装置６及び表示装置５と、半導体集積回路のレイアウト設計に必要な所定のデータなどを格納したデータ記憶装置２ｄと、半導体集積回路レイアウトプログラムなどを格納したプログラム記憶装置２ｍとを備えるコンピュータシステムである。入力装置４、出力装置６及び表示装置５は、入出力制御装置３を介して、ＣＰＵ１ｂに接続されている。
【００５４】
第２の実施の形態に係る自動設計装置のＣＰＵ１ｂは、フロアプランを行うフロアプランモジュール１１、論理素子を配置しないで、先にビアを仮配置するビア仮配置モジュール１５、論理素子の配置を行う論理素子配置モジュール１２、ビア仮配置モジュール１５が仮配置したビアの位置の移動、追加、消去等の最適化をするビア最適化モジュール１６、及び信号配線を行う信号配線モジュール１４を備える。ここで、「ビア」とはスタックド・ビア、シングルカットビア、マルチカット・ビアを含む概念であり、ビア仮配置モジュール１５は、スタックド・ビア、シングルカットビア、マルチカット・ビアのいずれかを仮配置し、ビア最適化モジュール１６は、ビア仮配置モジュール１５が仮配置したスタックド・ビア、シングルカットビア、マルチカット・ビアのいずれかの位置の移動、追加、消去等の最適化をする。
【００５５】
ビア仮配置モジュール１５は、チップ領域に設けられた論理素子形成領域に、高位電源配線と、この高位電源配線と対をなし高位電源配線と平行に走行する低位電源配線を配置し、且つ高位電源配線及び低位電源配線にビアを仮に配置する。論理素子配置モジュール１２は、高位電源配線及び低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置する。なお、ＣＰＵ１ａを構成するフロアプランモジュール１１、ビア仮配置モジュール１５、論理素子配置モジュール１２、ビア最適化モジュール１６及び信号配線モジュール１４等はハードウェア資源としての専用の論理回路で構成しても良く、コンピュータプログラムを利用してソフトウェアとして構成しても良い。
【００５６】
既に説明した第１の実施の形態に係る自動設計装置では、図２に示す設計フローに従い、論理素子３５ａ〜３５ｓの配置後に、高位電源配線側のスタックド・ビア１６１〜１６５及び低位電源配線側のスタックド・ビア１７１〜１７５を配置する。そのため、論理素子３５ａ〜３５ｓを配置する時に見積もる概略配線では高位電源配線側のスタックド・ビア１６１〜１６５及び低位電源配線側のスタックド・ビア１７１〜１７５の配線に対する障害物が考慮されていないために配線経路を短く見積もる場合がある。そこで、本発明の第２の実施の形態に係る自動設計装置では、論理素子３５ａ〜３５ｓの配置前に、図１５に示すように、ビア仮配置モジュール１５が、高位電源配線側のスタックド・ビア１６１、１８１〜１８６及び低位電源配線側のスタックド・ビア１７１、１９１〜１９６を配置しておく。ビア仮配置モジュール１５は、半導体チップの総消費電流量を算出するチップ総消費電流量算出モジュール１５１及び、半導体チップ上の論理素子数からビアの数を見積もるビア数算出モジュール１５２を備える。
【００５７】
ビア最適化モジュール１６は、第１の実施の形態に係る自動設計装置のビア作成モジュール１３とほぼ同様な構成と、機能を有し、論理素子の消費電流を算出する消費電流算出モジュール１３１、電源配線の抵抗成分を抽出する抵抗成分抽出モジュール１３２、区間電圧降下値の計算と、対応する電圧降下の許容範囲を設定する電圧降下解析モジュール１３３、エレクトロマイグレーションを解析するエレクトロマイグレーション解析モジュール１３４、ビアを再配置する場所を算出し、最適化するビア配置場所最適化モジュール１３７及びビアを再配置するビア再配置モジュール１３８を備える。消費電流算出モジュール１３１は、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算する。その際、概略配線情報から論理素子の負荷容量を見積もり、論理素子の充放電に関する消費電流を算出する。また、シミュレーションにより論理素子の入力信号から貫通電流量を算出する。これらの結果から論理素子の消費電流量とする。電圧降下解析モジュール１３３は、基準点から特定位置までの高位電源配線の区間電圧降下値を解析する。この電圧降下解析モジュール１３３は、論理素子のパフォーマンス等を考慮して、区間電圧降下値の計算と、対応する電圧降下の許容範囲を設定する。エレクトロマイグレーション解析モジュール１３４は、動作温度と耐久年数、動作周波数、配線の断面積からエレクトロマイグレーションの許容電流値を算出する。
【００５８】
データ記憶装置２ｄは、チップ総消費電流量算出モジュール１５１が算出した半導体チップの総消費電流量を格納するチップ総消費電流量データファイル２５，ビア数算出モジュール１５２が算出したビアの数を格納するビア数データファイル２６、消費電流算出モジュール１３１が算出した個々の論理素子の消費電流量を格納する消費電流量データファイル２１、電源供給の位置情報を格納する電源供給位置情報データファイル２２、電圧降下解析モジュール１３３の設定した区間電圧降下値を格納する区間電圧降下値データファイル２３ｂ、対応する電圧降下の許容範囲を格納する電圧降下許容値データファイル２３ａ及びエレクトロマイグレーション解析モジュール１３４が算出したエレクトロマイグレーションの許容電流値を格納するエレクトロマイグレーション許容電流値データファイル２４を備える。「ビア」とはスタックド・ビア、シングルカットビア、マルチカット・ビアを含む概念であるので、ビア数データファイル２６は、スタックド・ビア、シングルカットビア、マルチカット・ビアの数を格納する。
【００５９】
図１２に示した入力装置４、出力装置６及び表示装置５は、第１の実施の形態に係る自動設計装置と同様であり、重複した説明を省略する。
【００６０】
以下の自動設計方法の説明でより明らかになるであろうが、本発明の第２の実施の形態に係る自動設計装置によれば、配線効率の低下を最小限に抑えて論理素子に対して電源供給を行うことができる。
【００６１】
図１３に、本発明の第２の実施の形態に係る自動設計方法のフローチャートを示す。
【００６２】
（イ）先ず、ステップＳ２０では、フロアプランモジュール１１が、図１４に示すように、フロアプランを行う。フロアプランでは、Ｉ／Ｏセル３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４の配置やマクロセル３０の配置を行う。
【００６３】
（ロ）次に、ステップＳ２１では、ビア仮配置モジュール１５が、半導体チップの総消費電流量と半導体チップ上の論理素子数から高位電源配線側のスタックド・ビア１６１〜１６５及び低位電源配線側のスタックド・ビア１７１〜１７５の数を見積もり配置する。具体的には、チップ総消費電流量算出モジュール１５１が、半導体チップの総消費電流量を算出する。更に、ビア数算出モジュール１５２は、半導体チップ上の論理素子数からビアの数を見積もる。この段階では、図１５に示すように、論理素子３５ａ〜３５ｓが配置されていないため、論理素子３５ａ〜３５ｓが半導体チップ全体に均等に配置されていると仮定して見積もる。即ち、半導体チップの総電流消費が半導体チップ全体で均等に消費されると仮定し、この条件下で、電圧降下やエレクトロマイグレーションの問題が生じないように図１５のように高位電源配線側のスタックド・ビア１６１〜１６５及び低位電源配線側のスタックド・ビア１７１〜１７５を配置するように、ビアの数を見積もる。算出された総消費電流量は、データ記憶装置２ｄのチップ総消費電流量データファイル２５に格納する。更に、ビア数算出モジュール１５２が算出したビアの数は、ビア数データファイル２６に格納する。
【００６４】
（ハ）更に、ステップＳ２２で、論理素子配置モジュール１２が、図１６に示すように、論理素子３５ａ〜３５ｓの配置を行う。
【００６５】
（ニ）そして、第１の実施の形態において、図２のフローチャートを用いて説明したと同様な方法で、ステップＳ２３では、ビア最適化モジュール１６がエレクトロマイグレーションと電圧降下の問題が生じない高位電源配線側のスタックド・ビア１６１、１８１〜１８６及び低位電源配線側のスタックド・ビア１７１、１９１〜１９６の配置位置を算出する。そして、ステップＳ２で配置した高位電源配線側のスタックド・ビア１８５ａ及び低位電源配線側のスタックド・ビア１９５ａの位置を図１６の領域Ｄに示すように、スタックド・ビア１８５ｂ及び低位電源配線側のスタックド・ビア１９５ｂに示す最適な位置に移動する。また、論理素子３５ａ〜３５ｓが混雑し電流供給が不足している場合には、図１６の領域Ｃのように高位電源配線側のスタックド・ビア１８７及び低位電源配線側のスタックド・ビア１９７の追加を行う。また、論理素子があまり配置されず、電流供給が充分な領域に対しては、図１６の領域Ｅのように高位電源配線側のスタックド・ビア１８６及び低位電源配線側のスタックド・ビア１９６の削除を行う。
【００６６】
（ホ）その後、ステップＳ２３では、信号配線モジュール１４が、信号配線を行う。
【００６７】
本発明の第２の実施の形態に係る自動設計方法によれば、第１の実施の形態に係る自動設計方法と同様に、高位電源配線のエレクトロマイグレーション耐圧を向上し、高位電源配線の電圧降下を減少することができる。更に、第２の実施の形態に係る自動設計方法によれば、第１の実施の形態に係る自動設計方法と同様に、面積使用効率を高め、集積度を向上することができる。つまり、論理素子が疎に配設された領域において、配線配置の障害となるスタックド・ビアの配設個数を減少することにより、配線配置領域を確保することができる。特に、論理素子の配置前にスタックド・ビアを仮配置し、論理素子を配置する時に見積もる概略配線ではスタックド・ビアの配線に対する障害物を考慮し、配線経路を最適化出来る。このため、無駄な引き回し配線（又は迂回配線）を減少することができるので、半導体集積回路の集積度を向上することができる。
【００６８】
なお、図１３にフローを示した一連の自動設計の処理は、図１３と等価なアルゴリズムのプログラムにより、図１２に示したコンピュータシステム （自動設計装置）を制御して実行出来る。このプログラムは、図１２に示したプログラム記憶装置２ｍに記憶させれば良い。即ち、第２の実施の形態に係る自動設計プログラムは：
（イ）ビア仮配置モジュールに、高位電源配線；この高位電源配線と対をなしこの高位電源配線と平行に走行する低位電源配線を配置し、更にこの高位電源配線上にビアの配置位置を仮に決定させる命令；
（ロ）論理素子配置モジュールに、高位電源配線及び低位電源配線が配置された配線層とは異なるレイヤーに、複数の論理素子を配置させる命令；
（ハ）消費電流算出モジュールに、高位電源配線と低位電源配線との間に、論理素子のそれぞれを介して流れる複数の電流経路からなる梯子型回路において、論理素子によって消費される消費電流量を計算し、消費電流量データファイルに格納させる命令；
（ニ）エレクトロマイグレーション解析モジュールに、高位電源配線のエレクトロマイグレーション許容電流値を解析し、このエレクトロマイグレーション許容電流電流値をエレクトロマイグレーション許容電流データファイルに格納させる命令；
（ホ）電圧降下解析モジュールに、基準点から特定位置までの高位電源配線の区間電圧降下値を解析し、この区間電圧降下値を区間電圧降下値データファイルに格納させる命令；
（ヘ）ビア配置場所最適化モジュールに、基準点から特定位置までの消費電流量の総和とエレクトロマイグレーション許容電流値とを比較し、且つ区間電圧降下値と電圧降下許容値とを比較し、仮配置されたビアの配置位置を最適化させる命令
等を含んで構成される。
【００６９】
また、このプログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体をプログラム記憶装置２ｍに読み込ませることにより、第２の実施の形態に係る自動設計方法の一連の処理を実行することができる。ここで、「コンピュータ読取り可能な記録媒体」とは、第１の実施の形態で説明した種々の媒体を意味する。
【００７０】
なお、第２の実施の形態においては、スタックド・ビアを例示して説明したが、ビアを配置する際には、スタックド・ビアに限らず、配線事情に応じて、シングルカットビアやマルチカット・ビアを選択して作成し、配置することも当然可能である。
【００７１】
（第３の実施の形態）
本発明の第３の実施の形態に係る自動設計装置は、図１７に示すように、操作者からのデータや命令などの入力を受け付ける入力装置４と、レイアウト設計等の種々の演算を実行する演算処理部（ＣＰＵ）１ｃと、レイアウト結果等を出力する出力装置６及び表示装置５と、半導体集積回路のレイアウト設計に必要な所定のデータなどを格納したデータ記憶装置２ｄと、半導体集積回路レイアウトプログラムなどを格納したプログラム記憶装置２ｍとを備えるコンピュータシステムである。入力装置４、出力装置６及び表示装置５は、入出力制御装置３を介して、ＣＰＵ１ｃに接続されている。
【００７２】
第３の実施の形態に係る自動設計装置のＣＰＵ１ｃは、第１の実施の形態に係る自動設計装置  で説明したフロアプランモジュール１１、論理素子配置モジュール１２、ビア作成モジュール１３及び信号配線モジュール１４に加え、ＥＣＯモジュール１８を備える点が、第１の実施の形態に係る自動設計装置と異なる点である。ＥＣＯモジュール１８は、レイアウト設計終了後にタイミング改善や回路変更が生じた場合にＥＣＯを行う。他は、第１の実施の形態に係る自動設計装置と同様であり、重複した説明を省略するが、「ビア」とはスタックド・ビア、シングルカットビア、マルチカット・ビアを含む概念であるので、ビア作成モジュール１３は、スタックド・ビア、シングルカットビア、マルチカット・ビアのいずれも作成可能であることに留意する必要がある。
【００７３】
以下の自動設計方法の説明でより明らかになるであろうが、本発明の第３の実施の形態に係る自動設計装置によれば、ＥＣＯ後にチップの一部で消費電流量が増加した場合に、短時間で、且つ、信号配線やクロック配線に大きな影響を与えることなく電源供給の追加が行うことができる。
【００７４】
図１８のフローチャートに示すように、第１の実施の形態に係る自動設計方法と同様に、ステップＳ１０〜Ｓ１３までの手順で、半導体集積回路のレイアウト設計をする。ステップＳ１３のレイアウト設計終了後にタイミング改善や回路変更が生じた場合は、ステップＳ１４で、ＣＰＵ１ｃが備えるＥＣＯモジュール１８がＥＣＯを行う。
【００７５】
ＥＣＯで論理素子の追加やリサイズが生じ、半導体チップの一部で消費電流が増加した場合に、電源供給の補強を行う必要がある。その場合には、第１の実施の形態の手法を用い、エレクトロマイグレーションと電圧降下の問題が生じる可能性のある場所に、論理素子の電源配線上に、追加で高位電源配線側のビア及び低位電源配線側のビアを配置し、信号配線、クロック配線とのショートがある場合には修正する。ビアを配置する際には、スタックド・ビア、シングルカットビアやマルチカット・ビアのいずれかを選択して、配置することが可能である。
【００７６】
この際には、メッシュ方式の電源配線とは違い配線を追加する必要がないため、信号配線やクロック配線に大きな影響を与えない。  
（第４の実施の形態）
本発明の第４の実施の形態に係る自動設計装置は、図１９に示すように、操作者からのデータや命令などの入力を受け付ける入力装置４と、レイアウト設計等の種々の演算を実行する演算処理部（ＣＰＵ）１ｄと、レイアウト結果等を出力する出力装置６及び表示装置５と、半導体集積回路のレイアウト設計に必要な所定のデータなどを格納したデータ記憶装置２ｄと、半導体集積回路レイアウトプログラムなどを格納したプログラム記憶装置２ｍとを備えるコンピュータシステムである。入力装置４、出力装置６及び表示装置５は、入出力制御装置３を介して、ＣＰＵ１ｄに接続されている。
【００７７】
第４の実施の形態に係る自動設計装置のＣＰＵ１ｄは、第２の実施の形態に係る自動設計装置のＣＰＵ１ｂの備えるフロアプランモジュール１１、ビア仮配置モジュール１５、論理素子配置モジュール１２、ビア最適化モジュール１６、及び信号配線モジュール１４に加え、更に、ＥＣＯモジュール１８を備える点が、第２の実施の形態に係る自動設計装置と異なる点である。ＥＣＯモジュール１８は、レイアウト設計終了後にタイミング改善や回路変更が生じた場合にＥＣＯを行う。他は、第２の実施の形態に係る自動設計装置と同様であり、重複した説明を省略する。
【００７８】
以下の自動設計方法の説明でより明らかになるであろうが、本発明の第４の実施の形態にに係る自動設計装置によれば、ＥＣＯ後にチップの一部で消費電流量が増加した場合に、短時間で、且つ、信号配線やクロック配線に大きな影響を与えることなく電源供給の追加が行うことができる。
【００７９】
図２０のフローチャートに示すように、第２の実施の形態に係る自動設計方法と同様に、ステップＳ２０〜Ｓ２４までの手順で、半導体集積回路のレイアウト設計をする。ステップＳ２４のレイアウト設計終了後にタイミング改善や回路変更が生じた場合は、ステップＳ２５で、ＣＰＵ１ｄが備えるＥＣＯモジュール１８がＥＣＯを行う。
【００８０】
本発明の第３の実施の形態に係る自動設計方法によれば、第１及び第２の実施の形態に係る自動設計方法と同様に、高位電源配線のエレクトロマイグレーション耐圧を向上することができ、加えて高位電源配線の電圧降下を減少することができる。更に、第４の実施の形態に係る自動設計方法によれば、第１及び第２の実施の形態に係る自動設計方法と同様に、面積使用効率を高め、集積度を向上することができる。つまり、論理素子が疎に配設された領域において、配線配置の障害となるビアの配設個数を減少することにより、配線配置領域を確保することができる。特に、レイアウト設計終了後にタイミング改善や回路変更が生じ他場合のＥＣＯの処理が短時間で、且つ容易に実現出来る。即ち、第４の実施の形態に係る自動設計方法によれば、ＥＣＯで論理素子の追加やリサイズが生じ、チップの一部で消費電流が増加した場合に、電源供給の補強を信号配線やクロック配線に大きな影響を与えずに実現出来る。このため、無駄な引き回し配線（又は迂回配線）を減少することができ、半導体集積回路の集積度を向上することができる。
【００８１】
なお、第４の実施の形態においては、ビアを配置する際には、スタックド・ビア、シングルカットビアやマルチカット・ビアのいずれかを選択して作成し、配置することが可能であることは第１〜第３の実施の形態と同様である。
【００８２】
（その他の実施の形態）
本発明は上記複数の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施の形態に係る自動設計装置の概略を説明するブロック図である。
【図２】本発明の第１の実施の形態に係る自動設計方法の概略を説明するフローチャートである。
【図３】本発明の第１の実施の形態に係る自動設計方法におけるフロアプランニング後のレイアウトの一例を示す平面図である。
【図４】本発明の第１の実施の形態に係る自動設計方法において、図３に続き、論理素子を配置した後のレイアウトの一例を示す平面図である。
【図５】図５（ａ）は、本発明の第１の実施の形態に係る自動設計方法を説明するために図４の領域（ロウ）Ａを拡大して示す平面図で、第４配線層の低位電源配線，第５配線層の高位電源配線及び論理セル（論理素子）配置された状態を示す。図５（ｂ）は、図５（ａ）のレイアウトに対し、ビアを配置した状態を示す平面図である。
【図６】本発明の第１の実施の形態に係る自動設計方法において、図５（ａ）のレイアウトに対し、スタックド・ビアの位置を決定する手順を説明する模式図である。
【図７】本発明の第１の実施の形態に係る自動設計方法により、スタックド・ビアが配置された半導体集積回路の一例を示す平面図である。
【図８】図７のＩ−Ｉ方向に沿った断面上に配置されたスタックド・ビアを説明する模式的な鳥瞰図である。
【図９】図７のII−II方向に沿った断面上に配置されたスタックド・ビアを説明する模式的な鳥瞰図である。
【図１０】本発明の第１の実施の形態に係る自動設計方法により、スタックド・ビアが配置された半導体集積回路の他の一例を示す平面図である。
【図１１】本発明の第１の実施の形態に係る自動設計方法により、スタックド・ビアが配置された半導体集積回路の更に他の一例を示す平面図である。
【図１２】本発明の第２の実施の形態に係る自動設計装置の概略を説明するブロック図である。
【図１３】本発明の第２の実施の形態に係る自動設計方法の概略を説明するフローチャートである。
【図１４】本発明の第２の実施の形態に係る自動設計方法におけるフロアプランニング後のレイアウトの一例を示す平面図である。
【図１５】本発明の第２の実施の形態に係る自動設計方法において、図１４に続き、論理素子を配置する前に、スタックド・ビアを仮配置した状態の一例を示す平面図である。
【図１６】本発明の第２の実施の形態に係る自動設計方法において、図１５に続き、論理素子を配置した後、スタックド・ビアの配置を最適化した状態の一例を示す平面図である。
【図１７】本発明の第３の実施の形態に係る自動設計装置の概略を説明するブロック図である。
【図１８】本発明の第３の実施の形態に係る自動設計方法の概略を説明するフローチャートである。
【図１９】本発明の第４の実施の形態に係る自動設計装置の概略を説明するブロック図である。
【図２０】本発明の第４の実施の形態に係る自動設計方法の概略を説明するフローチャートである。
【図２１】従来のメッシュ方式に係る半導体集積回路のレイアウトを示す平面図である。
【図２２】従来のスタックド・ビアを用いた半導体集積回路のレイアウトを示す平面図である。
【図２３】図２１に示す半導体集積回路の論理素子と電源配線との接続関係を示す鳥瞰図である。
【図２４】図２２に示す半導体集積回路の論理素子と電源配線との接続関係を示す鳥瞰図である。
【図２５】シングルカットビアを示す鳥瞰図である。
【図２６】図２６（ｂ）はマルチカット・ビアを示す平面図、図２６（ａ）は図２６（ｂ）のＡ−Ａ方向から見た断面図である。
【符号の説明】
【００８４】
１ａ，１ｂ，１ｃ，１ｄ…ＣＰＵ
２ｄ…データ記憶装置
２ｍ…プログラム記憶装置
３…入出力制御装置
４…入力装置
５…表示装置
６…出力装置
１１…フロアプランモジュール
１２…論理素子配置モジュール
１３…ビア作成モジュール
１４…信号配線モジュール
１５…ビア仮配置モジュール
１６…ビア最適化モジュール
１８…ＥＣＯモジュール
２１…消費電流量データファイル
２２…電源供給位置情報データファイル
２３ａ…電圧降下許容値データファイル
２３ｂ…区間電圧降下値データファイル
２４…エレクトロマイグレーション許容電流値データファイル
２５…チップ総消費電流量データファイル
２６…ビア数データファイル
３０…マクロセル
３５ａ〜３５ｓ…論理素子
３６…高位電源配線
３７…低位電源配線
４１ａ〜４１ｄ，４１ｐ，４２ａ〜４２ｄ，４２ｐ，４３ａ，４３ｂ，４３ｐ…ビアプラグ
５１〜５４，８８，８９，９８，９９…高位電源配線
５５〜５８…低位電源配線
８１〜８ｋ…水平方向電源配線
９１〜９ｌ…垂直方向電源配線
１０２…シングルカットビア
１３１…消費電流算出モジュール
１３２…抵抗成分抽出モジュール
１３３…電圧降下解析モジュール
１３４…エレクトロマイグレーション解析モジュール
１３５…ビア配置場所算出モジュール
１３６…ビア配置モジュール
１３７…ビア配置場所最適化モジュール
１３８…ビア再配置モジュール
１５１…チップ総消費電流量算出モジュール
１５２…ビア数算出モジュール
１６０〜１６５，１７１〜１７５，１８５ａ，１８５ｂ，１８６，１８７，１９５ａ，１９５ｂ，１９６，１９７…スタックド・ビア
３１１〜３１ｐ，３２１〜３２ｑ，３３１〜３３ｒ，３４１〜３４…入出力バッファセル
７１１〜７１ｐ，７２１〜７２ｑ，７３１〜７３ｒ，７４１〜７４ｓ…パッド
Ｖij（ｉ＝１〜４，ｊ＝１〜４）…マルチカット・ビア
【図１】
2005209776.tif 000003
【図２】
2005209776.tif 000004
【図３】
2005209776.tif 000005
【図４】
2005209776.tif 000006
【図５】
2005209776.tif 000007
【図６】
2005209776.tif 000008
【図７】
2005209776.tif 000009
【図８】
2005209776.tif 000010
【図９】
2005209776.tif 000011
【図１０】
2005209776.tif 000012
【図１１】
2005209776.tif 000013
【図１２】
2005209776.tif 000014
【図１３】
2005209776.tif 000015
【図１４】
2005209776.tif 000016
【図１５】
2005209776.tif 000017
【図１６】
2005209776.tif 000018
【図１７】
2005209776.tif 000019
【図１８】
2005209776.tif 000020
【図１９】
2005209776.tif 000021
【図２０】
2005209776.tif 000022
【図２１】
2005209776.tif 000023
【図２２】
2005209776.tif 000024
【図２３】
2005209776.tif 000025
【図２４】
2005209776.tif 000026
【図２５】
2005209776.tif 000027
【図２６】
2005209776.tif 000028