(57)【要約】【課題】  従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法を提供する。【解決手段】  ファンクションブロックを配置する第１の過程を行う。次に、第１の過程の後も空き地となっている領域にオンチップキャパシタを配置する第２の過程を行う。次に、第１の過程により配置されたファンクションブロックの一部と第２の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第３の過程を行う。次に、第３の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第４の過程を行う。【選択図】    図２
2006269945.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、
ファンクションブロックを配置する第１の過程と、
前記第１の過程の後も空き地となっている領域にオンチップキャパシタを配置する第２の過程と、
前記第１の過程により配置されたファンクションブロックの一部と前記第２の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第３の過程と、
前記第３の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第４の過程と、
をこの順に行うことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項２】
前記第３の過程では、前記第１の過程により配置された全てのファンクションブロックに対して、予め設定された優先順位に従った順番で、
前記第２の過程により配置されたオンチップキャパシタとオーバーラップ可能か否かの判定と、
オーバーラップ可能な場合にオーバーラップさせる処理と、
を行うことを特徴とする請求項１に記載の半導体集積回路のレイアウト設計方法。
【請求項３】
前記第４の過程は、前記第３の過程によってオーバーラップされたオンチップキャパシタと、前記第３の過程を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、前記第３の過程によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える第５の過程を備えていることを特徴とする請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項４】
前記第５の過程は、前記第２の過程によって配置された全てのオンチップキャパシタに対して、隣に配置されているファンクションブロックの優先順位が高いものから順番に行うことを特徴とする請求項３に記載の半導体集積回路のレイアウト設計方法。
【請求項５】
前記第４の過程は、前記第３の過程によってオーバーラップされたオンチップキャパシタと、前記第３の過程を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在しない場合に、該空き地に合うサイズのオンチップキャパシタを該空き地に配置する第６の過程を備えていることを特徴とする請求項３又は４に記載の半導体集積回路のレイアウト設計方法。
【請求項６】
前記第６の過程にて配置するオンチップキャパシタは、該オンチップキャパシタの隣に位置するオンチップキャパシタとオーバーラップさせて配置することを特徴とする請求項５に記載の半導体集積回路のレイアウト設計方法。
【請求項７】
前記第４の過程は、
前記第１の過程により配置された全てのファンクションブロックを、予め設定された優先順位に従って並び替える第７の過程と、
前記第７の過程による並び替え後の順序に従って、順次、処理対象のファンクションブロックを変更していく第８の過程と、
処理対象のファンクションブロックの隣にオンチップキャパシタが配置され、且つ、該オンチップキャパシタの更に隣が空き地であり、且つ、該空き地の更に隣が別のファンクションブロックであるか否かを判定する第９の過程と、
前記第９の過程により、空き地の更に隣が別のファンクションブロックであると判定された場合に、該別のファンクションブロックと前記処理対象のファンクションブロックの優先順位を比較する第１０の過程と、
前記第１０の過程により前記処理対象のファンクションブロックの方が優先順位が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と足したサイズのオンチップキャパシタに置き換える第１１の過程と、
を備えることを特徴とする請求項１又は２に記載の半導体集積回路のレイアウト設計方法。
【請求項８】
前記第４の過程は、前記第１０の過程により前記処理対象のファンクションブロックと前記別のファンクションブロックの優先順位が同一であると判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を足したサイズのオンチップキャパシタに置き換える第１２の過程を備えることを特徴とする請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項９】
前記第４の過程は、前記第１０の過程により前記処理対象のファンクションブロックよりも前記別のファンクションブロックの優先順位の方が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタの更に隣の前記空き地を残す第１３の過程を備えることを特徴とする請求項７又は８に記載の半導体集積回路のレイアウト設計方法。
【請求項１０】
相互に隣り合って配置された２つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在する場合に、該２つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換える第１４の過程を行うことを特徴とする請求項３乃至９の何れか一項に記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
相互に隣り合って配置された２つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在せず、該２つのオンチップキャパシタの間に空き地がある場合には、該空き地に、該２つのオンチップキャパシタの双方にオーバーラップさせてオンチップキャパシタを配置する第１５の過程を行うことを特徴とする請求項３乃至１０の何れか一項に記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
各種のファンクションブロックのライブラリ及び各種サイズのオンチップキャパシタのライブラリを記憶保持したデータベースを予め生成し、
前記データベース内にライブラリがあるファンクションブロックの出力インバータ部のレイアウト形状と、前記データベース内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、
対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置可能としたことを特徴とする請求項１乃至１１の何れか一項に記載の半導体集積回路のレイアウト設計方法。
【請求項１３】
請求項１乃至１２の何れか一項に記載の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラム。
【請求項１４】
基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、
請求項１乃至１２のいずれか一項に記載の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴とする半導体集積回路の製造方法。
【請求項１５】
半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、
ファンクションブロックを配置する配置手段と、
前記配置手段によりファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを配置する第１のオンチップキャパシタ配置手段と、
前記配置手段により配置されたファンクションブロックの一部と前記オンチップキャパシタ配置手段により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせるオーバーラップ手段と、
前記オーバーラップ手段によるオーバーラップを行うことによって生じた空き地にオンチップキャパシタを配置する第２のオンチップキャパシタ配置手段と、
を備えることを特徴とする半導体集積回路のレイアウト設計装置。
【請求項１６】
前記オーバーラップ手段は、前記配置手段により配置された全てのファンクションブロックに対して、予め設定された優先順位に従った順番で、
前記第１のオンチップキャパシタ配置手段により配置されたオンチップキャパシタとオーバーラップ可能か否かの判定と、
オーバーラップ可能な場合にオーバーラップさせる処理と、
を行うことを特徴とする請求項１５に記載の半導体集積回路のレイアウト設計装置。
【請求項１７】
前記第２のオンチップキャパシタ配置手段は、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタと、前記オーバーラップ処理を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える置き換え処理を行うオンチップキャパシタ置き換え手段を備えていることを特徴とする請求項１５又は１６に記載の半導体集積回路のレイアウト設計装置。
【請求項１８】
前記オンチップキャパシタ置き換え手段による処理を、前記第１のオンチップキャパシタ配置手段によって配置された全てのオンチップキャパシタに対して、隣に配置されているファンクションブロックの優先順位が高いものから順番に行うことを特徴とする請求項１７に記載の半導体集積回路のレイアウト設計装置。
【請求項１９】
前記第２のオンチップキャパシタ配置手段は、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタと、前記オーバーラップ処理を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在しない場合に、該空き地に合うサイズのオンチップキャパシタを該空き地に配置する第３のオンチップキャパシタ配置手段を備えていることを特徴とする請求項１７又は１８に記載の半導体集積回路のレイアウト設計装置。
【請求項２０】
前記第３のオンチップキャパシタ配置手段は、該第３のオンチップキャパシタ配置手段により配置するオンチップキャパシタを、該オンチップキャパシタの隣に位置するオンチップキャパシタとオーバーラップさせて配置することを特徴とする請求項１９に記載の半導体集積回路のレイアウト設計装置。
【請求項２１】
前記第２のオンチップキャパシタ配置手段は、
前記配置手段により配置された全てのファンクションブロックを、予め設定された優先順位に従って並び替える処理と、
並び替え後の順序に従って、順次、処理対象のファンクションブロックを変更していく処理と、
処理対象のファンクションブロックの隣にオンチップキャパシタが配置され、且つ、該オンチップキャパシタの更に隣が空き地であり、且つ、該空き地の更に隣が別のファンクションブロックであるか否かを判定する判定処理と、
前記判定過程により、空き地の更に隣が別のファンクションブロックであると判定された場合に、該別のファンクションブロックと前記処理対象のファンクションブロックの優先順位を比較する比較処理と、
前記比較処理により前記処理対象のファンクションブロックの方が優先順位が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と足したサイズのオンチップキャパシタに置き換える処理と、
を行うことを特徴とする請求項１５又は１６に記載の半導体集積回路のレイアウト設計装置。
【請求項２２】
前記第２のオンチップキャパシタ配置手段は、前記比較処理により前記処理対象のファンクションブロックと前記別のファンクションブロックの優先順位が同一であると判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を足したサイズのオンチップキャパシタに置き換える処理を行うことを特徴とする請求項２１に記載の半導体集積回路のレイアウト設計装置。
【請求項２３】
前記第２のオンチップキャパシタ配置手段は、前記比較処理により前記処理対象のファンクションブロックよりも前記別のファンクションブロックの優先順位の方が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタの更に隣の前記空き地を残す処理を行うことを特徴とする請求項２１又は２２に記載の半導体集積回路のレイアウト設計装置。
【請求項２４】
相互に隣り合って配置された２つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在する場合に、該２つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換えるオンチップキャパシタマージ手段を備えることを特徴とする請求項１７乃至２３の何れか一項に記載の半導体集積回路のレイアウト設計装置。
【請求項２５】
前記オンチップキャパシタマージ手段は、相互に隣り合って配置された２つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在せず、該２つのオンチップキャパシタの間に空き地がある場合には、該空き地に、該２つのオンチップキャパシタの双方にオーバーラップさせてオンチップキャパシタを配置することを特徴とする請求項２４に記載の半導体集積回路のレイアウト設計装置。
【請求項２６】
各種のファンクションブロックのライブラリ及び各種サイズのオンチップキャパシタのライブラリを記憶保持したデータベースを備え、
前記データベース内にライブラリがあるファンクションブロックの出力インバータ部のレイアウト形状と、前記データベース内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、
対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置可能としたことを特徴とする請求項１５乃至２５の何れか一項に記載の半導体集積回路のレイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置に関する。
【背景技術】
【０００２】
近年、例えばＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などの半導体集積回路の内部回路が動作することによって発生する電気的ノイズによる遅延の変動や誤動作が問題になっている。
【０００３】
電気的ノイズとしては、例えば、トランジスタのオン・オフ動作によって電源線に電位の“ゆれ”に起因するものが挙げられる。
【０００４】
そのような電気的ノイズを低減する手法としては、ＬＳＩ内部にオンチップキャパシタを配置する手法がある。
【０００５】
オンチップキャパシタは、ファンクションブロック間の空き地に配置されるが、例えばファンクションブロック間の空き地が小さい場合はオンチップキャパシタが配置できずに単にスペースを埋めるためのフィルセルが配置される場合があった。
【０００６】
従来のＬＳＩ設計におけるファンクションブロック及びオンチップキャパシタの配置方法が、例えば特許文献１に記載されている。
【０００７】
図１８は特許文献１の配置方法を示すフローチャートである。
【０００８】
図１８に示すように、特許文献１の技術では、先ず、ファンクションブロックの配置場所を、ネットリスト上の接続関係や、与えられた遅延制約や、ブロックの密度などの制約を満足するように決定する（ステップＳ２０１）。
【０００９】
そして、ファンクションブロックが配置されなかった空き地（隙間）の寸法に合わせた寸法のオンチップキャパシタを、大きい順番に生成し、該生成したオンチップキャパシタを各空き地に配置する（ステップＳ２０２）。
【００１０】
その後、余った空き地（寸法が小さくオンチップキャパシタを配置できなかった空き地）にフィルセルを生成する（ステップＳ２０３）。
【００１１】
従って、特許文献１の技術では、オンチップキャパシタの配置を考慮する（ステップＳ２０２）以前に、ファンクションブロックの配置が決定される（ステップＳ２０１）。
【００１２】
なお、特許文献１に記載されているように、オンチップキャパシタは、ファンクションブロックの近傍に配置することが、電気的ノイズを低減するために好ましい。
【特許文献１】特開平１１−１６８１７７号公報（図１、図２）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１の技術では、ファンクションブロックが配置されなかった空き地にオンチップキャパシタを配置するため、オンチップキャパシタは、必ずしもファンクションブロックの近傍に配置されるわけではなく、電気的ノイズの低減効果が十分ではなかった。
【００１４】
更に、特許文献１の技術では、単位面積当たりのファンクションブロックの敷き詰め度合いが高まるにつれ、ファンクションブロック間の非常に小さな空き地が散在するようになってしまうが、オンチップキャパシタを配置するには、ある程度の幅（面積）の空き地を必要とするため、小さな空き地が散在するような状況では、オンチップキャパシタを効率的に配置できず、電気的ノイズの低減効果が十分ではなかった。
【００１５】
本発明は、上記のような問題点を解決するためになされたもので、従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、本発明の半導体集積回路のレイアウト設計方法は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、ファンクションブロックを配置する第１の過程と、前記第１の過程の後も空き地となっている領域にオンチップキャパシタを配置する第２の過程と、前記第１の過程により配置されたファンクションブロックの一部と前記第２の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第３の過程と、前記第３の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第４の過程と、をこの順に行うことを特徴としている。
【００１７】
また、本発明のプログラムは、本発明の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであることを特徴としている。
【００１８】
また、本発明の半導体集積回路の製造方法は、基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、本発明の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴としている。
【００１９】
また、本発明の半導体集積回路のレイアウト設計装置は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、ファンクションブロックを配置する配置手段と、前記配置手段によりファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを配置する第１のオンチップキャパシタ配置手段と、前記配置手段により配置されたファンクションブロックの一部と前記オンチップキャパシタ配置手段により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせるオーバーラップ手段と、前記オーバーラップ手段によるオーバーラップを行うことによって生じた空き地にオンチップキャパシタを配置する第２のオンチップキャパシタ配置手段と、を備えることを特徴としている。
【発明の効果】
【００２０】
本発明によれば、ファンクションブロックの一部とオンチップキャパシタの一部とを相互にオーバーラップさせることが可能な場合に、これらを相互にオーバーラップさせるので、オーバーラップした領域に相当する面積の空き地を発生させることができる。更に、この空き地にもオンチップキャパシタを配置するので、配置されるオンチップキャパシタの総量を従来よりも増加させることができ、従来よりも電気的ノイズを低減することが可能となる。
【００２１】
具体的には、例えば、ファンクションブロックの出力インバータ部のレイアウト形状と、オンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、相互に対応する形式のオンチップキャパシタの電源端子部とファンクションブロックの出力インバータ部とをオーバーラップさせて配置したり、２つのオンチップキャパシタの電源端子部どうしをオーバーラップさせて配置したりすることが可能となり、オーバーラップにより生じた空き地にオンチップキャパシタを更に配置することにより、より多くのオンチップキャパシタを配置することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明に係る実施形態について説明する。
【００２３】
〔第１の実施形態〕
図１は第１の実施形態に係るファンクションブロック配置装置１を示すブロック図である。
【００２４】
図１に示すように、第１の実施形態に係るファンクションブロック配置装置１は、半導体集積回路（例えば、ＬＳＩ）の基板上又は絶縁層上におけるファンクションブロックの配置検討を行う装置であり、データを記憶する記憶装置１００と、記憶装置１００に記憶されたデータを用いて配置検討の処理を行う制御装置１１０と、を備えて構成されている。
【００２５】
なお、ファンクションブロック配置装置１は、例えば、一般的なＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）装置からなり、記憶装置１００及び制御装置１１０の他に、例えば、制御装置１１０の制御下で各種の表示動作を行う表示部（図示略）や、オペレータが操作を行うための操作部（図示略）を備えている。
【００２６】
記憶装置１００は、制御装置１１０に対するデータの供給などを行うものであり、ネットリストデータベース１０１と、オーバーラップ可能要素ライブラリデータベース１０２と、その他のライブラリデータベース１０３と、オーバーラップ用ライブラリデータベース１０４と、配置完了データベース１０５と、を格納（記憶保持）している。
【００２７】
このうち、ネットリストデータベース１０１は、ファンクションブロック間の結合情報（接続関係の情報）であるネットリストを記憶保持する。
【００２８】
オーバーラップ可能要素ライブラリデータベース１０２は、オーバーラップが可能な各種のファンクションブロックのライブラリ（レイアウトライブラリ）と、オーバーラップが可能な各種サイズ（幅）のオンチップキャパシタのライブラリと、を記憶保持している。
【００２９】
図６及び図７はオーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたファンクションブロックの例を示す平面図であり、図８及び図９はオーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたオンチップキャパシタの例を示す平面図である。
【００３０】
例えばＣＭＯＳのファンクションブロックは、例えば、図６及び図７に示すように、機能部分６０１と、出力インバータ部６０２と、を電源配線６０３とグランド配線６０４との間の領域に備えて構成されていることが多い。
【００３１】
なお、ファンクションブロックとしては、例えば、フリップフロップ、セレクタ、ＥＸ−ＯＲ（ＸＯＲ）、マルチプレクサなどが挙げられる。
【００３２】
本実施形態において、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたファンクションブロックにおいては、出力インバータ部６０２の配置及び形式が規格化されている。
【００３３】
すなわち、出力インバータ部６０２は、ファンクションブロックの右端部に配置されているか、左端部に配置されているか、或いは、左右両端部にそれぞれ配置されている。
【００３４】
例えば、図６に例示するファンクションブロック６００は、機能部分６０１の片側（例えば、右側）にのみ出力インバータ部６０２を備えている。
【００３５】
また、図７に例示するファンクションブロック７００は、機能部分６０１の両側（右側及び左側）にそれぞれ出力インバータ部６０２を備えている。
【００３６】
また、図示は省略するが、機能部分６０１の左側にのみ出力インバータ部６０２を備えているタイプのファンクションブロックも存在するものとする。
【００３７】
更に、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたファンクションブロックにおいては、出力インバータ部６０２のレイアウト形状が、規格化された幾つかの形式のうちの何れかの形式（タイプ）に設定されている（詳細後述）。
【００３８】
他方、オンチップキャパシタは、例えば、図８及び図９に示すように、容量部８０１と、この容量部８０１の片側或いは両側に配置された電源端子部８０２と、を電源配線６０３とグランド配線６０４との間の領域に備えて構成されている。
【００３９】
例えば、図８及び図９に示すオンチップキャパシタ８００、９００は、それぞれ容量部８０１の両側（右側及び左側）に電源端子部８０２を備えている。
【００４０】
なお、図８に示すオンチップキャパシタ８００と図９に示すオンチップキャパシタ９００とは、例えば、その容量部８０１のサイズが相互に異なる点の他は、互いに同様に構成されている。
【００４１】
また、図示は省略するが、容量部８０１の片側（右側又は左側のうちの何れか一方）にのみ電源端子部８０２を備えるタイプのオンチップキャパシタを用意しても良い。
【００４２】
ここで、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたオンチップキャパシタの電源端子部８０２の形式としては、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたファンクションブロックの出力インバータ部６０２の各形式と対応する形式が用意されている。
【００４３】
そして、オンチップキャパシタの電源端子部８０２の形式と、ファンクションブロックの出力インバータ部６０２の形式とが対応する場合に、該ファンクションブロックの出力インバータ部６０２と該オンチップキャパシタの電源端子部８０２とを相互にオーバーラップさせて配置することができるようになっている。
【００４４】
例えば、図８に示すオンチップキャパシタ８００の電源端子部８０２の形式と、図６に示すファンクションブロック６００の出力インバータ部６０２の形式と、は相互に対応しているものとする。
【００４５】
この場合、例えば、図１０に示すように、オンチップキャパシタ８００の電源端子部８０２をファンクションブロック６００の出力インバータ部６０２にオーバーラップさせて（重ねて）配置することができる。
【００４６】
更に、電源端子部８０２のビアホールの配置と出力インバータ部６０２のビアホールの配置とが一致する場合、例えば、電源端子部８０２のビアホールと出力インバータ部６０２のビアホールとを接続することもできる。
【００４７】
また、２つのオンチップキャパシタの電源端子部８０２どうしの形式が対応する場合には、該２つのオンチップキャパシタの電源端子部８０２どうしをオーバーラップさせて配置することができるようになっている。
【００４８】
このように、本実施形態においては、オーバーラップ可能要素ライブラリデータベース１０２内にライブラリが記憶されたファンクションブロックの出力インバータ部のレイアウト形状と、オーバーラップ可能要素ライブラリデータベース１０２内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置することが可能となっている。
【００４９】
なお、図８及び図９には、それらの電源端子部８０２の形式が互いに同一であるオンチップキャパシタ８００、９００を示しているが、オーバーラップ可能要素ライブラリデータベース１０２は、電源端子部８０２の形式が相互に異なるファンクションブロックのライブラリをも記憶保持していても良い。
【００５０】
また、図６及び図７には、それらの出力インバータ部６０２の形式が互いに同一であるファンクションブロック６００、７００を示しているが、オーバーラップ可能要素ライブラリデータベース１０２は、出力インバータ部６０２の形式が相互に異なるファンクションブロックのライブラリをも記憶保持していても良い。
【００５１】
次に、相互に形式が対応し、相互にオーバーラップ可能なファンクションブロックの出力インバータ部と、オンチップキャパシタの電源端子部とで一致する条件（オーバーラップ可能となる条件）の例について、図１１を参照して説明する。
【００５２】
図１１には、ファンクションブロックの出力インバータ部の平面図を示している。
【００５３】
ファンクションブロックの出力インバータ部とオンチップキャパシタの電源端子部とがオーバーラップ可能となる条件の例を以下に列挙する。すなわち、例えば、以下に列挙する条件の全てが一致するか、或いはこれらの条件のうちの何れか必要最小限の条件が一致する場合に、ファンクションブロックの出力インバータ部とオンチップキャパシタの電源端子部とが相互にオーバーラップ可能となる。
【００５４】
（１）ファンクションブロックの出力インバータ部のビアホール１１１１、１１１６の位置及び個数と、オンチップキャパシタの電源端子部のビアホールの位置及び個数とが一致する。
【００５５】
（２）ファンクションブロック出力インバータ部のソース側配線１１１２、１１１５のＹ座標位置（図１１における上下位置）と、オンチップキャパシタの電源端子部のソース側配線のＹ座標位置とが一致する。
【００５６】
（３）ファンクションブロック出力インバータ部のソース側配線１１１２、１１１５のブロック端（該ファンクションブロックの端）からの距離と、オンチップキャパシタの電源端子部のソース側配線のブロック端（該オンチップキャパシタの端）からの距離とが一致する。
【００５７】
（４）ファンクションブロック出力インバータ部のソース側配線１１１２、１１１５の幅と、オンチップキャパシタの電源端子部のソース側配線の幅とが一致する。
【００５８】
（５）ファンクションブロック出力インバータ部のＰ型トランジスタ１１１３のＹ座標位置と、オンチップキャパシタの電源端子部のＰ型トランジスタのＹ座標位置とが一致する。
【００５９】
（６）ファンクションブロック出力インバータ部のＰ型トランジスタ１１１３のブロック端からの距離と、オンチップキャパシタの電源端子部のＰ型トランジスタのブロック端からの距離とが一致する。
【００６０】
（７）ファンクションブロック出力インバータ部のＮ型トランジスタ１１１４のＹ座標位置と、オンチップキャパシタの電源端子部のＮ型トランジスタのＹ座標位置とが一致する。
【００６１】
（８）ファンクションブロック出力インバータ部のＮ型トランジスタ１１１４のブロック端からの距離と、オンチップキャパシタの電源端子部のＮ型トランジスタのブロック端からの距離とが一致する。
【００６２】
また、２つのオンチップキャパシタの電源端子部どうしがオーバーラップ可能となる条件についても、上記（１）〜（８）と同様である。すなわち、例えば、以下に列挙する（１１）〜（１８）の条件の全てが一致するか、或いはこれらの条件のうちの何れか必要最小限の条件が一致する場合に、２つのオンチップキャパシタの電源端子部どうしがオーバーラップ可能となる。
【００６３】
（１１）２つのオンチップキャパシタの電源端子部のビアホールの位置及び個数が一致する。
【００６４】
（１２）２つのオンチップキャパシタの電源端子部のソース側配線のＹ座標位置が一致する。
【００６５】
（１３）２つのオンチップキャパシタの電源端子部のソース側配線のブロック端（オンチップキャパシタの端）からの距離が一致する。
【００６６】
（１４）２つのオンチップキャパシタの電源端子部のソース側配線の幅が一致する。
【００６７】
（１５）２つのオンチップキャパシタの電源端子部のＰ型トランジスタのＹ座標位置が一致する。
【００６８】
（１６）２つのオンチップキャパシタの電源端子部のＰ型トランジスタのブロック端からの距離が一致する。
【００６９】
（１７）２つのオンチップキャパシタの電源端子部のＮ型トランジスタのＹ座標位置が一致する。
【００７０】
（１８）２つのオンチップキャパシタの電源端子部のＮ型トランジスタのブロック端からの距離が一致する。
【００７１】
なお、上記の条件の他に、ファンクションブロック及びオンチップキャパシタのソース側配線を、端部寄りの位置に（外向き）に配置する必要がある。
【００７２】
ファンクションブロックは、それぞれ出力インバータのレイアウト形状によって、各形式に分類され、オーバーラップ可能要素ライブラリデータベース１０２に記憶されている。
【００７３】
また、オンチップキャパシタは出力インバータ部の形式の数だけ、その電源端子部の形式が各出力インバータ部の形式に合わせて作成され、オーバーラップ可能要素ライブラリデータベース１０２に記憶されている。
【００７４】
更に、各形式毎に、各種サイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２に記憶されている。
【００７５】
なお、以下では、簡単のため、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたファンクションブロックの出力インバータ部６０２と、オーバーラップ可能要素ライブラリデータベース１０２にライブラリが記憶保持されたオンチップキャパシタの電源端子部８０２と、を「オーバーラップ可能部」と総称することがある。
【００７６】
オーバーラップ用ライブラリデータベース１０４には、例えば図１２に示すようなオーバーラップ用ライブラリが記憶保持されている。
【００７７】
図１２に示すように、オーバーラップ用ライブラリには、例えば、「要素名」、「優先順位」、「オーバーラップ可能部の配置」及び「オーバーラップ可能部の形式」の４つの項目のデータが含まれている。
【００７８】
このうち「要素名」の欄には、オーバーラップが可能な配置要素（オーバーラップ可能部を備えるファンクションブロック及びオンチップキャパシタ）のリストが記述されている。
【００７９】
また、「優先順位」の欄には、オーバーラップが可能な配置要素のリストに含まれる各ファンクションブロックに対し設定された優先順位が記述されている。
【００８０】
ここで、ファンクションブロックの優先順位は、より多くのオンチップキャパシタを近傍に配置することが好ましいファンクションブロックであるほど、優先順位が高くなるように、予め定めた順位である。
【００８１】
また、「オーバーラップ可能部の配置」の欄には、各配置要素毎に、オーバーラップ可能部の配置が記述されている。
【００８２】
また、「オーバーラップ可能部の形式」の欄には、各配置要素毎に、オーバーラップ可能部の形式（第１のタイプ、第２のタイプ、・・・）が記述されている。なお、対応する形式（第１のタイプどうし、第２のタイプどうし、・・・）のオーバーラップ可能部を有するファンクションブロックとオンチップキャパシタ、並びに、対応する形式（第１のタイプどうし、第２のタイプどうし、・・・）のオーバーラップ可能部を有するオンチップキャパシタどうしは、それぞれオーバーラップ可能である。
【００８３】
また、その他のライブラリデータベース１０３は、オーバーラップ可能要素ライブラリデータベース１０２に記憶されている以外の各種のファンクションブロックやフィルセルなどのライブラリ（通常のレイアウト設計で使用されるライブラリ）を記憶保持している。
【００８４】
また、配置完了データベース１０５は、ファンクションブロック、オンチップキャパシタ及びフィルセルの配置が終了した配置データを記憶保持する。この配置完了データベース１０５内に記憶された配置データは、後にＬＳＩ設計における配線処理（各ファンクションブロック間を配線する処理）に用いられる。なお、本実施形態では、直接関係しないため配線処理の詳細な説明を省略する。
【００８５】
制御装置１１０は、例えば、各種の制御動作を行うＣＰＵと、このＣＰＵの制御用プログラムを記憶保持したＲＯＭと、ＣＰＵの作業領域などとして機能するＲＡＭと、を備えて構成されている。
【００８６】
制御装置１１０は、そのＲＯＭに記憶されたプログラムに従って動作し、ネットリスト取得手段１１１、配置手段１１２、オンチップキャパシタ生成手段１１３、ファンクションブロック並び替え手段１１４、オーバーラップ手段１１５、オンチップキャパシタ置き換え手段１１６、オンチップキャパシタマージ手段１１７、フィルセル配置手段１１８及び配置完了データ格納手段１１９として機能する。
【００８７】
このうちネットリスト取得手段１１１は、記憶装置１００のネットリストデータベース１０１からネットリストを取得する。
【００８８】
配置手段１１２は、ネットリスト取得手段１１１により取得したネットリスト中の各ファンクションブロックを、該ネットリスト１０１に記述されたファンクションブロック間の結合情報に基づいて、ファンクションブロック間の遅延や配線の混雑度が最適になるようにしてチップ内に配置する。
【００８９】
オンチップキャパシタ発生手段１１２は、配置手段１１１によってファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを発生する。
【００９０】
ファンクションブロック並び替え手段１１４は、配置手段１１２によって配置されたファンクションブロックのうち、チップ内において同一の列に配置されたファンクションブロックを、オーバーラップ用ライブラリ（図１２）に記述された優先順位に従って、昇順にソートする（並び替える）。つまり、ファンクションブロック並び替え手段１１４は、各列毎に、ファンクションブロックを優先順位の順に並び替える。なお、この並び替えは、配置上の並び替えではなく、その後の処理順序を決定するための並び替えである。
【００９１】
オーバーラップ手段１１５は、各ファンクションブロックについて、ファンクションブロック並び替え手段１１４による並び替え後の順序に従って、隣のオンチップキャパシタをオーバーラップさせるオーバーラップ処理を行う。
【００９２】
オンチップキャパシタ置き換え手段１１６は、オーバーラップ手段１１５によってオーバーラップされたオンチップキャパシタと、オーバーラップ手段１１５によって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、オーバーラップ１１５手段によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える処理を行う。
【００９３】
オンチップキャパシタマージ手段１１７は、相互に隣り合って配置された２つのオンチップキャパシタが存在する場合に、該２つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換える処理を行うか、該２つのオンチップキャパシタの双方にオーバーラップするオンチップキャパシタを配置する処理を行う。
【００９４】
次に、図２を参照して動作を説明する。
【００９５】
図２はファンクションブロック配置装置１によるファンクションブロック及びオンチップキャパシタの配置処理を示すフローチャートである。
【００９６】
先ず、制御装置１１０は、ネットリスト取得手段１１１として機能し、ネットリストデータベース１０１からネットリストを取得する（ステップＳ３００）。
【００９７】
次に、制御装置１１０は、配置手段１１１として機能し、ネットリスト中の各ファンクションブロックを半導体集積回路内に配置する（ステップＳ３０１：第１の過程）。
【００９８】
次に、制御装置１１０は、オンチップキャパシタ生成手段１１３として機能し、先のステップＳ３０１にてファンクションブロックが配置された後も空き地となっている各領域内に、オンチップキャパシタを大きい順に生成する（ステップＳ３０２：第２の過程）。
【００９９】
次に、制御装置１１０は、ファンクションブロック並び替え手段１１５として機能する。すなわち、配置されたファンクションブロックの種類をチェックする処理（ステップＳ３０４）と、これらファンクションブロックをオーバーラップ用ライブラリデータベース１０４を参照してオーバーラップの優先順位の高い順にソートする（並び替える）処理（ステップＳ３０５：後述する第２の実施形態において第７の過程を構成する）と、を各列毎に行う。そして、何れかの列を一番目に処理する列として設定し、更に、この列に配置されたファンクションブロックのうち最も優先順位の高いファンクションブロックを、当初の処理対象ファンクションブロックとして設定する（後述する第２の実施形態において第８の過程の一部を構成する）。
【０１００】
その後、オーバーラップ処理（ステップＳ３０７：第３の過程）及びオンチップキャパシタ置き換え処理（ステップＳ３０９）を、先のステップＳ３０５にてソートされた順に行う。
【０１０１】
すなわち、先ず、ステップＳ３０７では、優先順位の高いファンクションブロックから順にオーバーラップ処理を実行し、続くステップＳ３０９では、優先順位の高い順にオンチップキャパシタ置き換え処理を実行する。
【０１０２】
その後、オンチップキャパシタマージ処理（ステップＳ３１０）を実行する。
【０１０３】
次に、制御装置１１０は、フィルセル配置手段１１８として機能し、先のステップＳ３１０の後も空き地が残っている場合は、該空き地にフィルセルを配置する（ステップＳ３１１）。
【０１０４】
これにより、配置完了データができあがる。
【０１０５】
次に、制御装置１１０は、配置完了データ格納手段１１９として機能し、配置完了データを配置完了データベース１０５に格納（記憶保持）する。
【０１０６】
次に、図３を参照して、オーバーラップ処理（図２のステップＳ３０７）の詳細を説明する。
【０１０７】
オーバーラップ処理では、先ず、処理の対象となっているファンクションブロック（例えば、一巡目のオーバーラップ処理では、先のステップＳ３０４にて処理の対象として設定されたファンクションブロック）の右側部分がオーバーラップ可能であるか否かを判定する（ステップＳ４０１）。すなわち、処理の対象となっているファンクションブロック（以下、処理対象ファンクションブロック）が、その機能部分６０１の右側にオーバーラップ可能部を備えているか否かを判定する。
【０１０８】
オーバーラップ可能である場合（ステップＳ４０１のＹ）、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせることが可能であるか否かを判定する（ステップＳ４０２）。すなわち、処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されており、且つ、該オンチップキャパシタの左側部分（つまり処理対象ファンクションブロック側の部分）が、処理対象ファンクションブロックの右側のオーバーラップ可能部にオーバーラップさせることが可能な形式のオーバーラップ可能部であるか否かを判定する。
【０１０９】
オーバーラップ可能な場合（ステップＳ４０２のＹ）、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせる（ステップＳ４０５）。すなわち、例えば、処理対象ファンクションブロックの右隣のオンチップキャパシタを、そのオーバーラップ可能部の幅に相当する距離だけ、左側にずらす。これにより、該オーバーラップ可能部の幅に相当する幅の空き地が、該オンチップキャパシタの右隣に新たに生じる。
【０１１０】
また、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせることができない場合（ステップＳ４０２のＮ）、ステップＳ４０３に移行する。
【０１１１】
ステップＳ４０３では、処理対象ファンクションブロックの右隣のオンチップキャパシタの右側部分（処理対象ファンクションブロックから遠い側）をチェックし、該オンチップキャパシタの右側部分が処理対象ファンクションブロックの右側部分にオーバーラップさせることが可能な形式のオーバーラップ可能部であり、且つ、未使用（未だオーバーラップされていない）であるか否かを判定する。
【０１１２】
処理対象ファンクションブロックの右隣のオンチップキャパシタの右側部分がオーバーラップ可能で未使用の場合（ステップＳ４０３のＹ）、該オンチップキャパシタを左右フリップし（ステップＳ４０４）、処理対象ファンクションブロックにオーバーラップさせる（ステップＳ４０５）。ここで、左右フリップとは、左右対称に反転させることである。すなわち、ステップＳ４０４では、処理対象ファンクションブロックの右隣のオンチップキャパシタを左右フリップさせることにより、該オンチップキャパシタを処理対象ファンクションブロックにオーバーラップさせることが可能となる。
【０１１３】
ステップＳ４０５に続いては、ステップＳ４０６に移行する。また、ステップＳ４０１にて、オーバーラップ可能でないと判定された場合（ステップＳ４０１のＮ）も、ステップＳ４０６に移行する。
【０１１４】
ステップＳ４０６からステップＳ４１０では、上記ステップＳ４０１〜Ｓ４０５にて処理対象ファンクションブロックの右側部分について行ったのと同様の処理を、該ファンクションブロックの左側部分について行う。
【０１１５】
すなわち、先ず、ステップＳ４０６では、処理対象ファンクションブロックの左側部分がオーバーラップ可能であるか否かを判定する。
【０１１６】
オーバーラップ可能である場合（ステップＳ４０６のＹ）、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせることが可能であるか否かを判定する（ステップＳ４０７）。
【０１１７】
オーバーラップ可能な場合（ステップＳ４０７のＹ）、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせる（ステップＳ４０８）。これにより、処理対象ファンクションブロックの左隣のオンチップキャパシタのオーバーラップ可能部の幅に相当する幅の空き地が、該オンチップキャパシタの右隣に新たに生じる。
【０１１８】
また、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせることができない場合（ステップＳ４０７のＮ）、ステップＳ４０８に移行する。
【０１１９】
ステップＳ４０８では、処理対象ファンクションブロックの左隣のオンチップキャパシタの左側部分（処理対象ファンクションブロックから遠い側）をチェックし、該オンチップキャパシタの左側部分が処理対象ファンクションブロックの左側部分にオーバーラップさせることが可能な形式のオーバーラップ可能部であり、且つ、未使用（未だオーバーラップされていない）であるか否かを判定する。
【０１２０】
処理対象ファンクションブロックの左隣のオンチップキャパシタの左側部分がオーバーラップ可能で未使用の場合（ステップＳ４０８のＹ）、該オンチップキャパシタを左右フリップし（ステップＳ４０９）、処理対象ファンクションブロックにオーバーラップさせる（ステップＳ４１０）。
【０１２１】
ステップＳ４１０に続いては、ステップＳ４１１に移行する。また、ステップＳ４０６にて、オーバーラップ可能でないと判定された場合（ステップＳ４０６のＮ）も、ステップＳ４１１に移行する。
【０１２２】
ステップＳ４１１では、ステップＳ４０１〜Ｓ４１０の処理が全てのファンクションブロックについて終了したか否かを判定する。
【０１２３】
未だ全てのファンクションブロックについてはステップＳ４０１〜Ｓ４１０の処理を行っていない場合（ステップＳ４１１のＮ）、処理対象ファンクションブロックを優先順位に従って変更する（ステップＳ４１２）。
【０１２４】
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップＳ４０１〜Ｓ４１０の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
【０１２５】
ステップＳ４１２に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップＳ４０１以降の処理を上記と同様に行う。
【０１２６】
その後、ステップＳ４０１〜Ｓ４１０の処理が全てのファンクションブロック（全ての列の全てのファンクションブロック）について終了すると（ステップＳ４１１のＹ）、図３のオーバーラップ処理を終了し、図２のオンチップキャパシタ置き換え処理（ステップＳ３０９）以降の処理を行う。
【０１２７】
次に、図４を参照して、オンチップキャパシタ置き換え処理（図２のステップＳ３０９）の詳細を説明する。
【０１２８】
オンチップキャパシタ置き換え処理では、先ず、先のステップＳ３０５（図２）による並び替えによって当初の処理対象ファンクションブロックに設定されたファンクションブロックを、改めて処理対象ファンクションブロックに設定する（ステップＳ５００）。
【０１２９】
次に、処理対象ファンクションブロックの処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されているか否かを判定する（ステップＳ５０１）。
【０１３０】
配置されている場合（ステップＳ５０１のＹ）、そのオンチップキャパシタの右隣に空き地が存在するか否かを判定する（ステップＳ５０２）。
【０１３１】
空き地が存在する場合（ステップＳ５０２のＹ）、すなわち、処理対象ファンクションブロックの右隣に、オンチップキャパシタと空き地が、処理対象ファンクションブロックから見てこの順に並んで存在する場合、そのオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２内に記憶されているか否かを判定する（ステップＳ５０３）。
【０１３２】
処理対象ファンクションブロックの右隣のオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２内に記憶されている場合（ステップＳ５０３のＹ）、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタと空き地とを足したサイズのオンチップキャパシタに置き換える（ステップＳ５０５：第５の過程）。
【０１３３】
他方、適当なサイズ（処理対象ファンクションブロックの右隣のオンチップキャパシタと空き地とを足したサイズ）のオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２に無い場合（ステップＳ５０３のＮ）、処理対象ファンクションブロックの右隣のオンチップキャパシタの更に右隣の空き地に適当なサイズのオンチップキャパシタを配置する（ステップＳ５０４：第６の過程）。ここで、ステップＳ５０４では、空き地に配置するオンチップキャパシタを、処理対象ファンクションブロックの右隣のオンチップキャパシタにオーバーラップさせて配置する。
【０１３４】
ステップＳ５０４及びステップＳ５０５に続いては、ステップＳ５０６に移行する。また、ステップＳ５０１にて、処理対象ファンクションブロックの右隣にはオンチップキャパシタが配置されていないと判定された場合（ステップＳ５０１のＮ）も、ステップＳ５０６に移行する。
【０１３５】
ステップＳ５０６からステップＳ５１０では、上記ステップＳ５０１〜Ｓ５０５にて処理対象ファンクションブロックの右側について行ったのと同様の処理を、該ファンクションブロックの左側について行う。
【０１３６】
すなわち、先ず、ステップＳ５０６では、処理対象ファンクションブロックの処理対象ファンクションブロックの左隣にオンチップキャパシタが配置されているか否かを判定する。
【０１３７】
配置されている場合（ステップＳ５０６のＹ）、そのオンチップキャパシタの左隣に空き地が存在するか否かを判定する（ステップＳ５０７）。
【０１３８】
空き地が存在する場合（ステップＳ５０７のＹ）、すなわち、処理対象ファンクションブロックの左隣に、オンチップキャパシタと空き地が、処理対象ファンクションブロックから見てこの順に並んで存在する場合、そのオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２内に記憶されているか否かを判定する（ステップＳ５０８）。
【０１３９】
処理対象ファンクションブロックの左隣のオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２内に記憶されている場合（ステップＳ５０８のＹ）、処理対象ファンクションブロックの左隣のオンチップキャパシタを、該オンチップキャパシタと空き地とを足したサイズのオンチップキャパシタに置き換える（ステップＳ５１０：第５の過程）。
【０１４０】
他方、適当なサイズ（処理対象ファンクションブロックの左隣のオンチップキャパシタと空き地とを足したサイズ）のオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２に無い場合（ステップＳ５０８のＮ）、処理対象ファンクションブロックの左隣のオンチップキャパシタの更に左隣の空き地に適当なサイズのオンチップキャパシタを配置する（ステップＳ５０９：第６の過程）。ここで、ステップＳ５０９では、空き地に配置するオンチップキャパシタを、処理対象ファンクションブロックの左隣のオンチップキャパシタにオーバーラップさせて配置する。
【０１４１】
ステップＳ５０９及びステップＳ５１０に続いては、ステップＳ５１１に移行する。また、ステップＳ５０６にて、処理対象ファンクションブロックの左隣にはオンチップキャパシタが配置されていないと判定された場合（ステップＳ５０６のＮ）も、ステップＳ５１１に移行する。
【０１４２】
ステップＳ５１１では、ステップＳ５０１〜Ｓ５１０の処理が全てのファンクションブロックについて終了したか否かを判定する。
【０１４３】
未だ全てのファンクションブロックについてはステップＳ５０１〜Ｓ５１０の処理を行っていない場合（ステップＳ５１１のＮ）、処理対象ファンクションブロックを優先順位に従って変更する（ステップＳ５１２）。
【０１４４】
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップＳ５０１〜Ｓ５１０の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
【０１４５】
ステップＳ５１２に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップＳ５０１以降の処理を上記と同様に行う。
【０１４６】
その後、ステップＳ５０１〜Ｓ５１０の処理が全てのファンクションブロック（全ての列の全てのファンクションブロック）について終了すると（ステップＳ５１１のＹ）、図４のオンチップキャパシタ置き換え処理を終了し、図２のオンチップキャパシタマージ処理（ステップＳ３１０）以降の処理を行う。
【０１４７】
次に、図５を参照して、オンチップキャパシタマージ処理（図２のステップＳ３１０）の詳細を説明する。
【０１４８】
オンチップキャパシタマージ処理では、先ず、チップ内の全てのオンチップキャパシタをサーチし、オンチップキャパシタの隣もオンチップキャパシタである配置箇所を抽出する（ステップＳ７０１）。
【０１４９】
オンチップキャパシタの隣もオンチップキャパシタである配置箇所が存在した場合（ステップＳ７０２のＹ）、相互に隣り合って配置された２つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース１０２内に存在するか否かを判定する（ステップＳ７０３）。
【０１５０】
隣り合う２つのオンチップキャパシタを足したサイズのオンチップキャパシタが存在する場合（ステップＳ７０３のＹ）、それら２つのオンチップキャパシタを、それら２つのオンチップキャパシタを足したサイズの（つまり大きい）１つのオンチップキャパシタに置き換える（ステップＳ７０４）。
【０１５１】
他方、隣り合う２つのオンチップキャパシタを足したサイズのオンチップキャパシタが存在しない場合（ステップＳ７０３のＮ）、その隣り合う２つのオンチップキャパシタの間に、該２つのオンチップキャパシタの双方に対してオーバーラップするオンチップキャパシタを発生し、敷き詰める（ステップＳ７０５）。
【０１５２】
なお、ステップＳ７０３〜Ｓ７０５の処理は、チップ内の全範囲について、一括して行う。すなわち、チップ内の複数箇所が、オンチップキャパシタの隣もオンチップキャパシタである配置箇所となっている場合、それら複数箇所について、ステップＳ７０３の処理と、ステップＳ７０４又はステップＳ７０５の処理と、をそれぞれ行う。
【０１５３】
ステップＳ７０４又はステップＳ７０５の後は、図５のオンチップキャパシタマージ処理を終了し、図２のステップＳ３１１以降の処理を行う。
【０１５４】
図１３乃至図１６は、図２のフローチャートにおける処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。なお、図１３乃至図１６においては、簡単のため、チップ内における１つの列についてのみ図示している。
【０１５５】
先ず、ファンクションブロックを配置するステップＳ３０１（図２）が終了した段階では、例えば、図１３に示すように、ファンクションブロック１４０１、１４０２、１４０３、１４０４、１４０５が所望のレイアウトで配置されている。
【０１５６】
なお、ファンクションブロック１４０２及び１４０５は優先順位が高く、ファンクションブロック１４０１、１４０３、１４０４は優先順位が低いものとする。
【０１５７】
次に、ステップＳ３０１により配置されたファンクションブロック間の空き地へのオンチップキャパシタの配置が終了した段階では、例えば、図１４に示すように、ファンクションブロック１４０１〜１４０５間或いは、ファンクションブロック１４０１〜１４０５の脇の空き地にオンチップキャパシタ１４１１、１４１２、１４１３、１４１４、１４１５が配置されている。
【０１５８】
その後、ステップＳ３０７のオーバーラップ処理により、オーバーラップ可能なオンチップキャパシタを、各々隣のファンクションブロックに対してオーバーラップさせた段階では、例えば、図１５に示すように、各オンチップキャパシタ１４１１〜１４１５が隣のファンクションブロックに対してオーバーラップし、その結果として、各オンチップキャパシタ１４１１〜１４１５に隣接する空き地１４２１、１４２２、１４２３、１４２４、１４２５が新たに生じている。
【０１５９】
なお、図１５に示すように、優先順位が低いファンクションブロック１４０１と優先順位が高いファンクションブロック１４０２との間に位置しているオンチップキャパシタ１４１２は、優先順位が高いファンクションブロック１４０２に対して優先的にオーバーラップされている。同様に、オンチップキャパシタ１４１４は、ファンクションブロック１４１４に対してではなく、オンチップキャパシタ１４１５に対して優先的にオーバーラップしている。
【０１６０】
その後、ステップＳ３１０のオンチップキャパシタマージ処理が終了した段階では、例えば、図１６に示すように、オンチップキャパシタ１４１２（図１５）がオンチップキャパシタ１４３１に置き換わり、新たなオンチップキャパシタ１４３２がファンクションブロック１４０３とオンチップキャパシタ１４１３との間に、該ファンクションブロック１４０３及びオンチップキャパシタ１４１３の双方に対してオーバーラップして配置され、オンチップキャパシタ１４１４（図１５）がオンチップキャパシタ１４３３に置き換わり、オンチップキャパシタ１４１５の隣に新たなオンチップキャパシタ１４３４が該オンチップキャパシタ１４１５にオーバーラップして配置された状態となっている。
【０１６１】
以上のような第１の実施形態によれば、ファンクションブロックとオンチップキャパシタとを相互にオーバーラップさせることが可能な場合に、これらを相互にオーバーラップさせるので、オーバーラップした領域に相当する面積（オーバーラップ可能部に相当する面積）の空き地を発生させることができる。更に、この空き地にもオンチップキャパシタを配置するので、配置されるオンチップキャパシタの総量を従来よりも増加させることができ、従来よりも電気的ノイズを低減することが可能となる。
【０１６２】
すなわち、ファンクションブロックの出力インバータのレイアウト形状と、オンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、オンチップキャパシタをファンクションブロックにオーバーラップさせて配置したり、オンチップキャパシタを他のオンチップキャパシタにオーバーラップさせて配置したりすることが可能となり、オーバーラップにより生じた空き地にオンチップキャパシタを更に配置することにより、より多くのオンチップキャパシタを配置することが可能となる。
【０１６３】
具体的には、例えば、ファンクションブロックの隣に配置されたオンチップキャパシタと、オーバーラップ処理によってそのオンチップキャパシタの隣に新たに生じた空き地と、を足した大きいサイズのオンチップキャパシタがオーバーラップ可能要素ライブラリデータベース１０２に登録されている場合、ファンクションブロックの隣のオンチップキャパシタを、その登録されている大きいサイズのオンチップキャパシタに置き換えることにより、オーバーラップにより生じた空き地にもオンチップキャパシタを配置することができる。
【０１６４】
或いは、ファンクションブロックの隣に配置されたオンチップキャパシタと、オーバーラップ処理によって生じた空き地と、を足した大きいサイズのオンチップキャパシタがオーバーラップ可能要素ライブラリデータベース１０２に登録されていない場合に、空き地のサイズのオンチップキャパシタを新たに配置することにより、オーバーラップにより生じた空き地にもオンチップキャパシタを配置することができる。しかも、このように新たに配置するオンチップキャパシタを、既存のオンチップキャパシタにオーバーラップさせて配置するので、できるだけ大きいサイズの容量部を備えるオンチップキャパシタを新たに配置することができる。
【０１６５】
更に、オンチップキャパシタマージ処理によって、隣り合う２つのオンチップキャパシタを大きなサイズの１つオンチップキャパシタに置き換えることができる場合には、総体としては、それまで２つのオンチップキャパシタの互いに対向する端部にそれぞれ存在していたオーバーラップ可能部（電源端子部）に相当する幅だけ、大きな容量部を備えるオンチップキャパシタに変更することができる。
【０１６６】
或いは、オンチップキャパシタマージ処理において、隣り合う２つのオンチップキャパシタを大きなサイズの１つオンチップキャパシタに置き換えることができない場合にも、これら２つのオンチップキャパシタの間に新たなオンチップキャパシタを既存の双方のオンチップキャパシタにそれぞれオーバーラップさせて配置するので、極力多くのオンチップキャパシタをチップ内に配設することができる。
【０１６７】
このように、できるだけ多くの容量のオンチップキャパシタをチップ内に配設することができるので、ＬＳＩなどの半導体集積回路において問題となる電気的ノイズの発生を好適に抑制することができる。
【０１６８】
なお、オンチップキャパシタはＭＯＳトランジスタなどの何らかのデバイスで作成するため、従来は最小幅の空き地（１サイト分の空き地）には作成できずにその空き地にフィルセルを発生していたが、本実施形態では、オンチップキャパシタを左右のオンチップキャパシタとそれぞれオーバーラップさせて配置することにより、最小幅の空き地しかない場所でもオンチップキャパシタを配置することができる。
【０１６９】
更に、ファンクションブロックに可能な限りオーバーラップさせてオンチップキャパシタを配置することにより、オンチップキャパシタとファンクションブロックとの距離を縮めることができ、遅延悪化や誤動作といった諸問題を回避可能となる。
【０１７０】
〔第２の実施形態〕
次に、第２の実施形態について説明する。
【０１７１】
第２の実施形態では、オンチップキャパシタ置き換え処理（図２のステップＳ３０９）が上記の第１の実施形態と異なる点の他は、上記の第１の実施形態と同様である。
【０１７２】
図１７は第２の実施形態の場合のオンチップキャパシタ置き換え処理（図２のステップＳ３０９）を示すフローチャートである。
【０１７３】
以下、図１７を参照して、第２の実施形態の場合のオンチップキャパシタ置き換え処理の詳細を説明する。
【０１７４】
オンチップキャパシタ置き換え処理では、先ず、先のステップＳ３０５（図２）による並び替えによって当初の処理対象ファンクションブロックに設定されたファンクションブロックを、改めて処理対象ファンクションブロックに設定する（ステップＳ６００）。
【０１７５】
次に、処理対象ファンクションブロックの処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されているか否かを判定する（ステップＳ６０１：第９の過程）。
【０１７６】
配置されている場合（ステップＳ６０１のＹ）、そのオンチップキャパシタの右隣に空き地が存在するか否かを判定する（ステップＳ６０２：第９の過程）。
【０１７７】
空き地が存在する場合（ステップＳ６０２のＹ）、その空き地の更に右隣にファンクションブロックが配置されているか否かを判定する（ステップＳ６０３：第９の過程）。
【０１７８】
配置されている場合（ステップＳ６０３のＹ）、空き地の右のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低いか否かを判定する（ステップＳ６０４：第１０の過程）。
【０１７９】
低い場合（ステップＳ６０４のＹ）、すなわち、処理対象ファンクションブロックの方が優先順位が高い場合、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地を合わせたサイズのオンチップキャパシタに置き換える（ステップＳ６０５：第１１の過程）。
【０１８０】
他方、空き地の右のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低くはない場合（ステップ６０４のＮ）、これら２つのファンクションブロックの優先順位が同一であるか否かを判定する（ステップＳ６０６：第１０の過程）。
【０１８１】
同一である場合（ステップＳ６０６のＹ）、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を合わせたサイズのオンチップキャパシタに置き換える（ステップＳ６０７：第１２の過程）。
【０１８２】
また、先のステップＳ６０３にて、空き地の右がファンクションブロックではないと判定された場合も（ステップＳ６０３のＮ）、ステップＳ６０５の処理を上記と同様に行う。
【０１８３】
ステップＳ６０５、ステップＳ６０７に続いては、並びに、ステップＳ６０１、ステップＳ６０２、ステップＳ６０６にてそれぞれＮと判定された場合には、ステップＳ６０８に移行する（第１３の過程）。
【０１８４】
ステップＳ６０８からステップＳ６１４では、上記ステップＳ６０１〜Ｓ６０７にて処理対象ファンクションブロックの右側について行ったのと同様の処理を、該ファンクションブロックの左側について行う。
【０１８５】
すなわち、先ず、ステップＳ６０８では、処理対象ファンクションブロックの処理対象ファンクションブロックの左隣にオンチップキャパシタが配置されているか否かを判定する（第９の過程）。
【０１８６】
配置されている場合（ステップＳ６０８のＹ）、そのオンチップキャパシタの左隣に空き地が存在するか否かを判定する（ステップＳ６０９：第９の過程）。
【０１８７】
空き地が存在する場合（ステップＳ６０９のＹ）、その空き地の更に左隣にファンクションブロックが配置されているか否かを判定する（ステップＳ６１０：第９の過程）。
【０１８８】
配置されている場合（ステップＳ６１０のＹ）、空き地の左のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低いか否かを判定する（ステップＳ６１１：第１０の過程）。
【０１８９】
低い場合（ステップＳ６１１のＹ）、すなわち、処理対象ファンクションブロックの方が優先順位が高い場合、処理対象ファンクションブロックの左隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地を合わせたサイズのオンチップキャパシタに置き換える（ステップＳ６１２：第１１の過程）。
【０１９０】
他方、空き地の左のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低くはない場合（ステップ６１１のＮ）、これら２つのファンクションブロックの優先順位が同一であるか否かを判定する（ステップＳ６１３：第１０の過程）。
【０１９１】
同一である場合（ステップＳ６１３のＹ）、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を合わせたサイズのオンチップキャパシタに置き換える（ステップＳ６１４：第１２の過程）。
【０１９２】
また、先のステップＳ６１０にて、空き地の右がファンクションブロックではないと判定された場合も（ステップＳ６１０のＮ）、ステップＳ６１２の処理を上記と同様に行う。
【０１９３】
ステップＳ６１２、ステップＳ６１４に続いては、並びに、ステップＳ６０８、ステップＳ６０９、ステップＳ６１３にてそれぞれＮと判定された場合には、ステップＳ６１５に移行する（第１３の過程）。
【０１９４】
ステップＳ６１５では、ステップＳ６０１〜Ｓ６１４の処理が全てのファンクションブロックについて終了したか否かを判定する。
【０１９５】
未だ全てのファンクションブロックについてはステップＳ６０１〜Ｓ６１４の処理を行っていない場合（ステップＳ６１５のＮ）、処理対象ファンクションブロックを優先順位に従って変更する（ステップＳ６１６：第８の過程）。
【０１９６】
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップＳ６０１〜Ｓ６１４の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
【０１９７】
ステップＳ６１６に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップＳ６０１以降の処理を上記と同様に行う。
【０１９８】
その後、ステップＳ６０１〜Ｓ６１４の処理が全てのファンクションブロック（全ての列の全てのファンクションブロック）について終了すると（ステップＳ６１５のＹ）、図１７のオンチップキャパシタ置き換え処理を終了し、図２のオンチップキャパシタマージ処理（ステップＳ３１０）以降の処理を行う。
【０１９９】
以上のような第２の実施形態によれば、置き換え処理の際に、処理対象ファンクションブロックの隣にオンチップキャパシタが配置されており、且つ、そのオンチップキャパシタの隣が空き地である場合に、その空き地の隣には別のファンクションブロックが配置されているか否かを判定し、別のファンクションブロックが配置されている場合、該ファンクションブロックと処理対象ファンクションブロックとの優先順位を比較する。
【０２００】
比較の結果、処理対象ファンクションブロックの方が優先順位が高ければ、該処理対象ファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と合わせたサイズのオンチップキャパシタに置き換える。
【０２０１】
また、比較の結果、優先順位が同一であれば、該処理対象ファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分と合わせたサイズのオンチップキャパシタに置き換える。
【０２０２】
なお、半分残された空き地は、後のオンチップキャパシタマージ処理（図２のステップＳ３１０、図５）により、別のファンクションブロックに隣接するオンチップキャパシタの配置領域として使用されることとなる。つまり、処理対象ファンクションブロックの優先順位と、該ファンクションブロックに最も近接した別のファンクションブロックの優先順位が同一の場合には、これら２つのファンクションブロックに対して平等に、隣接するオンチップキャパシタを配置するために、空き地が使用される。
【０２０３】
また、処理対象ファンクションブロックの方が優先順位が低ければ、該処理対象ファンクションブロックの隣のオンチップキャパシタの更に隣の空き地をそのまま残しておく。
【０２０４】
なお、残された空き地は、後のオンチップキャパシタマージ処理（図２のステップＳ３１０、図５）により、別のファンクションブロックに隣接するオンチップキャパシタの配置領域として使用されることとなる。つまり、処理対象ファンクションブロックの優先順位が、該ファンクションブロックに最も近接した別のファンクションブロックよりも低い場合には、処理対象ファンクションブロックの隣のオンチップキャパシタの更に隣の空き地をそのまま残しておくので、その空き地を、該ファンクションブロックに最も近接した別のファンクションブロックに隣接して配置されるオンチップキャパシタのため配置領域として確保することができる。
【０２０５】
なお、上記の各実施形態においては、オーバーラップ処理及びオンチップキャパシタ置き換え処理にて、何れも、処理対象ファンクションブロックの右側についての処理（図３のステップＳ４０１〜ステップＳ４０５、図４のステップＳ５０１〜ステップＳ５０５、図１７のステップＳ６０１からＳ６０７）を先に、左側に付いての処理（図３のステップＳ４０６〜ステップＳ４１０、図４のステップＳ５０６〜ステップＳ５１０、図１７のステップＳ６０８からＳ６１４を後に行う例を説明したが、これとは反対に、処理対象ファンクションブロックの左側についての処理を先に、右側に付いての処理を後に行うようにしても良い。
【０２０６】
また、上記の各実施形態では、オンチップキャパシタマージ処理（図２のステップＳ３１０、図５）を行う例を説明したが、オンチップキャパシタマージ処理は行わなくてもほぼ同様の効果が得られる。
【図面の簡単な説明】
【０２０７】
【図１】本発明の実施形態に係るファンクションブロック配置装置の構成を示すブロック図である。
【図２】図１のファンクションブロック配置装置の動作を示すフローチャートである。
【図３】図２におけるオーバーラップ処理を示すフローチャートである。
【図４】図２におけるオンチップキャパシタ置き換え処理を示すフローチャートである。
【図５】図２におけるオンチップキャパシタマージ処理を示すフローチャートである。
【図６】オーバーラップが可能なファンクションブロックの例を示す平面図である。
【図７】オーバーラップが可能なファンクションブロックの例を示す平面図である。
【図８】オーバーラップが可能なオンチップキャパシタの例を示す平面図である。
【図９】オーバーラップが可能なオンチップキャパシタの例を示す平面図である。
【図１０】ファンクションブロックとオンチップキャパシタとをオーバーラップさせた状態を示す平面図である。
【図１１】オーバーラップ可能な条件を説明するための、インバータ出力部を示す平面図である。
【図１２】オーバーラップ用ライブラリの例を示す図である。
【図１３】図２の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。
【図１４】図２の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。
【図１５】図２の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。
【図１６】図２の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。
【図１７】第２の実施形態の場合のオンチップキャパシタ置き換え処理の流れを示すフローチャートである。
【図１８】従来のファンクションブロック配置方法を示すフローチャートである。
【符号の説明】
【０２０８】
１      ファンクションブロック配置装置（半導体集積回路のレイアウト設計装置）
１１２  配置手段
１１５  オーバーラップ手段
１１６  オンチップキャパシタ置き換え手段（第２のオンチップキャパシタ配置手段、第３のオンチップキャパシタ配置手段）
１１７  オンチップキャパシタマージ手段
１０２  オーバーラップ可能要素ライブラリデータベース（データベース）
【図１】
2006269945.tif 000003
【図２】
2006269945.tif 000004
【図３】
2006269945.tif 000005
【図４】
2006269945.tif 000006
【図５】
2006269945.tif 000007
【図６】
2006269945.tif 000008
【図７】
2006269945.tif 000009
【図８】
2006269945.tif 000010
【図９】
2006269945.tif 000011
【図１０】
2006269945.tif 000012
【図１１】
2006269945.tif 000013
【図１２】
2006269945.tif 000014
【図１３】
2006269945.tif 000015
【図１４】
2006269945.tif 000016
【図１５】
2006269945.tif 000017
【図１６】
2006269945.tif 000018
【図１７】
2006269945.tif 000019
【図１８】
2006269945.tif 000020