(57)【要約】【課題】従来の方法では、アナログ・デジタル混載ＬＳＩのレイアウトの処理時間及び面積効率が悪化する問題があった。【解決手段】本発明の自動配置配線プログラムは、回路設計情報からモジュールを抽出する第１処理（Ｓ１０）と、モジュールに含まれる回路の属性を示すモジュール属性を設定する第２処理（Ｓ１１）と、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第３処理（Ｓ１２）と、上位モジュールの形状に適合するモジュール形状候補に対して回路素子を配置してレイアウトパターンを生成する第４処理（Ｓ１３）と、を有し、第３処理（Ｓ１３）では、第１回路属性のモジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする複数のモジュール形状候補を生成し、第２回路属性のモジュールに対しては、縦横の寸法が連続的に変化する複数のモジュール形状候補を生成する。【選択図】図３
2013084211.tif 000002
【特許請求の範囲】
【請求項１】
演算部で実行され、記憶部から読み出した回路設計情報を用いて前記回路設計情報に対応したレイアウトパターンを生成する自動配置配線プログラムであって、
前記自動配置配線プログラムは、
前記回路設計情報から回路の配置単位を示すモジュールを抽出する第１処理と、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第２処理と、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第３処理と、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置して前記レイアウトパターンを生成する第４処理と、を有し、
前記第３処理では、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第１回路属性の前記モジュールに対しては、行の高さ又は列の幅を前記縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第２回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線プログラム。
【請求項２】
前記第４処理において前記回路素子の配置が完了したモジュールに、前記モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する第５処理と、
前記違反モジュールの面積が前記違反モジュールに対応するモジュール形状候補の面積を超えている場合、前記第３処理で用いた前記面積値をより大きな値で更新する第６処理と、を有し、
前記第６処理は、
前記第１回路属性を示す前記モジュールに対しては、行の高さ単位で前記面積値を更新し、
前記第２回路属性を示す前記モジュールに対しては、任意の面積変化幅及び任意の寸法変化幅で前記面積値を更新する請求項１に記載の自動配置配線プログラム。
【請求項３】
前記第５処理において、全ての前記モジュールが対応するモジュール形状候補の前記面積値内で前記回路素子の配置配線処理を完了するまで前記第１処理から前記第４処理を制限回数に達するまで繰り返し、前記制限回数の処理においても全ての前記モジュールが前記対応する基準値を満たさない場合、エラー内容を示すエラーレポートを生成する第７処理を有する請求項２に記載の自動配置配線プログラム。
【請求項４】
前記第４処理は、前記モジュールの前記回路素子の配置に制限を与える配置制約条件を前記モジュール属性に応じて設定する第８処理を含む請求項１乃至３のいずれか１項に記載の自動配置配線プログラム。
【請求項５】
前記第４処理は、前記モジュール属性に応じて前記回路素子の配置配線処理を行うツールを選択し、選択したツールを用いて前記モジュール毎に前記回路素子の前記配置配線処理を行う第９処理を含む請求項４に記載の自動配置配線プログラム。
【請求項６】
前記モジュール属性には、前記上位モジュールに対して設定される第３回路属性が含まれ、
前記第９の処理は、前記モジュールが前記第３回路属性を示す場合、前記モジュール間の配線処理を行うツールを選択する請求項５に記載の自動配置配線プログラム。
【請求項７】
前記第１回路属性は、前記モジュール内に配置される回路がデジタル回路を主に含むことを示す属性であり、
前記第２回路属性は、前記モジュール内に配置される回路がアナログ回路を主に含むことを示す属性である請求項１乃至６のいずれか１項に記載の自動配置配線プログラム。
【請求項８】
回路設計情報から回路の配置単位を示すモジュールを抽出する第１処理部と、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第２処理部と、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第３処理部と、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置してレイアウトパターンを生成する第４処理部と、を有し、
前記第３処理部では、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第１回路属性の前記モジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第２回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線装置。
【請求項９】
演算部で実行されるプログラムを用いて回路設計情報に対応したレイアウトパターンを生成する自動配置配線方法であって、
前記回路設計情報から回路の配置単位を示すモジュールを抽出する第１ステップと、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第２ステップと、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第３ステップと、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置して前記レイアウトパターンを生成する第４ステップと、を有し、
前記第３ステップでは、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第１回路属性の前記モジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第２回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置の半導体装置の自動配置配線プログラム、自動配置配線装置及び自動配置配線方法に関し、特に、アナログ回路とデジタル回路とが混載された半導体装置の半導体装置の自動配置配線プログラム、自動配置配線装置及び自動配置配線方法に関する。
【背景技術】
【０００２】
近年、アナログ回路とデジタル回路とを混載した半導体装置の採用が増えている。このような半導体装置を設計では、デジタル回路については、自動配置配線ツールの普及により設計時間の短縮及びレイアウトの面積効率の向上が進んでいる。しかし、アナログ回路については、自動配置配線ツールの開発が進んでおらず設計時間が多くかかる問題がある。また、アナログ回路については、自動配置配線ツールの開発の遅れによりレイアウトの面積効率が悪化する問題がある。アナログ回路を含む半導体装置の設計方法の例は例えば特許文献１〜３に開示されている。
【０００３】
また、特許文献１では、回路素子毎に素子特性情報を参照して、素子毎に素子の面積を予測する。これにより、特許文献１では、アナログ回路の面積又はアナログ・デジタル混載集積回路において回路ブロックの面積を高精度で、かつ自動的に予測することが可能な半導体装置のレイアウト設計方法が開示されている。
【０００４】
また、特許文献２では、モジュールの複数の図形データ及び位置関係制約等の制約に基づき、制約を満たすように図形データのレイアウトを算出し、算出したレイアウト中から評価基準をよりよく満たすレイアウトを選択する。これにより、特許文献２では、レイアウトのデッドスペースを削減する。
【０００５】
特許文献３では、階層構造を有する回路図データにおいて、上位階層のモジュールのレイアウト形状から下位階層のモジュールのレイアウト形状を決定する。また、特許文献３では、下位階層のモジュールのレイアウト形状を決定する際に、上位階層のレイアウト形状中に収まる複数の形状候補を生成し、当該複数の形状候補から下位階層のモジュールのレイアウト形状を選択する。これにより、特許文献３にアナログ回路を含む半導体装置の設計時間の短縮とレイアウトの面積効率の向上とを実現する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３３８９８０号公報
【特許文献２】特開２００５−２６７２９１号公報
【特許文献３】特開２００８−２９９６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１〜３に記載の技術では、モジュール内にアナログ回路を含むモジュールと、デジタル回路を含むモジュールとが混載され、回路が階層構造を有するレイアウトについては設計時間と面積効率とを改善することができない問題がある。
【課題を解決するための手段】
【０００８】
本発明にかかる自動配置配線プログラム、自動配置配線装置及び自動配置配線方法の一態様は、モジュール内の回路の属性を示すモジュール属性に応じて、モジュールの形状の計算方法及び選択方法を適切に設定する。
【発明の効果】
【０００９】
本発明にかかる自動配置配線プログラム、自動配置配線装置及び自動配置配線方法によれば、アナログ回路を含むモジュールと、デジタル回路を含むモジュールが階層構造を持った回路図データについてのレイアウトデータの設計時間及び面積効率を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１かかる自動配置配線プログラムを実行する装置のブロック図である。
【図２】実施の形態１かかるセル種別定義ファイルの一例を示す図である。
【図３】実施の形態１かかる自動配置配線プログラムの実行手順を示すフローチャートである。
【図４】実施の形態１かかる自動配置配線プログラムのモジュール属性解析処理の手順を示すフローチャートである。
【図５】実施の形態１かかる自動配置配線プログラムのモジュール属性解析処理により解析されたモジュール属性について説明するための図である。
【図６】実施の形態１かかる自動配置配線プログラムにおいて、デジタル回路の属性を示すデジタルモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートである。
【図７】実施の形態１かかるモジュール形状解析処理おいて生成される複数のモジュール形状候補を示す概略図である。
【図８】実施の形態１かかるモジュール形状解析処理おいて選択されるモジュール形状候補の選択基準を示す概略図である。
【図９】実施の形態１かかるモジュール形状解析処理おいて選択された複数のモジュール形状候補を示す概略図である。
【図１０】実施の形態１かかる自動配置配線プログラムにおいて、アナログ回路の属性を示すアナログモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートである。
【図１１】実施の形態１かかるモジュール形状解析処理おいて選択されるモジュール形状候補の選択基準を示す概略図である。
【図１２】実施の形態１かかる自動配置配線プログラムにより生成される半導体装置のレイアウトの概略図である。
【図１３】アナログモジュールに対するモジュール形状候補の生成方法のみを適用した自動配置配線プログラムにより生成される半導体装置のレイアウトの概略図である。
【図１４】実施の形態１かかる自動配置配線装置のブロック図である。
【図１５】実施の形態２かかる自動配置配線プログラムのレイアウト処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１１】
実施の形態１
以下、本発明の実施の形態について図面を参照して説明する。実施の形態１にかかる自動配置配線プログラムは、演算部と記憶部とを有する装置（例えば、コンピュータ）により実行される。この装置は、実施の形態１にかかる自動配置配線プログラムを実行することで自動配置配線装置として機能する。そこで、実施の形態１にかかる自動配置配線装置について説明する。図１に実施の形態１にかかる自動配置配線装置のブロック図を示す。
【００１２】
図１に示すように、実施の形態１にかかる自動配置配線装置は、演算部１、表示部２、操作入力部３、記憶部１０〜１５を有する。なお、図１では、データの入出力関係を明示するために複数の記憶部を示したが、これらの記憶部は、１つの記憶部として構成されていても良い。
【００１３】
記憶部１０には、実施の形態１にかかる自動配置配線プログラムが格納されている。記憶部１１には、面積制御ファイルが格納されている。この面積制御ファイルは、モジュールの面積の上限値を定義する面積制限情報及びモジュールの大きさの最大値及び最小値を定義する寸法制限情報を含む。この面積制限情報と寸法制限情報は、初期状態では、例えば、各モジュールの最上位階層の寸法などが定められている。記憶部１２には、回路図データが格納される。回路図データには、モジュール毎に階層化された回路図と、その階層化された各回路図内のデバイス（又はモジュール）に対する配置制約なども含まれる。
【００１４】
記憶部１３には、セル種別定義ファイルが格納される。このセル種別定義ファイルは、回路素子がアナログ回路としての属性を有するものであるのか、デジタル回路としての属性を有するものであるかを定義する記述を含む。このセル種別定義ファイルの一例を図２に示す。図２に示すように、セル種別定義ファイルには、回路素子の種類毎に、対応する属性情報が記載される。例えば、ＰＭＯＳトランジスタ及びＮＭＯＳトランジスタに対してはデバイス種別としてｆｅｔが定義され、ＰＮＰトランジスタ及びＮＰＮトランジスタに対してはデバイス種別としてｂｊｔが定義され、ポリ抵抗に対してはデバイス種別としてｒｅｓｉｓｔｏｒが定義され、ＭＯＳ容量に対してはデバイス種別としてｃａｐａｃｉｔｏｒが定義され、ＮＡＮＤ回路に対してはデバイス種別としてｓｔａｎｄａｒｄ＿ｃｅｌｌが定義される。
【００１５】
記憶部１４は、記憶部１２に格納された回路図データに基づき生成されたレイアウトパターンが格納される。記憶部１５には、基準を満たさないレイアウトデータが生成された場合に、処理のエラー内容を示すエラーレポートが格納される。
【００１６】
演算部１は、記憶部１０から自動配置配線プログラムを読み出して、実行する。そして、自動配置配線プログラムを実行することで演算部１は、自動配置配線装置としての機能を実現する。表示部２は、自動配置配線プログラムを利用するためのインタフェースを表示する。操作入力部３は、自動配置配線プログラムの利用者が自動配置配線プログラムに対する操作を与えるためのインタフェースである。
【００１７】
続いて、実施の形態１にかかる自動配置配線プログラムの実行手順について説明する。そこで、図３に実施の形態１にかかる自動配置配線プログラムの実行手順を示すフローチャートを示す。
【００１８】
図３に示すように、実施の形態１にかかる自動配置配線プログラムは、まず、第１処理としてモジュールＰｃｅｌｌ生成処理を行う（ステップＳ１０）。モジュールＰｃｅｌｌ生成処理では、回路設計情報（例えば、回路図データ）から回路の配置単位を示すモジュールＰｃｅｌｌを抽出する。このモジュールＰｃｅｌｌは、レイアウト寸法が可変（言い換えれば複数のレイアウト寸法の選択肢を備えた）セル（又はモジュール）である。例えば、回路図においてＭＯＳトランジスタ（セル）のゲート幅やゲート長が定義された場合、当該ＭＯＳトランジスタの実際のレイアウト寸法は、複数の選択肢を持つことが可能である。これは、例えばゲートを所謂フィン構造にすることなどで、レイアウトのアスペクト比はある程度自由に変更することができるからである。これにより、ＭＯＳトランジスタ等の組合せによって構成されるモジュールのレイアウト寸法もある程度自由に変更できる。
【００１９】
続いて、実施の形態１にかかる自動配置配線プログラムは、第２処理としてモジュール属性解析処理を行う（ステップＳ１１）。モジュール属性解析処理では、モジュールＰｃｅｌｌ毎に、モジュールＰｃｅｌｌに含まれる回路の属性を示すモジュール属性を設定する。より具体的には、モジュール属性解析処理では、セル種別定義ファイルに基づきモジュールＰｃｅｌｌに含まれる回路素子のデバイス種別を判別し、デバイス種別毎の数に応じてモジュール内の回路の属性を示すモジュール属性を設定する。モジュール属性解析処理のより詳細な動作については後述する。
【００２０】
続いて、実施の形態１にかかる自動配置配線プログラムは、第３処理としてモジュール形状解析処理を行う（ステップＳ１２）。モジュール形状解析処理では、モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する。ここで、モジュール形状解析処理においては、モジュールＰｃｅｌｌに対して設定された面積値を利用する。例えば、初期状態においては、最上位階層のモジュールＰｃｅｌｌの面積値として面積制御ファイルにより与えられた面積値を利用する。また、初期状態においては、下位階層のモジュールＰｃｅｌｌの面積値は、上位階層のモジュールＰｃｅｌｌ中の位置及び下位階層のモジュールＰｃｅｌｌ中の回路素子の数により決定される面積値を利用する。
【００２１】
また、モジュール形状解析処理では、モジュール内に配置される回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第１回路属性のモジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする複数のモジュール形状候補を生成する。また、モジュール形状解析処理では、モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第２回路属性のモジュールに対しては、縦横の寸法が連続的に変化する複数のモジュール形状候補を生成する。
【００２２】
続いて、実施の形態１にかかる自動配置配線プログラムでは、第４処理としてレイアウト処理を行う（ステップＳ１３）。レイアウト処理では、複数のモジュール形状候補から処理対象のモジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対してモジュールの回路素子を配置してレイアウトパターンを生成する。レイアウト処理は、上記動作を実現するために、配置条件設定処理（ステップＳ１３ａ）と、自動配置配線処理（ステップＳ１３ｂ）とを有する。
【００２３】
配置条件設定処理は、第４処理として行われる処理であって、自動配置配線処理の前処理として行われる。配置条件設定処理では、モジュールの回路素子の配置に制限を与える配置制約条件をモジュール属性に応じて設定する。例えば、配置条件設定処理では、モジュール属性がデジタル回路属性の回路素子を主に含む第１回路属性（例えば、デジタルモジュール）である場合、デジタルモジュール用の配置制約条件をモジュールに対して与える。また、配置条件設定処理では、モジュール属性がアナログ回路属性の回路素子を主に含む第２回路属性（例えば、アナログモジュール）である場合、アナログモジュール用の配置制約条件をモジュールに対して与える。
【００２４】
自動配置配線処理は、第４処理における主な処理を行う。自動配置配線処理では、配置条件設定処理で設定された制約条件を遵守しながら、回路素子をモジュール形状候補内に配置する。ここで、自動配置配線処理では、回路素子がモジュール形状候補内に配置できない場合、モジュール形状候補の領域を超えた領域に回路素子を配置する。
【００２５】
続いて、実施の形態１にかかる自動配置配線プログラムは、第５処理としてモジュール面積解析処理を行う（ステップＳ１４及びステップＳ１５）。モジュール面積解析処理では、レイアウト処理（ステップＳ１３）において回路素子の配置が完了したモジュールに、モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する。より具体的には、ステップＳ１４の処理として、レイアウト処理（ステップＳ１３）において回路素子の配置が完了したモジュールの面積を計算する。次いで、ステップＳ１５の処理として、ステップＳ１４で算出したレイアウト済みのモジュールの面積を用いて、レイアウト済みモジュールが、モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する。ステップＳ１５において、違反モジュールがないと判断された場合は、レイアウト処理（ステップＳ１３）で生成されたレイアウト情報をレイアウトパターンデータとして出力する。
【００２６】
一方、実施の形態１にかかる自動配置配線プログラムは、ステップＳ１５の判断処理において、違反モジュールがあると判断された場合、ステップＳ１６の第７処理を実行する。第７処理は、ループ条件判定処理である。ループ条件判定処理では、モジュール面積解析処理における判断結果と、ループ処理回数とに基づきループ処理を継続するか否かを判断する。より具体的には、ループ条件判定処理では、全てのモジュールが対応するモジュール形状候補の形状内で回路素子の配置配線処理を完了するまでモジュールＰｃｅｌｌ生成処理（ステップＳ１０、第１処理）からレイアウト処理（ステップＳ１３、第４処理）を制限回数に達するまで繰り返す。そして、ループ条件判定処理では、制限回数の処理においても全てのモジュールが対応するモジュール形状候補の形状内で回路素子の配置を完了できなかった場合、エラー内容を示すエラーレポートを生成し、記憶部１５に格納する。なお、実施の形態１にかかる自動配置配線プログラムは、ループ条件判定処理においてループ回数が制限回数よりも小さいと判断された場合、面積制御ファイル更新処理（ステップＳ１７）を行う。
【００２７】
面積制御ファイル更新処理は、第６処理として行われるものである。面積制御ファイル更新処理では、違反モジュールの面積が違反モジュールに対応するモジュール形状候補の面積を超えている場合、モジュール形状解析処理Ｓ１２で用いた面積値をより大きな値で更新する。ここで、面積制御ファイル更新処理では、デジタルモジュールに対しては、行の高さ単位で面積値を更新し、アナログモジュールに対しては、任意の面積変化幅及び任意の寸法変化幅で面積値を更新する。また、面積制御ファイル更新処理では、更新した面積値により面積制御ファイル中の面積値の設定を上書きする。このとき、面積制御ファイル中に、更新対象のモジュールに関する設定値がない場合、更新対象のモジュールの面積値を新たに追加する。
【００２８】
ここで、ステップＳ１１のモジュール属性解析処理の詳細について説明する。図４に実施の形態１かかる自動配置配線プログラムのモジュール属性解析処理の手順を示すフローチャートを示す。
【００２９】
図４に示すように、モジュール属性解析処理では、回路図データを読み込み、モジュール毎にデザイン内の回路素子名（セル名）を抽出する（ステップＳ２０）。
【００３０】
次いで、抽出したセル名とセル種別定義ファイルとに基づき、デザイン内のセルをデバイス種別に分類し、デバイス種別毎にデバイス数をカウントする（ステップＳ２１）。
【００３１】
続いて、モジュール毎に各デバイス種別のデバイス数を参照して、モジュール毎にモジュール属性を決定する。より具体的には、モジュール内のセルのデバイス種別がｓｔａｎｄａｒｄ＿ｃｅｌｌのみである場合、当該モジュールのモジュール属性をデジタルモジュールに設定する（ステップＳ２２、Ｓ２３）。また、モジュール内のセルのデバイス種別がｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ、ｃａｐａｃｉｔｏｒのみである場合、当該モジュールのモジュール属性をアナログモジュールに設定する（ステップＳ２４、Ｓ２５）。また、ｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ、ｃａｐａｃｉｔｏｒ及びｓｔａｎｄａｒｄ＿ｃｅｌｌが混在している否かを判断する（ステップＳ２６）。このステップＳ２６において、ｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ、ｃａｐａｃｉｔｏｒ及びｓｔａｎｄａｒｄ＿ｃｅｌｌが混在していると判断された場合、ステップＳ２８の処理に進む。一方、ステップＳ２６において、ｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ、ｃａｐａｃｉｔｏｒ及びｓｔａｎｄａｒｄ＿ｃｅｌｌが混在した状態でない、つまり、当該モジュールの下位階層に属する他のモジュールが存在していると判断された場合、当該モジュールのモジュール属性を第３回路属性（例えば、ブロックモジュール）に設定する（ステップＳ２７）。なお、ブロックモジュールは、自モジュール内に自モジュールよりも下位階層の他のモジュールを含むモジュールに対して設定されるモジュール属性である。
【００３２】
ステップＳ２８では、アナログ回路として利用されるｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ、ｃａｐａｃｉｔｏｒと、デジタル回路として利用されるｓｔａｎｄａｒｄ＿ｃｅｌｌとの数の大小を比較する。そして、ｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ及びｃａｐａｃｉｔｏｒの数がｓｔａｎｄａｒｄ＿ｃｅｌｌの数よりも少ない場合、当該モジュールのモジュール属性をデジタルモジュールに設定する。一方、ｆｅｔ、ｂｊｔ、ｒｅｓｉｓｔｏｒ及びｃａｐａｃｉｔｏｒの数がｓｔａｎｄａｒｄ＿ｃｅｌｌの数よりも多い場合、当該モジュールのモジュール属性をアナログモジュールに設定する。
【００３３】
図４に示したモジュール属性解析処理により解析された各モジュールのモジュール属性について説明するための図を図５に示す。図５に示すように、ステップＳ１１のモジュール属性解析処理を行うことで、階層構造を有する回路図データにおいて、自モジュールの下位階層に他のモジュールを有するモジュールについては、ブロックモジュールのモジュール属性が設定される。また、最下位階層に属するモジュールのモジュール属性は、アナログモジュールとデジタルモジュールとのいずれかに分類される。
【００３４】
図５に示す例では、全体回路図を示す回路図データは、ブロックＡからブロックＣを有する。そして、ブロックＡについては、下位階層にブロックＤ、Ｅを有することに基づきブロックモジュールが設定される。ブロックＢについては、下位階層に他のモジュールを有さず、かつ、デジタル回路を有することにより、デジタルモジュールが設定される。ブロックＣについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。ブロックＤについては、下位階層に他のモジュールを有さず、かつ、デジタル回路を有することにより、デジタルモジュールが設定される。ブロックＥについては、下位階層にブロックＦ、Ｇを有することに基づきブロックモジュールが設定される。ブロックＦについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。ブロックＧについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。
【００３５】
続いて、ステップＳ１２のモジュール形状解析処理について詳細に説明する。実施の形態１にかかる自動配置配線プログラムでは、デジタルモジュールに対するモジュール形状候補の生成方法と、アナログモジュールに対するモジュール形状候補の生成方法が異なる。そこで、以下の説明では、デジタルモジュールに対するモジュール形状候補の生成方法と、アナログモジュールに対するモジュール形状候補の生成方法と、を分けて説明する。
【００３６】
まず、デジタルモジュールに対するモジュール形状候補の生成方法について説明する。図６に、実施の形態１かかる自動配置配線プログラムにおいて、デジタル回路の属性を示すデジタルモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートを示す。
【００３７】
図６に示すように、デジタルモジュールに対するモジュール形状解析処理では、モジュール面積を一定として、モジュールの縦横の寸法が異なる複数のモジュール形状候補を生成する（ステップＳ３１）。このとき、ステップＳ３１では、モジュール面積をモジュール面積データ１８に基づき決定する。このモジュール面積データ１８は、面積制御ファイルに含まれるデータである。なお、モジュール面積は、初期状態ではモジュール内の回路規模等に基づいて算出される。ただし、このモジュール面積データ１８の値は、図３のステップＳ１７の面積制御ファイル更新処理において更新されることがある。また、ステップＳ３１では、レイアウトデータ１７に基づき処理対象のモジュールが上位階層のモジュール中で取り得る高さ及び幅の最大値と最小値とを算出し、複数のモジュール形状候補から取り得ない高さと幅のモジュール形状候補を除外する。
【００３８】
続いて、実施の形態１にかかる自動配置配線プログラムでは、回路図データからモジュールを構成するためのセルの配置行の段数の候補（例えば、Ｒｏｗ段数候補）を抽出する（ステップＳ３２）。モジュールを構成するために必要な回路素子数は既知の値であるため、この回路素子数を含み得るＲｏｗ段数の候補の数は所定数に限定される。
【００３９】
続いて、実施の形態１にかかる自動配置配線プログラムでは、ステップＳ３２で抽出されたＲｏｗ段数候補毎にモジュールの最小幅及び最大幅を算出する（ステップＳ３３）。つまり、実施の形態１にかかる自動配置配線プログラムでは、デジタルモジュールについては、Ｒｏｗの高さを変化単位とすることでモジュール形状候補の数をさらに削減する。なお、ステップＳ３２においてモジュールを構成するためのセルの配置列の数の候補（例えば、Ｃｏｌｕｍｎ数候補）を抽出し、ステップＳ３３においてＣｏｌｕｍｎ数候補に基づきモジュール形状候補の数を削減することも可能である。つまり、列の幅の大きさを変化単位としてモジュール形状候補の数を削減することも可能である。
【００４０】
続いて、実施の形態１にかかる自動配置配線プログラムは、全てのＲｏｗ段数候補について検証を行ったかを確認する（ステップＳ３４）。ステップＳ３４において、未検証のＲｏｗ段数候補があった場合、再度ステップＳ３２の処理を行う。一方、全てのＲｏｗ段数候補について検証を行ったと判断された場合、ステップＳ３３で選択された複数のモジュール形状候補を選択肢とすることを定義したモジュール形状制約を生成し（ステップＳ３５）、モジュール形状制約を記述したモジュール形状制約ファイル１９を生成する。
【００４１】
ここで、ステップＳ３１のモジュール形状候補の生成手順についてより詳細に説明する。まず、図７に面積値を一定として縦横の寸法を可変したモジュール形状候補の概略図を示す。図７に示すように、単に面積値を一定とした場合、縦横の寸法が異なるモジュール形状候補は無数に生成できる。そして、この無数のモジュール形状候補から、処理対象モジュールが取り得る幅の最小値Ｗｍｉｎ１及び最大値Ｗｍａｘ１を満たさないモジュール形状候補を選択肢から除外する。図７に示す例では、点線で示すモジュール形状候補が除隊対象のモジュール形状候補である。
【００４２】
続いて、図８にモジュールを構成し得る回路素子を含むモジュール形状候補の概略図を示す。図８に示すように、デジタルモジュールでは、回路素子がマトリクス状に配置されため、行の高さＴｒｏｗは一定の値になる。そして、実施の形態１にかかる自動配置配線プログラムでは、行の高さＴｒｏｗを変化単位として縦の寸法が変化するモジュール形状候補をレイアウトに用いるモジュール形状候補として選択する。図８に示す例では、点線で記載したモジュール形状候補については、回路素子が配置される位置がモジュール形状候補の外の領域にはみ出す、又は、変化単位が行の高さＴｒｏｗにならないため、これは選択肢から除外する。そして、ステップＳ３３では、モジュール形状候補の最小幅Ｗｍｉｎ２及びモジュール形状候補の最大幅Ｗｍａｘ２を算出する。
【００４３】
続いて、図９に、選択されたモジュール形状候補の概略図を示す。図９に示すように、選択されたモジュール形状候補は、図７に示したモジュール形状候補に比べて数が格段に少なくなる。
【００４４】
次に、アナログモジュールに対するモジュール形状解析処理について説明する。図１０に、実施の形態１かかる自動配置配線プログラムにおいて、アナログ回路の属性を示すアナログモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートを示す。
【００４５】
図１０に示すように、アナログモジュールに対するモジュール形状解析処理では、モジュール面積を一定として、モジュールの縦横の寸法が連続的に変化する複数のモジュール形状候補を生成する（ステップＳ４１）。このとき、ステップＳ４１では、モジュール面積をモジュール面積データ１８に基づき決定する。このモジュール面積データ１８は、面積制御ファイルに含まれるデータである。なお、モジュール面積は、初期状態ではモジュール内の回路規模等に基づいて算出される。ただし、このモジュール面積データ１８の値は、図３のステップＳ１７の面積制御ファイル更新処理において更新されることがある。また、ステップＳ４１では、レイアウトデータ１７に基づき処理対象のモジュールが上位階層のモジュール中で取り得る高さ及び幅の最大値と最小値とを算出し、複数のモジュール形状候補から取り得ない高さと幅のモジュール形状候補を除外する。つまり、ステップＳ４１の処理は、ステップＳ３１の処理と実施的に同じ処理である。
【００４６】
続いて、実施の形態１にかかる自動配置配線プログラムでは、回路図データからモジュール形状を決定する形状決定要素を抽出する（ステップＳ４２）。ステップＳ４２における形状決定要素は、回路図データ内に含まれる配置制約に該当する。この配置制約は、例えば各種レイアウト属性（制約）のように、レイアウト自動生成ツールが一般的に備えているものである。一例としては、例えば、デバイスの配置方向などを規定するデバイスジェネレーション制約や、差動デバイスなどの対称配置を規定するマッチング制約や、複数デバイスのグループ配置を規定するグリッドフォーム制約や、デバイスの相対配置を規定するセルプラン制約など様々なものが挙げられる。
【００４７】
続いて、実施の形態１にかかる自動配置配線プログラムでは、ステップＳ４２で抽出された形状決定要素毎にモジュールの最小幅及び最大幅を算出する（ステップＳ４３）。つまり、実施の形態１にかかる自動配置配線プログラムでは、アナログモジュールについては、形状決定要素を配置できないモジュール形状候補をモジュール形状候補の選択肢から除外することでモジュール形状候補の数をさらに削減する。
【００４８】
続いて、実施の形態１にかかる自動配置配線プログラムは、全ての形状決定要素について検証を行ったかを確認する（ステップＳ４４）。ステップＳ４４において、未検証の形状決定要素があった場合、再度ステップＳ４２の処理を行う。一方、全ての形状決定要素について検証を行ったと判断された場合、ステップＳ４３で選択された複数のモジュール形状候補を選択肢とすることを定義したモジュール形状制約を生成し（ステップＳ４５）、モジュール形状制約を記述したモジュール形状制約ファイル１９を生成する。
【００４９】
ここで、図１１にモジュール中の形状決定要素を配置し得るモジュール形状候補の概略図を示す。図１１に示す例では、５個のデバイスＭ１〜Ｍ５をある一方向に整列配置するような配置制約が与えられた場合のモジュール形状候補の選択例である。この場合、この制約を満たすためにはモジュールの一方の辺に最小幅Ｗｍｉｎ、他方の辺に最小幅Ｈｍｉｎを最低でも確保する必要がある。したがって、各辺がこれらを下回る選択肢は現実解として実現しないため選択肢から除外することができる。図１１に示す例では、選択肢を４ケースに限定することができる。そして、ステップＳ４３では、モジュール形状候補の最小幅Ｗｍｉｎ３及びモジュール形状候補の最大幅Ｗｍａｘ３を算出する。
【００５０】
上記説明より、実施の形態１にかかる自動配置配線プログラムは、上位階層のモジュールのレイアウト、回路図データ及びモジュール面積データに基づきモジュール形状候補の数を削減することで、上位階層のレイアウトパターンに適合したモジュール形状の探索にかかる時間を削減することができる。
【００５１】
また、実施の形態１にかかる自動配置配線プログラムでは、デジタル回路を主に含むデジタルモジュールについては、マトリクス状に配置される回路素子の行の高さ、又は、列の幅を変化単位として縦横の寸法が異なる複数のモジュール形状候補を生成する。また、実施の形態１にかかる自動配置配線プログラムでは、アナログ回路を主に含むアナログモジュールについては、連続的に縦横の寸法が変化する複数のモジュール形状候補を生成する。つまり、モジュール内に配置される回路の属性に応じてモジュール形状候補を選択する。このようにモジュール形状候補を生成することで、デジタルモジュールを配置可能なモジュール形状候補の数をアナログモジュールのモジュール形状候補の数よりも削減することができるため、デジタルモジュールの形状の収束を早めることができる。
【００５２】
また、実施の形態１にかかる自動配置配線プログラムでは、図３のステップＳ１７の面積制御ファイルの更新処理においても、モジュール属性を考慮した面積値の更新を行う。これにより、実施の形態１にかかる自動配置配線プログラムでは、デジタルモジュールについて、更新後のモジュール面積を超えてレイアウト処理がなされる可能性を小さくすることができる。つまり、実施の形態１にかかる自動配置配線プログラムによれば、レイアウトにかかる時間を短縮することができる。
【００５３】
また、実施の形態１にかかる自動配置配線プログラムでは、モジュール属性を考慮してモジュール形状候補を選択することで、レイアウトの面積効率を高めることができる。デジタルモジュールに対してもアナログモジュールと同じモジュール形状候補の生成方法を適用した場合、モジュールの寸法が行の高さの単位又は列の幅の単位と関係なく設定されるため、無駄な領域が生じる可能性がある。そこで、一例として、実施の形態１にかかる自動配置配線プログラムを用いて生成した半導体装置のレイアウトパターンを図１２に示し、アナログモジュールに対するモジュール形状候補の生成方法のみを適用して生成した半導体装置１のレイアウトパターンを図１３に示す。なお、図１２、図１３に示す例は、いずれも図５に示した階層構造と同じ階層構造を有する回路図についてのレイアウトである。図１２に示すように、実施の形態１にかかる半導体装置では、デッドスペースを生じることなく密に回路が配される。一方、図１３に示す例では、ブロックＢにおいてセルの行の高さとモジュール形状の不適合が生じることで、デッドスペースが生じている。つまり、実施の形態１にかかる自動配置配線プログラムによれば、モジュール内の回路の配置特性をモジュール属性として分類することでレイアウトの面積効率を高めることができる。また、デッドスペースが生じてしまった場合、チップ面積が大きくなるが、実施の形態１にかかる自動配置配線プログラムでは、デッドスペースを削減してチップ面積を小さくできる効果もある。
【００５４】
なお、上記実施の形態では、自動配置配線プログラムによりレイアウトを行う方法について説明したが、自動配置配線プログラムにより実現される機能を有するハードウェアによって上記レイアウト方法を実行することも可能である。そこで、実施の形態１にかかる自動配置配線装置のブロック図を図１４に示す。
【００５５】
図１４に示すように、実施の形態１にかかる自動配置配線装置は、第１処理部（例えば、モジュールＰｃｅｌｌ生成部２０）、第２処理部（例えば、モジュール属性解析部２１）、第３処理部（例えば、モジュール形状解析部２２）、第４処理部（例えば、レイアウト処理部２３）、第５処理部（例えば、モジュール面積解析部２４）、第７処理部（例えば、ループ条件判定部２５）、第６処理部（例えば、面積制御ファイル更新処理部２６）を有する。
【００５６】
モジュールＰｃｅｌｌ生成部２０は、ステップＳ１０のモジュールＰｃｅｌｌ生成処理を実行する。モジュール属性解析部２１は、ステップＳ１１のモジュール属性解析処理を実行する。モジュール形状解析部２２は、ステップＳ１２のモジュール形状候補解析処理を実行する。レイアウト処理部２３は、ステップＳ１３のレイアウト処理を実行する。また、レイアウト処理部２３は、配置条件設定部２３ａ及び自動配置配線処理部２３ｂを有する。配置条件設定部２３ａは、ステップＳ１３ａの配置条件設定処理を行う。自動配置配線処理部２３ｂは、ステップＳ１３ｂの自動配置配線処理を行う。モジュール面積解析部２４は、ステップＳ１４のモジュール面積解析処理と、ステップＳ１５の判断処理を行う。ループ条件判定部２５は、ステップＳ１６のループ条件判定処理を行う。面積制御ファイル更新処理部２６は、ステップＳ１７の面積制御ファイル更新処理を行う。
【００５７】
実施の形態２
実施の形態２にかかる自動配置配線プログラムは、実施の形態１にかかる自動配置配線プログラムに、モジュール属性に応じて自動配置配線ツールを使い分ける機能を追加するものである。実施の形態２にかかる自動配置配線プログラムでは、図３のレイアウト処理（ステップＳ１３）において、モジュール属性に応じた自動配置配線ツールの選択処理を追加する。そこで、実施の形態２にかかる自動配置配線プログラムにおけるレイアウト処理の動作を示すフローチャートを図１５に示す。
【００５８】
図１５に示すように、実施の形態２にかかる自動配置配線プログラムでは、ステップＳ１３ａの配置条件設定処理として、ステップＳ５１〜Ｓ５４の処理を行う。ステップＳ５１の処理では、モジュール属性記述ファイルに記述されたモジュール毎のモジュール属性に基づき処理対象のモジュールがどのような属性を有しているかを判断する。
【００５９】
そして、ステップＳ５１において、モジュール属性がアナログモジュールであると判断された場合、当該モジュールに対しては、アナログ用制約条件を設定する（ステップＳ５２）。このアナログ用制約条件としては、例えば、デバイスの配置方向などを規定するデバイスジェネレーション制約や、差動デバイスなどの対称配置を規定するマッチング制約や、複数デバイスのグループ配置を規定するグリッドフォーム制約や、デバイスの相対配置を規定するセルプラン制約など様々なものが挙げられる。
【００６０】
また、ステップＳ５１において、モジュール属性がブロックモジュールであると判断された場合、当該モジュールに対しては、ブロックモジュール用制約条件を設定する（ステップＳ５３）。なお、ブロックモジュールは、自モジュール内に自モジュールよりも下位階層の他のモジュールを含むモジュールに対して設定されるモジュール属性である。また、ブロックモジュール用制約条件としては、例えば、下位階層モジュールの端子配置制約条件、ブロック間配線の配置制約条件等が挙げられる。
【００６１】
また、ステップＳ５１において、モジュール属性がデジタルモジュールであると判断された場合、当該モジュールに対しては、デジタル用制約条件を設定する（ステップＳ５４）。このデジタル用制約条件としては、例えば、モジュール形状候補の生成で用いたＲｏｗ段数の値が挙げられる。
【００６２】
そして、実施の形態２にかかる自動配置配線プログラムでは、ステップＳ１３ｂの自動配置配線処理において、実際の自動配置配線処理を行う前に、第９処理（例えば、自動配置配線ツールの選択処理）を行う。図１５に示す例では、ステップＳ６１〜Ｓ６９において、自動配置配線ツールの選択を行い、ステップＳ７０で自動配置配線処理を実行する。
【００６３】
より具体的には、アナログモジュールに対しては、ステップＳ６１において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップＳ６１において選択されたツールを自動配置配線処理に利用するツールとして設定する（ステップＳ６２、Ｓ６３）。このステップＳ６２、Ｓ６３で設定される自動配置配線ツールは、アナログ回路の自動配置配線を得意とするツールである。
【００６４】
ブロックモジュールに対しては、ステップＳ６４において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップＳ６４において選択されたツールを自動配置配線処理に利用するツールとして設定する（ステップＳ６５、Ｓ６６）。このステップＳ６５、Ｓ６６で設定される自動配置配線ツールは、ブロック間の自動配置配線処理を得意とする自動配置配線ツールである。なお、ブロックモジュールに対しては、ブロック間の自動配置配線ツールがない場合は、このようなツール選択処理を行わないとすることもできる。
【００６５】
デジタルモジュールに対しては、ステップＳ６７において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップＳ６７において選択されたツールを自動配置配線処理に利用するツールとして設定する（ステップＳ６８、Ｓ６９）。このステップＳ６８、Ｓ６９で設定される自動配置配線ツールは、デジタル回路の自動配置配線を得意とするツールである。
【００６６】
上記説明より、実施の形態２にかかる自動配置配線プログラムでは、モジュール属性に応じて回路素子の配置配線処理を行うツールを選択し、選択したツールを用いてモジュール毎に回路素子の配置配線処理を行う。このような選択処理により、アナログ回路、デジタル回路、ブロック間配置をそれぞれ得意とするツールによりそれぞれの回路に対する自動配置配線が可能になる。また、回路の配置特性に応じたツールを利用することで、処理時間の短縮及び面積効率の向上を実現することができる。
【００６７】
例えば、デジタル回路は、通常アナログ回路よりも回路素子数が多くなる。そのため、デジタル回路に対して、アナログ回路用の自動配置配線ツールを利用した場合、デジタル回路の回路素子の１つ１つをアナログ回路として配置するため、レイアウトに莫大な時間を要する。近年の半導体装置では、アナログ回路を制御するための制御ロジック回路が大きくなる傾向があるため、デジタル回路に対してデジタル回路用の自動配置配線ツールを利用するメリットは大きい。
【００６８】
また、アナログ回路は、良好な回路特性を得るために回路素子の配置に制約が多い、しかし、デジタル回路用自動配置配線ツールでは、このような配置制約を扱うことを苦手とするものが多いため、デジタル回路用自動配置配線ツールを利用した場合、アナログ回路を適切にレイアウトできない場合がある。このような場合は、修正工程において、設計者が手作業でレイアウトを修正する必要があり、工程に要する時間が多く必要になる問題がある。このようなことからも、アナログ回路に対してはアナログ回路用の自動配置配線ツールを利用することのメリットは大きい。
【００６９】
また、アナログ回路用に設計された自動配置配線ツールを利用した場合、デジタル回路の配置制約条件をツールで処理することが難しく、レイアウト面積が、大きくなる傾向がある。逆に、デジタル回路用に設計された自動配置配線ツールを利用した場合、アナログ回路の配置制約条件をツールで処理することが難しく、レイアウト面積が、大きくなる傾向がある。このようなことからも、モジュール属性に応じて利用する自動配置配線ツールを使い分けることのメリットは大きい。
【００７０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７１】
１  演算部
２  表示部
３  操作入力部
１０〜１５  記憶部
１７〜１９、３０  ファイル
２０  モジュールＰｃｅｌｌ生成部
２１  モジュール属性解析部
２２  モジュール形状解析部
２３  レイアウト処理部
２３ａ  配置条件設定部
２３ｂ  自動配置配線処理部
２４  モジュール面積解析部
２５  ループ条件判定部
２６  面積制御ファイル更新処理部
【図１】
2013084211.tif 000003
【図２】
2013084211.tif 000004
【図３】
2013084211.tif 000005
【図４】
2013084211.tif 000006
【図５】
2013084211.tif 000007
【図６】
2013084211.tif 000008
【図７】
2013084211.tif 000009
【図８】
2013084211.tif 000010
【図９】
2013084211.tif 000011
【図１０】
2013084211.tif 000012
【図１１】
2013084211.tif 000013
【図１２】
2013084211.tif 000014
【図１３】
2013084211.tif 000015
【図１４】
2013084211.tif 000016
【図１５】
2013084211.tif 000017