(57)【特許請求の範囲】
【請求項１】
（Ａ）半導体集積回路が配置される領域に、複数のエリアを規定する工程と、
（Ｂ）前記エリアを分類する工程と
（Ｃ）前記エリアのそれぞれに、論理回路が設けられるコアセルと、前記コアセルの高さ方向において前記コアセルに接合する配線セルとを配置する工程と、ここで前記コアセルに電源電位を供給する電源線と前記コアセルに接地電位を供給する接地線とは、前記配線セルを通過して配置され、
（Ｄ）前記配線セルを通過するように前記コアセルを相互に結ぶセル間配線を配置する工程
とを備え、
前記エリアのうち前記（Ｂ）ステップにおいて第１種類と分類された第１エリアに配置される前記コアセルの高さと、前記エリアのうち前記（Ｂ）ステップにおいて第２種類と分類された第２エリアに配置される前記コアセルの高さとは異なり、
前記第１エリアに配置される前記配線セルの高さと、前記第２エリアに配置される前記配線セルの高さとは異なり、
前記第１エリアに配置される前記コアセルと前記配線セルとの高さの和は、前記第２エリアに配置される前記コアセルと前記配線セルとの高さの和と等しい
半導体集積回路の自動レイアウト方法。
【請求項２】
請求項１に記載の自動レイアウト方法において、
更に、
（Ｅ）前記エリアのそれぞれにおける前記セル間配線の混雑度を予測するステップを備え、
前記（Ｂ）ステップにおける前記エリアの分類は、前記混雑度に基づいて行われる
半導体集積回路の自動レイアウト方法。
【請求項３】
請求項２に記載の自動レイアウト方法において、
前記第１エリアは、前記第２エリアよりも前記混雑度が高いエリアであり、
前記第１エリアに配置される前記コアセルの高さは前記第２エリアに配置される前記コアセルの高さよりも低い
半導体集積回路の自動レイアウト方法。
【請求項４】
請求項３に記載の自動レイアウト方法において、
前記第１エリアに配置される前記コアセルのうちの第１コアセルと、前記第２エリアに配置される前記コアセルのうちの第２コアセルとが、同一の機能を有する場合、前記第１コアセルの幅は、前記第２コアセルの幅よりも広い
半導体集積回路の自動レイアウト方法。
【請求項５】
請求項１に記載の自動レイアウト方法において、
前記配線セルは、
前記電源線が通過する電源配線セルと、
前記電源配線セルの反対側に位置し、前記接地線が通過する接地配線セル
とを含み、
前記第１エリアに配置される前記電源配線セルの高さと、前記第２エリアに配置される前記電源配線セルの高さとは異なり、
前記第１エリアに配置される前記接地配線セルの高さと、前記第２エリアに配置される前記接地配線セルの高さとは異なり、
前記第１エリアに配置される前記コアセルと前記電源配線セルと前記接地配線セルとの高さの和は、前記第２エリアに配置される前記コアセルと前記電源配線セルと前記接地配線セルとの高さの和と等しい
半導体集積回路の自動レイアウト方法。
【請求項６】
（Ｆ）ネットリストに基づいて、半導体集積回路が配置される領域に、論理回路が設けられるノーマル用コアセルを配置する工程と、
（Ｇ）前記領域を複数のエリアに分割する工程と、
（Ｈ）前記複数のエリアのそれぞれについて、ノーマル用コアセル合計面積と接続端子数とのうちの少なくとも一方を算出するステップと、ここで前記ノーマル用コアセル合計面積とは、前記エリアのそれぞれに配置された前記ノーマル用コアセルの面積の和であり、前記接続端子数とは、前記エリアのそれぞれに含まれる前記ノーマル用コアセルがセル間配線に接続される接続端子の数であり、
（Ｉ）前記少なくとも一方に基づいて、前記複数のエリアを分類する工程と、
（Ｊ）前記エリアのうち、前記（Ｉ）ステップにおいて第１種類と分類された第１エリアに、前記ノーマル用コアセルの高さ方向において前記ノーマル用コアセルに接合するノーマル配線セルとを配置する工程と、ここで前記ノーマル用コアセルに電源電位を供給する電源線と前記ノーマル用コアセルに接地電位を供給する接地線とは、前記ノーマル配線セルを通過して配置され、
（Ｋ）前記エリアのうち、前記（Ｉ）ステップにおいて第２種類と分類された第２エリアに配置された前記ノーマル用コアセルを、前記ノーマル用コアセルと異なる高さを有し、且つ、同一の機能を有する非ノーマル用コアセルに置換する工程と、
（Ｌ）前記非ノーマル用コアセルの高さ方向において前記非ノーマル用コアセルに接合し、且つ、前記ノーマル配線セルと異なる高さを有する非ノーマル配線セルを配置する工程と、ここで前記非ノーマル用コアセルに電源電位を供給する電源線と前記非ノーマル用コアセルに接地電位を供給する接地線とは、前記非ノーマル配線セルを通過して配置され、
（Ｍ）前記ノーマル配線セルと前記非ノーマル配線セルを通過するように前記ノーマル用コアセル及び前記非ノーマル用コアセルを相互に結ぶセル間配線を配置する工程
とを備え、
前記ノーマル用コアセルと前記ノーマル用配線セルとの高さの和は、前記非ノーマル用コアセルと前記非ノーマル用配線セルとの高さの和と等しい
半導体集積回路の自動レイアウト方法。
【請求項７】
（Ｆ）ネットリストに基づいて、半導体集積回路が配置される領域に、論理回路が設けられるノーマル用コアセルを配置する工程と、
（Ｇ）前記領域を複数のエリアに分割する工程と、
（Ｈ）’前記複数のエリアのそれぞれについて、ノーマル用コアセル合計面積と接続端子数とを算出するステップと、ここで前記ノーマル用コアセル合計面積とは、前記エリアのそれぞれに配置された前記ノーマル用コアセルの面積の和であり、前記接続端子数とは、前記エリアのそれぞれに含まれる前記ノーマル用コアセルがセル間配線に接続される接続端子の数であり、
（Ｉ）’前記ノーマル用コアセル合計面積と前記接続端子数とに基づいて、前記複数のエリアを分類する工程と、
（Ｊ）前記エリアのうち、前記（Ｉ）’ステップにおいて第１種類と分類された第１エリアに、前記ノーマル用コアセルの高さ方向において前記ノーマル用コアセルに接合するノーマル配線セルとを配置する工程と、ここで前記ノーマル用コアセルに電源電位を供給する電源線と前記ノーマル用コアセルに接地電位を供給する接地線とは、前記ノーマル配線セルを通過して配置され、
（Ｋ）前記エリアのうち、前記（Ｉ）’ステップにおいて第２種類と分類された第２エリアに配置された前記ノーマル用コアセルの少なくとも一部を、前記ノーマル用コアセルと異なる高さを有し、且つ、同一の機能を有する非ノーマル用コアセルに置換する工程と、
（Ｌ）前記非ノーマル用コアセルの高さ方向において前記非ノーマル用コアセルに接合し、且つ、前記ノーマル配線セルと異なる高さを有する非ノーマル配線セルを配置する工程と、ここで前記非ノーマル用コアセルに電源電位を供給する電源線と前記非ノーマル用コアセルに接地電位を供給する接地線とは、前記非ノーマル配線セルを通過して配置され、
（Ｍ）前記ノーマル配線セルと前記非ノーマル配線セルを通過するように前記ノーマル用コアセル同士、前記非ノーマル用コアセル同士、及び前記ノーマル用コアセルと前記非ノーマル用コアセルとを結ぶセル間配線を配置する工程
とを備え、
前記ノーマル用コアセルと前記ノーマル用配線セルとの高さの和は、前記非ノーマル用コアセルと前記非ノーマル用配線セルとの高さの和と等しい
半導体集積回路の自動レイアウト方法。
【請求項８】
請求項７に記載の半導体集積回路の自動レイアウト方法において、
前記（Ｉ）’ステップは、
（Ｉ１）前記複数のエリアのそれぞれについて、前記エリアのそれぞれの面積に対する前記ノーマル用コアセル合計面積の比であるセル占有率を算出するステップと、
（Ｉ２）前記複数のエリアのそれぞれについて、前記エリアのそれぞれの前記接続端子数を前記エリアの面積で割ることによって端子密度を算出するステップと、
（Ｉ３）前記セル占有率と前記端子密度とに基づいて前記エリアを分類するステップ
とを含む
半導体集積回路の自動レイアウト方法。
【請求項９】
請求項７に記載の半導体集積回路の自動レイアウト方法において、
更に、
（Ｎ）ハードマクロセルを前記領域に配置する工程を備え、
前記（Ｉ）’ステップは、
（Ｉ４）前記複数のエリアのそれぞれについて、前記エリアのそれぞれの前記ハードマクロセルに占められていない部分の面積に対する前記ノーマル用コアセル合計面積の比であるセル占有率を算出するステップと、
（Ｉ５）前記複数のエリアのそれぞれについて、前記エリアのそれぞれの前記接続端子数を前記エリアの面積で割ることによって端子密度を算出するステップと、
（Ｉ６）前記セル占有率と前記端子密度とに基づいて前記エリアを分類するステップ
とを含む
半導体集積回路自動レイアウト方法。
【請求項１０】
請求項６乃至請求項８に記載の半導体集積回路の自動レイアウト方法において、
前記非ノーマル用コアセルは、前記ノーマル用コアセルよりも高さが低く幅が広い幅広コアセルを含み、
当該自動レイアウト方法は、更に、
（Ｏ）前記（Ｋ）ステップの後、前記幅広コアセル相互の重なりを解消するように前記幅広コアセルを再配置するステップ
を含む
半導体集積回路の自動レイアウト方法。
【請求項１１】
請求項６乃至請求項８に記載の半導体集積回路の自動レイアウト方法において、
更に、
（Ｐ）前記第２エリアに配置された前記ノーマル用コアセルのうち、前記非ノーマル用コアセルに置換されなかったものに高さ方向に隣接して、容量フィルセルを配置する工程と、ここで前記容量フィルセルは、前記電源線に電気的に接続されている第１電極と、前記第１電極に対向し、前記接地線に電気的に接続されている第２電極とを含むキャパシタが配置されるセルであり、
（Ｑ）前記容量フィルセルに高さ方向に隣接して、前記非ノーマル用配線セルを配置する工程
とを備え、
前記容量フィルセルと前記非ノーマル用配線セルとの高さの和は、前記ノーマル用配線セルの高さに等しい
半導体集積回路の自動レイアウト方法。
【請求項１２】
請求項６乃至請求項８に記載の半導体集積回路の自動レイアウト方法において、
前記非ノーマル用コアセルは、前記ノーマル用コアセルよりも高さが高く幅が狭い幅狭コアセルを含み、
当該自動レイアウト方法は、更に、
（Ｒ）前記第２エリアに、前記幅狭コアセルに重ならないように容量フィルセルを配置する工程を備え、
前記容量フィルセルは、前記電源線に電気的に接続されている第１電極と、前記第１電極に対向し、前記接地線に電気的に接続されている第２電極とを含むキャパシタが配置されるセルである
半導体集積回路の自動レイアウト方法。
【請求項１３】
（Ａ）半導体集積回路が配置される領域に、複数のエリアを規定する工程と、
（Ｂ）前記エリアを分類する工程と
（Ｃ）前記エリアのそれぞれに、論理回路が設けられるコアセルと、前記コアセルの高さ方向において前記コアセルに接合する配線セルとを配置する工程と、ここで前記コアセルに電源電位を供給する電源線と前記コアセルに接地電位を供給する接地線とは、前記配線セルを通過して配置され、
（Ｄ）前記配線セルを通過するように前記コアセルを相互に結ぶセル間配線を配置する工程
とをコンピュータに実行させる自動レイアウトプログラムであって、
前記エリアのうち、前記（Ｂ）ステップにおいて第１種類と分類された第１エリアに配置される前記コアセルの高さと、前記エリアのうち、前記（Ｂ）ステップにおいて第２種類と分類された第２エリアに配置される前記コアセルの高さとは異なり、
前記第１エリアに配置される前記配線セルの高さと、前記第２エリアに配置される前記配線セルの高さとは異なり、
前記第１エリアに配置される前記コアセルと前記配線セルとの高さの和は、前記第２エリアに配置される前記コアセルと前記配線セルとの高さの和と等しい
半導体集積回路の自動レイアウトプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路（Large Scale Integrated circuit：ＬＳＩ）の自動レイアウト方法に関し、特に、セルが組み合わされて構成されたセルベースＩＣのレイアウトを自動的に決定する自動レイアウト方法に関する。
【０００２】
【従来の技術】
設計に許される期間が短い特定用途向けＩＣ（Application Specific IC：ＡＳＩＣ）の設計には、しばしば、スタンダードセル方式が採用される。スタンダードセル方式とは、複数の素子（例えば、トランジスタや抵抗）で構成される機能ブロックであるスタンダードセルを組み合わされてＩＣを設計する手法である。スタンダードセル方式によって設計されるセルベースＩＣは、スタンダードセルが一列に並べられたセル列のアレイで構成される。スタンダードセル方式によってＡＳＩＣを設計する製造業者は、予めセルを設計してライブラリに登録して用意しておく。ユーザから発注を受けると、製造業者は、ライブラリに登録されたセルを組み合せてＡＳＩＣを設計し、ユーザに提供する。かかる手法によって設計することにより、短期間で所望の機能を有するＡＳＩＣを設計することが可能である。
【０００３】
設計を容易化するために、スタンダードセルの高さは、一般には、ＡＳＩＣ全体について統一されることが多い。高さが統一されることにより、ＡＳＩＣの構造が規則的になり、かかる規則的な構造は、ＡＳＩＣのレイアウトを容易にする。
【０００４】
しかし、スタンダードセルの高さが統一されていることは、レイアウトの自由度を小さくする制約にもなる。このようなレイアウト上の制約は、配線を最適に配置する妨げになる。例えば、レイアウト上の制約により、配線を配置するスペースが確保できず、配線が局所的に錯綜する場合がある。逆に、配置される配線が少ない部分には、レイアウト上の制約により、使用されない無駄な領域が多く生じる傾向にある。
【０００５】
このような問題を回避するために、セルの高さを一定にするという制約を外して、より効率よい配線の配置を実現するスタンダードセル方式が検討されている。特許文献１乃至３は、セルの高さを一定にするという制約を外したスタンダードセル方式を開示している。しかし、セルの高さを一定にするという制約を外すということは、ＡＳＩＣのレイアウトを規則的にすることによって設計を容易化するという、スタンダードセル方式の本質的な特長を損なうことになる。
【０００６】
レイアウトの規則性をなるべく保ちながら、配線を最適に配置することが可能な自動レイアウト技術の提供が望まれる。
【０００７】
【特許文献１】
特開平９−１９９５９９号公報
【特許文献２】
特開２００１−１５６０２号公報
【特許文献３】
特開２００１−１７６９８０号公報
【発明が解決しようとする課題】
本発明の目的は、レイアウトの規則性を保ちながら、配線を最適に配置することを可能にする半導体集積回路の自動レイアウト技術を提供することにある。
【０００８】
【課題を解決するための手段】
以下に、［発明の実施の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明の実施の形態］の記載との対応関係を明らかにするために付加されている。但し、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明による半導体集積回路の自動レイアウト方法は、
（Ａ）半導体集積回路が配置される領域（１０）に、複数のエリア（１１）を規定する工程と、
（Ｂ）複数のエリア（１１）を分類する工程と
（Ｃ）複数のエリア（１１）のそれぞれに、論理回路が設けられるコアセル（６）と、コアセル（６）の高さ方向においてコアセル（６）に接合する配線セル（７）（８）とを配置する工程と、
（Ｄ）該配線セルとを通過するように該コアセル（６）を相互に結ぶセル間配線を配置する工程
とを備えている。コアセル（６）に電源電位を供給する電源線と該コアセル（６）に接地電位を供給する接地線とは、配線セル（７）を通過して配置される。複数のエリア（１１）のうち、（Ｂ）ステップにおいて第１種類と分類された第１エリア（多配線用セルエリア又は少配線用セルエリア）に配置されるコアセル（６ｂ）（６ｃ）の高さと、エリア（１１）のうち、（Ｂ）ステップにおいて第２種類と分類された第２エリア（ノーマル用セルエリア）に配置されるコアセル（６ａ）の高さとは異なり、第１エリアに配置される配線セル（７ｂ、７ｃ）（８ｂ、８ｃ）の高さと、第２エリアに配置される配線セル（７ａ、８ａ）の高さとは異なり、第１エリアに配置されるコアセル（６ｂ）（６ｃ）と配線セル（７ｂ、７ｃ）（８ｂ、８ｃ）との高さの和は、第２エリアに配置されるコアセル（６ａ）と該配線セル（７ａ、８ａ）との高さの和と等しい。コアセル（６）と配線セル（７）（８）との高さの和が統一されつつ、コアセル（６）とセル間配線が配置される配線セル（７）（８）それぞれの高さが可変であることにより、レイアウトの規則性を保ちつつ、セル間配線を最適に配置することが可能である。
【００１０】
当該自動レイアウト方法は、更に、
（Ｅ）該エリア（１１）のそれぞれにおけるセル間配線の混雑度を予測するステップを備え、
該（Ｂ）ステップにおける該エリア（１１）の分類は、該混雑度に基づいて行われることが好適である。これにより、セル間配線の混雑度に応じて、セル間配線を最適に配置することが可能である。
【００１１】
第１エリアが、第２エリアよりも該混雑度が高いエリアである場合、第１エリアに配置されるコアセル（６ｂ）の高さは第２エリアに配置されるコアセル（６ａ）の高さよりも低く、第１エリアに配置される配線セル（７ｂ）（８ｂ）の高さは第２エリアに配置される配線セル（７ａ）（８ａ）の高さよりも高いことが好適である。この場合、一般には、第１エリアに配置されるコアセル（６ｂ）のうちの第１コアセルと、第２エリアに配置される該コアセル（６ａ）のうちの第２コアセルとが、同一の機能を有する場合、該第１コアセルの幅は、該第２コアセルの幅よりも広くなる。
【００１２】
配線セル（７）（８）が、電源線が通過する電源配線セル（７）と、該電源配線セルの反対側に位置し、接地線が通過する接地配線セル（８）とを含む場合、第１エリアに配置される電源配線セル（７ｂ）（７ｃ）の高さと、第２エリアに配置される該電源配線セル（７ａ）の高さとは異なり、第１エリアに配置される接地配線セル（８ｂ）（８ｃ）の高さと、第２エリアに配置される接地配線セル（８ａ）の高さとは異なり、第１エリアに配置されるコアセル（６ｂ）（６ｃ）と電源配線セル（７ｂ）（７ｃ）と接地配線セル（８ｂ）（８ｃ）との高さの和は、第２エリアに配置されるコアセル（６ａ）と電源配線セル（７ａ）と接地配線セル（８ａ）との高さの和と等しいことが好適である。
【００１３】
本発明による半導体集積回路の自動レイアウト方法は、
（Ｆ）ネットリスト（３ｂ）に基づいて、半導体集積回路が配置される領域（１０）に、論理回路が設けられるノーマル用コアセル（６ａ）を配置する工程と、
（Ｇ）該領域（１０）を複数のエリア（１１）に分割する工程と、
（Ｈ）（Ｈ’）複数のエリア（１１）のそれぞれについて、ノーマル用コアセル合計面積と接続端子数とのうちの少なくとも一方、望ましくは両方を算出するステップと、
（Ｉ）（Ｉ）’ 算出されたノーマル用コアセル合計面積及び／又は接続端子数に基づいて、該複数のエリア（１１）を分類する工程と、
（Ｊ）エリア（１１）のうち、（Ｉ）ステップにおいて第１種類と分類された第１エリアに、ノーマル用コアセル（６ａ）の高さ方向においてノーマル用コアセル（６ａ）に接合するノーマル配線セル（７ａ）（８ａ）とを配置する工程と、
（Ｋ）該エリア（１１）のうち、該（Ｉ）ステップにおいて第２種類と分類された第２エリアに配置された該ノーマル用コアセル（６ａ）を、該ノーマル用コアセル（６ａ）と異なる高さを有し、且つ、同一の機能を有する非ノーマル用コアセル（６ｂ）（６ｃ）に置換する工程と、
（Ｌ）該非ノーマル用コアセル（６ｂ）（６ｃ）の高さ方向において該非ノーマル用コアセル（６ｂ）（６ｃ）に接合し、且つ、該ノーマル配線セル（７ａ）（８ａ）と異なる高さを有する非ノーマル配線セル（７ｂ、７ｃ）（８ａ、８ｂ）を配置する工程と、
（Ｍ）該ノーマル配線セル（７ａ）（８ａ）と該非ノーマル配線セルを通過するように該ノーマル用コアセル（６ａ）及び該非ノーマル用コアセル（６ｂ）（６ｃ）を相互に結ぶセル間配線を配置する工程
とを備えている。ここでノーマル用コアセル合計面積とは、エリア（１１）のそれぞれに配置されたノーマル用コアセル（６ａ）の面積の和であり、接続端子数とは、エリア（１１）のそれぞれに含まれるノーマル用コアセル（６ａ）がセル間配線に接続される接続端子の数である。ノーマル用コアセル（６ａ）に電源電位を供給する電源線とノーマル用コアセル（６ａ）に接地電位を供給する接地線とは、該ノーマル配線セル（７ａ）（８ａ）を通過して配置される。非ノーマル用コアセル（６ｂ）（６ｃ）に電源電位を供給する電源線と非ノーマル用コアセル（６ｂ）（６ｃ）に接地電位を供給する接地線とは、該非ノーマル配線セル（７ｂ、７ｃ）（８ａ、８ｂ）を通過して配置される。ノーマル用コアセル（６ａ）とノーマル用配線セル（７ａ）（８ａ）との高さの和は、非ノーマル用コアセル（６ｂ）（６ｃ）と非ノーマル用配線セル（７ｂ、７ｃ）（８ａ、８ｂ）との高さの和と等しい。
【００１４】
ノーマル用コアセル合計面積と接続端子数とのうちの両方が算出される場合には、該（Ｉ）’ステップは、
（Ｉ１）該複数のエリア（１１）のそれぞれについて、該エリア（１１）のそれぞれの面積に対する該ノーマル用コアセル合計面積の比であるセル占有率を算出するステップと、
（Ｉ２）該複数のエリア（１１）のそれぞれについて、該エリア（１１）のそれぞれの該接続端子数を該エリア（１１）の面積で割ることによって端子密度を算出するステップと、
（Ｉ３）該セル占有率と該端子密度とに基づいて該エリア（１１）を分類するステップ
とを含むことが好適である。
【００１５】
当該自動レイアウト方法が、更に、
（Ｎ）ハードマクロセルを該領域（１０）に配置する工程を備え、且つ、ノーマル用コアセル合計面積と接続端子数とのうちの両方が算出される場合には、
該（Ｉ）（Ｉ）’ステップは、
（Ｉ４）該複数のエリア（１１）のそれぞれについて、該エリア（１１）のそれぞれの該ハードマクロセルに占められていない部分の面積に対する該ノーマル用コアセル合計面積の比であるセル占有率を算出するステップと、
（Ｉ５）該複数のエリア（１１）のそれぞれについて、該エリア（１１）のそれぞれの該接続端子数を該エリア（１１）の面積で割ることによって端子密度を算出するステップと、
（Ｉ６）該セル占有率と該端子密度とに基づいて該エリア（１１）を分類するステップ
とを含むことが好適である。
【００１６】
非ノーマル用コアセル（６ｂ）（６ｃ）が、ノーマル用コアセル（６ａ）よりも高さが低く幅が広い幅広コアセル（６ｂ）を含む場合、当該自動レイアウト方法は、更に、
（Ｏ）（Ｋ）ステップの後、幅広コアセル（６ｂ）相互の重なりを解消するように幅広コアセル（６ｂ）を再配置するステップ
を含むことが好適である。
【００１７】
当該自動レイアウト方法が、更に、
（Ｐ）第２エリアに配置されたノーマル用コアセル（６ａ）のうち、該非ノーマル用コアセル（６ｃ）に置換されなかったものに高さ方向に隣接して、容量フィルセル（１３ａ、１３ｂ）を配置する工程と、
（Ｑ）該容量フィルセル（１３ａ、１３ｂ）に高さ方向に隣接して、該非ノーマル用配線セル（７ｃ）（８ｃ）を配置する工程
とを備え、該容量フィルセル（１３ａ、１３ｂ）と該非ノーマル用配線セル（７ｃ）（８ｃ）との高さの和が、該ノーマル用配線セル（７ａ）（８ａ）の高さに等しいことが好適である。ここで容量フィルセル（１３ａ、１３ｂ）とは、電源線に電気的に接続されている第１電極と、第１電極に対向し、接地線に電気的に接続されている第２電極とを含むキャパシタが配置されるセルである。
【００１８】
非ノーマル用コアセル（６ｂ）（６ｃ）が、該ノーマル用コアセル（６ａ）よりも高さが高く幅が狭い幅狭コアセル（６ｃ）を含む場合、当該自動レイアウト方法は、更に、
（Ｒ）該第２エリアに、該幅狭コアセル（６ｃ）に重ならないように容量フィルセル（１４）を配置する工程を備えることが好適である。ここで容量フィルセル（１４）とは、電源線に電気的に接続されている第１電極と、該第１電極に対向し、接地線に電気的に接続されている第２電極とを含むキャパシタが配置されるセルである。
【００１９】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明による半導体集積回路の自動レイアウト方法の実施の一形態を説明する。
【００２０】
図２は、本実施の形態の半導体集積回路の自動レイアウト方法を実行するコンピュータシステム１を示す。コンピュータシステム１は、入力装置２と記憶装置３とＣＰＵ４と出力装置５とを含む。入力装置２は、コンピュータシステム１の外部からデータを取り込むために使用される。記憶装置３は、本実施の形態の半導体集積回路の自動レイアウト方法を実行するために必要なデータ及びプログラムを保存する。より詳細には、記憶装置３は、レイアウトツール３ａと、ネットリスト３ｂと、セルライブラリ３ｃと、エリア分類テーブル３ｄとを保存する。レイアウトツール３ａは、自動レイアウトを行うプログラムである。ネットリスト３ｂは、設計される半導体集積回路の回路の接続関係が記述されたデータファイルである。セルライブラリ３ｃは、半導体集積回路のレイアウトに使用されるセルが登録されたデータベースである。エリア分類テーブル３ｄは、半導体集積回路のレイアウトの過程で使用されるテーブルである。エリア分類テーブル３ｄの詳細な内容は後述され、ここでは記述されない。ＣＰＵ４は、半導体集積回路のレイアウトを行うための演算を行う。半導体集積回路のレイアウトは、ＣＰＵ４が、レイアウトツール３ａを実行することによって行われる。出力装置５は、コンピュータシステム１の外部にデータを出力するために使用される。半導体集積回路の自動レイアウトが行われて生成されたレイアウトデータは、出力装置５を介して出力される。
【００２１】
図３は、セルライブラリ３ｃに登録されているセルを示す。セルライブラリ３ｃには、コアセル６と電源配線セル７と接地配線セル８とが登録されている。登録されるコアセル６と電源配線セル７と接地配線セル８は、いずれも矩形である。コアセル６は、ある特定の機能を有する論理回路が収容されるセルである。電源配線セル７は、コアセル６に電源電位を供給する電源線及びコアセル６の相互を結ぶセル間配線が通されるセルである。接地配線セル８は、コアセル６に接地電位を供給する接地線及びコアセル６の相互を結ぶセル間配線が通されるセルである。電源配線セル７は、コアセル６に高さ方向（ｙ軸方向）で隣接して配置され、接地配線セル８は、電源配線セル７の反対側でコアセル６に隣接して配置される。
【００２２】
コアセル６、電源配線セル７、接地配線セル８として、それぞれ３種類のセルが用意されている。コアセル６には、ノーマル用コアセル６ａ、多配線用コアセル６ｂ、及び少配線用コアセル６ｃの３種類がある。セルライブラリ３ｃには、ある一の機能を有する論理回路を提供するために、同一の機能を有するノーマル用コアセル６ａ、多配線用コアセル６ｂ、及び少配線用コアセル６ｃの３つが登録される。図３には、いずれもインバータであるノーマル用コアセル６ａ、多配線用コアセル６ｂ、及び少配線用コアセル６ｃが示されている。
【００２３】
同様に、電源配線セル７には、ノーマル用電源配線セル７ａ、多配線用電源配線セル７ｂ、及び少配線用電源配線セル７ｃの３種類があり、接地配線セル８には、ノーマル用接地配線セル８ａ、多配線用接地配線セル８ｂ、及び少配線用接地配線セル８ｃの３種類がある。
【００２４】
ノーマル用コアセル６ａ、多配線用コアセル６ｂ、及び少配線用コアセル６ｃは、それぞれ特定の電源配線セルと組み合せて使用される。ノーマル用コアセル６ａは、ノーマル用電源配線セル７ａ及びノーマル用接地配線セル８ａと組み合せて使用され、多配線用コアセル６ｂは、多配線用電源配線セル７ｂ及び多配線用接地配線セル８ｂと組み合わされて使用され、少配線用コアセル６ｃは、少配線用電源配線セル７ｃ及び少配線用接地配線セル８ｃと組み合わされて使用される。
【００２５】
ノーマル用コアセル６ａ、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａの組み合せは、配線の混雑度が標準的であると予測されるエリアで使用される。図４に示されているように、ノーマル用コアセル６ａ、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａの組み合せが使用されるエリアは、ノーマル用セルエリアと呼ばれる。ノーマル用セルエリアでは、ｘ軸方向にノーマル用コアセル６ａ、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａがそれぞれ並べられ、ノーマル用電源配線セル７ａの列と、ノーマル用コアセル６ａの列と、ノーマル用接地配線セル８ａの列とが、ｙ軸方向に順に並べられて一のセル列が構成される。ノーマル用電源配線セル７ａとノーマル用接地配線セル８ａとは、同一の高さを有しており、ノーマル用コアセル６ａは、高さ方向においてセル列の中央に位置する。
【００２６】
多配線用コアセル６ｂ、多配線用電源配線セル７ｂ、及び多配線用接地配線セル８ｂの組み合せは、セル間配線の混雑度が高いと予測されるエリアで使用される。多配線用コアセル６ｂ、多配線用電源配線セル７ｂ、及び多配線用接地配線セル８ｂの組み合せが使用されるエリアは、多配線用セルエリアと呼ばれる。多配線用セルエリアでは、多配線用コアセル６ｂ、多配線用電源配線セル７ｂ、及び多配線用接地配線セル８ｂがそれぞれにｘ軸方向に並べられ、多配線用コアセル６ｂの列と、多配線用電源配線セル７ｂの列と、多配線用接地配線セル８ｂの列とが、ｙ軸方向に順に並べられて一のセル列が構成される。多配線用電源配線セル７ｂと多配線用接地配線セル８ｂとは、同一の高さを有しており、多配線用コアセル６ｂは、高さ方向においてセル列の中央に位置する。
【００２７】
図３に示されているように、多配線用コアセル６ｂは、その高さがノーマル用コアセル６ａよりも低く抑えられ、その分、セル間配線が通過する領域である多配線用電源配線セル７ｂ、及び多配線用接地配線セル８ｂの高さは、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａよりも高い。多配線用セルエリアでは、より多くのセル間配線が配置可能であり、多配線用セルエリアでは、セル間配線の錯綜が発生しにくい。但し、多配線用コアセル６ｂは、同一の機能を有するノーマル用コアセル６ａよりもその幅が大きい。これは、与えられた幅に対して配置可能なコアセルの数が少ないことを意味し、多配線用セルエリアは、チップサイズの縮小については不利である。
【００２８】
少配線用コアセル６ｃ、少配線用電源配線セル７ｃ、及び少配線用接地配線セル８ｃの組み合せは、配線の混雑度が低いと予測される領域で使用される。少配線用コアセル６ｃ、少配線用電源配線セル７ｃ、及び少配線用接地配線セル８ｃの組み合せが使用されるエリアは、少配線用セルエリアと呼ばれる。図４に示されているように、少配線用セルエリアでは、少配線用コアセル６ｃ、少配線用電源配線セル７ｃ、及び少配線用接地配線セル８ｃがそれぞれにｘ軸方向に並べられ、少配線用コアセル６ｂの列と、少配線用電源配線セル７ｃの列と、少配線用接地配線セル８ｃの列とが、ｙ軸方向に順に並べられて一のセル列が構成される。少配線用電源配線セル７ｃと少配線用接地配線セル８ｃとは、同一の高さを有しており、少配線用コアセル６ｃは、高さ方向においてセル列の中央に位置する。
【００２９】
図３に示されているように、少配線用セルエリアで使用される少配線用コアセル６ｃは、同一の機能を有するノーマル用コアセル６ａよりもその幅が狭く、その高さがノーマル用コアセル６ａより高い。このため、少配線用セルエリアでは、与えられた幅に対して多数のコアセルが配置可能である。これは、チップサイズの縮小の点で有利である。
【００３０】
図４に示されているように、ノーマル用セルエリア、多配線用セルエリア、及び少配線用セルエリアのいずれにおいても、セル列の高さは同一である。即ち、ノーマル用コアセル６ａ、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａの高さの和と、多配線用コアセル６ｂ、多配線用電源配線セル７ｂ、及び多配線用接地配線セル８ｂの高さの和と、少配線用コアセル６ｃ、少配線用電源配線セル７ｃ、及び少配線用接地配線セル８ｃの高さの和とは、同一である。これは、真っ直ぐな電源線を電源配線セル７を貫通して配置することが可能であり、且つ、真っ直ぐな接地線を接地配線セル８に配置することが可能であることを意味する。このように、セル列の高さが統一されることにより、設計される半導体集積回路のレイアウトの規則性が高められ、設計の容易化が図られている。
【００３１】
図１は、本実施の形態の半導体集積回路の自動レイアウト方法の手順を示すフローチャートである。図２のレイアウトツール３ａは、図１のフローチャートに示されている手順を記述したプログラムであり、該プログラムに従ってＣＰＵ４が動作することにより、本実施の形態の半導体集積回路の自動レイアウト方法は実行される。
【００３２】
本実施の形態の自動レイアウト方法は、ネットリスト３ｂの取り込みで開始される（ステップＳ０１）。設計される半導体集積回路に含まれる素子の接続関係を示すネットリスト３ｂがコンピュータシステム１の外部から入力装置２を介して取り込まれ、記憶装置３に保存される。
【００３３】
続いて、ネットリスト３ｂに基づいてフロアプランが行われる（ステップＳ０２）。フロアプランにより、セル列が配置されるサイト（セル列領域）が決定される。設計される半導体集積回路にハードマクロが使用される場合、ステップＳ０２のフロアプランにおいて、ハードマクロの位置が決定される。
【００３４】
続いて、ノーマル用コアセル６ａが、ネットリスト３ｂに基づいて配置される（ステップＳ０３）。ネットリスト３ｂに記述された接続関係を実現するために必要なノーマル用コアセル６ａがセル列領域に配置される。
【００３５】
続いて、図５に示されているように、セル列領域１０に、複数のエリア１１が規定され、そのエリア１１のそれぞれについて、セル占有率と端子密度とが算出される（ステップＳ０４）。あるエリアのセル占有率とは、該エリアの内部に存在するノーマル用コアセル６ａの面積の合計を、該エリアの面積で割ることによって得られる数値である。あるエリアの端子密度とは、該エリアに存在するノーマル用コアセル６ａに含まれるセル間配線接続端子の数の和を、該エリアの面積で割ることによって得られる数値である。ここで、セル間配線接続端子とは、ノーマル用コアセル６ａがセル間配線に接続される端子を意味する。例えば、１０の面積を有するエリアに、５つのセル間配線接続端子を有するノーマル用コアセル６ａが５０個と、４つのセル間配線接続端子を有するノーマル用コアセル６ａが２０個存在する場合、該エリアの端子密度は、３３（＝（５×５０＋４×２０）／１０）である。
【００３６】
図９に示されているように、ステップＳ０２のフロアプランにおいて、セル列領域１０の一部とハードマクロ１２とが重ねて配置される場合がある。この場合、ハードマクロ１２と重なっているエリア１１のセル占有率は、エリア１１の内部に存在するノーマル用コアセル６ａの面積の合計を、エリア１１のハードマクロ１２と重なっていない部分の面積で割ることによって算出されることが好適である。ただし、エリア１１の端子密度は、ハードマクロ１２との重なりの有無に関わらず、該エリアに存在するノーマル用コアセル６ａに含まれるセル間配線接続端子の数を、エリア１１の面積で割ることによって算出されることが好適である。
【００３７】
続いて、図１に示されているように、セル占有率と端子密度とに基づいて、エリア１１のそれぞれの混雑度が予想され、エリア１１のそれぞれがノーマル用セルエリア、多配線用セルエリア、及び少配線用セルエリアのいずれかに分類される（ステップＳ０５）。あるエリアのセル占有率が高いことは、該エリアのうち配線を配置可能な領域の面積が少ないことを意味し、該エリアでは、配線が混雑することが予想される。また、あるエリアの端子密度が高いことは、該エリアに多くの配線が配置されることを意味し、該エリアでは、配線が混雑することが予想される。このように、セル占有率と端子密度とは、配線の混雑度を示す指標として適切である。混雑度が高いと予想されるエリア１１は、多配線用セルエリアに分類され、混雑度が低いと予想されるエリア１１は、少配線用セルエリアに分類され、混雑度が標準的な範囲であると予想されるエリア１１は、ノーマル用セルエリアに分類される。
【００３８】
エリア１１の分類には、記憶装置３に保存されているエリア分類テーブル３ｅが参照される。図６は、エリア分類テーブル３ｅの内容を示す。エリア分類テーブル３ｅには、セル占有率と端子密度と、エリアの分類との対応関係が記述されている。例えば、あるエリアのセル占有率Ｕが８０％を超え、端子密度Ｄが１２０を超えている場合、該エリアは、多配線用セルエリアに分類される。
【００３９】
配線の混雑度の評価は、セル占有率と端子密度とのうちの一方のみで行われ得る。しかし、本実施の形態のように、セル占有率と端子密度との両方によって配線の混雑度の評価が行われることが好適である。例えば、図７に示されているように、セル間配線接続端子１５をそれぞれに有するノーマル用コアセル６ａが配置されているとする。図７に示されている例では、セル占有率Ｕが低いが、端子密度Ｄが高い。かかる場合には、配線の混雑度が高いと判断されるべきである。更に、図８に示されているように、セル占有率Ｕが高いが、端子密度Ｄは低い場合には、配線の混雑度が低いと判断されるべきである。このように、セル占有率と端子密度との両方によって配線の混雑度が評価されることにより、配線の混雑度の適切な評価が可能である。
【００４０】
エリア１１の分類に続いて、多配線用セルエリアに分類されたエリアに位置するノーマル用コアセル６ａが、多配線用コアセル６ｂに置換され、少配線用セルエリアに分類されたエリアに位置するノーマル用コアセル６ａが、少配線用コアセル６ｃに置換される（ステップＳ０６、Ｓ０８）。ノーマル用セルエリアに分類されたエリアに位置するノーマル用コアセル６ａはそのまま残される（ステップＳ０７）。
【００４１】
続いて、コアセル６の再配置が行われる（Ｓ０９）。多配線用コアセル６ｂは、ノーマル用コアセル６ａよりもその幅が広いため、ノーマル用コアセル６ａが多配線用コアセル６ｂに置換されることにより、多配線用コアセル６ｂが相互にオーバーラップする可能性がある。そこで、オーバーラップした多配線用コアセル６ｂが幅方向（ｘ軸方向）にずらす再配置が行われ、多配線用コアセル６ｂ相互のオーバーラップが解消される。更に、少配線用コアセル６ｃは、ノーマル用コアセル６ａよりもその幅が狭いため、ノーマル用コアセル６ａが少配線用コアセル６ｃに置換されることにより、隙間が生じる。この隙間を有効に活用するために、図１０に示されているように、該隙間をまとめて大きな空きスペースが生成されるように、少配線用コアセル６ｃが再配置される。生成された空きスペースには、必要に応じて他のセルが配置され、セル列領域が有効に利用される。例えば、レイアウト検証によって他のセルの配置が必要になった場合には、少配線用コアセル６ｃの再配置によって空いたスペースにセルが配置されることにより、チップサイズの増大を防ぐことができる。更に、かかる空きスペースには、ハードマクロ１２が配置され得る。
【００４２】
続いて、電源配線セル７と接地配線セル８との配置が行われる（ステップＳ１０）。ノーマル用セルエリアにあるノーマル用コアセル６ａを挟むように、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａが配置される。同様に、多配線用セルエリアにある多配線用コアセル６ｂを挟むように、多配線用電源配線セル７ｂ及び多配線用接地配線セル８ｂが配置され、少配線用セルエリアにある少配線用コアセル６ｃを挟むように、少配線用電源配線セル７ｃ及び少配線用接地配線セル８ｃが配置される。
【００４３】
続いて、コアセル６の相互の詳細配線が行われて、レイアウトデータが生成される（ステップＳ１１）。生成されたレイアウトデータがプリンタ、表示装置などの出力装置によって出力される（ステップＳ１２）。
【００４４】
以上に説明されているように、本実施の形態の自動レイアウト方法は、配線の局所的な混雑の解消と、チップ面積の縮小とを同時に実現可能である。本実施の形態の自動レイアウト方法では、配線のセル占有率と端子密度とに基づいて各エリアの混雑度を予想し、その混雑度に応じてコアセル６、電源側配線セル７、及び接地側配線セル８の組み合せが選択される。即ち、混雑度が標準的であると予測されるノーマル用セルエリアでは、ノーマル用コアセル６ａ、ノーマル用電源配線セル７ａ、及びノーマル用接地配線セル８ａの組み合せが使用され、混雑度が高いと予測される多配線用セルエリアでは、多くの配線を配置可能にするために多配線用コアセル６ｂ、多配線用電源配線セル７ｂ及び多配線用接地配線セル８ｂの組み合せが使用され、混雑度が低いと予測される少配線用セルエリアでは、セルの占有面積を小さくするために、多配線用コアセル６ｂ、多配線用電源配線セル７ｂ及び多配線用接地配線セル８ｂの組み合せが使用される。これにより、配線の局所的な混雑の解消と、チップ面積の縮小とが図られている。
【００４５】
更に、本実施の形態の自動レイアウト方法は、レイアウトの規則性が高く、レイアウトが容易である。即ち、本実施の形態の自動レイアウト方法では、コアセル６、電源側配線セル７、及び接地側配線セル８のいずれの組み合せにおいても、セルの高さの合計が統一されている。セル列の高さが統一されることにより、設計される半導体集積回路のレイアウトの規則性が高められ、設計の容易化が図られている。
【００４６】
なお、本実施の形態のステップＳ０８において、図１１（ｂ）に示されているように、少配線用セルエリアに位置するノーマル用コアセル６ａの全部を少配線用コアセル６ｃに置換するのではなく、図１１（ｃ）に示されているように、ノーマル用コアセル６ａの少なくとも一部をそのままに残し、残されたノーマル用コアセル６ａの上下に、それぞれ容量フィルセル１３ａ、１３ｂが配置されることが可能である。容量フィルセル１３ａ、１３ｂは、電源配線セル７に配設される電源線に電気的に接続されている第１電極と、該第１電極に対向し、接地配線セル８に配設される接地線に電気的に接続されている第２電極とからなるキャパシタが設けられているセルである。容量フィルセル１３ａ、１３ｂに形成されるキャパシタは、ゲート容量によって構成されることがあり、異なる配線層に設けられた２つの電極と、その間に介設される層間絶縁膜とによって構成されることがある。容量フィルセル１３ａ、１３ｂが配置される場合、ステップＳ１０では、容量フィルセル１３ａの上側に少配線用電源配線セル７ｃが配置され、容量フィルセル１３ｂの下側には少配線用接地配線セル８ｃが配置される。容量フィルセル１３ａと少配線用電源配線セル７ｃとの高さの和は、ノーマル用電源配線セル７ａの高さに等しく、容量フィルセル１３ｂと少配線用接地配線セル８ｃとの高さの和は、ノーマル用接地配線セルの８ａの高さに等しい。容量フィルセル１３ａ、１３ｂを配置することにより、ノイズ削減のために電源線と接地線との間に必要な容量を、フロアプラン段階で（即ち、詳細配線が行われる前に）確保することが可能である。容量フィルセル１３ａ、１３ｂを配置することは、更に、セル列領域が有効に活用される点でも好適である。
【００４７】
更に、本実施の形態において、ノーマル用コアセル６ａが少配線用コアセル６ｃに置換されることによって生じる隙間には、図１２に示されているように、容量フィルセル１４が配置されることが可能である。容量フィルセル１４とは、容量フィルセル１３ａ、１３ｂと同様に、電源配線セル７に配設される電源線に電気的に接続されている第１電極と、該第１電極に対向し、接地配線セル８に配設される接地線に電気的に接続されている第２電極とからなるキャパシタが設けられているセルである。容量フィルセル１４を配置することにより、電源線と接地線との間に必要な容量を、フロアプラン段階で確保することが可能である。
【００４８】
【発明の効果】
本発明により、レイアウトの規則性を保ちながら、配線を最適に配置することを可能にする半導体集積回路の自動レイアウト技術が提供される。
【図面の簡単な説明】
【図１】図１は、本発明による半導体集積回路の自動レイアウト方法を示すフローチャートである。
【図２】図２は、半導体集積回路の自動レイアウト方法の実行に使用されるコンピュータシステム１を示す。
【図３】図３は、コアセル６、電源配線セル７、及び接地配線セル８を示す図である。
【図４】図４は、ノーマル用セルエリア、多配線用セルエリア、及び少配線用セルエリアを示す。
【図５】図５は、セル列領域１０が分割されて規定された複数のエリア１１を示す。
【図６】図６は、エリア分類テーブル３ｄの内容を示す。
【図７】図７は、セル占有率が低いにも関わらず、端子密度が高いためにセル間配線の混雑度が高い例を示す。
【図８】図８は、セル占有率が高いにも関わらず、端子密度が低いためにセル間配線の混雑度が低い例を示す。
【図９】図９は、セル列領域１０の一部とハードマクロ１２とが重ねられた配置を示す。
【図１０】図１０は、少配線用コアセル６ｃの再配置によって生じる空きスペースに、ハードマクロ１２が配置された配置を示す。
【図１１】図１１は、容量フィルセル１３ａ、１３ｂが、ノーマル用コアセル６ａの上下に配置された配置を示す。
【図１２】図１２は、ノーマル用コアセル６ａが少配線用コアセル６ｃに置換されて生じる空きスペースに容量フィルセル１４が配置された配置を示す。
【符号の説明】
１：コンピュータシステム
２：入力装置
３：記憶装置
３ａ：レイアウトツール
３ｂ：ネットリストと、
３ｃ：セルライブラリ
３ｄ：エリア分類テーブル
４：ＣＰＵ
５：出力装置
６：コアセル
６ａ：ノーマル用コアセル
６ｂ：多配線用コアセル
６ｃ：少配線用コアセル
７：電源配線セル
７ａ：ノーマル用電源配線セル
７ｂ：多配線用電源配線セル
７ｃ：少配線用電源配線セル
８：接地配線セル
８ａ：ノーマル用接地配線セル
８ｂ：多配線用接地配線セル
８ｃ：少配線用接地配線セル
１０：セル列領域
１１：エリア
１２：ハードマクロ
１３ａ、１３ｂ、１４：容量フィルセル
１５：セル間配線接続端子
【図１】
0003672912.tif 000002
【図２】
0003672912.tif 000003
【図３】
0003672912.tif 000004
【図４】
0003672912.tif 000005
【図５】
0003672912.tif 000006
【図６】
0003672912.tif 000007
【図７】
0003672912.tif 000008
【図８】
0003672912.tif 000009
【図９】
0003672912.tif 000010
【図１０】
0003672912.tif 000011
【図１１】
0003672912.tif 000012
【図１２】
0003672912.tif 000013