(57)【要約】【課題】ブロック内にセル高さが異なる複数のスタンダードセルを、面積効率よく配置する、スタンダードセルのレイアウト方法を提供する。【解決手段】回路接続情報に従って、セル高さが異なる複数のスタンダードセルを選択するステップ（Ｓ１０１）と、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出するステップ（Ｓ１０２）と、幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を決定するステップ（Ｓ１０３）と、段数の比に従って、複数のスタンダードセルをレイアウトするステップ（Ｓ１０４）と、を備えるレイアウト方法である。【選択図】図９
2014236116.tif 000002
【特許請求の範囲】
【請求項１】
ブロック内に、セル高さの異なる複数のスタンダードセルをセル高さ毎に該スタンダードセルの幅方向に配列し、該配列をスタンダードセルの高さ方向に複数段配置するスタンダードセルのレイアウト方法であって、
回路接続情報に従って、セル高さが異なる複数のスタンダードセルを選択するステップと、
前記選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出するステップと、
前記幅の総和の比を求め、該比に基づいて、前記セル高さ毎のスタンダードセルの配列の段数の比を決定するステップと、
前記段数の比に従って、前記複数のスタンダードセルをレイアウトするステップと、を備えることを特徴とするスタンダードセルのレイアウト方法。
【請求項２】
前記複数のスタンダードセルのセル高さが、最小のセル高さの整数倍でないことを特徴とする請求項１に記載のスタンダードセルのレイアウト方法
【請求項３】
ブロック内に、セル高さが異なる複数のスタンダードセルが、同一セル高さ毎に該スタンダードセルの幅方向に配列され、該配列が該スタンダードセルの高さ方向に複数段配置された半導体集積回路であって、
セル高さ毎に前記複数のスタンダードセルの幅の総和を算出し、該幅の総和の比に基づいて前記配列の段数の比が決定され、該段数の比に従って、スタンダードセルが配置されたこと特徴とする半導体集積回路。
【請求項４】
ブロック内に、セル高さの異なる複数のスタンダードセルをセル高さ毎に該スタンダードセルの幅方向に配列し、該配列をスタンダードセルの高さ方向に複数段配置するスタンダードセルのレイアウトについて、
回路接続情報に従って、セル高さが異なる複数のスタンダードセルを選択させるステップと、
前記選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出されるステップと、
前記幅の総和の比を求め、該比に基づいて、前記セル高さ毎のスタンダードセルの配列の段数の比を決定させるステップと、
前記段数の比に従って、前記複数のスタンダードセルをレイアウトさせるステップと、をコンピュータに実行させるスタンダードセルのレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セル高さの異なるスタンダードセルのレイアウト方法、その方法を実行するスタンダードセルのレイアウトプログラム、および半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路は、インバータ回路やＮＡＮＤ回路等のスタンダードセル（基本セル）と呼ばれるセルを複数配置して、ひとつの機能ブロックが組み上げられる。例えば、インバータ回路は、ＰｃｈトランジスタとＮｃｈトランジスタとから構成される。インバータ回路の駆動能力は、このＰｃｈトランジスタとＮｃｈトランジスタのサイズを変更することによって調整される。このため、高さ（ＶｄｄラインからＶｓｓラインまでの長さ）や幅が異なるスタンダードセルが存在する。
【０００３】
スタンダードセルの高さが異なると、そのレイアウトによって半導体集積回路の面積効率が悪くなるため、通常、スタンダードセルの高さはひとつに統一される。しかし、例外としては、統一された高さに対して整数倍の高さを持つセル、例えばＤｏｕｂｌｅ  Ｈｅｉｇｈｔと呼ばれる２倍の高さのセルを含む場合がある。整数倍のセル高さであれば、面積効率よくレイアウトすることが可能である。この他、セル高さが異なるスタンダードセルの配置する方法として、種々の提案がなされている。
【０００４】
例えば、特許文献１には、ロー領域の段数を算出してから、スタンダードセルの個数から面積を算出し、面積に基づいて各スタンダードセルに対応した高さを有するロー領域の段数を算出してスタンダードセルをレイアウトする手法が提案されている。
また、特許文献２には、高速性を要求する領域に使用するセルの高さの大きい高グリッドセルを、高速性を要求しない領域で使用すると領域に無駄が出るため、低速、中速用の低グリッドセル、中グリッドセルをライブラリに追加して、ブロックサイズを小さくする発明が提案されている。一つのブロック内に異なるサイズのグリッドセルを混載することも提案されている。
また、特許文献３においては、面積効率が良いスタンダードセルおよびそのレイアウト方法が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記文献においては、同一高さのスタンダードセルの配列を、高さ方向に複数段配置する場合の段数の比率については記載されていない。また、セル高さが互いに整数倍ではない、異なる高さのスタンダードセルをひとつの機能ブロック内に配置する場合、そのレイアウト面積を小さくし、面積効率を良くするレイアウト方法については知られていない。
本発明は、上記事情に鑑みてなされたものであり、セル高さが異なる複数のスタンダードセルを一つのブロック内に配置する場合、レイアウト面積の省面積化を図り、面積効率良く配置することが可能なスタンダードセルのレイアウト方法を提供することを目的とする。さらには、セル高さが、最小セル高さの整数倍でない複数のスタンダードセルを用いてレイアウトする場合にも適用可能なスタンダードセルのレイアウト方法を提供する。
【課題を解決するための手段】
【０００６】
本発明のスタンダードセルのレイアウト方法は、上記課題を解決し目的を達成するために、ブロック内に、セル高さの異なる複数のスタンダードセルをセル高さ毎に該スタンダードセルの幅方向に配列し、該配列をスタンダードセルの高さ方向に複数段配置するスタンダードセルのレイアウト方法であって、
回路接続情報に従って、セル高さが異なる複数のスタンダードセルを選択するステップと、
前記選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出するステップと、
前記幅の総和の比を求め、該比に基づいて、前記セル高さ毎のスタンダードセルの配列の段数の比を決定するステップと、
前記段数の比に従って、前記複数のスタンダードセルをレイアウトするステップと、を備えることを特徴とするものである。
【発明の効果】
【０００７】
本発明のスタンダードセルのレイアウト方法によれば、セル高さの異なる複数のスタンダードセルを、ブロック内に良好な面積効率で配置することができ、ブロックの面積の省面積化を図ることができる。さらには、複数のセル高さが、最小セル高さの整数倍でないスタンダードセルをレイアウトする場合にも適用することができ、効果的に面積効率の向上を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のスタンダードセルのレイアウト方法における、（ａ）セル高さと幅が異なる３種類のスタンダードセル、および高さの異なる２つのＦＩＬＬＥＲセルの平面図、および（ｂ）それらのセルのシンボル図である。
【図２】従来のスタンダードセルのレイアウト方法における、（ａ）セル高さの異なるスタンダードセルを用いたブロックの回路図、および（ｂ）それらのスタンダードセルをセルの個数比に基づいて配置した場合のブロックレイアウト図である。
【図３】第１の実施形態のスタンダードセルのレイアウト方法における、（ａ）セル高さの異なるスタンダードセルを用いたブロックの回路図、および（ｂ）それらのスタンダードセルを本発明のレイアウト方法によって配置したブロックレイアウト図である。
【図４】第２の実施形態のスタンダードセルのレイアウト方法における、（ａ）セル高さの異なるスタンダードセルを用いたブロックの回路図、および（ｂ）それらのスタンダードセルを本発明のレイアウト方法によって配置したブロックレイアウト図である。
【図５】第３の実施形態のスタンダードセルのレイアウト方法における、（ａ）セル高さの異なるスタンダードセルを用いたブロックの回路図、および（ｂ）それらのスタンダードセルを本発明のレイアウト方法によって配置したブロックレイアウト図である。
【図６】（ａ）第４の実施形態のスタンダードセルのレイアウト方法によって求めた段数の比、および（ｂ）スタンダードセルのブロックレイアウト図である。
【図７】第５の実施形態のスタンダードセルのレイアウト方法に用いられるミドルサイズのスタンダードセルのシンボル図である。
【図８】（ａ）第５の実施形態のスタンダードセルのレイアウト方法によって求めた段数の比、および（ｂ）スタンダードセルを高さ毎のセル比によって配置した場合と、本発明のレイアウト方法によって配置した場合とのブロックレイアウト図である。
【図９】スタンダードセルのレイアウト方法の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について説明する。
（第１の実施形態）
本発明の第１の実施形態について図１、図２および図３を参照しながら説明する。
まず、スタンダードセルの一例について図１を参照して説明する。図１（ａ）−１〜（ａ）−５に、セル高さと幅が異なる３種類のスタンダードセル、および高さと幅が異なる２種類のＦＩＬＬＥＲセルの平面図を示す。図１（ｂ）−１〜（ｂ）−５に、それらのシンボル図を示す。
【００１０】
図１における、スタンダードセルの幅と高さの単位としてＧｒｉｄを用いる。幅１Ｇｒｉｄと高さ１Ｇｒｉｄは必ずしも同じ長さにはならない。以下の実施形態においても同様にこの単位を用いて説明する。また、セル高さは、図１（ａ）−１に示すように、Ｖｄｄライン１１からＶｓｓライン１２までの長さ（ｈ）を示す。
【００１１】
図１の（ａ）−１は、セル高さがＨＩＧＨ  ＧＲＩＤのセルのレイアウトで、ここでは８Ｇｒｉｄの高さとしている。幅は５Ｇｒｉｄである。セル名をＨＩＮＶ＿５Ｇとする。ＰｃｈトランジスタのサイズをＷｐ、ＮｃｈトランジスタのサイズをＷｎとすると、Ｗｐ＝２０ｗ、Ｗｎ＝１０ｗのインバータである。ｗはトランジスタのサイズを示す単位とする。
図１の（ｂ）−１は（ａ）−１の回路図用のシンボル（丸と三角で構成される図）とレイアウト表記を簡素化したシンボル（長方形で構成される図）である。
【００１２】
図１の（ａ）−２は、高さがＬｏｗ  Ｇｒｉｄのセルのレイアウトで、ここでは６Ｇｒｉｄの高さとしている。幅は３ｇｒｉｄで、Ｗｐ＝８ｗ、Ｗｎ＝４ｗのインバータである。セル名をＬＩＮＶ＿３Ｇとする。
図１の（ｂ）−２は、（ａ）−２の回路図用のシンボルとレイアウト表記を簡素化したシンボルである。
【００１３】
図１の（ａ）−３は、高さがＬｏｗ  Ｇｒｉｄのセルのレイアウトで、幅は２Ｇｒｉｄで、Ｗｐ＝４ｗ、Ｗｎ＝２ｗのインバータである。セル名をＬＩＮＶ＿２Ｇとする。
図１の（ｂ）−３は、（ａ）−３の回路図用のシンボルとレイアウト表記を簡素化したシンボルである。
【００１４】
図１の（ａ）−４は高さがＨｉｇｈ  Ｇｒｉｄのセルのレイアウトで、幅は２ＧｒｉｄのＦＩＬＬＥＲセルである。セル名をＨＦＩＬＬＥＲ＿２Ｇとする。ＦＩＬＬＥＲセルは、（ａ）−１、（ａ）−２、（ａ）−３などのセルを配置したときにできるセル間の隙間や、セル全体を長方形のブロックに組み上げるときにできる、ブロックの端にできる隙間を埋めるためのセルである。ここでは、セル内に回路要素を含んでいない。
図１の（ｂ）−４は（ａ）−４のレイアウト表記を簡素化したシンボルである。
【００１５】
図１の（ａ）−５は高さがＬｏｗ  Ｇｒｉｄのセルのレイアウトで、幅は２ｇｒｉｄのＦＩＬＬＥＲセルである。セル名をＬＦＩＬＬＥＲ＿２Ｇとする。（ｂ）−５は（ａ）−５のレイアウト表記を簡素化したシンボルである。
【００１６】
ここで、従来の、セル高さが異なる複数のスタンダードセルのレイアウト方法について図１および図２を参照して以下に説明する。図２（ａ）に、従来のレイアウト方法における、セル高さの異なるスタンダードセルを接続したブロックの回路図の一例を示す。図２（ｂ）に、それらのスタンダードセルをセルの個数比に基づいて配置したブロックレイアウト図を示す。
【００１７】
この回路図では、ＨＩＮＶ＿５Ｇを４セル、ＬＩＮＶ＿３Ｇを２セル、ＬＩＮＶ＿２Ｇを２セル使用している。Ｈｉｇｈ  Ｇｒｉｄセルの数は合計４セル、Ｌｏｗ  Ｇｒｉｄセルの数も合計４セルであり、Ｈｉｇｈ  ＧｒｉｄセルとＬｏｗ  Ｇｒｉｄセルの使用数の比は１：１である。Ｈｉｇｈ  Ｇｒｉｄセルのセル高さはＬｏｗ  Ｇｒｉｄセルのセル高さの整数倍ではない。
ここでは、同じ高さのセルを横幅方向に並べた列をＲＯＷ（すなわち、セル高さ毎のスタンダードセルの配列）と呼ぶことにすると、この回路図をブロックレイアウトする場合、Ｈｉｇｈ  ＧｒｉｄセルのＲＯＷとＬｏｗ  ＧｒｉｄセルのＲＯＷの比（すなわち、段数の比）をセルの使用数の比１：１にする配置が考えられる。
【００１８】
図２、Ｈｉｇｈ  ＧｒｉｄセルのＲＯＷとＬｏｗ  ＧｒｉｄセルのＲＯＷを１：１にしたことにより、ＦＩＬＬＥＲセルであるＬＦＩＬＬＥＲ＿２Ｇが５セル使用していることがわかる。ＦＩＬＬＥＲセルの数が多いほど、ブロックレイアウトの面積効率は悪くなっていると言える。
【００１９】
従来のレイアウト方法のように高さ毎のセル比で配置すると、複数のセルの高さが最小セル高さの整数倍でない場合には、面積効率が低下するという問題があり、このような場合についての面積効率が良いレイアウト方法は提案されていない。そこで、発明者は、鋭意検討の結果、スタンダードセルのセル高さが、最小セル高さの整数倍でない場合にも応用可能である、面積効率を良好にすることができるスタンダードセルのレイアウト方法を発明するに至った。
第１の実施形態のスタンダードセルのレイアウト方法について図３および図９を参照して説明する。図３（ａ）に、本実施形態のブロックの回路図を示し、図３（ｂ）にブロックレイアウト図を示す。図９に、本発明のスタンダードセルのレイアウト方法の一例のフローチャートを示す。
【００２０】
本発明のスタンダードセルのレイアウト方法は、回路接続情報に従って、セル高さが異なる複数のスタンダードセルを選択するステップ（図９  Ｓ１０１：スタンダードセル選択ステップ）と、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出するステップ（図９  Ｓ１０２：高さ毎の幅の総和算出ステップ）と、幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を決定するステップ（図９  Ｓ１０３：段数の比決定ステップ）と、段数の比に従って、複数のスタンダードセルをレイアウトするステップ（図９  Ｓ１０４：スタンダードセル配置ステップ）と、を備える。
【００２１】
ブロックを設計する場合、所望する機能を実現する論理設計を行い、その設計情報に基づいてセルライブラリからスタンダードセルを複数選択し、セルの接続を行う。セルライブラリとは、インバータ回路、ＡＮＤ回路、ＮＡＮＤ回路、抵抗、キャパシタ（容量）等のスタンダードセルである電子データが集約されたデータベースである。
本発明は、このような回路接続情報に従って、複数のスタンダードセルを選択して１つのブロックを組み上げるものである。半導体集積回路は、このような各種機能をブロックが基板上に配置された電子回路である。
【００２２】
本実施形態におけるブロックは、簡単なクロックツリー機能を持たせたものであって、その機能を持たせるための回路接続情報に従って、セル高さが異なる複数のスタンダードセル（インバータ）を選択する（Ｓ１０１）。図３（ａ）の回路図は図２（ａ）に示す回路図と同じで、図１のＨＩＮＶ＿５Ｇを４セル、ＬＩＮＶ＿３Ｇを２セル、ＬＩＮＶ＿２Ｇを２セル選択する。
【００２３】
次に、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出する（Ｓ１０２）。すなわち、Ｈｉｇｈ  Ｇｒｉｄセルは、幅５ＧｒｉｄのＨＩＮＶ＿５Ｇを４セル使用しているため、幅の総和は２０Ｇｒｉｄである。Ｌｏｗ  Ｇｒｉｄセルは幅３ＧｒｉｄのＬＩＮＶ＿３Ｇを２セルと、幅２ＧｒｉｄのＬＩＮＶ＿２Ｇを２セル使用しているため、幅の総和は１０Ｇｒｉｄとなる。
【００２４】
次に、上記の幅の総和から幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を決定する（Ｓ１０３）。すなわち、Ｈｉｇｈ  ＧｒｉｄセルとＬｏｗ  Ｇｒｉｄセルの幅の総和の比は２：１となる。この幅の総和の比を、Ｈｉｇｈ  ＧｒｉｄセルとＬｏｗ  Ｇｒｉｄセルの配列の段数の比とする。
この比（２：１）でＨｉｇｈ  ＧｒｉｄセルのＲＯＷとＬｏｗ  ＧｒｉｄセルのＲＯＷを構成すると、レイアウト表記を簡素化したシンボルであらわした図３（ｂ）のブロックレイアウト図のように、Ｈｉｇｈ  ＧｒｉｄセルのＲＯＷが２段、Ｌｏｗ  ＧｒｉｄセルのＲＯＷが１段となる。この構成は、ＦＩＬＬＥＲセルを使用せずにブロックレイアウトを構成できるため、面積効率が良いと言える。従って、幅の総和の比をＨｉｇｈ  ＧｒｉｄセルとＬｏｗ  Ｇｒｉｄセルの段数の比と決定する。
【００２５】
最後に、上記決定された段数の比に従ってスタンダードセルを配置する（Ｓ１０４）。
本実施形態では、異なるセル高さのセル幅の総和の比を段数の比にしたが、常に、セル高さ毎の幅の総和の比を段数の比に使用できるわけではない。このような場合について、以下に示す本発明の第２の実施形態として説明する。
【００２６】
（第２の実施形態）
図４（ａ）に、本発明の第２の実施形態のブロックの回路図を示し、図４（ｂ）にブロックレイアウト図を示す。本実施形態におけるブロックは、簡単なクロックツリー機能を持たせたものである。
まず、回路接続情報に従って、セル高さが異なる複数のスタンダードセル（インバータ）を選択する（Ｓ１０１）。図４（ａ）は、図１のセルを使用した回路図で、ＨＩＮＶ＿５Ｇを４セル、ＬＩＮＶ＿３Ｇを４セル選択する。
次に、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出する（Ｓ１０２）。すなわち、Ｈｉｇｈ  Ｇｒｉｄセルのセル幅の総和は２０Ｇｒｉｄである。Ｌｏｗ  Ｇｒｉｄセルのセル幅の総和は１２Ｇｒｉｄである。
【００２７】
次に、上記の幅の総和から幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を、ブロックの面積が最小となるように決定する（Ｓ１０３）。上記幅の総和から、セル幅の総和の比は、２０：１２＝５：３となる。しかし、このままＨｉｇｈ  ＧｒｉｄのＲＯＷを５列、Ｌｏｗ  ＧｒｉｄのＲＯＷを３列にする設定ができないことはＨｉｇｈ  Ｇｒｉｄセルが４セルしかないことから明らかである。
【００２８】
この場合、上記幅の総和の比を、５：３＝１．６６：１と考えて、さらに小数点以下第一位を四捨五入して２：１と考えると、図４（ｂ）−１のようなブロックレイアウトとなる。このときはＨＦＩＬＬＥＲ＿２Ｇを２セル使用している。ブロックレイアウトの横方向Ｇｒｉｄ（Ｘ  Ｇｒｉｄと呼ぶ）は、Ｈｉｇｈ  Ｇｒｉｄセルの幅が５であり、Ｌｏｗ  Ｇｒｉｄセルの幅が３であるので、合計１２Ｇｒｉｄである。縦方向のＧｒｉｄ（Ｙ  Ｇｒｉｄと呼ぶ）は、高さ８ＧｒｉｄのＨｉｇｈ  Ｇｒｉｄセルが２段であり、高さ６ＧｒｉｄのＬｏｗ  Ｇｒｉｄセルが１段であるので合計２２Ｇｒｉｄである。
【００２９】
もし幅の総和の比１．６６：１を１：１とみなすと、図４（ｂ）−２のようなブロックレイアウトになり、ＬＦＩＬＬＥＲ＿２Ｇが４個必要で、Ｘ  Ｇｒｉｄ＝２０Ｇｒｉｄ、Ｙ  Ｇｒｉｄ＝１４Ｇｒｉｄである。これは、Ｈｉｇｈ  Ｇｒｉｄセル４セルとＬｏｗ  Ｇｒｉｄセル４セルの比である。つまり、従来技術である、使用したセル数の比を段数の比としたものである。セル比１：１から段数の比を決めた場合と同じになる。
仮に横幅１Ｇｒｉｄと高さ１Ｇｒｉｄが同じである場合には、ブロック面積（Ｘ  Ｇｒｉｄ×Ｙ  Ｇｒｉｄ）は図４（ｂ）−１で２６４、図４（ｂ）−２で２８０となり、面積は図４（ｂ）−１の方が小さくなる。
従って、この場合は、ブロック面積が小さくなる方、すなわち段数の比を２：１とした場合を段数の比に決定する（Ｓ１０３）。
【００３０】
段数の比を２：１として、スタンダードセルを配置する（Ｓ１０４）。
【００３１】
（第３の実施形態）
図５（ａ）に第３の実施形態のブロックの回路図を示し、図５（ｂ）にブロックレイアウト図を示す。本実施形態におけるブロックは、簡単なクロックツリー機能を持たせたものである。
まず、回路接続情報に従って、セル高さが異なる複数のスタンダードセル（インバータ）を選択する（Ｓ１０１）。図５（ａ）に示すように、ＨＩＮＶ＿５Ｇを４セル、ＬＩＮＶ＿３Ｇを４セル、ＬＩＮＶ＿２Ｇを１セル選択する。
【００３２】
次に、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出する（Ｓ１０２）。Ｈｉｇｈ  Ｇｒｉｄセルのセル幅の総和は２０Ｇｒｉｄ、Ｌｏｗ  Ｇｒｉｄセルのセル幅の総和は１４Ｇｒｉｄである。
【００３３】
次に、上記の幅の総和から幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を決定する（Ｓ１０３）。幅の総和の比は、２０：１４＝１０：７＝１．４２：１となる。
この比を２：１とみなすと、図５（ｂ）−１のようなブロックレイアウトになり、ＨＦＩＬＬＥＲ＿２Ｇが４セル必要で、Ｘ  Ｇｒｉｄ＝１４Ｇｒｉｄ、Ｙ  Ｇｒｉｄ＝２２Ｇｒｉｄである。
【００３４】
一方、１：１とみなすと、図５（ｂ）−２のようなブロックレイアウトになり、ＬＦＩＬＬＥＲ＿２Ｇが３セル必要で、Ｘ  Ｇｒｉｄ＝２０Ｇｒｉｄ、Ｙ  Ｇｒｉｄ＝１４Ｇｒｉｄである。
仮に横幅１Ｇｒｉｄと高さ１Ｇｒｉｄが同じである場合には、面積（Ｘ  Ｇｒｉｄ×Ｙ  Ｇｒｉｄ）は図５（ｂ）−１で３０８となり、図５（ｂ）−２で２８０となり、ブロック面積は図５（ｂ）−２の方が小さくなる。従って、段数の比は、２：１と決定する。
【００３５】
上記決定された段数の比２：１に従ってスタンダードセルを配置する（Ｓ１０４）。
このように、異なるセル高さのセル幅の総和の比を整数化した上で、最適な比を選ぶと良い。
また、回路規模が大きくなった場合には、段の総数が３より大きい設定も可能である。
【００３６】
（第４の実施形態）
次に、本発明の４の実施形態について図６を参照しながら説明する。図６（ａ）にセルの幅の総和の比の計算式を示し、図６（ｂ）にブロックレイアウト図を示す。
まず、回路接続情報（図６では回路図は省略している。）に従って、セル高さが異なる複数のスタンダードセル（インバータ）を選択する（Ｓ１０１）。図１に示したＨＩＮＶ＿５Ｇを１２セル、ＬＩＮＶ＿３Ｇを１２セル、ＬＩＮＶ＿２Ｇを２セル選択する。
【００３７】
次に、選択された複数のスタンダードセルから、セル高さ毎にスタンダードセルの幅の総和を算出する（Ｓ１０２）。図６（ａ）に示すように、Ｈｉｇｈ  Ｇｒｉｄセルのセル幅の総和は６０Ｇｒｉｄ、Ｌｏｗ  Ｇｒｉｄセルのセル幅の総和は４０Ｇｒｉｄである。
【００３８】
次に、上記の幅の総和から幅の総和の比を求め、該比に基づいて、セル高さ毎のスタンダードセルの配列の段数の比を決定する（Ｓ１０３）。上記から、セル幅の総和の比は６０：４０＝１．５：１となる。この比１．５：１を２：１とみなした場合には、図６（ｂ）−１のようになり、ブロックレイアウトにはＨＦＩＬＬＥＲ＿２Ｇが１０セル必要となる。一方、１．５：１＝３：２とみなした場合には、図６（ｂ）−２のように、ＦＩＬＬＥＲセルを使用しないブロックレイアウトができ、面積効率が良くなる。従って、上記決定された段数の比３：２に決定する。
【００３９】
上記決定された段数の比３：２に従ってスタンダードセルを配置する（Ｓ１０４）。
【００４０】
（第５の実施形態）
上記第１の実施形態から第４の実施形態ではスタンダードセルの高さは２種類であったが、それより多くても同様の考え方ができる。
まず、図７にセルの高さがＭｉｄｄｌｅ  Ｇｒｉｄの横幅４ＧｒｉｄのセルＭＩＮＶ＿４Ｇのレイアウトシンボルを定義する。Ｈｉｇｈ  Ｇｒｉｄセルの高さが８Ｇｒｉｄ、Ｌｏｗ  Ｇｒｉｄセルの高さが６Ｇｒｉｄの場合、Ｍｉｄｄｌｅ  Ｇｒｉｄセルの高さは７ｇｒｉｄである。Ｈｉｇｈ  ＧｒｉｄセルとＭｉｄｄｌｅ  Ｇｒｉｄセルのセル高さ（８Ｇｒｉｄ、７Ｇｒｉｄ）は、Ｌｏｗ  Ｇｒｉｄセルのセル高さ（６Ｇｒｉｄ）の整数倍ではない。
【００４１】
図８（ａ）に段数の比を求める算出式を示す。図８（ｂ）−１に、従来技術のように、セル高さ毎のセル数の比に従って配置した場合のレイアウトブロック図を示す。図８（ｂ）−２に、本発明のレイアウト方法によって配置した場合のブロックレイアウト図を示す。
まず、回路接続情報に従って（図８では回路図は省略している。）、セル高さが異なる複数のスタンダードセル（インバータ）を選択する（Ｓ１０１）。ＨＩＮＶ＿５Ｇが８セル、ＭＩＮＶ＿４Ｇが１０セル、ＬＩＮＶ＿２Ｇが１０セル選択する。
【００４２】
図８（ａ）に示すように、図８（ｂ）−１は、セル数の比８：１０：１０を１：１：１とみなして、Ｈｉｇｈ  Ｇｒｉｄ、Ｍｉｄｄｌｅ  Ｇｒｉｄ、ＬｏｗＧｒｉｄのＲＯＷの列を１：１：１で配置している。この場合、ＬＦＩＬＬＥＲ＿２Ｇが１０セル必要である。
【００４３】
一方、図８（ｂ）−２は、ＨＩＮＶ＿５Ｇが８セル、ＭＩＮＶ＿４Ｇが１０セル、ＬＩＮＶ＿２Ｇが１０セルの構成に対して、それぞれ同じ高さのセルの幅の総和の比から段数の比を決めたブロックレイアウトである。
横幅５ＧｒｉｄのＨＩＮＶ＿５Ｇが８セルと、横幅４ＧｒｉｄのＭＩＮＶ＿４Ｇが１０セルと、横幅２ＧｒｉｄのＬＩＮＶ＿２Ｇが１０セルから幅の総和の比は、４０：４０：２０＝２：２：１となる。この比を段数の比としてＨｉｇｈ  ＧｒｉｄセルのＲＯＷを２段、Ｍｉｄｄｌｅ  ＧｒｉｄセルのＲＯＷを２段、Ｌｏｗ  ＧｒｉｄセルのＲＯＷを１段で構成している。ＦＩＬＬＥＲセルは使用していないため、明らかに図８（ｂ）−１よりも面積効率が良いことがわかる（Ｓ１０２、Ｓ１０３、Ｓ１０４）。
【００４４】
以上のように、異なる高さのセルのそれぞれのセル幅の総和に対する比率をもとに、それぞれの異なる高さのセルに対して作成したＲＯＷの数の比、すなわち段数の比を決めることで、面積効率の良いブロックレイアウトを行うことができる。
【００４５】
本発明の半導体集積回路は、ブロック内に、セル高さが異なる複数のスタンダードセルが、同一セル高さ毎に該スタンダードセルの幅方向に配列され、該配列が該スタンダードセルの高さ方向に複数段配置された半導体集積回路であって、セル高さ毎に複数のスタンダードセルの幅の総和を算出し、該幅の総和の比に基づいて前記配列の段数の比が決定され、該段数の比に従って、スタンダードセルが配置されている。
【００４６】
本発明の半導体集積回路によれば、セル高さが異なるスタンダードセルが、セル高さ毎にセルの幅方向に配列されて、その配列が高さ方向に、セル高さ毎の幅の総和に基づいて決定された比で配置されているので、レイアウトに無駄が無く、面積効率良い。このため省面積化を実現することができ、半導体集積回路のサイズを小さくすることが可能である。
【００４７】
なお、上記実施形態において説明したスタンダードセルのレイアウト方法は、情報処理装置に格納されているプログラム（スタンダードセルのレイアウトプログラム）で実行することができる。
情報処理装置としては、入力装置、出力装置、補助記憶装置、メモリ、演算処理装置、インターフェース装置等がバスを介して接続された公知の情報処理装置を用いることができる。
スタンダードセルのレイアウトプログラムは、例えば、配置配線ツール等、他の設計ツールに組み込んで使用することが可能である。また、インターネット上からのダウンロードによって提供し、情報処理装置にインストールすることができる。また、スタンダードセルのレイアウトプログラムを情報処理装置で実行可能に記録した記録媒体の態様にも適用される。
【符号の説明】
【００４８】
１１  Ｖｄｄライン
１２  Ｖｓｓライン
ｈ  セル高さ
【先行技術文献】
【特許文献】
【００４９】
【特許文献１】特許４５３３６４５号公報
【特許文献２】特開平０６−１４０５０５号公報
【特許文献３】特開２０１１−１５９８９６号公報
【図２】
2014236116.tif 000003
【図３】
2014236116.tif 000004
【図４】
2014236116.tif 000005
【図５】
2014236116.tif 000006
【図６】
2014236116.tif 000007
【図７】
2014236116.tif 000008
【図８】
2014236116.tif 000009
【図９】
2014236116.tif 000010
【図１】
2014236116.tif 000011