(57)【要約】      （修正有）【課題】セルベースの半導体集積回路において、異なるセル高さを有するセルを効率良く配置するための技術を提供する。【解決手段】半導体集積回路が、基準ハイトセル３０、マルチハイトセル４０、ＶＤＤ電源配線、ＶＳＳ電源配線を備え、マルチハイトセルは、Ｙ軸方向に延伸するＶＤＤ側電源供給配線５Ｂ、ＶＳＳ側電源供給配線６Ｂを備え、基準ハイトセルの高さをａ、マルチハイトセルの高さをｂ、ＶＤＤ、ＶＳＳ電源配線の幅をｗとしたときに、ＶＳＳ側電源供給配線は、少なくとも、マルチハイトセルの下端からｗ／２高さ方向に離れた位置とマルチハイトセルの下端からｂ−ａ−ｗ／２高さ方向に離れた位置の間の高さ範囲をカバーするように設けられ、ＶＤＤ側電源供給配線は、少なくとも、マルチハイトセルの下端からａ＋ｗ／２高さ方向に離れた位置とマルチハイトセルの下端からｂ−ｗ／２高さ方向に離れた位置の間の高さ範囲をカバーするように設けられる。【選択図】図４Ａ
2013105341.tif 000002
【特許請求の範囲】
【請求項１】
基準ハイトセルと、
前記基準ハイトセルよりも第１方向における高さが高いマルチハイトセルと、
正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給し、且つ、前記第１方向に垂直な第２方向に延伸する第１電源配線と、
前記正電源電圧及び前記負電源電圧のうちの他方である第２電源電圧を供給し、且つ、
前記第２方向に延伸する第２電源配線
とを具備し、
前記マルチハイトセルは、
セル内回路と、
前記セル内回路に電気的に接続され、前記第１方向に延伸する第１及び第２電源供給配線
とを備え、
前記基準ハイトセルの前記第１方向における高さをａ、前記マルチハイトセルの前記第１方向における高さをｂ、前記第１及び第２電源配線の前記第１方向における幅をｗとしたときに、前記第１電源供給配線は、少なくとも、前記マルチハイトセルの下端からｗ／２だけ前記第１方向に離れた第１位置と前記マルチハイトセルの下端からｂ−ａ−ｗ／２だけ前記第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられ、
前記第２電源供給配線は、少なくとも、前記マルチハイトセルの下端からａ＋ｗ／２だけ前記第１方向に離れた第３位置と前記マルチハイトセルの下端からｂ−ｗ／２だけ前記第１方向に離れた第４位置との間の第２高さ範囲をカバーするように設けられ、
前記第１電源配線は、前記第１電源供給配線に接続されるように設けられ、
前記第２電源配線は、前記第２電源供給配線に接続されるように設けられている
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路であって、
前記第１電源配線は、前記基準ハイトセルの下端を通過するように設けられ、
前記第２電源配線は、前記基準ハイトセルの上端を通過するように設けられる
半導体集積回路。
【請求項３】
セル配置手段により、少なくとも一の基準ハイトセルと、前記基準ハイトセルよりも第１方向における高さが高い少なくとも一のマルチハイトセルとを含む複数のセルを配置する配置工程と、
配線手段により、正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給する第１電源配線と、前記正電源電圧及び前記負電源電圧のうちの他方である第２電源電圧を供給する第２電源配線とを、前記第１方向に垂直な第２方向に延伸するように設ける工程
とを具備し、
前記マルチハイトセルは、
セル内回路と、
前記セル内回路に電気的に接続され、前記第１方向に延伸する第１及び第２電源供給配線
とを備えており、
前記基準ハイトセルの前記第１方向における高さをａ、前記マルチハイトセルの前記第１方向における高さをｂ、前記第１及び第２電源配線の前記第１方向における幅をｗとしたときに、前記第１電源供給配線は、少なくとも、前記マルチハイトセルの下端からｗ／２だけ前記第１方向に離れた第１位置と前記マルチハイトセルの下端からｂ−ａ−ｗ／２だけ前記第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられ、
前記第２電源供給配線は、少なくとも、前記マルチハイトセルの下端からａ＋ｗ／２だけ前記第１方向に離れた第３位置と前記マルチハイトセルの下端からｂ−ｗ／２だけ前記第１方向に離れた第４位置との間の第２高さ範囲をカバーするように設けられ、
前記第１電源配線は、前記第１電源供給配線に接続されるように設けられ、
前記第２電源配線は、前記第２電源供給配線に接続されるように設けられる
半導体集積回路の設計方法。
【請求項４】
請求項３に記載の半導体集積回路の設計方法であって、
前記第１電源配線は、前記基準ハイトセルの下端を通過するように設けられ、
前記第２電源配線は、前記基準ハイトセルの上端を通過するように設けられる
半導体集積回路の設計方法。
【請求項５】
請求項３又は４に記載の半導体集積回路の設計方法であって、
前記配置工程は、
前記基準ハイトセルと同じ高さを有し且つ前記第１方向に並ぶように規定された複数のセル行に、前記複数のセル行のそれぞれにおいて前記複数のセルが前記第２方向に並ぶように、前記複数のセルを初期的に配置する工程と、
前記複数のセル行のうちの第１セル行及び前記第１セル行に隣接する第２セル行にかけて前記少なくとも一のマルチハイトセルのうちの第１マルチハイトセルが配置され、これにより、前記第２セル行に前記基準ハイトセルよりも低い高さを有し、前記複数のセルのいずれもが配置されていない空き領域であるデッドスペースが形成された場合に、前記少なくとも一のマルチハイトセルのうち前記第２セル行に隣接する第３セル行に配置された第２マルチハイトセルを前記デッドスペースの少なくとも一部を埋めるように再配置する工程
とを含む
半導体集積回路の設計方法。
【請求項６】
請求項５に記載の半導体集積回路の設計方法であって、
前記配置工程が、更に、
前記第２マルチハイトセル以上の幅を有する前記デッドスペースが前記第２セル行に存在せず、且つ、前記第２セル行に存在する前記基準ハイトセルの高さを有し、前記複数のセルのいずれもが配置されていない空き領域である一又は複数の空きサイトの幅と前記デッドスペースの幅の合計が、前記第２マルチハイトセルの幅以上である場合、前記一又は複数の空きサイトと前記デッドスペースとで形成される領域の少なくとも一部を埋めるように前記第２マルチハイトセルを再配置する工程
を含む
半導体集積回路の設計方法。
【請求項７】
請求項６に記載の半導体集積回路の設計方法であって、
前記第２マルチハイトセル以上の幅を有する前記デッドスペースが前記第２セル行に存在せず、前記第２セル行に位置し、前記基準ハイトセルの高さを有すると共に前記複数のセルのいずれもが配置されていない空き領域である空きサイトの幅と、前記デッドスペースの幅の合計が前記第２マルチハイトセルの幅より小さく、前記第２セル行に配置された前記基準ハイトセルを再配置することで形成された前記基準ハイトセルの高さを有する空き領域である再配置空きサイトの幅が前記第２マルチハイトセルの幅以上である場合に、前記再配置空きサイトの少なくとも一部を埋めるように前記第２マルチハイトセルを再配置する工程
を含む
半導体集積回路の設計方法。
【請求項８】
請求項３又は４に記載の半導体集積回路の設計方法であって、
前記配置工程は、
前記基準ハイトセルと同じ高さを有し且つ前記第１方向に並ぶように規定された複数のセル行に、前記複数のセル行のそれぞれにおいて前記複数のセルが前記第２方向に並ぶように、前記複数のセルを配置する工程と、
前記複数のセル行のうちの第１セル行及び前記第１セル行に隣接する第２セル行にかけて前記少なくとも一のマルチハイトセルのうちの第１マルチハイトセルが配置され、これにより、前記第２セル行に前記基準ハイトセルよりも低い高さを有し、前記複数のセルのいずれもが配置されていない空き領域であるデッドスペースが形成された場合に、前記第２セル行の前記デッドスペースの幅と、前記第２セル行に位置し、前記基準ハイトセルの高さを有すると共に前記複数のセルのいずれもが配置されていない空き領域である空きサイトの幅と、前記少なくとも一のマルチハイトセルのうち前記第２セル行に隣接する第３セル行に配置された複数の第２マルチハイトセルの幅をそれぞれに認識する工程と、
前記デッドスペース及び前記空きサイトの少なくとも一部を埋めるように前記第２マルチハイトセルを再配置する工程
とを具備し、
前記デッドスペース及び前記空きサイトを埋める前記第２マルチハイトセルの組み合わせが、認識された前記第２セル行の前記デッドスペースの幅と、前記第２セル行の前記空きサイトの幅と、前記第３セル行に配置された前記第２マルチハイトセルの幅とに基づいて決定される
半導体集積回路の設計方法。
【請求項９】
基準ハイトセルと、前記基準ハイトセルよりも第１方向における高さが高いマルチハイトセルとを定義したセルライブラリを記憶する記憶装置と、
前記セルライブラリに定義された前記基準ハイトセルと前記マルチハイトセルとを含む複数のセルを配置するセル配置手段と、
正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給する第１電源配線と、前記正電源電圧及び前記負電源電圧のうちの他方である第２電源電圧を供給する第２電源配線とを、前記第１方向に垂直な第２方向に延伸するように設ける配線手段
とを具備し、
前記セルライブラリにおいて、前記マルチハイトセルは、セル内回路と、前記セル内回路に電気的に接続され、且つ、前記第１方向に延伸する第１及び第２電源供給配線とを備えているように定義され、
前記基準ハイトセルの前記第１方向における高さをａ、前記マルチハイトセルの前記第１方向における高さをｂ、前記第１及び第２電源配線の前記第１方向における幅をｗとしたときに、前記第１電源供給配線は、前記ライブラリにおいて、少なくとも、前記マルチハイトセルの下端からｗ／２だけ前記第１方向に離れた第１位置と前記マルチハイトセルの下端からｂ−ａ−ｗ／２だけ前記第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられているように定義されており、
前記ライブラリにおいて、前記第２電源供給配線は、少なくとも、前記マルチハイトセルの下端からａ＋ｗ／２だけ前記第１方向に離れた第３位置と前記マルチハイトセルの下端からｂ−ｗ／２だけ前記第１方向に離れた第４位置との間の第２高さ範囲をカバーするように定義されており、
前記配線手段は、前記第１電源配線を前記第１電源供給配線に接続されるように配置すると共に、前記第２電源配線は、前記第２電源供給配線に接続されるように配置する
半導体集積回路の設計装置。
【請求項１０】
基準ハイトセルと、前記基準ハイトセルよりも第１方向における高さが高いマルチハイトセルとを定義したセルライブラリを記憶する記憶装置を備えたコンピュータを、
前記セルライブラリに定義された前記基準ハイトセルと前記マルチハイトセルとを含む複数のセルを配置するセル配置手段と、
正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給する第１電源配線と、前記正電源電圧及び前記負電源電圧のうちの他方である第２電源電圧を供給する第２電源配線とを、前記第１方向に垂直な第２方向に延伸するように設ける配線手段
として機能させるプログラムであって、
前記セルライブラリにおいて、前記マルチハイトセルは、セル内回路と、前記セル内回路に電気的に接続され、且つ、前記第１方向に延伸する第１及び第２電源供給配線とを備えているように定義され、
前記基準ハイトセルの前記第１方向における高さをａ、前記マルチハイトセルの前記第１方向における高さをｂ、前記第１及び第２電源配線の前記第１方向における幅をｗとしたときに、前記第１電源供給配線は、前記ライブラリにおいて、少なくとも、前記マルチハイトセルの下端からｗ／２だけ前記第１方向に離れた第１位置と前記マルチハイトセルの下端からｂ−ａ−ｗ／２だけ前記第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられているように定義されており、
前記ライブラリにおいて、前記第２電源供給配線は、少なくとも、前記マルチハイトセルの下端からａ＋ｗ／２だけ前記第１方向に離れた第３位置と前記マルチハイトセルの下端からｂ−ｗ／２だけ前記第１方向に離れた第４位置との間の第２高さ範囲をカバーするように定義されており、
前記配線手段は、前記第１電源配線を前記第１電源供給配線に接続されるように配置すると共に、前記第２電源配線は、前記第２電源供給配線に接続されるように配置する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、半導体集積回路の設計方法及び設計装置並びにプログラムに関し、特に、セルベース設計の半導体集積回路の設計技術に関する。
【背景技術】
【０００２】
近年、音楽配信やデジタルカメラ等大規模なデータ転送を行なうシステムが増加しており、そのようなシステムを制御する半導体集積回路の高速化要求が高まっている。このような要求は、スタンダードセルを用いて構築される半導体集積回路にも当てはまる。
【０００３】
スタンダードセルを用いて構築される半導体集積回路においてマクロ内又はチップ内のある特定の遅延経路のみ高速化したい場合、高駆動能力セル（トランジスタ数の多いバッファやインバータ等）を挿入することで高速化を実現することがある。高駆動能力セルは、一般的には、駆動能力分の複数のトランジスタを並列で接続して構成される。
【０００４】
しかしながら、複数のトランジスタを並列で接続して構成された高駆動能力セルでは、その形状が横長となり、セル内部の配線抵抗や配線容量等により遅延時間が増大する傾向がある。昨今の微細プロセスにおいては、配線抵抗の増加、配線容量の増加が顕著となりその傾向に拍車がかかってきている。さらに、横長セルは、特に正方形のマクロに対して配置効率が悪いという懸念もある。
【０００５】
遅延時間の問題と配置効率の問題を解消するための一つの手法として、マクロやチップ設計時に異なるセル高さを有するスタンダードセルを定義可能にし、高駆動能力セルは、標準的なセルよりもセル高さが大きいセルとして実装することが考えられる。このような構成では、高速化したい遅延経路に標準的なセルと同じセル高さの横長の高駆動能力セルを使用するよりもセル内の配線長を短くでき、また、配置効率の向上も期待できる。
【０００６】
しかし、異なるセル高さのセルを混載する際に懸念されるのが、電源配線位置の不整合とウェル境界の不整合である。図１Ａ〜図１Ｃは、一般的な、セル高さの異なるスタンダードセルの例を示すレイアウト図である。図１Ａは、標準的なセル高さのセル１０１Ａのレイアウトを示しており、図１Ｂは、よりセル高さが高いセル１０１Ｂのレイアウトを示している。セル１０１Ａ、１０１Ｂは、Ｎウェル１０２とＰウェル１０３とをそれぞれに有している。Ｎウェル１０２にはＰ型不純物が高濃度にドープされた拡散領域１０２ａが形成され、Ｐウェル１０３にはＮ型不純物が高濃度にドープされた拡散領域１０３ａが形成される。拡散領域１０２ａ、１０３ａを横断するようにポリシリコン配線１０４が設けられ、拡散領域１０２ａとポリシリコン配線１０４とでＰＭＯＳトランジスタが形成され、拡散領域１０３ａとポリシリコン配線１０４とでＮＭＯＳトランジスタが形成される。
【０００７】
セル１０１Ａ、１０１Ｂの上端にはＶＤＤ電源配線１０８が配置され、下端にはＶＳＳ電源配線１０７が配置される。ＶＳＳ電源配線１０７及びＶＤＤ電源配線１０８は、電源メッシュを構成する電源配線である。ＶＤＤ電源配線１０８にはＶＤＤ側電源供給配線１０５が接続されており、正電源電圧ＶＤＤは、ＶＤＤ側電源供給配線１０５を介してセル１０１Ａ、１０１Ｂ内の回路素子に供給される。同様に、ＶＳＳ電源配線１０７にはＶＳＳ側電源供給配線１０６が接続されており、負電源電圧ＶＳＳは、ＶＳＳ側電源供給配線１０６を介してセル１０１Ａ、１０１Ｂ内の回路素子に供給される。また、セル１０１Ａ、１０１Ｂ内の回路素子の間の電気的接続は、セル内配線１０９によって行われる。
【０００８】
図１Ａ、図１Ｂのセル１０１Ａ、１０１Ｂは、電源配線の位置及びウェル境界の位置が異なるため、セル下端（電源メッシュのＶＳＳ配線７）をそろえて隣接して配置した場合、電源メッシュのＶＤＤ電源配線１０８と、ウェル境界に関して不整合が発生してしまう。
【０００９】
このような不整合を解決する一つの手法としては、図１Ｃに図示されているようなスペーサーセル１０１Ｃを挿入する手法が知られている。スペーサーセル１０１Ｃには、セル１０１Ａ、１０１ＢのＶＳＳ電源配線１０７を接続するＶＳＳ電源配線１０７Ｃと、セル１０１Ａ、１０１ＢのＶＤＤ電源配線１０８を接続するＶＤＤ電源配線１０８Ｃとが設けられる。セル１０１Ａ、１０１ＢのＶＤＤ電源配線１０８は高さ方向の位置が異なっているので、ＶＤＤ電源配線１０８Ｃは、折れ曲げられた形状に形成される。更に、スペーサーセル１０１ＣのＮウェル及びＰウェルは、セル１０１Ａ、１０１ＢのＮウェル１０２及びＰウェル１０３の位置の差異を吸収するような形状に形成される。
【００１０】
図１Ｃに示されているようなスペーサーセル１０１Ｃが多数存在すると、マクロやチップの集積度は悪化する。しかしながら、スペーサーセルを使用せずに、電源配線とウェル境界の不整合を解決して、マクロ、チップサイズを高集積化する手法は知られていない。
【００１１】
図１Ｃに図示されているようなスペーサーセル１０１Ｃを使用しない手法としては、例えば、特開２００５−２０３４４７号公報（特許文献１）は、標準的なセル高さのセルである基本ハイトセルと、基本ハイトセルの２倍の高さを持つセルであるダブルハイトセルとを混載した半導体集積回路を開示している。図２Ａは、特開２００５‐２０３４４７公報に開示されている技術におけるセル配置を示した図である。
【００１２】
図２Ａのセル配置では、Ｎウェル１１２とＰウェル１１３とが交互に並んで配置されている。各Ｎウェル１１２の中心にＶＤＤ電源配線１１８が設けられ、各Ｐウェル１１３の中心にＶＳＳ電源配線１１７が設けられる。基本ハイトセル１２０Ａ、及び、ダブルハイトセル１２０Ｂは、それぞれ、一のＮウェル１１２及び一のＰウェル１１３とオーバーラップするように配置される。
【００１３】
ここで、図２Ａのセル配置では、ダブルハイトセル１２０Ｂは、基本ハイトセル１２０Ａのセル高さの半分だけＹ方向にずらして配置される。ここで、基本ハイトセル１２０Ａとダブルハイトセル１２０Ｂとは、ずらして配置された場合に、電源配線の位置とウェル境界の不整合が解消されるような構造を有している。
【００１４】
図２Ｂは、基本ハイトセル１２０Ａとダブルハイトセル１２０Ｂのレイアウトの例を示している。基本ハイトセル１２０Ａは、その上端にＶＤＤ電源配線１１８が配置され、下端にはＶＳＳ電源配線１１７が配置される。Ｎウェル１１２にはＰ型不純物が高濃度にドープされた拡散領域１１２Ａが形成され、Ｐウェル１１３にはＮ型不純物が高濃度にドープされた拡散領域１１３Ｂが形成される。拡散領域１１２Ａ、１１３Ｂを横断するようにポリシリコン配線１１４が設けられ、拡散領域１１２Ａとポリシリコン配線１１４とでＰＭＯＳトランジスタが形成され、拡散領域１１３Ｂとポリシリコン配線１１４とでＮＭＯＳトランジスタが形成される。ＶＳＳ電源配線１１７及びＶＤＤ電源配線１１８は、電源メッシュを構成する電源配線である。ＶＤＤ電源配線１１８にはＶＤＤ側電源供給配線１１５が接続されており、正電源電圧ＶＤＤは、ＶＤＤ側電源供給配線１１５を介して基本ハイトセル１２０Ａ内の回路素子に供給される。同様に、ＶＳＳ電源配線１１７にはＶＳＳ側電源供給配線１１６が接続されており、負電源電圧ＶＳＳは、ＶＳＳ側電源供給配線１１６を介して基本ハイトセル１２０Ａ内の回路素子に供給される。
【００１５】
一方、ダブルハイトセル１２０Ｂは、そのセル高さが基本ハイトセル１２０Ａの２倍であり、ダブルハイトセル１２０Ｂは、基本ハイトセル１２０Ａの２倍の大きさのＰウェル及びＮウェルを有している。これにより、ダブルハイトセル１２０Ｂは、大きなサイズのトランジスタを配置することができる。ここで、ダブルハイトセル１２０Ｂでは、Ｐウェルの中心にＶＤＤ電源配線１１８、Ｎウェルの中心にＶＳＳ電源配線１１７が配置されており、よって、ダブルハイトセル１２０Ｂを基本ハイトセル１２０Ａの高さの半分だけＹ方向にずらして配置すると、電源配線の位置とウェル境界の不整合が解消される。ダブルハイトセル１２０Ｂを基本ハイトセル１２０Ａの高さの半分だけＹ方向にずらして配置することで生じた空き領域には、フィルセル１２０Ｃが配置される。
【００１６】
加えて、特許文献１には、孤立して配置されたダブルハイトセル１２０Ｂを検出し、タイミング違反とならない範囲で、近傍にある他のダブルハイトセル１２０Ｂと上下に隣接して配置することで、基本ハイトセル１２０Ａの半分のセル高さ分の空き領域を最小限にする手法も開示されている。
【００１７】
特許文献１では、基本ハイトセル１２０Ａとダブルハイトセル１２０Ｂの混載に限定されているが、このような配置では様々な問題がある。まず、基本ハイトセル１２０Ａと混載されるべき高いセル高さのセルがダブルハイトセル１２０Ｂに限定されているので、レイアウトの柔軟性が低い。更に、ダブルハイトセル１２０Ｂは、基本ハイトセル１２０Ａに比べセル面積も２倍になるため、チップの面積も大きくなり、結果として、集積度の最適化を図れない。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００５−２０３４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
したがって、本発明の目的は、セルベースの半導体集積回路において、異なるセル高さを有するセルを効率良く配置するための技術を提供することにある。
【課題を解決するための手段】
【００２０】
本発明の一の観点では、半導体集積回路が、基準ハイトセルと、基準ハイトセルよりも第１方向における高さが高いマルチハイトセルと、正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給し、且つ、第１方向に垂直な第２方向に延伸する第１電源配線と、正電源電圧及び負電源電圧のうちの他方である第２電源電圧を供給し、且つ、第２方向に延伸する第２電源配線とを具備する。マルチハイトセルは、セル内回路と、セル内回路に電気的に接続され、第１方向に延伸する第１及び第２電源供給配線とを備えている。基準ハイトセルの第１方向における高さをａ、マルチハイトセルの第１方向における高さをｂ、電源配線の第１方向における幅をｗとしたときに、第１電源供給配線は、少なくとも、マルチハイトセルの下端からｗ／２だけ第１方向に離れた第１位置とマルチハイトセルの下端からｂ−ａ−ｗ／２だけ第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられている。第２電源供給配線は、少なくとも、マルチハイトセルの下端からａ＋ｗ／２だけ第１方向に離れた第３位置とマルチハイトセルの下端からｂ−ｗ／２だけ第１方向に離れた第４位置との間の第２高さ範囲をカバーするように設けられている。第１電源配線は、第１電源供給配線に接続されるように配置され、第２電源配線は、第２電源供給配線に接続されるように配置されている。
【００２１】
本発明の他の観点では、半導体集積回路の設計方法が、セル配置手段により、基準ハイトセルと、基準ハイトセルよりも第１方向における高さが高いマルチハイトセルとを配置する工程と、配線手段により、正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給する第１電源配線と、正電源電圧及び負電源電圧のうちの他方である第２電源電圧を供給する第２電源配線とを、第１方向に垂直な第２方向に延伸するように配置する工程とを具備している。マルチハイトセルは、セル内回路と、セル内回路に電気的に接続され、第１方向に延伸する第１及び第２電源供給配線とを備えている。基準ハイトセルの第１方向における高さをａ、マルチハイトセルの第１方向における高さをｂ、電源配線の第
１方向における幅をｗとしたときに、第１電源供給配線は、少なくとも、マルチハイトセルの下端からｗ／２だけ第１方向に離れた第１位置とマルチハイトセルの下端からｂ−ａ−ｗ／２だけ第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられる。また、第２電源供給配線は、少なくとも、マルチハイトセルの下端からａ＋ｗ／２だけ第１方向に離れた第３位置とマルチハイトセルの下端からｂ−ｗ／２だけ第１方向に離れた第４位置との間の第２高さ範囲をカバーするように設けられる。第１電源配線は、第１電源供給配線に接続されるように配置され、第２電源配線は、第２電源供給配線に接続されるように配置される。
【００２２】
本発明の更に他の観点では、半導体集積回路の設計装置が、基準ハイトセルと、基準ハイトセルよりも第１方向における高さが高いマルチハイトセルとを定義したライブラリを記憶する記憶装置と、基準ハイトセルと、基準ハイトセルよりも第１方向における高さが高いマルチハイトセルとを配置するセル配置手段と、正電源電圧及び負電源電圧のうちの一方である第１電源電圧を供給する第１電源配線と、正電源電圧及び負電源電圧のうちの他方である第２電源電圧を供給する第２電源配線とを、第１方向に垂直な第２方向に延伸するように配置する配線手段とを具備する。セルライブラリにおいて、マルチハイトセルは、セル内回路と、セル内回路に電気的に接続され、第１方向に延伸する第１及び第２電源供給配線とを備えているように定義される。基準ハイトセルの第１方向における高さをａ、マルチハイトセルの第１方向における高さをｂ、電源配線の第１方向における幅をｗとしたときに、第１電源供給配線は、セルライブラリにおいて、少なくとも、マルチハイトセルの下端からｗ／２だけ第１方向に離れた第１位置とマルチハイトセルの下端からｂ−ａ−ｗ／２だけ第１方向に離れた第２位置との間の第１高さ範囲をカバーするように設けられているように定義されている。更に、セルライブラリにおいて、第２電源供給配線は、少なくとも、マルチハイトセルの下端からａ＋ｗ／２だけ第１方向に離れた第３位置とマルチハイトセルの下端からｂ−ｗ／２だけ第１方向に離れた第４位置との間の第２高さ範囲をカバーするように定義されている。配線手段は、第１電源配線を第１電源供給配線に接続されるように設けると共に、第２電源配線は、第２電源供給配線に接続されるように設ける。
【発明の効果】
【００２３】
本発明によれば、セルベースの半導体集積回路において、異なるセル高さを有するセルを効率良く配置するための技術が提供される。
【図面の簡単な説明】
【００２４】
【図１Ａ】従来の半導体集積回路における、標準的なセル高さを有するセルのレイアウトの例を示すレイアウト図である。
【図１Ｂ】従来の半導体集積回路における、図１Ａのセルよりも高いセル高さを有するセルのレイアウトの例を示すレイアウト図である。
【図１Ｃ】図１Ａ、図１Ｂのセルが隣接して配置された従来の半導体集積回路のレイアウトを示すレイアウト図である。
【図２Ａ】従来の半導体集積回路の他のレイアウトを概略的に示す図である。
【図２Ｂ】図２Ａの半導体集積回路のレイアウトを詳細に示す図である。
【図３Ａ】本発明の一実施形態における基本ハイトセルのレイアウトの例を示すレイアウト図である。
【図３Ｂ】本発明の一実施形態におけるマルチハイトセルのレイアウトの例を示すレイアウト図である。
【図４Ａ】図３Ａの基本ハイトセルと図３Ｂのマルチハイトセルとが隣接して配置された半導体集積回路のレイアウトの一例を示すレイアウト図である。
【図４Ｂ】図３Ａの基本ハイトセルと図３Ｂのマルチハイトセルとが隣接して配置された半導体集積回路のレイアウトの他の例を示すレイアウト図である。
【図４Ｃ】図３Ａの基本ハイトセルと図３Ｂのマルチハイトセルとが隣接して配置された半導体集積回路のレイアウトの更に他の例を示すレイアウト図である。
【図５】本発明の一実施形態における半導体集積回路の設計装置の構成の例を示すブロック図である。
【図６】本発明の一実施形態における半導体集積回路の設計手順を概略的に示すフローチャートである。
【図７Ａ】本発明の第１の実施形態におけるセル配置処理を示すフローチャートである。
【図７Ｂ】本発明の第１の実施形態におけるセル配置処理を示すフローチャートである。
【図８Ａ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図８Ｂ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図８Ｃ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図８Ｄ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図８Ｅ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図８Ｆ】第１の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図９Ａ】本発明の第２の実施形態におけるセル配置処理を示すフローチャートである。
【図９Ｂ】本発明の第２の実施形態におけるセル配置処理を示すフローチャートである。
【図１０Ａ】第２の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図１０Ｂ】第２の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図１０Ｃ】第２の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【図１０Ｄ】第２の実施形態におけるセル配置処理の具体例を示すセル配置図である。
【発明を実施するための形態】
【００２５】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【００２６】
第１の実施形態：
図３Ａは、本発明の第１の実施形態における基本ハイトセル３０の平面レイアウトを示す平面図であり、図３Ｂは、マルチハイトセル４０の平面レイアウトを示す平面図である。以下では、横方向にＸ軸が上下方向にＹ軸が取られた直交座標系を用いて説明を行う。図３Ａの基本ハイトセル３０と図３Ｂのマルチハイトセル４０の、それぞれのセル枠１Ａ、１Ｂの下端のＹ座標が０と定義される。また、図３Ａ、図３Ｂは、いずれも、セルベース設計において使用されるセルライブラリに登録されているセルレイアウトを示していることに留意されたい。後述のように、マルチハイトセル４０には、配線工程において電源メッシュを構成する電源配線が追加される。
【００２７】
図３Ａ、図３Ｂにおいて、符号１Ａ、１Ｂはセル枠を示しており、符号２はＮウェル、符号３はＰウェルを示している。Ｎウェル２にはＰ型不純物が高濃度にドープされた拡散領域２ａが形成され、Ｐウェル３にはＮ型不純物が高濃度にドープされた拡散領域３ａが形成される。拡散領域２ａ、３ａを縦断するようにポリシリコン配線４が設けられ、拡散領域２ａとポリシリコン配線４とでＰＭＯＳトランジスタが形成され、拡散領域３ａとポリシリコン配線４とでＮＭＯＳトランジスタが形成される。これらのＰＭＯＳトランジスタ及びＮＭＯＳトランジスタにより、セル内回路が形成される。図３Ａ、図３Ｂでは、Ｎウェル２がＰウェル３の上方に位置しているように図示されているが、実際のセルレイアウトでは、Ｐウェル３がＮウェル２の上方に位置している配置も可能であることに留意されたい。
【００２８】
図３Ａに図示されているように、基本ハイトセル３０の上端にはＶＤＤ電源配線８Ａが配置され、下端にはＶＳＳ電源配線７Ａが配置される。ＶＳＳ電源配線７Ａ及びＶＤＤ電源配線８Ａは、電源メッシュを構成する電源配線であり、Ｘ軸方向に延伸するように設けられている。ＶＤＤ電源配線８ＡにはＶＤＤ側電源供給配線５Ａが接続されており、正電源電圧ＶＤＤは、ＶＤＤ側電源供給配線５Ａを介して基本ハイトセル３０のセル内回路を構成する素子に供給される。同様に、ＶＳＳ電源配線７ＡにはＶＳＳ側電源供給配線６Ａが接続されており、負電源電圧ＶＳＳは、ＶＳＳ側電源供給配線６Ａを介して基本ハイトセル３０のセル内回路を構成する素子に供給される。ＶＤＤ側電源供給配線５Ａ、及び、ＶＳＳ側電源供給配線６Ａは、いずれも、Ｙ軸方向に延伸するように設けられている。基本ハイトセル３０内のセル内回路の素子の間の電気的接続は、セル内配線９によって行われる。基本ハイトセル３０のＹ軸方向におけるセル高さはａである。
【００２９】
基本ハイトセル３０に対応して設けられるＮウェル２及びＰウェル３は、セル枠１ＡからＸ軸方向（ＶＳＳ電源配線７Ａ及びＶＤＤ電源配線８Ａが延伸する方向）に距離ｃだけはみ出して設けられる。Ｎウェル２及びＰウェル３のセル枠１Ａからはみ出した部分は、オーバーラップ領域１１Ａと呼ばれる。
【００３０】
一方、図３Ｂに図示されているように、マルチハイトセル４０についても、ＶＤＤ側電源供給配線５ＢとＶＳＳ側電源供給配線６Ｂが設けられ、正電源電圧ＶＤＤ及び負電源電圧ＶＳＳは、それぞれ、ＶＤＤ側電源供給配線５ＢとＶＳＳ側電源供給配線６Ｂを介してマルチハイトセル４０のセル内回路を構成する素子に供給される。マルチハイトセル４０のセル高さはｂ（ただし、ｂ＞ａ）である。マルチハイトセル４０のセル高さｂは、基本ハイトセル３０のセル高さａの整数倍に限定されず、任意に選択可能である。ここで、セルライブラリに登録されているセルレイアウトでは、マルチハイトセル４０に電源メッシュを構成する電源配線が設けられていないことに留意されたい。
【００３１】
本実施形態では、マルチハイトセル４０のＶＤＤ側電源供給配線５ＢとＶＳＳ側電源供給配線６Ｂの配置に特色がある。ＶＳＳ側電源供給配線６Ｂは、少なくとも、マルチハイトセル４０の下端からｗ／２だけＹ軸方向に離れた高さ位置とマルチハイトセル４０の下端からｂ−ａ−ｗ／２だけＹ軸方向に離れた高さ位置との間の高さ範囲をカバーするように設けられる。ここで、ｗは、電源メッシュを構成する電源配線の幅（即ち、図３ＡのＶＤＤ電源配線８Ａ、ＶＳＳ電源配線７Ａの幅）である。図３Ｂでは、ＶＳＳ側電源供給配線６Ｂがマルチハイトセル４０の下端からｗ／２だけＹ軸方向に離れた高さ位置からｂ−ａ−ｗ／２だけＹ軸方向に離れた高さ位置まで延伸する構造が図示されているが、ＶＳＳ側電源供給配線６Ｂは当該高さ範囲を「少なくとも」カバーすることが要求されるのであり、当該高さ範囲を超えて延伸してもよい。
【００３２】
同様に、ＶＤＤ側電源供給配線５Ｂは、少なくとも、マルチハイトセル４０の下端からａ＋ｗ／２だけＹ軸方向に離れた高さ位置とマルチハイトセル４０の下端からｂ−ｗ／２だけＹ軸方向に離れた高さ位置との間の高さ範囲をカバーするように設けられる。ＶＳＳ側電源供給配線６Ｂと同様に、ＶＤＤ側電源供給配線５Ｂは、当該高さ範囲を「少なくとも」カバーすることが要求されるのであり、当該高さ範囲を超えて延伸してもよい。
【００３３】
後述されるように、図３Ｂに図示されているようなＶＤＤ側電源供給配線５ＢとＶＳＳ側電源供給配線６Ｂの配置は、基本ハイトセル３０と隣接してマルチハイトセル４０が配置された場合における電源配線の位置の整合性を確保するためのものである。
【００３４】
加えて、基本ハイトセル３０と隣接して配置された場合のウェル境界の不整合を回避する目的で、マルチハイトセル４０の左右端には、基本ハイトセル３０のセル枠１ＡからＮウェル２、Ｐウェル３のオーバーラップ幅ｃと同じ幅のオーバーラップ領域１１Ｂが、マルチハイトセル４０のセル枠１ＢからＮウェル２、Ｐウェル３の内側方向に取られている。このオーバーラップ領域１１Ｂには、Ｎウェル２及びＰウェル３は規定されていない。
【００３５】
図４Ａ〜図４Ｃは、基本ハイトセル３０とマルチハイトセル４０とが隣接して配置される場合のレイアウトを示す平面図である。半導体集積回路の設計においては、セル配置工程において基本ハイトセル３０とマルチハイトセル４０とが配置された後、基本ハイトセル３０のＶＳＳ電源配線７ＡとＶＤＤ電源配線８Ａとそれぞれに接続するＶＳＳ電源配線７ＢとＶＤＤ電源配線８Ｂがマルチハイトセル４０を横切るように配線される。このとき、ＶＳＳ電源配線７ＡとＶＳＳ電源配線７Ｂとが一直線上に配置され、ＶＤＤ電源配線８ＡとＶＤＤ電源配線８Ｂとが一直線上に配置される。
【００３６】
ここで、本実施形態では、図４Ａ〜図４Ｃに図示されているように、Ｙ軸方向における基本ハイトセル３０とマルチハイトセル４０の位置関係が、基本ハイトセル３０の高さ範囲の全体がマルチハイトセル４０の高さ範囲に収まるという条件の下で可変であることに留意されたい。例えば、図４Ａに図示されているように、基本ハイトセル３０とマルチハイトセル４０とが、それらの下端が位置整合するように配置されてもよく、図４Ｂに図示されているように、それらの上端が位置整合するように配置されてもよい。更に、図４Ｃに図示されているように、基本ハイトセル３０とマルチハイトセル４０とが、基本ハイトセル３０の下端がマルチハイトセル４０の下端から上方にずれ、且つ、基本ハイトセル３０の上端がマルチハイトセル４０の下端から下方にずれているように配置されてもよい。
【００３７】
ここで、本実施形態では、ＶＤＤ側電源供給配線５Ｂ及びＶＳＳ側電源供給配線６Ｂのレイアウトに起因して、基本ハイトセル３０とマルチハイトセル４０の位置関係が可変であっても電源配線の位置が整合することに留意されたい。まず、ＶＳＳ側電源供給配線６Ｂが、マルチハイトセル４０の下端からｗ／２だけＹ軸方向に離れた高さ位置とマルチハイトセル４０の下端からｂ−ａ−ｗ／２だけＹ軸方向に離れた高さ位置との間の高さ範囲をカバーするように設けられていることにより、基本ハイトセル３０とマルチハイトセル４０の位置関係に関わらずＶＳＳ電源配線７ＡとＶＳＳ電源配線７Ｂとの位置が整合する。同様に、ＶＤＤ側電源供給配線５Ｂが、マルチハイトセル４０の下端からａ＋ｗ／２だけＹ軸方向に離れた高さ位置とマルチハイトセル４０の下端からｂ−ｗ／２だけＹ軸方向に離れた高さ位置との間の高さ範囲をカバーするように設けられていることにより、基本ハイトセル３０とマルチハイトセル４０の位置関係に関わらずＶＤＤ電源配線８ＡとＶＤＤ電源配線８Ｂとの位置が整合する。
【００３８】
このように、本実施形態では、ＶＤＤ側電源供給配線５Ｂ及びＶＳＳ側電源供給配線６Ｂの配置が最適化（図３Ｂ参照）されていることによって、基本ハイトセル３０とマルチハイトセル４０との高さ方向（Ｙ軸方向）における相対位置が自在に調節可能である。これにより、（例えばスペーサーセルなどを用いることなく）異なるセル高さを有するセルを効率良く配置することが可能になる。ここで、基本ハイトセル３０のオーバーラップ領域１１Ａとマルチハイトセル４０のオーバーラップ領域１１Ｂとが、基本ハイトセル３０とマルチハイトセル４０とが隣接して配置されたときにＮウェル２及びＰウェル３の位置を整合させる役割を果たしていることに留意されたい。基本ハイトセル３０とマルチハイトセル４０とが隣接して配置されると、それらの相対位置に関わらず、Ｎウェル２及びＰウェル３は、基本ハイトセル３０とマルチハイトセル４０の間で接続される。
【００３９】
本実施形態において、異なるセル高さａ、ｂを有する基本ハイトセル３０とマルチハイトセル４０とを効率よく配置するためには、基本ハイトセル３０とマルチハイトセル４０との間でＹ軸方向の位置関係が可変であることを最大限に利用することが好ましい。ここで、一つの問題は、マルチハイトセル４０を配置すると、基本ハイトセル３０の高さに満たない高さの空き領域（以下、「デッドスペース」という。）ができることである。デッドスペースには、基本ハイトセル３０を配置することができないので、セル配置において、デッドスペースを可能な限り排除することが基本ハイトセル３０とマルチハイトセル４０とを効率よく配置する場合に重要になる。以下では、デッドスペースを可能な限り排除するための設計方法、及び、それを実現する設計装置について説明する。
【００４０】
図５は、本発明の一実施形態における半導体集積回路の設計方法において使用される半導体集積回路設計装置の構成を示すブロック図である。当該半導体集積回路設計装置は、コンピュータとして構成されており、ＣＰＵ５１と、メモリ５２と、入力装置５３と、出力装置５４と、外部記憶装置５５とを備えている。
【００４１】
外部記憶装置５５には論理合成ツール６１と自動配置ツール６２と配線ツール６３とがインストールされている。論理合成ツール６１がＣＰＵ５１、メモリ５２、入力装置５３と、出力装置５４とを用いて実行されることで論理合成が行われ、自動配置ツール６２が実行されることでセルの配置が行われ、配線ツール６３が実行されることで配線が行われる。
【００４２】
外部記憶装置５５には、更に、セルライブラリ６４が格納されている。このセルライブラリ６４とは、レイアウトパターン、ＬＥＦ（Library Exchange Format）データ、ＤＥＦ（Design Exchange
Format）データ等を含むデータの総称である。セルライブラリ６４は、図３Ａに図示されている基本ハイトセル３０のデータを格納する基本ハイトセルライブラリ６４ａと、図３Ｂに図示されているマルチハイトセル４０のデータを格納するマルチハイトセルライブラリ６４ｂとを含んでいる。マルチハイトセルライブラリ６４ｂには、複数の異なる高さのマルチハイトセル４０のデータが格納されていてもよい。また、後述されるように、セル配置の工程においてマルチハイトセル４０の位置が上下方向に変更されることがあるが、このような処理に対応するマルチハイトセルライブラリ６４ｂのライブラリ形態としては、セルの原点位置を複数持つ１種類のレイアウト構造をマルチハイトセルライブラリ６４ｂに格納してもよく、原点位置が異なる複数のレイアウト構造をマルチハイトセルライブラリ６４ｂに格納してもよい。
【００４３】
図６は、本発明の一実施形態における半導体集積回路の設計手順を示すフローチャートである。論理合成（ステップＳ０１）が行われてネットリストが作成され、そのネットリストに応じて、セル配置（ステップＳ０２）及び配線（ステップＳ０３）が行われる。セル配置では、上記の基本ハイトセル３０及びマルチハイトセル４０が配置され、配線では、配置されたセル間の配線が行われる。
【００４４】
上述されているように、セル高さが異なる基本ハイトセル３０とマルチハイトセル４０を効率よく配置し、半導体集積回路のチップ面積を低減することが重要であり、本実施形態では、そのような要求に応じたセル配置処理が行われる。以下では、基本ハイトセル３０とマルチハイトセル４０を効率よく配置するためのセル配置処理について説明する。
【００４５】
図７Ａ、図７Ｂは、本発明の一実施形態でのセル配置処理を示すフローチャートであり、図８Ａ乃至図８Ｆは、セル配置処理の具体例を示すレイアウト図である。以下では、マルチハイトセルライブラリ６４ｂが、セルの原点位置を複数持つレイアウト構造のマルチハイトセル４０のデータを格納しているとして、セル配置処理を説明する。
【００４６】
図７Ａ、図７Ｂのセル配置処理は、概略的には、基本ハイトセル３０及びマルチハイトセル４０の自動配置を行った後、マルチハイトセル４０を、それより下方に位置する空き領域を埋めるように移動可能な場合に移動して再配置するというものである。空き領域とは、基本ハイトセル３０及びマルチハイトセル４０の何れも配置されていない領域のことである。
【００４７】
ここで、マルチハイトセル４０が基本ハイトセル３０の整数倍の高さに限定されないことに起因して、自動配置では、２種類の空き領域が生じ得る。まず、基本ハイトセル３０の高さに満たない高さの空き領域が生じ得る。上述のように、このような空き領域を、以下では、「デッドスペース」という。更に、基本ハイトセル３０と同じ高さの空き領域が生じ得る。このような空き領域を、以下では、空きサイトという。
【００４８】
そして、図７Ａ、図７Ｂのセル配置処理の一つの特徴は、デッドスペースと空きサイトのうち、デッドスペースを優先して埋めるようにマルチハイトセル４０の再配置を行い、その後、空きサイトを埋めるように基本ハイトセル３０の再配置が行われることである。詳細には、まず、本実施形態のセル配置処理では、デッドスペースの幅とマルチハイトセル４０の幅を比較することで当該デッドスペースにマルチハイトセル４０が移動可能かを調べる。移動可能な場合、そのデッドスペースの少なくとも一部を埋めるようにマルチハイトセル４０が移動される。次に、デッドスペースの幅と空きサイトの幅の合計とマルチハイトセル４０の幅を比較し、当該デッドスペースと空きサイトとを合わせた領域にマルチハイトセルが移動可能かが調べられる。移動可能な場合、当該デッドスペースと空きサイトとを合わせた領域の少なくとも一部を埋めるようにマルチハイトセル４０が移動される。最後に、基本ハイトセル３０の再配置によって形成した空きサイトにマルチハイトセル４０を移動可能かが調べられる。移動可能な場合、形成した当該空きサイトにマルチハイトセル４０が移動される。
【００４９】
（基本ハイトセル３０の高さに満たない高さを有する）デッドスペースは、マルチハイトセル４０の配置にしか活用できないから、デッドスペースを優先して埋めるようにマルチハイトセル４０の再配置を行うことにより、セルを効率よく配置することができる。以下、図７Ａ、図７Ｂのセル配置処理について詳細に説明する。
【００５０】
まず、ステップＳ１０１では、基本ハイトセルライブラリ６４ａとマルチハイトセルライブラリ６４ｂの読み込みが行われる。更に、ステップＳ１０２では、自動配置ツール６２により、高さの異なるセルがチップ上のサイト（セル配置の格子）に初期的に配置される。ステップＳ１０２では、基本ハイトセル３０とマルチハイトセル４０が混ざって配置される。
【００５１】
ステップＳ１０３では、基本ハイトセル３０とマルチハイトセル４０が混ざって配置された初期状態に対し、セルの再配置に向けたチェックを開始するセル行（Ｘ軸方向に並んで配置された、各種セルを配置する最小単位であるサイトの集合のこと）が選択される。以下では、選択されたセル行を「チェック対象セル行」と呼ぶ。図８Ａ〜図８Ｆの例では、最下端のセル行２０ａが最初のチェック対象セル行に設定され、下から上の順序でセル行２０ａ〜２０ｄがチェック対象セル行に順次に選択される。ここで、チェックを開始するセル行は任意に選択可能であり、また、セルの再配置を行なう対象のセル行の範囲を指定しても良いことに留意されたい。
【００５２】
ステップＳ１０４では、チェック対象セル行のマルチハイトセルを除く領域がチェック対象領域として抽出される。例えば、図８Ａの例では、チェック対象セル行として最下端のセル行２０ａが選択され、マルチハイトセル４０ａを除く領域がチェック対象領域２１ａとして抽出されている。また、図８Ｂの例では、チェック対象セル行として２番目のセル行２０ｂが選択され、マルチハイトセル４０ａを除く領域がチェック対象領域２１ｂとして抽出される。
【００５３】
ステップＳ１０５では、ステップＳ１０４で抽出を行ったチェック対象領域に上方向で隣接するセル行にマルチハイトセルが配置されているかが判断される。チェック対象領域に上方向で隣接するセル行にマルチハイトセルが配置されている場合は、当該マルチハイトセルの検出を行った上で処理がステップＳ１０６に進み、マルチハイトセルが配置されていない場合は、処理がステップＳ１１３に進む。例えば、図８Ｂの例では、チェック対象領域２１ｂに上方向で隣接するセル行にマルチハイトセル４０ｂ、４０ｃが配置されていると判断される。
【００５４】
ステップＳ１０６では、ステップＳ１０５にて検出したマルチハイトセルの下方向に隣接してデッドスペースがあるかが判断される。上述のように、デッドスペースとは、基本ハイトセルの高さａに満たない高さを持つ空き領域のことである。例えば、図８Ｃの例では、マルチハイトセル４０ｂの下方向に隣接してデッドスペース２３ａが存在すると判断される。デッドスペースがあった場合はステップＳ１０７へ処理が進み、デッドスペースが無い場合はステップＳ１０８へ処理が進む。例えば、チェック対象セル行が２番目のセル行２０ｂに選択されている図８Ｃの例では、デッドスペース２３ａ、２３ｂが抽出される。
【００５５】
ステップＳ１０７では、ステップＳ１０６で抽出した個々のデッドスペースの横方向のサイズと、ステップＳ１０５にて検出したマルチハイトセルのセル幅がそれぞれ認識され、デッドスペースの横方向の幅とマルチハイトセルのセル幅とが比較される。例えば、図８Ｃの例では、マルチハイトセル４０ｂのセル幅Ｘａとデッドスペース２３ａの幅Ｘｂが比較される。ステップＳ１０７の結果、デッドスペース２３ａの幅Ｘｂがマルチハイトセルのセルサイズ以上であればステップＳ１１２に進み、デッドスペースの幅Ｘｂがマルチハイトセルのセルサイズ以下であれば、ステップＳ１０８に進む。
【００５６】
ステップＳ１０６でマルチハイトセルの下方向にデッドスペースが無いと判断された場合、またはステップＳ１０７でデッドスペースの幅がマルチハイトセルのセル幅よりも小さいと判断された場合、ステップＳ１０８は、マルチハイトセルの下方向に空きサイトがあるかを判断する。例えば、図８Ｃの例では、マルチハイトセル４０ｂの下方向に隣接して空きサイト２２ａが存在すると判断される。空きサイトが存在した場合はステップＳ１０９に進み、空きサイトが存在しない場合はステップＳ１１３に進む。
【００５７】
ステップＳ１０９では、マルチハイトセルの下方向に隣接するチェック対象領域の空きサイトとデッドスペースの幅の合計が算出され、合計の幅と、マルチハイトセルのセル幅とが比較される。例えば、図８Ｃの例では、デッドスペース２３ａの幅Ｘｂと空きサイト２２ａの幅Ｘｃの合計と、マルチハイトセル４０ｂのセル幅Ｘａとが比較される。空きサイトとデッドスペースの合計幅がマルチハイトセルのセルサイズ以上であればステップＳ１１２に進み、空きサイトとデッドスペースの合計幅が、マルチハイトセルのセルサイズ以下であればステップＳ１１０に進む。
【００５８】
ステップＳ１１０では、チェック対象領域内にある全ての空きサイトの幅の合計が算出され、空きサイトの幅の合計とマルチハイトセルのセル幅とが比較される。チェック対象領域内の全ての空きサイトの幅の合計がマルチハイトセルのセル幅より大きい場合は処理がステップＳ１１１に進み、そうでない場合は処理がステップＳ１１３に進む。
【００５９】
ステップＳ１１１では、チェック対象セル行の基本ハイトセルを再配置することで、空きサイトの位置を最適化して上方向のセル行のマルチハイトセルを下方向に移動させるための空きサイトを作り出す。
【００６０】
ステップＳ１１２では、チェック対象領域のデッドスペース又は空きサイトの領域がもっとも小さくなるよう、マルチハイトセルライブラリ６４ｂに登録されている原点位置が異なる複数のマルチハイトセルのうちから最適なものを選択して、マルチハイトセルを再配置する。
【００６１】
ステップＳ１１３では、チェック対象セル行が最上端のセル行かを判断し、最上端のセル行の場合にはステップＳ１１５に進み、最上端のセル行ではない場合はステップＳ１１４に進む。
【００６２】
ステップＳ１１４では、チェック対象セル行の設定を１つ上方向のセル行に設定してステップＳ１０４に戻り処理を繰り返す。
【００６３】
ステップＳ１１５では、ステップＳ１０５〜Ｓ１１４の繰り返しで生じた空きサイトを使用して基本ハイトセルが最適に再配置される。
【００６４】
ステップＳ１１６では、演算により、残存しているデッドスペースにウェルが配置される。
【００６５】
以上で、セル配置処理が完了する。セル配置処理が完了した後、配線工程が行われ、セル間の配線のレイアウトが決定される。この配線工程において、マルチハイトセルを横切るようにＶＤＤ電源配線、ＶＳＳ電源配線が配置される。これにより、例えば、図４Ａ乃至図４Ｃに図示されているようなマルチハイトセル４０のレイアウトが実現される。
【００６６】
図８Ａ乃至図８Ｆは、図７Ａ、図７Ｂに図示されているセル配置処理の具体例を示すセル配置図であり、図８Ａに図示されている初期配置から、図７Ａ、図７Ｂのセル配置処理によって基本ハイトセルとマルチハイトセルとが再配置される処理の例を示している。
【００６７】
図８Ａに図示されているように、初期配置では、マルチハイトセルライブラリ６４ｂに登録されている原点位置が異なる複数のマルチハイトセル４０のうち、左下を原点として持つマルチハイトセル４０を用いて、自動配置ツール６２によって自由にセル配置が実行される（ステップＳ１０２）。このため、図８Ａに図示されているように、初期配置の段階では、基本ハイトセル３０及びマルチハイトセル４０が配置されない空き領域５０が発生することになる。
【００６８】
続いて、図８Ａの最下端のセル行２０ａが最初のチェック対象セル行に選択され（ステップＳ１０３）。更に、最下端のセル行２０ａにおいてマルチハイトセル４０ａが配置されていない領域が、チェック対象領域２１ａとして選択される（ステップＳ１０４）。図８Ａでは、チェック対象領域２１ａに上方向に隣接するセル行２０ｂにマルチハイトセルが存在せず(ステップＳ１０５)、最上端のセル行でもないため（ステップＳ１１３）、ステップＳ１１４において、チェック対象セル行が上方向に隣接するセル行２０ｂに設定される。
【００６９】
図８Ｂ、図８Ｃは、２番目のセル行２０ｂがチェック対象セル行に設定された後のセル配置処理の手順を示している。図８Ｂに図示されているように、２番目のセル行２０ｂにチェック対象領域２１ｂが設定され（ステップＳ１０４）、チェック対象領域２１ｂに上方向で隣接する３番目のセル行２０ｃにマルチハイトセル４０ｂ、４０ｃが配置されていると判断される（ステップＳ１０５）。引き続いて行われるステップＳ１０６の処理においては、チェック対象領域２１ｂの中から、図８Ｃに図示されているデッドスペース２３ａ、２３ｂが抽出される。図８Ｃに図示されているように、本実施形態では、最小の基本ハイトセルの配置ができない空き領域がデッドスペース２３ａ、２３ｂとして定義され、基本ハイトセルが配置可能な空き領域が空きサイト２２ａ〜２２ｃと定義される。
【００７０】
引き続いて行われるステップＳ１０７〜Ｓ１０９、Ｓ１１２の一連の処理について、図８Ｃ、図８Ｄを例として説明を行う。図８Ｃに図示されているように、マルチハイトセル４０ｂの下方向に隣接してデッドスペース２３ａが存在しており、ステップＳ１０７の処理では、このデッドスペース２３ａの幅Ｘｂとマルチハイトセル４０ｂのセル幅Ｘａが比較される。図８Ｃの例では、幅Ｘｂは、セル幅Ｘａより小さいため、ステップＳ１０８が行われ、図８Ｃのマルチハイトセル４０ｂの下方向に隣接する空きサイト２２ａが検出される。尚、幅Ｘｂの方がセル幅Ｘａより大きい場合は、マルチハイトセル４０ｂとデッドスペース２３ａの位置がずれていると、マルチハイトセル４０ｂの再配置が行えない（下方向に移動できない）ので、ステップＳ１０７の処理では、セル幅だけではなく、再配置の対象のマルチハイトセル４０ｂの座標も認識される。
【００７１】
次に、ステップＳ１０９では、ステップＳ１０６で抽出したデッドスペース２３ａとステップＳ１０８で抽出した空きサイト２２ａの幅の合計Ｘｂ＋Ｘｃと、マルチハイトセル４０ｂのセル幅Ｘａとが比較される。図８Ｃの場合、マルチハイトセル４０ｂのセル幅Ｘａよりデッドスペース２３ａと空きサイト２２ａの幅の合計Ｘｂ＋Ｘｃが大きいため、ステップＳ１１２へ進み、マルチハイトセルライブラリ６４ｂに登録された原点位置が異なる複数のマルチハイトセルの中から、図８Ｄに示すようにデッドスペースが小さくなる最適な原点を持つマルチハイトセルが選択され、マルチハイトセル４０ｂの位置に再配置される。これにより、実質的に、マルチハイトセル４０ｂが下方向に移動されたことになる。
【００７２】
なお、図８Ｃのマルチハイトセル４０ｂのセル幅Ｘａより空きサイト２２ａとデッドスペース２３ａの幅の合計Ｘｂ＋Ｘｃが小さかった場合は、ステップＳ１１０へ処理が進む。
【００７３】
一方、マルチハイトセル４０ｃについては、マルチハイトセル４０ｃの下方向に隣接してデッドスペースは無く、空きサイト２２ｂが存在するが、マルチハイトセル４０ｃのセル幅Ｘｄより、空きサイト２２ｂのセル幅Ｘｅの方が小さい。この場合、ステップＳ１１０〜Ｓ１１２の一連の処理が行われる。図８Ｄ、図８Ｅを例にして、ステップＳ１１０〜Ｓ１１２の処理を説明する。
【００７４】
図８Ｄを参照して、ステップＳ１１０では、チェック対象領域２１ｂ内（図８Ｂ参照）にある全ての空きサイト２２ｂ、２２ｃの幅の合計（Ｘｅ＋Ｘｆ）と、マルチハイトセル４０ｃのセル幅Ｘｄとが比較される。全ての空きサイトの幅の合計（Ｘｅ＋Ｘｆ）がマルチハイトセル４０ｃのセル幅Ｘｄ以上となる場合は、ステップＳ１１１において基本セルの再配置が行われる。具体的には、ステップＳ１１１の再配置では、図８Ｄ及び図８Ｅに図示されているように、基本ハイトセル３０ａが移動され、その後に、ステップＳ１１２の処理において、図８Ｄで示すように配置されていたマルチハイトセル４０ｃを、空きサイトを使用して、図８Ｅに図示されているように、マルチハイトセル４０ｃそのまま１セル行分だけ下方向に移動させる処理が行われる。
【００７５】
つまり、ステップＳ１１０では、ステップＳ１０９にてマルチハイトセル直下に空きサイトやデッドスペースを見つけられなかったとしても、チェック対象セル行の基本ハイトセルの配置換えをすることで、対象のマルチハイトセルの直下に空きサイトを集める処理が行われる。
【００７６】
結果として、初期配置時には、配置・配線ツールにより、マルチハイトセルが、その左下隅を原点として図８Ａのように配置されるが、図８Ｂ〜図８Ｅのように、配置の最適化がセル行ごとに行われ、最終的には図８Ｆに示すような、高集積化されたセル配置が実現される。
【００７７】
以上に説明されているように、本実施形態では、上述のようなマルチハイトセルの構造とセル配置処理を使用することで、半導体集積回路の設計時に、基本ハイトセルとマルチハイトセルとを効率よく集積化し、チップ面積の削減が可能となる。また、本実施形態では、マルチハイトセルのセル高さが基本ハイトセルの整数倍に限定されないため、柔軟なセル配置が可能になる。
【００７８】
ここで、本実施形態では、図３Ｂに図示されているようなマルチハイトセル４０のＶＤＤ側電源供給配線５ＢとＶＳＳ側電源供給配線６Ｂのレイアウトにより、隣接する基本ハイトセル３０との相対位置に関わらず、電源メッシュを構成する電源配線の位置を整合させることができる。基本ハイトセル３０とマルチハイトセル４０の相対位置に関わらず、電源メッシュのＶＤＤ電源配線（８Ａ、８Ｂ）とＶＳＳ電源配線（７Ａ、７Ｂ）とを、それぞれに直線状に配置しても、マルチハイトセル４０のＶＤＤ側電源供給配線５Ｂ及びＶＳＳ側電源供給配線６Ｂと接することになる。このため、チップ上の電源メッシュ構造を変えること無く、マルチハイトセル４０を上下方向に移動させながら再配置し、高集積化を達成することができる。例えば、図４Ａは、基本ハイトセル３０とマルチハイトセル４０をセル下端を位置整合させて隣接して配置したレイアウトの例であり、図４Ｂはセル上端で位置整合させて隣接した配置したレイアウトの例であり、図４Ｃはセルの高さ方向の中心付近で隣接して配置したレイアウトの例である。どのレイアウトであっても、電源メッシュのＶＳＳ電源配線（７Ａ、７Ｂ）と、電源メッシュのＶＤＤ電源配線（８Ａ、８Ｂ）を曲げることなく、マルチハイトセル４０のセル内回路に電源電圧の供給を行なうことができる。
【００７９】
第２の実施形態：
図９Ａ、図９Ｂは、本発明の第２の実施形態におけるセル配置処理の手順を示すフローチャートであり、図１０Ａ乃至図１０Ｄは、セル配置処理の具体例を示すレイアウト図である。第１の実施形態では、マルチハイトセル（４０ｂ、４０ｃ）が、それに下方向に隣接するデッドスペース又は空きサイトに移動されているが、第２の実施形態では、チェック対象セル行のチェック対象領域の空きサイト及びデッドスペースの幅、及び、チェック対象セル行に上方向で隣接するマルチハイトセルのそれぞれのセル幅が認識され、これらの情報を用いて、複数のマルチハイトセルの中からチェック対象セル行の空きサイトやデッドスペースが少なくなる組み合わせを選択することで、高集積化が実現される。
【００８０】
詳細には、第２の実施形態のセル配置処理では、図７Ａ、図７Ｂに示されているセル配置処理に対してステップＳ１０６ａ〜Ｓ１１２ａの処理が異なる。以下では、ステップＳ１０６ａ〜Ｓ１１２ａの処理について詳細に説明する。
【００８１】
図９Ａを参照して、ステップＳ１０６ａでは、ステップＳ１０５で検出した、チェック対象領域の上方向に隣接するセル行の全てのマルチハイトセル個々のセル幅が記憶される。例えば、図１０Ａの例では、２番目のセル行２０ｂがチェック対象セル行として設定され、セル行２０ｂのマルチハイトセル４０ａ以外の領域がチェック対象領域として選択されている場合に、マルチハイトセル４０ｂ、４０ｃ、４０ｄのセル幅Ｘａ、Ｘｄ、Ｘｈが記憶される。
【００８２】
ステップＳ１０６ｂでは、チェック対象セル行にデッドスペースがあるかの判断が行われる。例えば、２番目のセル行２０ｂがチェック対象セル行として設定される図１０Ａの例では、更に、チェック対象セル行にデッドスペース２３ａ、２３ｂがあると判断される。デッドスペースがない場合は、ステップＳ１０７ａに処理が進み、デッドスペースがある場合は、ステップＳ１０７ｃに処理が進む。
【００８３】
ステップＳ１０７ａでは、チェック対象セル行に空きサイトがあるかの判断が行われる。空きサイトがあれば、処理はステップＳ１０７ｂに進み、空きサイトがない場合は、ステップＳ１１３へ進む。
【００８４】
ステップＳ１０７ｂでは、チェック対象セル行の空きサイトの横方向の幅の合計が計算され、ステップＳ１０６ａでセル幅が記憶されたマルチハイトセルのうち、セル幅が最小のセルのマルチハイトセルのセル幅と、空きサイトの幅の合計とが比較される。
【００８５】
比較の結果、選択された最小のマルチハイトセルのセル幅より、空きサイトの横方向の幅の合計が小さい場合は、ステップＳ１１３に進み、マルチハイトセルのセル幅より、空きサイトの横方向のサイズの合計幅が大きい場合は、ステップＳ１０８ａに進む。
【００８６】
ステップＳ１０８ａでは、ステップＳ１０６ａで記憶したマルチハイトセルのセル幅に基づいて、再配置するマルチハイトセルの組み合わせが選択される。このとき、マルチハイトセルの組み合わせは、空きサイトの幅の合計と再配置されるマルチハイトセルのセルサイズの合計の差分が最小になるように選択される。
【００８７】
次に、ステップＳ１０７ｃでは、ステップＳ１０６ｂで抽出した個々のデッドスペースの幅を記憶する。さらに、ステップＳ１０８ｂは、ステップＳ１０６ａで記憶した、マルチハイトセルのセルサイズと、ステップＳ１０７ｃで記憶したデッドスペースの幅を元に、個々のデッドスペースの幅に最も近い値のセルサイズとなるマルチハイトセルを、再配置するマルチハイトセルとして選抜する。
【００８８】
次に、ステップＳ１０９ａでは、チェック対象セル行及びチェック対象セル行に上方向で隣接するセル行に、再配置するマルチハイトセルの再配置予定領域が設定される。例えば、２番目のセル行２０ｂがチェック対象セル行として設定される図１０Ｂの例では、セル行２０ｂ、２０ｃに再配置予定領域Ｒ１、Ｒ２が設定される。再配置予定領域の設定では、チェック対象セル行にデッドスペースがある際は、デッドスペースを優先して、再配置するマルチハイトセルのセル幅分の再配置予定領域が設定される。更に、ステップＳ１０９ａでは、再配置するマルチハイトセルのセル幅分の領域が確保できない場合に、チェック対象セル行の空きサイトを使用してチェック対象セル行内の基本ハイトセルを再配置することで、マルチハイトセルの再配置領域を確保する処理も実施される。
【００８９】
ステップＳ１１０ａでは、ステップＳ１０９ａで抽出した、マルチハイトセルの再配置予定領域内に基本ハイトセルがあるかの判断を行い、基本ハイトセルがある場合には、ステップＳ１１１ａに処理が進み、基本ハイトセルがない場合は、ステップＳ１１２ａに処理が進む。例えば、図１０Ｂの例では、再配置予定領域Ｒ１、Ｒ２に、基本ハイトセル３０ａ、３０ｂがあると判断される。
【００９０】
ステップＳ１１１ａでは、チェック対象セル行と、チェック対象セル行に上方向に隣接するセル行の、再配置するマルチハイトセルの再配置予定領域と、再配置されないマルチハイトセルを除く領域が配置替え対象領域として設定され、配置替え対象領域内の空きサイトを使用して、基本ハイトセルが再配置される。例えば、図１０Ｂの例では、セル行２０ｂ、２０ｃの再配置予定領域Ｒ１、Ｒ２及びマルチハイトセル４０ｄを除く領域が、配置替え対象領域Ｆとして設定され、配置替え対象領域Ｆの中で基本ハイトセルが再配置される。
【００９１】
ステップＳ１１２ａでは、ステップＳ１０９ａで抽出した再配置予定領域Ｒ１、Ｒ２に、ステップＳ１０８ａ又はステップＳ１０８ｂで選択されたマルチハイトセルが再配置される。
【００９２】
図１０Ａ〜図１０Ｄは、図９Ａ、図９Ｂに図示されているセル配置処理のうち、第１の実施形態とは異なるステップＳ１０６ａ〜Ｓ１１２ａまでの処理の具体例を示す一連のセル配置図である。
【００９３】
図１０Ａは、ステップＳ１０２にて初期配置されたセル配置図であり、ステップＳ１１４により、チェック対象セル行が２番目のセル行２０ｂに設定されているとする。
【００９４】
このとき、チェック対象領域（即ち、チェック対象セル行であるセル行２０ｂのうちマルチハイトセル４０ａ以外の領域）に上方向に隣接してマルチハイトセル４０ｂ、４０ｃ、４０ｄが存在するため、ステップＳ１０６ａでは、マルチハイトセル４０ｂのセル幅Ｘａとマルチハイトセル４０ｃのセル幅Ｘｄとマルチハイトセル４０ｄのセル幅Ｘｈが記憶される。
【００９５】
ステップＳ１０６ｂでは、チェック対象セル行であるセル行２０ｂのデッドスペースの有無が判断される。図１０Ａの例では、デッドスペース２３ａ、２３ｂが抽出される。
【００９６】
ステップＳ１０７ｃでは、チェック対象セル行であるセル行２０ｂの、デッドスペース２３ａ、２３ｂの幅Ｘｂ、Ｘｇが記憶される。
【００９７】
ステップＳ１０８ｂでは、ステップＳ１０６ａで記憶されたマルチハイトセル４０ｂ、４０ｃ、４０ｄのセル幅Ｘａ、Ｘｄ、Ｘｈに基づいて、再配置するマルチハイトセルの組み合わせが選択される。再配置するマルチハイトセルの組み合わせとしては、デッドスペース２３ａ、２３ｂの幅Ｘｂ、Ｘｇの値に最も近いセル幅のマルチハイトセルの組み合わせが選択される。ここで、デッドスペースの幅と最も近いセル幅のマルチハイトセルを選抜する理由は、チェック対象セル行に可能な限り空きサイトを確保することで、後述するステップＳ１１１ａの処理で、チェック対象セル行の上のセル行から基本セルをより多く、下方向へ再配置できるようにする為である。図１０Ａの場合は、マルチハイトセル４０ｂ、４０ｃが再配置の対象となる。
【００９８】
一方、図１０Ａについて、仮に、チェック対象セル行として選択された２番目のセル行２０ｂにデッドスペース２３ａと２３ｂが無いとした場合には、ステップＳ１０６ｂの判断により、ステップＳ１０７ａ１に処理が進み、チェック対象セル行であるセル行２０ｂの空きサイトの有無が判断される。その後、ステップＳ１０７ｂでは、チェック対象セル行であるセル行２０ｂの空きサイト２２ａ、２２ｂ、２２ｃのセルサイズの合計（Ｘｃ＋Ｘｅ＋Ｘｆ）と、マルチハイトセル４０ｂ、４０ｃ、４０ｄのうち、最もセル幅の小さいマルチハイトセルのセル幅Ｘｄとが比較される。尚、最もセルサイズの大きいマルチハイトセル４０ｄを比較対象にしてしまうと、最もセルサイズの小さいＸｄのセルサイズを持つ４０ｃのマルチハイトセルの最適配置の可能性を消してしまうため、ステップＳ１０７ｂでは、最小のセル幅のマルチハイトセルが比較対象として設定される。
【００９９】
この例では、最もセル幅の小さいマルチハイトセル４０ｃのセル幅Ｘｄより空きサイト２２ａ、２２ｂ、２２ｃの幅の合計（Ｘｃ＋Ｘｅ＋Ｘｆ）が大きいので、ステップＳ１０８ａでは、マルチハイトセル４０ｂ、４０ｃ、４０ｄのセル幅Ｘａ、Ｘｄ、Ｘｈに基づいて、空きサイトの幅の合計（Ｘｃ＋Ｘｅ＋Ｘｆ）との差分が小さいセル幅を有するマルチハイトセルを、再配置するマルチハイトセルの組み合わせとして選抜する。
【０１００】
以上の処理により、チェック対象セル行にデッドスペース又は空きサイトが存在する場合には、それらのデッドスペースや空きサイトの幅を有効に使用して、再配置するマルチハイトセルの組み合わせを選択することができる。
【０１０１】
次に、選択されたマルチハイトセルの再配置方法を説明する。
【０１０２】
ステップＳ１０９ａでは、デッドスペース２３ａ、２３ｂを優先して、マルチハイトセル４０ｂのセル幅Ｘａとマルチハイトセル４０ｃのセル幅Ｘｄに対応した幅の再配置予定領域Ｒ１、Ｒ２が設定される。この際、再配置するマルチハイトセルのセル幅がデッドスペースの幅より大きく、且つ、チェック対象セル行（セル行２０ｂ）に空きサイトはあるが、デッドスペースに隣接していない場合には、チェック対象セル行であるセル行２０ｂ内の基本ハイトセルが空きサイトを使用して再配置され、デッドスペースに隣接する空きサイトを作り出すことで、チェック対象セル行であるセル行２０ｂに再配置するマルチハイトセル４０ｂ、４０ｃのセル幅Ｘａ、Ｘｄに対応する幅の再配置予定領域Ｒ１、Ｒ２が確保される。また、チェック対象セル行（セル行２０ｂ）にデッドスペースがない場合も、チェック対象セル行内の基本ハイトセルを空きサイトを使用して再配置することで、再配置対象のマルチハイトセルのセル幅分の再配置予定領域が確保される。
【０１０３】
図１０Ｂに図示されている例では、デッドスペース２３ａ、２３ｂに隣接した空きサイトを使用して、再配置予定領域Ｒ１、Ｒ２が、マルチハイトセル４０ｂ、４０ｃを再配置すべき領域として設定される。更に、再配置予定領域Ｒ１、Ｒ２に重なっている基本ハイトセル３０ａ、３０ｂが存在するため（ステップＳ１１０ａ）、ステップＳ１１１ａでは、チェック対象セル行（セル行２０ｂ）と、チェック対象セル行の上方向に隣接するセル行２０ｃの２つのセル行の、再配置予定領域Ｒ１、Ｒ２と、再配置されないマルチハイトセル４０ｄを除く領域が、配置替え対象領域Ｆとして定義される。
【０１０４】
ステップＳ１１１ａでは、更に、配置替え対象領域Ｆ内にある基本ハイトセルと空きサイトとが検出され、再配置となる基本ハイトセル３０ａ、３０ｂを再配置予定領域Ｒ１、Ｒ２から排除するよう、配置替え対象領域Ｆ内にある基本ハイトセルを含めて基本ハイトセルの再配置を実施する。その際、チェック対象セル行のセル行２０ｂの空きサイトを優先して埋めるように基本ハイトセルが再配置される。
【０１０５】
尚、配置替え対象領域Ｆは、マルチハイトセルの高さに応じて、３つ以上のセル行にオーバーラップするように設定されてもよい。
【０１０６】
再配置予定領域Ｒ１、Ｒ２内に位置していた基本ハイトセル３０ａ、３０ｂの再配置が完了後、ステップＳ１１２ａにて、ステップＳ１０９ａにて選択された再配置するマルチハイトセルが再配置予定領域Ｒ１、Ｒ２に移動される。
【０１０７】
図１０Ｃは、マルチハイトセルを再配置した結果を示しており、図１０Ｃでは、基本ハイトセル３０ａ、３０ｂ、マルチハイトセル４０ｂ、４０ｃがチェック対象セル行として設定された２番目のセル行２０ｂに再配置されている。
【０１０８】
その後、第１の実施形態と同様に、ステップＳ１１３〜Ｓ１１４が行われる。これにより、最終的には、前述したステップＳ１０６ａ〜Ｓ１１２ａの処理が最上端のセル行まで繰り返して行われる。その後、第１の実施形態と同様に、ステップＳ１１５において全セル行のサイトを可能な限り埋めるように、上方向から下方向の順序で（またはその逆の順序）基本ハイトセルの再配置が実施される。これにより、図１０Ｄのセル配置が得られる。
【０１０９】
第２実施形態のセル配置処理では、マルチハイトセルの再配置を１セルずつ下方向へ移動を行うのではなく、チェック対象セル行の空きサイト及びデッドスペースの幅、及び、各マルチハイトセルのセル幅が認識され、認識されたこれらの情報に基づいて、チェック対象セル行の上方向に隣接するセル行に位置する複数のマルチハイトセルの中からチェック対象セル行の空きサイトやデッドスペースが少なくなるマルチハイトセルの組み合わせが選択される。これにより、高い集積度でセルを再配置することが可能となる。
【符号の説明】
【０１１０】
３０、３０ａ、３０ｂ：基本ハイトセル
４０、４０ａ、４０ｂ、４０ｃ、４０ｄ：マルチハイトセル
１、１Ａ、１Ｂ：セル枠
２：Ｎウェル
２ａ：拡散領域
３：Ｐウェル
３ａ：拡散領域
４：ポリシリコン配線
５Ａ、５Ｂ：ＶＤＤ側電源供給配線
６Ａ、６Ｂ：ＶＳＳ側電源供給配線
７Ａ、７Ｂ：ＶＳＳ電源配線
８Ａ、８Ｂ：ＶＤＤ電源配線
９：セル内配線
１１Ａ、１１Ｂ：オーバーラップ領域
２０ａ、２０ｂ、２０ｃ、２０ｄ：セル行
２１ａ、２１ｂ：チェック対象領域
２２ａ、２２ｂ、２２ｃ：空きサイト
２３ａ、２３ｂ：デッドスペース
５０：空き領域
５１：ＣＰＵ
５２：メモリ
５３：入力装置
５４：出力装置
５５：外部記憶装置
６１：論理合成ツール
６２：自動配置ツール
６３：配線ツール
６４：セルライブラリ
６４ａ：基本ハイトセルライブラリ
６４ｂ：マルチハイトセルライブラリ
１０１Ａ、１０１Ｂ：セル
１０１Ｃ：スペーサーセル
１０２：Ｎウェル
１０２ａ：拡散領域
１０３：Ｐウェル
１０３ａ：拡散領域
１０４：ポリシリコン配線
１０５：ＶＤＤ側電源供給配線
１０６：ＶＳＳ側電源供給配線
１０７：ＶＳＳ電源配線
１０７Ｃ：ＶＳＳ電源配線
１０８：ＶＤＤ電源配線
１０８Ｃ：ＶＤＤ電源配線
１０９：セル内配線
１１２：Ｎウェル
１１２Ａ：拡散領域
１１３：Ｐウェル
１１３Ｂ：拡散領域
１１４：ポリシリコン配線
１１５：ＶＤＤ側電源供給配線
１１６：ＶＳＳ側電源供給配線
１１７：ＶＳＳ電源配線
１１８：ＶＤＤ電源配線
１２０Ａ：基本ハイトセル
１２０Ｂ：ダブルハイトセル
１２０Ｃ：フィルセル
ａ：基本ハイトセルの高さ
ｂ：マルチハイトセルの高さ
ｃ：オーバーラップ幅
ｗ：電源配線の幅
Ｘａ：マルチハイトセル４０ｂのセル幅
Ｘｄ：マルチハイトセル４０ｃのセル幅
Ｘｈ：マルチハイトセル４０ｄのセル幅
Ｘｂ、Ｘｇ：デッドスペースの幅
Ｘｃ、Ｘｅ、Ｘｆ：空きサイトの幅
Ｒ１、Ｒ２：再配置予定領域
Ｆ：配置替え対象領域
【図１Ａ】
2013105341.tif 000003
【図１Ｂ】
2013105341.tif 000004
【図１Ｃ】
2013105341.tif 000005
【図２Ａ】
2013105341.tif 000006
【図２Ｂ】
2013105341.tif 000007
【図３Ａ】
2013105341.tif 000008
【図３Ｂ】
2013105341.tif 000009
【図４Ａ】
2013105341.tif 000010
【図４Ｂ】
2013105341.tif 000011
【図４Ｃ】
2013105341.tif 000012
【図５】
2013105341.tif 000013
【図６】
2013105341.tif 000014
【図７Ａ】
2013105341.tif 000015
【図７Ｂ】
2013105341.tif 000016
【図８Ａ】
2013105341.tif 000017
【図８Ｂ】
2013105341.tif 000018
【図８Ｃ】
2013105341.tif 000019
【図８Ｄ】
2013105341.tif 000020
【図８Ｅ】
2013105341.tif 000021
【図８Ｆ】
2013105341.tif 000022
【図９Ａ】
2013105341.tif 000023
【図９Ｂ】
2013105341.tif 000024
【図１０Ａ】
2013105341.tif 000025
【図１０Ｂ】
2013105341.tif 000026
【図１０Ｃ】
2013105341.tif 000027
【図１０Ｄ】
2013105341.tif 000028