(57)【要約】【課題】従来のレイアウト方法では、複数のセル候補を効率的に利用出来ない問題があった。【解決手段】一実施の形態によれば、自動レイアウトプログラムは、レイアウト領域を複数の分割領域に分割し、分割領域毎に特性パラメータについての余裕度を見積もり、余裕度が大きな分割領域に対しては特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、余裕度が小さな分割領域に対しては特性パラメータに関する特性値が小さなセル候補を優先的に適用してレイアウト最適化処理を行う。【選択図】図２
2013257646.tif 000002
【特許請求の範囲】
【請求項１】
演算装置において実行され、記憶装置から回路設計情報と複数のセル候補とを読み出し、半導体装置のレイアウト情報を生成する自動レイアウトプログラムであって、
前記回路設計情報に基づき生成されたチップ情報を所定の規則に従って分割して、複数の分割領域を生成する領域分割ステップと、
前記分割領域毎に特性パラメータについての余裕度を見積もる余裕度見積ステップと、
前記複数の分割領域のうち前記余裕度が大きな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、前記複数の分割領域のうち前記余裕度が小さな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が小さなセル候補を優先的に適用して前記レイアウト最適化処理を行い、前記レイアウト情報を生成するセル候補選択ステップと、
を有する自動レイアウトプログラム。
【請求項２】
前記回路設計情報を論理合成して得られる回路接続情報により示される回路素子情報を前記複数のセル候補に登録された回路セルに置き換えるセル配置ステップと、
前記回路接続情報により示されるクロック配線接続情報を前記複数のセル候補に登録された回路セルを含むクロック配線に置き換えるクロック配線ステップと、
前記回路接続情報により示される信号配線接続情報を前記複数のセル候補に登録された回路セルを含む信号配線に置き換える信号配線ステップと、を有し、
前記セル配置ステップと、前記クロック配線ステップと、前記信号配線ステップと、のぞれぞれに対して前記余裕度見積ステップ及び前記セル候補選択ステップを実行する請求項１に記載の自動レイアウトプログラム。
【請求項３】
前記セル候補選択ステップの前記レイアウト処理において生成された回路の特性評価を行う回路特性評価ステップをさらに有し、
前記回路特性評価ステップは、前記特性評価の結果が予め設定された基準値を満たすまで前記セル候補選択ステップによるセル候補の選択処理を繰り返すことを指示する請求項１に記載の自動レイアウトプログラム。
【請求項４】
前記複数のセル候補は、前記特性パラメータに関する特性値の大小に応じて複数のセル候補グループのいずれか１つに分類され、
前記余裕度見積ステップは、見積もった前記余裕度に基づき前記複数の分割領域を前記分割領域の数よりも少ない複数の分割グループのいずれか１つに分類し、
前記セル候補選択ステップは、前記余裕度が大きな分割グループに属する前記分割領域に対しては、前記複数のセル候補グループのうち前記特性パラメータに関する特性値が大きな前記セル候補が属するセル候補グループから優先的に前記セル候補を選択し、前記余裕度が小さな分割グループに属する前記分割領域に対しては、前記複数のセル候補グループのうち前記特性パラメータに関する特性値が小さな前記セル候補が属するセル候補グループから優先的に前記セル候補を選択する請求項１に記載の自動レイアウトプログラム。
【請求項５】
前記特性パラメータは、回路面積特性であって、
前記余裕度見積ステップは、前記分割領域をさらに分割する配線格子の一辺を通過する配線数に基づき前記分割領域の配線余裕度を見積もり、
前記セル候補選択ステップは、前記配線余裕度が大きな前記分割領域に対しては、回路面積が大きな前記セル候補を優先的に選択して前記レイアウト処理を行い、前記配線余裕度が小さい前記分割領域に対しては、回路面積が小さな前記セル候補を優先的に選択して前記レイアウト処理を行う請求項１に記載の自動レイアウトプログラム。
【請求項６】
前記特性パラメータは、タイミング特性であって、
前記余裕度見積ステップは、前記分割領域中の回路のパスのうち予め決められた遅延規定値よりも大きな遅延値を有するパスの数に基づきタイミング余裕度を見積もり、
前記セル候補選択ステップは、前記タイミング余裕度が大きな前記分割領域に対しては、低速な信号伝達特性を有する前記セル候補を優先的に選択して前記レイアウト処理を行い、前記タイミング余裕度が小さい前記分割領域に対しては、高速な信号伝達特性を有する前記セル候補を優先的に選択して前記レイアウト処理を行う請求項１に記載の自動レイアウトプログラム。
【請求項７】
前記領域分割ステップは、前記チップ情報に含まれる回路を論理モジュール単位で分割する請求項１に記載の自動レイアウトプログラム。
【請求項８】
前記領域分割ステップは、前記チップ情報により示されるチップレイアウト領域を一定の面積単位で分割する請求項１に記載の自動レイアウトプログラム。
【請求項９】
記憶装置から回路設計情報を読み出し、前記回路設計情報に基づきチップ情報を生成する配置配線部と、
前記チップ情報を所定の規則に従って分割して、複数の分割領域を生成する領域分割部と、
前記分割領域毎に特性パラメータについての余裕度を見積もる余裕度見積部と、
前記記憶装置から複数のセル候補を読み出し、前記複数の分割領域のうち前記余裕度が大きな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、前記複数の分割領域のうち前記余裕度が小さな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が小さなセル候補を優先的に適用して前記レイアウト最適化処理を行い、レイアウト情報を生成するセル候補選択部と、
を有する自動レイアウト装置。
【請求項１０】
前記配置配線部は、
前記回路設計情報を論理合成して得られる回路接続情報により示される回路素子情報を前記複数のセル候補に登録された回路セルに置き換えるセル配置部と、
前記回路接続情報により示されるクロック配線接続情報を前記複数のセル候補に登録された回路セルを含むクロック配線に置き換えるクロック配線部と、
前記回路接続情報により示される信号配線接続情報を前記複数のセル候補に登録された回路セルを含む信号配線に置き換える信号配線部と、を有し、
前記セル配置部と、前記クロック配線部と、前記信号配線部と、で行われる処理のぞれぞれに対して前記セル候補選択部による前記レイアウト最適化処理を実行する請求項９に記載の自動レイアウト装置。
【請求項１１】
前記セル候補選択部の前記レイアウト処理において生成された回路の特性評価を行う回路特性評価部をさらに有し、
前記回路特性評価部は、前記特性評価の結果が予め設定された基準値を満たすまで前記セル候補選択部によるセル候補の選択処理を繰り返すことを指示する請求項９に記載の自動レイアウト装置。
【請求項１２】
前記複数のセル候補は、前記特性パラメータに関する特性値の大小に応じて複数のセル候補グループのいずれか１つに分類され、
前記余裕度見積部は、見積もった前記余裕度に基づき前記複数の分割領域を前記分割領域の数よりも少ない複数の分割グループのいずれか１つに分類し、
前記セル候補選択部は、前記余裕度が大きな分割グループに属する前記分割領域に対しては、前記複数のセル候補グループのうち前記特性パラメータに関する特性値が大きな前記セル候補が属するセル候補グループから優先的に前記セル候補を選択し、前記余裕度が小さな分割グループに属する前記分割領域に対しては、前記複数のセル候補グループのうち前記特性パラメータに関する特性値が小さな前記セル候補が属するセル候補グループから優先的に前記セル候補を選択する請求項９に記載の自動レイアウト装置。
【請求項１３】
前記特性パラメータは、回路面積特性であって、
前記余裕度見積部は、前記分割領域をさらに分割する配線格子の一辺を通過する配線数に基づき前記分割領域の配線余裕度を見積もり、
前記セル候補選択部は、前記配線余裕度が大きな前記分割領域に対しては、回路面積が大きな前記セル候補を優先的に選択して前記レイアウト最適化処理を行い、前記配線余裕度が小さい前記分割領域に対しては、回路面積が小さな前記セル候補を優先的に選択して前記レイアウト最適化処理を行う請求項９に記載の自動レイアウト装置。
【請求項１４】
前記特性パラメータは、タイミング特性であって、
前記余裕度見積部は、前記分割領域中の回路のパスのうち予め決められた遅延規定値よりも大きな遅延値を有するパスの数に基づきタイミング余裕度を見積もり、
前記セル候補選択部は、前記タイミング余裕度が大きな前記分割領域に対しては、低速な信号伝達特性を有する前記セル候補を優先的に選択して前記レイアウト最適化処理を行い、前記タイミング余裕度が小さい前記分割領域に対しては、高速な信号伝達特性を有する前記セル候補を優先的に選択して前記レイアウト最適化処理を行う請求項９に記載の自動レイアウト装置。
【請求項１５】
前記領域分割部は、前記チップ情報に含まれる回路を論理モジュール単位で分割する請求項９に記載の自動レイアウト装置。
【請求項１６】
前記領域分割部は、前記チップ情報により示されるチップレイアウト領域を一定の面積単位で分割する請求項９に記載の自動レイアウト装置。
【請求項１７】
記憶装置から回路設計情報と複数のセル候補とを読み出し、演算装置を用いて前記回路設計情報に対応する半導体装置のレイアウト情報を最適化するレイアウト最適化方法であって、
前記演算装置によって、
前記回路設計情報に基づき生成されたチップ情報を所定の規則に従って分割して、複数の分割領域を生成し、
前記分割領域毎に特性パラメータについての余裕度を見積り、
前記複数の分割領域のうち前記余裕度が大きな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、前記複数の分割領域のうち前記余裕度が小さな分割領域に対しては、前記複数のセル候補のうち前記特性パラメータに関する特性値が小さなセル候補を優先的に適用して前記レイアウト最適化処理を行い、前記レイアウト情報を生成するレイアウト最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法に関し、例えばスタンダードセルを利用して半導体装置のレイアウトを行う自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法に関する。
【背景技術】
【０００２】
近年、半導体装置では、処理速度の向上と消費電力の削減とが求められている。スタンダードセル方式の半導体装置では、同一の論理演算機能を有しながら、異なる駆動能力と異なるリーク電流特性とを有する複数の回路セルを準備して、複数の回路セルによりタイミング最適化と、消費電力の削減と、を実現する。そこで、特許文献１では、スタンダードセル方式の半導体装置の設定方法の一例が開示されている。
【０００３】
特許文献１では、置換対象セル抽出部が、通常セルで設計されたネットリストへのタイミング解析部の解析結果に基づき、低消費電力セルへ置換する通常セルを抽出する。そして、特許文献１では、消費電力の低減量が多い順に置換候補となる低消費電力セルを順位付けし、その上位から順に低消費電力セルによる配置面積の増加量を加算し、積算された増加量が面積増加許容量に達するまでの順位の低消費電力セルを用いて通常セルを置換する。これにより、特許文献１では、タイミング制約を満たしながら、半導体装置の消費電力を削減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２３２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、通常セルから低消費電力セルへの置換処理がレイアウト工程の後半に行われるため、置換可能な通常セルが制限される。つまり、特許文献１では、低消費電力セルの利用数が制限され、消費電力の削減を十分に行うことができない問題がある。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法は、レイアウト領域を複数の分割領域に分割し、分割領域毎に特性パラメータについての余裕度を見積もり、余裕度が大きな分割領域に対しては特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、余裕度が小さな分割領域に対しては前記特性パラメータに関する特性値が小さなセル候補を優先的に適用してレイアウト最適化処理を行う。
【発明の効果】
【０００８】
一実施の形態によれば、自動レイアウトプログラム、自動レイアウト装置及びレイアウト最適化方法は、タイミング制約を満たしながら、消費電力の削減を十分に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかる自動レイアウト装置のブロック図である。
【図２】実施の形態１にかかる自動レイアウト装置による処理のフローチャートである。
【図３】実施の形態１にかかる自動レイアウト装置の処理対象のチップレイアウト情報の一例を示す概略図である。
【図４】実施の形態１にかかる自動レイアウト装置が第１のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図５】実施の形態１にかかる自動レイアウト装置が第２のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図６】実施の形態１にかかる自動レイアウト装置が第３のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図７】実施の形態１にかかる自動レイアウト装置におけるセル候補グループの概要を示す図である。
【図８】実施の形態１にかかる自動レイアウト装置が第１のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図９】実施の形態１にかかる自動レイアウト装置が第２のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図１０】実施の形態１にかかる自動レイアウト装置が第３のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図１１】実施の形態１にかかる自動レイアウト装置によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図である。
【図１２】実施の形態２にかかる自動レイアウト装置のブロック図である。
【図１３】実施の形態２にかかる自動レイアウト装置による処理のフローチャートである。
【図１４】実施の形態２にかかる自動レイアウト装置の処理対象のチップレイアウト情報の一例を示す概略図である。
【図１５】実施の形態２にかかる自動レイアウト装置によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図である。
【図１６】実施の形態３にかかる自動レイアウト装置のブロック図である。
【図１７】実施の形態３にかかる自動レイアウト装置による処理のフローチャートである。
【図１８】実施の形態３にかかる自動レイアウト装置が第１のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図１９】実施の形態３にかかる自動レイアウト装置が第２のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図２０】実施の形態３にかかる自動レイアウト装置が第３のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【図２１】実施の形態３にかかる自動レイアウト装置におけるセル候補グループの概要を示す図である。
【図２２】実施の形態３にかかる自動レイアウト装置が第１のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図２３】実施の形態３にかかる自動レイアウト装置が第２のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図２４】実施の形態３にかかる自動レイアウト装置が第３のモジュールグループに属するモジュールに対して行うレイアウト最適化処理の詳細なフローチャートである。
【図２５】実施の形態３にかかる自動レイアウト装置によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図である。
【発明を実施するための形態】
【００１０】
実施の形態１
以下、図面を参照して実施の形態について説明する。まず、以下の説明では、自動レイアウト装置について説明する。この自動レイアウト装置は、コンピュータ等の演算装置に自動レイアウトプログラムを実行させることで実現されるものとして説明する。しかし、当該自動レイアウトプログラムにより実現される機能をハードウェアにより実現することも可能である。また、自動レイアウトプログラムは、自動レイアウト装置と共に利用される記憶装置に格納され、演算装置はこの自動レイアウトプログラムを読み出して実行するものとする。
【００１１】
また、自動レイアウトプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１２】
図１に実施の形態１にかかる自動レイアウト装置１のブロック図を示す。図１に示すように、自動レイアウト装置１は、演算装置１００と記憶装置Ｆ１０、Ｆ１１とを有する。演算装置１００は、図示しない記憶装置から自動レイアウトプログラムを読み込み、自動配置配線処理部１０及びレイアウト最適化処理部２０の機能を実現する。また、演算装置１００は、処理を行うに当たり、記憶装置Ｆ１０から必要な情報を得ると共に、記憶装置Ｆ１１に処理により生成される中間情報及び最終的な処理結果を格納する。なお、図１では、記憶装置Ｆ１０、Ｆ１１を別個の記憶装置として記載したが、これら記憶装置は１つの記憶装置として備えられていても良い。
【００１３】
演算装置１００は、自動配置配線処理部１０、レイアウト最適化処理部２０を有する。自動配置配線処理部１０は、記憶装置Ｆ１０から回路設計情報及びセル候補情報を読み込み、チップ情報を生成する。チップ情報は、記憶装置Ｆ１１に格納される。ここで、回路接続情報は、例えば、ハードウェア言語等を用いて設計対象の半導体装置の機能を記述したものである。セル候補情報は、スタンダードセルとして登録された複数のセル候補を含むライブラリ情報である。チップ情報は、例えば、ハードウェア言語で記述された動作を現実する回路素子と回路素子間の接続関係を記述した回路接続情報と、回路素子及び回路素子間を接続する配線を１チップ上に配置した仮チップレイアウト情報とを含む。なお、仮チップレイアウト情報は、未確定な部分を含むレイアウトデータである。
【００１４】
レイアウト最適化処理部２０は、実施の形態１にかかる自動レイアウト装置１の特徴的な処理の１つを行う機能ブロックである。レイアウト最適化処理部２０は、記憶装置Ｆ１１からチップ情報を読み込み、記憶装置Ｆ１０に格納されたセル候補情報を用いて回路接続情報及び仮チップレイアウト情報の最適化処理を行い、レイアウト情報を生成する。レイアウト情報は、記憶装置Ｆ１１に格納される。
【００１５】
自動配置配線処理部１０は、論理合成部１１、セル配置部１２、クロック配線部１３、信号配線部１４を有する。
【００１６】
論理合成部１１は、記憶装置Ｆ１０から回路設計情報を読み出し、読み出した回路設計情報に対して論理合成処理を行い、回路接続情報を生成する。そして、論理合成部１１は、回路接続情報を記憶装置Ｆ１１に格納する。この回路接続情報には、利用する回路セルに関する情報と、回路セル間の接続情報が含まれる。なお、図１に示す例では、自動配置配線処理部１０が論理合成部１１を含めたが、論理合成処理は、１つの独立した処理として扱うこともできるため、自動配置配線処理部１０とは別に論理合成部１１を設けても良い。この場合、自動配置配線処理部１０は、回路設計情報の読み込みを行わずに、直接回路接続情報を読み込む。
【００１７】
セル配置部１２は、記憶装置Ｆ１１から回路接続情報を読み出す。また、セル配置部１２は、記憶装置Ｆ１０からセル候補情報読み出す。そして、セル配置部１２は、回路接続情報に記述された回路素子情報（例えば、回路セルの情報）を複数のセル候補に登録された回路セルに置き換える。また、セル配置部１２は、回路素子情報に対応する回路セルをチップレイアウト領域に配置したチップ情報（例えば、第１のチップレイアウト情報）を生成し、生成した第１のチップレイアウト情報を記憶装置Ｆ１１に格納する。
【００１８】
クロック配線部１３は、記憶装置Ｆ１１からチップ情報（例えば、回路接続情報及び第１のチップレイアウト情報）を読み出す。また、クロック配線部１３は、記憶装置Ｆ１０からセル候補情報読み出す。そして、クロック配線部１３は、回路接続情報により示されるクロック配線接続情報を複数のセル候補に登録された回路セルを含むクロック配線に置き換える。クロック配線部１３は、選択した回路セルを含むクロック配線を第１のチップレイアウト情報に追加してチップ情報（例えば、第２のチップレイアウト情報）を生成し、第２のチップレイアウト情報を記憶装置Ｆ１１に格納する。
【００１９】
信号配線部１４は、記憶装置Ｆ１１からチップ情報（例えば、回路接続情報及び第２のチップレイアウト情報）を読み出す。また、信号配線部１４は、記憶装置Ｆ１０からセル候補情報読み出す。そして、信号配線部１４は、回路接続情報により示される信号配線接続情報を複数のセル候補に登録された回路セルを含む信号配線に置き換える。信号配線部１４は、選択した回路セルを含む信号配線を第２のチップレイアウト情報に追加してチップ情報（例えば、第３のチップレイアウト情報）を生成し、第３のチップレイアウト情報を記憶装置Ｆ１１に格納する。
【００２０】
レイアウト最適化処理部２０は、領域分割部２１、余裕度見積部２２、セル候補選択部２３、回路特性評価部２４を有する。また、回路特性評価部２４は、タイミング特性評価部２５、リーク電流特性評価部２６を有する。レイアウト最適化処理部２０は、論理合成部１１の処理と、セル配置部１２の処理と、クロック配線部１３の処理と、信号配線部１４の処理と、のぞれぞれに対して余裕度見積部２２及びセル候補選択部２３の処理を実行する。また、レイアウト最適化処理部２０は、回路接続情報を最初に読み出したタイミングで領域分割部２１による処理を行う。
【００２１】
なお、論理合成部１１を自動配置配線処理部１０とは別に設ける場合、レイアウト最適化処理部２０は、セル配置部１２の処理と、クロック配線部１３の処理と、信号配線部１４の処理と、のぞれぞれに対して余裕度見積部２２及びセル候補選択部２３の処理を実行する。また、レイアウト最適化処理部２０は、チップ情報を最初に読み出したタイミングで領域分割部２１による処理を行う。
【００２２】
領域分割部２１は、記憶装置Ｆ１１からチップ情報を読み込む。そして、領域分割部２１は、チップ情報を所定の規則に従って分割して、複数の分割領域を生成する。実施の形態１では、領域分割部２１は、チップ情報に含まれる回路を論理モジュール単位で分割する。より具体的には、領域分割部２１は、チップ情報のうち回路接続情報を読み出し、当該回路接続情報から回路を構成する論理モジュール単位で分割領域を生成する。例えば、回路接続情報は、階層構造を持った回路構成によって設計回路に関する情報が記述される。そのため、領域分割部２１は、この階層構造を解析することで回路全体を論理モジュール単位で分割する。
【００２３】
余裕度見積部２２は、記憶装置Ｆ１１からチップ情報を読み込む。そして、余裕度見積部２２は、分割領域毎に特性パラメータについての余裕度を見積もる。より具体的は、実施の形態１にかかる自動レイアウト装置１は、分割領域の配線性を見積もる。また、余裕度見積部２２は、分割領域をさらに分割する配線格子の一辺を通過する配線数に基づき分割領域の配線余裕度を見積もる。なお、実施の形態１では、特性パラメータとして配線余裕度により示される回路面積特性を用いる。
【００２４】
また、余裕度見積部２２は、見積もった余裕度に基づき複数の分割領域を分割領域の数よりも少ない複数の分割グループ（例えば、モジュールグループ）のいずれか１つに分類する。この余裕度見積部２２についてのさらに詳細な処理内容は後述する。
【００２５】
セル候補選択部２３は、複数の分割領域のうち余裕度が大きな分割領域に対しては、複数のセル候補のうち特性パラメータに関する特性値が大きなセル候補を優先的に適用してレイアウト最適化処理を行い、複数の分割領域のうち余裕度が小さな分割領域に対しては、複数のセル候補のうち特性パラメータに関する特性値が小さなセル候補を優先的に適用してレイアウト最適化処理を行い、レイアウト情報を生成する。より具体的には、セル候補選択部２３は、配線余裕度が大きな分割領域に対しては、回路面積が大きなセル候補を優先的に選択してレイアウト処理を行い、配線余裕度が小さい前記分割領域に対しては、回路面積が小さなセル候補を優先的に選択してレイアウト処理を行う。ここで、セル候補選択部２３は、セル候補選択部２３は、自動配置配線処理部１０で行われる各処理のそれぞれに対してセル候補の選択処理を行い、それぞれの処理に対して最適化処理後のチップ情報（回路接続情報又は仮チップレイアウト情報）を生成する。そして、セル候補選択部２３は、自動配置配線処理部１０における最後の処理である信号配線部１４の処理に対応して行うセル候補選択処理において最終的なレイアウト情報を生成する。セル候補選択部２３が生成するチップ情報及びレイアウト情報は、記憶装置Ｆ１１に格納される。
【００２６】
また、実施の形態１では、セル候補情報に含まれる複数のセル候補を、特性パラメータに関する特性値の大小に応じて複数のセル候補グループのいずれか１つに分類した状態で与える。セル候補選択部２３は、余裕度が大きなモジュールグループに属する分割領域に対しては、複数のセル候補グループのうち特性パラメータに関する特性値の大きなセル候補が属するセル候補グループから優先的にセル候補を選択する。またセル候補選択部２３は、余裕度が小さなモジュールグループに属する分割領域に対しては、複数のセル候補グループのうち特性パラメータに関する特性値の小さな前記セル候補が属するセル候補グループから優先的に前記セル候補を選択する。
【００２７】
回路特性評価部２４は、セル候補選択部２３のレイアウト処理において生成された回路の特性を評価する。また、回路特性評価部２４は、特性評価の結果が予め設定された基準値を満たすまでセル候補選択部２３によるセル候補の選択処理を繰り返すことを指示する。より具体的には、実施の形態１では、回路特性評価部２４は、タイミング特性評価部２５、リーク電流特性評価部２６を有する。タイミング特性評価部２５は、セル候補選択部２３が生成した回路のタイミング特性を評価し、回路のタイミングが所定の基準を満たすか否かを評価する。また、リーク電流特性評価部２６は、セル候補選択部２３が生成した回路のリーク電流の大きさを評価する。そして、回路特性評価部２４は、タイミング特性及びリーク電流特性がセル候補選択部２３の処理により改善したか否かを判断し、改善量が予め設定された基準値よりも小さくなるまで、セル候補選択部２３によるセル候補の選択処理を繰り返すことをセル候補選択部２３に指示する。また、回路特性評価部２４は、セル候補選択部２３によるセル選択処理が行われた回数が所定の回数に達した場合、セル候補選択部２３によるセル選択処理を繰り返さずにセル候補選択部２３による処理を終了させる。
【００２８】
続いて、実施の形態１にかかる自動レイアウト装置１の具体的な処理フローについて説明する。そこで、図２に、実施の形態１にかかる自動レイアウト装置１による処理のフローチャートを示す。
【００２９】
図２に示すように、実施の形態１にかかる自動レイアウト装置１は、チップレイアウト処理を開始すると、記憶装置Ｆ１０から回路設計情報を読み込み、論理合成部１１により論理合成処理を行い、チップ情報（例えば、回路接続情報）を生成する（ステップＳ１１０）。次いで、自動レイアウト装置１は、領域分割部２１により、回路接続情報により示される全体回路を論理モジュール単位で分割し、複数の分割領域を生成する（ステップＳ１１１）。
【００３０】
ここで、実施の形態１にかかる自動レイアウト装置１の処理対象のチップレイアウト情報の一例を示す概略図を図３に示す。図３に示すように、自動レイアウト装置１が処理対象とする回路は、チップレイアウト領域ＣＨＰ上に、論理モジュールＭ１〜Ｍ３を配置し、当該論理モジュールＭ１〜Ｍ３のぞれぞれの領域内でさらに詳細な回路セル配置を行う。領域分割部２１は、領域分割処理により論理モジュールＭ１〜Ｍ３のそれぞれを分割領域とする。
【００３１】
次いで、自動レイアウト装置１は論理モジュール毎に配線性を見積もる（ステップＳ１１２）。より具体的には、実施の形態１にかかる自動レイアウト装置１では、分割領域（例えば、論理モジュールが配置される領域）をさらに分割する配線格子を設定する。図３では、この配線格子の概略を示した。図３に示すように、実施の形態１にかかる自動レイアウト装置１では、チップレイアウト領域ＣＨＰに対して境界詳細配線格子線を格子状に設定する。図３では、境界詳細配線格子線を跨ぐ配線のみを図示した。この境界詳細配線格子線に囲まれる領域がそれぞれ配線格子となる。そして、余裕度見積部２２は、１つの配線格子を囲む辺のそれぞれを通過する配線数の統計を求めることで各論理モジュールの配線性を見積もる。一の配線格子から他の配線格子に至る配線数が多い場合、一の配線格子の配線性が悪いと考えることができる。つまり、境界詳細配線格子を跨ぐ配線数が多い配線格子は配線性が悪く、境界詳細配線格子を跨ぐ配線数が少ない配線格子は配線性が良いと考えることができる。そこで、自動レイアウト装置１では、境界詳細配線格子を跨ぐ配線数が多く配線性の低い配線格子が多い論理モジュールは配線余裕度が小さいと判断し、境界詳細配線格子を跨ぐ配線数が少なく配線性の低い配線格子が多い論理モジュールは配線余裕度が大きいと判断する。
【００３２】
また、自動レイアウト装置１では、ステップＳ１１２の余裕度見積処理において、配線余裕度の大きさに応じて、分割領域を複数のモジュールグループに分類する。実施の形態１にかかる自動レイアウト装置１では、論理モジュールＭ１〜Ｍ３を３つのモジュールグループに分類する。そこで、図４〜図６に実施の形態１にかかる自動レイアウト装置１におけるモジュールグループと論理モジュールとの関係を示す図を示す。図４は、実施の形態１にかかる自動レイアウト装置１が第１のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。図５は、実施の形態１にかかる自動レイアウト装置１が第２のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。図６は、実施の形態１にかかる自動レイアウト装置１が第３のモジュールグループに分類するモジュールの配線余裕度と格子数との関係を示すグラフである。
【００３３】
図４〜図６に示すように、自動レイアウト装置１では、各論理モジュールに複数の配線格子が設定されるため、論理モジュール毎に配線格子数の配線余裕度の分布を得ることが出来る。そして、予め決定した閾値αよりも小さい配線余裕度の配線格子の割合を算出することで、複数の論理モジュールを複数のモジュールグループに分類することができる。例えば、閾値αを下回る配線余裕度の配線格子数が全体の１０％の論理モジュールは、配線余裕度が大きい第１のモジュールグループに分類する。また、閾値αを下回る配線余裕度の配線格子数が全体の２５％の論理モジュールは、配線余裕度が中程度の第２のモジュールグループに分類する。また、閾値αを下回る配線余裕度の配線格子数が全体の４０％の論理モジュールは、配線余裕度が小さい第３のモジュールグループに分類する。
【００３４】
なお、実施の形態１にかかる自動レイアウト装置１では、ステップＳ１１２の配線性見積処理の段階では、具体的な素子配置が決定されていない。そこで、ステップＳ１１２では、論理合成された回路を仮想的に配置し、当該仮想レイアウトに基づき上記ステップＳ１１２の処理を行う。
【００３５】
続いて、実施の形態１にかかる自動レイアウト装置１は、レイアウト最適化処理を行う（ステップＳ１１３）。このレイアウト最適化処理は、ステップＳ１１４のセル候補選択ステップと、Ｓ１１５の回路特性評価ステップと、ステップＳ１１６の終了条件確認ステップとに分けることができる。
【００３６】
まず、セル候補選択ステップは、セル候補選択部２３で行われる処理である。セル候補選択ステップでは、配線余裕度に基づき、配線余裕度の大きなグループに属する論理モジュールについては、複数のセル候補から配線余裕度の小さなセル候補を優先的に選択して、回路セルの置換処理を行う。また、セル候補選択ステップでは、配線余裕度に基づき、配線余裕度の小さなグループに属する論理モジュールについては、複数のセル候補から配線余裕度の大きなセル候補を優先的に選択して、回路セルの置換処理を行う。
【００３７】
続いて行われる回路特性評価ステップは、回路特性評価部２４で行われる処理である。回路特性評価ステップでは、ステップＳ１１４のセル候補選択ステップにおいて選択されたセルを用いた回路のタイミング特性が所定の特性を満たしているか否か、及び、セル候補選択ステップにおいて選択されたセルを用いた回路のリーク電流特性が最適化処理前の回路に対して改善しているか否かを評価する。そして、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達するまでステップＳ１１３の処理を繰り返すようにセル候補選択部２３に指示を与える。一方、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達した場合は、処理を終了して次の処理を行う。
【００３８】
上記ステップＳ１１２〜Ｓ１１６では、論理合成により生成された回路接続情報に対してレイアウト最適化処理を行ったが、実施の形態１にかかる自動レイアウト装置１では、自動配置配線処理部１０の各処理毎に上記ステップＳ１１２〜Ｓ１１６と同様の処理を行う。具体的には、ステップＳ１１６の処理において、終了条件に達した後、実施の形態１にかかる自動レイアウト装置１は、論理合成処理の後に行われるセル配置処理、クロック配線処理及び信号配線処理の各処理毎に配線性の見積もり処理とレイアウト最適化処理を行う。
【００３９】
図２に示す例では、ステップＳ１１３の回路接続情報に対するレイアウト最適化処理の後に、セル配置部１２によるセル配置処理が行われる。そして、このセル配置処理では第１の仮チップレイアウト情報が生成される（ステップＳ１２０）。第１の仮チップレイアウト情報は、チップ情報の一つであって、ステップＳ１１３のレイアウト最適化処理により最適化された回路接続情報上に記述された回路のセルをチップレイアウト領域に配置することでレイアウト情報（例えば、ＧＤＳデータ）として記述したものである。
【００４０】
続いて、実施の形態１にかかる自動レイアウト装置１は、第１の仮チップレイアウト情報を余裕度見積部２２に読み込み配線性の見積もり処理を行う（ステップＳ１２１）。このステップＳ１２１の配線性の見積もり処理では、配線性の見積もりと、見積もった配線性（配線余裕度）に基づく論理モジュールのグループ分けとを行われる。つまり、ステップＳ１２１の配線性の見積もり処理では、論理モジュールがステップＳ１１２の配線性の見積もり処理とは異なるモジュールグループに分類される可能性がある。なお、ステップＳ１２１の配線性の見積もり処理は、回路セルがチップレイアウト領域に配置されたレイアウト情報に基づき行われる。
【００４１】
その後、実施の形態１にかかる自動レイアウト装置１は、ステップＳ１１４〜Ｓ１１６と同様のレイアウト最適化処理を実施する（ステップＳ１２２）。
【００４２】
続いて、図２に示す例では、ステップＳ１２２の回路接続情報に対するレイアウト最適化処理の後に、クロック配線部１３によるクロック配線処理が行われる。そして、このクロック配線処理では第２の仮チップレイアウト情報が生成される（ステップＳ１３０）。第２の仮チップレイアウト情報は、チップ情報の一つであって、ステップＳ１２２のレイアウト最適化処理により最適化された第１の仮チップレイアウト情報にクロック配線のレイアウト情報を追加したものである。
【００４３】
続いて、実施の形態１にかかる自動レイアウト装置１は、第２の仮チップレイアウト情報を余裕度見積部２２に読み込み配線性の見積もり処理を行う（ステップＳ１３１）。このステップＳ１３１の配線性の見積もり処理では、配線性の見積もりと、見積もった配線性（配線余裕度）に基づく論理モジュールのグループ分けとを行われる。つまり、ステップＳ１３１の配線性の見積もり処理では、論理モジュールがステップＳ１１２、Ｓ１２１の配線性の見積もり処理とは異なるモジュールグループに分類される可能性がある。なお、ステップＳ１３１の配線性の見積もり処理は、回路セル及びクロック配線がチップレイアウト領域に配置されたレイアウト情報に基づき行われる。
【００４４】
その後、実施の形態１にかかる自動レイアウト装置１は、ステップＳ１１４〜Ｓ１１６と同様のレイアウト最適化処理を実施する（ステップＳ１３２）。
【００４５】
続いて、図２に示す例では、ステップＳ１３２の回路接続情報に対するレイアウト最適化処理の後に、信号配線部１４による信号配線処理が行われる。そして、この信号配線処理では第３の仮チップレイアウト情報が生成される（ステップＳ１３０）。第３の仮チップレイアウト情報は、チップ情報の一つであって、ステップＳ１３２のレイアウト最適化処理により最適化された第２の仮チップレイアウト情報に信号配線のレイアウト情報を追加したものである。
【００４６】
続いて、実施の形態１にかかる自動レイアウト装置１は、第３の仮チップレイアウト情報を余裕度見積部２２に読み込み配線性の見積もり処理を行う（ステップＳ１４１）。このステップＳ１４１の配線性の見積もり処理では、配線性の見積もりと、見積もった配線性（配線余裕度）に基づく論理モジュールのグループ分けとを行う。つまり、ステップＳ１４１の配線性の見積もり処理では、論理モジュールがステップＳ１１２、Ｓ１２１、Ｓ１３１の配線性の見積もり処理とは異なるモジュールグループに分類される可能性がある。なお、ステップＳ１４１の配線性の見積もり処理は、回路セル、クロック配線及び信号配線がチップレイアウト領域に配置されたレイアウト情報に基づき行われる。
【００４７】
その後、実施の形態１にかかる自動レイアウト装置１は、ステップＳ１１４〜Ｓ１１６と同様のレイアウト最適化処理を実施する（ステップＳ１４２）。そして、自動レイアウト装置１は、ステップＳ１４２のレイアウト最適化処理の完了に応じてチップレイアウト情報を生成し、記憶装置Ｆ１１に格納する。
【００４８】
ここで、実施の形態１におけるレイアウト最適化処理についてさらに詳細に説明する。実施の形態１にかかる自動レイアウト装置１では、複数のセル候補が、特性パラメータの大小に応じて複数のセル候補グループに分類される。そして、セル候補選択ステップでは、配線余裕度が大きなモジュールグループに対しては、配線余裕度が小さいセル候補グループから優先的にセル候補を選択する。また、セル候補選択ステップでは、配線余裕度が小さなモジュールグループに対しては、配線余裕度が大きなセル候補グループから優先的にセル候補を選択する。
【００４９】
そこで、セル候補グループについて説明する。セル候補グループの概略を示す図を図７に示す。実施の形態１にかかる自動レイアウト装置１では、回路面積を第１のキーとして複数のセル候補を降順に並べ、さらに、リーク電流量を第２のキーとして複数のセル候補を降順に並べる。そして、セル数がそれぞれ１／３ずつになるように複数のセル候補を３つのグループに分類する。図７に示す例では、第１のセル候補グループには回路面積が大きく、リーク電流量が大きなセル候補が分類され、第２のセル候補グループには回路面積が大きく、リーク電流量が小さなセル候補が分類され、第３のセル候補グループには、回路面積が小さく、リーク電流量が小さなセル候補が分類される。なお、このセル候補の分類は、論理回路の種類毎、例えば、バッファセル、ＡＮＤセル、ＯＲセル、フリップフロップ等の種類毎に行われる。
【００５０】
続いて、セル候補選択ステップ及び回路特性評価ステップの詳細な処理について説明する。セル候補選択ステップでは、モジュールグループの余裕度に応じて各セル候補グループから選択するセル候補の数を変更する。そこで、図８に余裕度が大きい第１のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。
【００５１】
図８に示すように、余裕度が大きな第１のモジュールグループに対しては、セル候補選択部２３は、余裕度が小さな（例えば、回路面積が大きな）セル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度なセル候補が属する第２のセル候補グループに登録されたセル候補から第１のセル候補グループに属するセル種類数の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きな（例えば、回路面積が小さな）セル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ１１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ａ）。
【００５２】
続いて、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ１１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ｂ）。
【００５３】
続いて、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ１１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【００５４】
次に図９に余裕度が中程度の第２のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。図９に示すように、余裕度が中程度の第２のモジュールグループに対しては、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録されたセル候補から第２のセル候補グループに属するセル種類数の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ１１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ａ）。
【００５５】
続いて、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ１１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ｂ）。
【００５６】
続いて、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ１１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【００５７】
次に図１０に余裕度が小さい第３のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。図１０に示すように、余裕度が小さな第３のモジュールグループに対しては、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録されたセル候補から第１のセル候補グループに属するセル種類数の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ１１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ａ）。
【００５８】
続いて、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ１１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ１１６ｂ）。
【００５９】
続いて、セル候補選択部２３は、余裕度が小さいセル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ１１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【００６０】
ここで、上記説明のように、実施の形態１にかかる自動レイアウト装置１では、レイアウト最適化処理において、論理モジュールの配線余裕度に応じて選択するセル候補の優先度を決定する。このとき、選択するセル候補の優先度は、解探索の順序付け及び評価関数の重み付けの設定により行う。この評価関数の重み付けによる解探索の順序付けは、通常のレイアウト設計最適化処理を、解探索のガイダンスを与えることで制御することが可能である。
【００６１】
また、セル候補の選択基準に基づき配線余裕度の小さな領域に回路面積が小さなセル候補を密集させては位置させた場合、配線ビアが増加して配線性が悪化することが考えられる。しかし、配線余裕度の小さな論理モジュールは、セル配置段階（ステップＳ１２０）ある程度素子密度が粗になるようにセル配置が行われるため、セル配置処理の結果に基づきセル候補の変換或いはセル候補の追加を行った場合でも局所的に小さなセルが密集する可能性は低い。ただし、セル候補の割合を固定したまま最適化を行うと十分に良い結果が得られない可能性がある。そのため、実施の形態１にかかる自動レイアウト装置１は、レイアウト最適化処理において各セル候補グループから再度セル候補を選択する際にはセル候補の選択比率を変更して、タイミング最適化・リーク電流削減処理を再度実施する。
【００６２】
このように、セル候補の選択比率を変更しながら処理を進める場合、現在の回路中で使用されているセル候補が、選択対象となっているセル候補の中に存在しないという状況が生じ得る。しかし、実施の形態１にかかる自動レイアウト装置１では、現在割当てられているセル候補を選択候補の中にあるセル候補に強制的に変更する処理は行わず、新たに追加するセル候補及び変換先のセル候補のみを置換候補とする。このようにセル候補の組合せを選択しながらタイミング最適化およびリーク電流削減を繰り返すことにより、各配線優先度グループについて、優先するセルを使用しつつ、タイミング最適化・リーク電流削減を行うことが可能となる。
【００６３】
なお、通常の階層設計では、設計対象を完全に分割し、分割毎の最適化を行った後、前記分割毎の最適化結果を統合して、全体の結果を得る処理を行う。しかし、自動レイアウト装置１は、設計対象に含まれる論理モジュール毎に異なるセル候補を用い、タイミング特性及びリーク電流最適化は、設計対象の回路を分割することなく回路全体で行う。すなわち、設計対象の一括最適化処理の中で、各論理モジュールに使用されるセル種類の候補を、動的に変更しながら処理を進めることになる。
【００６４】
続いて、上記のフローチャートに沿ってレイアウトの最適化処理の効果について説明する。そこで、図１１に実施の形態１にかかる自動レイアウト装置１によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図を示す。
【００６５】
図１１に示す例では、実施の形態１にかかるレイアウト最適化処理前は、論理モジュールＭ１と論理モジュールＭ３について配線余裕度が大きく、論理モジュールＭ２については配線余裕度が小さい状態である。各モジュールの配線余裕度が図１１に示すような場合、実施の形態１にかかる自動レイアウト装置１は、論理モジュールＭ１、Ｍ３については、駆動能力を優先したセル候補の選択を行う。つまり、実施の形態１にかかる自動レイアウト装置１は、論理モジュールＭ１、Ｍ３については、回路面積が大きなセル候補を優先的に選択する。また、実施の形態１にかかる自動レイアウト装置１は、論理モジュールＭ２については、回路面積を優先したセル候補の選択を行う。つまり、実施の形態１にかかる自動レイアウト装置１は、論理モジュールＭ２については、回路面積が小さなセル候補を優先的に選択する。また、実施の形態１にかかる自動レイアウト装置１では、回路面積を第１の優先度の選択事項とするが、第２の優先度選択事項としてリーク電流の低減を考慮する。
【００６６】
このように、論理モジュールの配線余裕度に基づきセル候補を選択することで、レイアウト最適化処理後の回路では、論理モジュールＭ１については、高駆動・低リーク特性を有するセル候補が属する第２のセル候補グループから選択されたセル候補により回路が構成されたものとなる。また、論理モジュールＭ２については、低駆動・低リーク特性を有するセル候補が属する第３のセル候補グループから選択されたセル候補により回路が構成されたものとなる。また、論理モジュールＭ３については、高駆動・高リーク特性を有するセル候補が属する第１のセル候補グループから選択されたセル候補により回路が構成されたものとなる。つまり、レイアウト最適化後の回路は、配線性が良い方向に均一化されながら、タイミング特性及びリーク電流特性が複数の論理モジュールに亘る回路全体で最適化された状態となる。
【００６７】
上記説明より、実施の形態１にかかる自動レイアウト装置１によれば、配線余裕度が大きな論理モジュールについては回路面積が大きなセル候補を優先的に選択し、配線余裕度が小さな論理モジュールについては回路面積が小さなセル候補を優先的に選択する。これにより、実施の形態１にかかる自動レイアウト装置１は、より多くのセル候補を取り入れたチップレイアウト情報を生成することができる。つまり、実施の形態１にかかる自動レイアウト装置１によれば、複数のセル候補を効率的に利用して、所定のレイアウト面積の範囲内で、タイミング特性とリーク電流特性とが最適化されたチップレイアウト情報を生成することができる。
【００６８】
また、実施の形態１にかかる自動レイアウト装置１では、自動配置配線処理部１０の各処理毎にレイアウト最適化処理を実施する。これにより、実施の形態１にかかる自動レイアウト装置１は、回路セル、クロック配線及び信号配線が配置されたレイアウト情報に対してレイアウトの最適化処理を実施する場合に比べて、より多くの回路セルを置換対象とすることができる。
【００６９】
また、実施の形態１にかかる自動レイアウト装置１では、複数の論理モジュールを含む設計回路の全体でタイミング特性及びリーク電流特性の最適化を行うことで、回路の一部に駆動能力が低く回路面積が小さい回路セルを用いながら、回路面積が小さい回路セルによって大きくなる遅延時間を他の部分に配置される駆動能力の高いで補う等の処理を行うことができる。つまり、実施の形態１にかかる自動レイアウト装置１は、複数の論理モジュールを含む設計回路の全体でタイミング特性及びリーク電流特性の最適化を行うことで、多数準備されたセル候補を効率的に利用することができる。
【００７０】
また、多数のセル候補を用いて回路セルの置換処理を行った場合、通常セル選択に多くの時間を要する。しかし、実施の形態１にかかる自動レイアウト装置１では、処理対象の論理モジュールを配線余裕度に応じて複数のモジュールグループに分類し、かつ、セル候補を回路面積特性及びリーク電流特性に応じて複数のセル候補グループに分類する。そして、実施の形態１にかかる自動レイアウト装置１では、処理対象の論理モジュールが属するモジュールグループの配線余裕度に応じて、いずれのセル候補グループから優先的にセル候補を選択するかを決定する。このように、論理モジュールの配線余裕度及びセル候補の回路面積等の特性をグループ単位で処理することで、実施の形態１にかかる自動レイアウト装置１は、セル候補の選択にかかる時間を短縮することができる。
【００７１】
なお、上記実施の形態１では、回路面積の小さいセルを使用することが配線性の改善につながるとの前提を基にした処理を行ったが、他にも、セル候補が有する端子、配線禁止層、配線禁止領域の面積などの他の指標に基づいて、セル候補と配線性の相関性を定義することも考えられる。例えば、セル候補が持っている端子、配線禁止層、配線禁止領域の面積を配線性の指標として用いる場合は、図７のセル候補のグループ分けのための整列を、セル候補が持つ配線禁止領域の面積の降順で行うことになる。また、セル候補と配線性の相関性を、ツール使用者が外部から自由に定義することとしても良い。
【００７２】
実施の形態２
実施の形態２では、チップレイアウト領域の分割方法の別の形態について説明する。そこで、実施の形態２にかかる自動レイアウト装置２のブロック図を図１２に示す。図１２に示すように、自動レイアウト装置２は、演算装置２００を有する。演算装置２００は、実施の形態１にかかる演算装置１００の領域分割部２１に代えて領域分割部３１を含むレイアウト最適化処理部３０を有する。なお、実施の形態２の説明では、実施の形態１にかかる自動レイアウト装置１と同じ構成要素については実施の形態１と同じ符号を付して説明を省略する。
【００７３】
領域分割部３１は、チップ情報として与えられる第１の仮チップレイアウト情報で示されるチップレイアウト領域を一定の面積単位で分割する。この第１のチップレイアウト情報は、セル配置部１２によるセル配置処理により生成されるものである。そのため、実施の形態２の領域分割部３１は、チップ情報のうち回路接続情報に対しては、領域分割処理を行わない。また、領域分割部３１が回路接続情報に対して領域分割処理を行わないため、レイアウト最適化処理部３０は、回路接続情報に対してはレイアウト最適化処理を行わない。
【００７４】
ここで、実施の形態２にかかる自動レイアウト装置２の動作を示すフローチャートを図１３に示す。図１３に示すように、自動レイアウト装置２では、チップレイアウト処理を開始すると、記憶装置Ｆ１０から回路設計情報を読み込み、論理合成部１１により論理合成処理を行い、チップ情報（例えば、回路接続情報）を生成する（ステップＳ２１０）。次いで、自動レイアウト装置２は、回路接続情報を読み込み、セル配置部１２により第１の仮チップレイアウト情報を生成する（ステップＳ２１１）。次いで、自動レイアウト装置２は、領域分割部３１により、第１の仮チップレイアウト情報により示されるチップレイアウト領域を一定面積単位で分割し、複数の分割領域を生成する（ステップＳ２１２）。
【００７５】
ここで、実施の形態２にかかる自動レイアウト装置２の処理対象のチップレイアウト情報の一例を示す概略図を図１４に示す。図１４に示すように、自動レイアウト装置２が処理対象とする回路は、チップレイアウト領域ＣＨＰには、論理モジュールＭ１〜Ｍ３（不図示）が配置され、論理モジュールのぞれぞれの領域内でさらに詳細な回路セルが配置される。そして、領域分割部３１は、領域分割処理によりチップレイアウト領域ＣＨＰに４つ分割領域ＤＡ１〜ＤＡ４を設定する。なお、分割領域ＤＡ１〜ＤＡ４は、論理モジュールの区切りに関わらず設定されるものである。
【００７６】
次いで、自動レイアウト装置２は分割領域毎に配線性を見積もる（ステップＳ２１３）。より具体的には、実施の形態２にかかる自動レイアウト装置２では、分割領域（例えば、論理モジュールが配置される領域）をさらに分割する配線格子を設定する。図１４では、この配線格子の概略を示しめした。図１４に示すように、実施の形態２にかかる自動レイアウト装置２では、チップレイアウト領域ＣＨＰに対して境界詳細配線格子線を格子状に配置する。図１４では、境界詳細配線格子線を跨ぐ配線のみを図示した。この境界詳細配線格子線に囲まれる領域がそれぞれ配線格子となる。そして、余裕度見積部２２は、１つの配線格子を囲む辺のそれぞれを通過する配線数の統計を求めることで分割領域ＤＡ１〜ＤＡ４の配線性を見積もる。一の配線格子から他の配線格子に至る配線数が多い場合、一の配線格子の配線性が悪いと考えることができる。つまり、境界詳細配線格子を跨ぐ配線数が多い配線格子は配線性が悪く、境界詳細配線格子を跨ぐ配線数が少ない配線格子は配線性が良いと考えることができる。そこで、自動レイアウト装置２では、境界詳細配線格子を跨ぐ配線数が多く配線性の低い配線格子が多い分割領域は配線余裕度が小さいと判断し、境界詳細配線格子を跨ぐ配線数が少なく配線性の低い配線格子が多い分割領域は配線余裕度が大きいと判断する。
【００７７】
また、自動レイアウト装置２では、ステップＳ２１３の余裕度見積処理において、配線余裕度の大きさに応じて、分割領域を複数の分割領域グループに分類する。実施の形態２にかかる自動レイアウト装置２では、分割領域ＤＡ１〜ＤＡ４を３つの分割領域グループに分類する。この分割領域グループの配線余裕度の設定は、例えば、実施の形態１にかかるモジュールグループと同様に設定することができる。
【００７８】
続いて、実施の形態２にかかる自動レイアウト装置２は、レイアウト最適化処理を行う（ステップＳ２１４）。このレイアウト最適化処理は、ステップＳ２１５のセル候補選択ステップと、Ｓ２１６の回路特性評価ステップと、ステップＳ２１７の終了条件確認ステップとに分けることができる。
【００７９】
まず、セル候補選択ステップは、セル候補選択部２３で行われる処理である。セル候補選択ステップでは、配線余裕度に基づき、配線余裕度の大きなグループに属する分割領域については、複数のセル候補から配線余裕度の小さなセル候補を優先的に選択して、回路セルの置換処理を行う。また、セル候補選択ステップでは、配線余裕度に基づき、配線余裕度の小さなグループに属する論理モジュールについては、複数のセル候補から配線余裕度の大きなセル候補を優先的に選択して、回路セルの置換処理を行う。
【００８０】
続いて行われる回路特性評価ステップは、回路特性評価部２４で行われる処理である。回路特性評価ステップでは、ステップＳ２１５のセル候補選択ステップにおいて選択されたセルを用いた回路のタイミング特性が所定の特性を満たしているか否か、及び、セル候補選択ステップにおいて選択されたセルを用いた回路のリーク電流特性が最適化処理前の回路に対して改善しているか否かを評価する。そして、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達するまでステップＳ２１４の処理を繰り返すようにセル候補選択部２３に指示を与える。一方、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達した場合は、処理を終了して次の処理を行う。
【００８１】
つまり、実施の形態２にかかる自動レイアウト装置２におけるレイアウト最適化処理（ステップＳ２１４）は、実施の形態１のステップＳ１１３のレイアウト最適化処理と同じ処理である。また、実施の形態２においても、ステップＳ２１４のレイアウト最適化処理をクロック配線処理後の第２の仮チップレイアウト情報及び信号配線処理後の第３の仮チップレイアウト情報に対しても行う。
【００８２】
図１３に示す例では、実施の形態２にかかる自動レイアウト装置２は、ステップＳ２１４のレイアウト最適化処理後に、クロック配線処理を行い、第２の仮チップレイアウト情報を生成する（ステップＳ２２０）。第２の仮チップレイアウト情報は、チップ情報の一つであって、ステップＳ２１４のレイアウト最適化処理により最適化された第１の仮チップレイアウト情報にクロック配線のレイアウト情報を追加したものである。
【００８３】
続いて、実施の形態２にかかる自動レイアウト装置２は、第２の仮チップレイアウト情報を余裕度見積部２２に読み込み配線性の見積もり処理を行う（ステップＳ２２１）。このステップＳ２２１の配線性の見積もり処理では、配線性の見積もりと、見積もった配線性（配線余裕度）に基づく分割領域のグループ分けとを行われる。つまり、ステップＳ２２１の配線性の見積もり処理では、分割領域がステップＳ２１３の配線性の見積もり処理とは異なる分割領域グループに分類される可能性がある。なお、ステップＳ２２１の配線性の見積もり処理は、回路セル及びクロック配線がチップレイアウト領域に配置されたレイアウト情報に基づき行われる。
【００８４】
その後、実施の形態２にかかる自動レイアウト装置２は、ステップＳ２１５〜Ｓ２１７と同様のレイアウト最適化処理を実施する（ステップＳ２２２）。
【００８５】
続いて、図１３に示す例では、ステップＳ２２２の回路接続情報に対するレイアウト最適化処理の後に、信号配線部１４による信号配線処理が行われる。そして、この信号配線処理では第３の仮チップレイアウト情報が生成される（ステップＳ２３０）。第３の仮チップレイアウト情報は、チップ情報の一つであって、ステップＳ２２２のレイアウト最適化処理により最適化された第２の仮チップレイアウト情報に信号配線のレイアウト情報を追加したものである。
【００８６】
続いて、実施の形態２にかかる自動レイアウト装置２は、第３の仮チップレイアウト情報を余裕度見積部２２に読み込み配線性の見積もり処理を行う（ステップＳ２３１）。このステップＳ２３１の配線性の見積もり処理では、配線性の見積もりと、見積もった配線性（配線余裕度）に基づく分割領域のグループ分けとを行う。つまり、ステップＳ２３１の配線性の見積もり処理では、分割領域がステップＳ２１３、Ｓ２２１の配線性の見積もり処理とは異なる分割領域グループに分類される可能性がある。なお、ステップＳ２３１の配線性の見積もり処理は、回路セル、クロック配線及び信号配線がチップレイアウト領域に配置されたレイアウト情報に基づき行われる。
【００８７】
その後、実施の形態２にかかる自動レイアウト装置２は、ステップＳ２１５〜Ｓ２１７と同様のレイアウト最適化処理を実施する（ステップＳ２３２）。そして、自動レイアウト装置２は、ステップＳ２３２のレイアウト最適化処理の完了に応じてチップレイアウト情報を生成し、記憶装置Ｆ１１に格納する。
【００８８】
続いて、上記のフローチャートに沿ってレイアウトの最適化処理の効果について説明する。そこで、図１５に実施の形態２にかかる自動レイアウト装置２によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図を示す。
【００８９】
図１５に示す例では、実施の形態２にかかるレイアウト最適化処理前は、分割領域ＤＡ１と分割領域ＤＡ３について配線余裕度が大きく、分割領域ＤＡ２については配線余裕度が小さい状態である。各分割領域の配線余裕度が図１５に示すような場合、実施の形態２にかかる自動レイアウト装置２は、分割領域ＤＡ１、ＤＡ３については、駆動能力を優先したセル候補の選択を行う。つまり、実施の形態２にかかる自動レイアウト装置２は、分割領域ＤＡ１、ＤＡ３については、回路面積が大きなセル候補を優先的に選択する。また、実施の形態２にかかる自動レイアウト装置２は、分割領域ＤＡ２については、回路面積を優先したセル候補の選択を行う。つまり、実施の形態２にかかる自動レイアウト装置２は、分割領域ＤＡ２については、回路面積が小さなセル候補を優先的に選択する。また、実施の形態２にかかる自動レイアウト装置２では、回路面積を第１の優先度の選択事項とするが、第２の優先度選択事項としてリーク電流の低減を考慮する。
【００９０】
このように、論理モジュールの配線余裕度に基づきセル候補を選択することで、レイアウト最適化処理後の回路では、分割領域ＤＡ１については、高駆動・低リーク特性を有するセル候補が属する第２のセル候補グループから選択されたセル候補により回路が構成されたものとなる。また、分割領域ＤＡ２については、低駆動・低リーク特性を有するセル候補が属する第３のセル候補グループから選択されたセル候補により回路が構成されたものとなる。また、分割領域ＤＡ３については、高駆動・高リーク特性を有するセル候補が属する第１のセル候補グループから選択されたセル候補により回路が構成されたものとなる。つまり、レイアウト最適化後の回路は、配線性が良い方向に均一化されながら、タイミング特性及びリーク電流特性が複数の論理モジュールに亘る回路全体で最適化された状態となる。
【００９１】
上記説明より、チップレイアウト領域の分割方法を変更した実施の形態２にかかる自動レイアウト装置２においても、実施の形態１と同様にセル候補の効率的な利用及びレイアウト時間の短縮の効果を得ることができる。
【００９２】
実施の形態３
実施の形態３では、余裕度見積部において採用する余裕度の指標の別の例を説明する。実施の形態３にかかる自動レイアウト装置３のブロック図を図１６に示す。図１６に示すように、自動レイアウト装置３は、演算装置３００を有する。演算装置３００は、実施の形態１にかかる自動レイアウト装置１の余裕度見積部２２に代えて余裕度見積部４２を含むレイアウト最適化処理部４０を有する。なお、実施の形態３の説明では、実施の形態１にかかる自動レイアウト装置１と同じ構成要素については実施の形態１と同じ符号を付して説明を省略する。また、実施の形態３では、領域分割部２１による領域分割処理は、実施の形態１と同様に論理モジュール単位で行われるものとする。
【００９３】
余裕度見積部４２は、特性パラメータとしてタイミング特性を採用する。そして、余裕度見積部４２は、分割領域（例えば、論理モジュール）中の回路のパスのうち予め決められた遅延規定値よりも大きな遅延値を有するパスの数に基づきタイミング余裕度を見積もる。また、余裕度見積部４２は、論理モジュールのタイミング余裕度に大きさに基づき、複数の論理モジュールを複数のモジュールグループに分類する。
【００９４】
そして、実施の形態３では、セル候補選択部２３によるセル候補選択処理として、処理対象の論理モジュールが属するモジュールグループのタイミング余裕度の大きさに応じて、優先的にセル候補を選択するセル候補グループを決定する。より具体的には、セル候補選択処理では、タイミング余裕度が大きなモジュールグループに対しては、低速な信号伝達特性（高遅延特性）を有するセル候補を優先的に選択してレイアウト処理を行い、タイミング余裕度が小さいモジュールグループに対しては、高速な信号伝達特性（低遅延特性）を有するセル候補を優先的に選択してレイアウト処理を行う。
【００９５】
続いて、実施の形態３にかかる自動レイアウト装置３の具体的な処理フローについて説明する。そこで、図１７に、実施の形態３にかかる自動レイアウト装置３による処理のフローチャートを示す。
【００９６】
図１７に示すように、実施の形態３にかかる自動レイアウト装置３の動作は、レイアウト最適化に利用する特性パラメータが異なるのみであり、基本的な動作は実施の形態１にかかる自動レイアウト装置１と同じである。つまり、図１７に示すステップＳ３１２、Ｓ３１３、Ｓ３２１、Ｓ３２２、Ｓ３３１、Ｓ３３２、Ｓ３４１、Ｓ３４２以外の処理及び全体の処理の順序は、実施の形態１にかかる自動レイアウト装置１と同じであるため、ここでは説明を省略する。以下では、実施の形態１と異なる処理となるタイミング余裕度の見積もり処理と、レイアウト最適化処理について特に詳細に説明する。
【００９７】
まず、自動レイアウト装置３におけるタイミング余裕度の見積もり処理（ステップＳ３１２、Ｓ３２１、Ｓ３３１、Ｓ３４１）について説明する。実施の形態３にかかる自動レイアウト装置３では、余裕度見積部４２において論理モジュール内のパスのタイミングをタイミング解析により見積もる。そして、余裕度見積部４２は、予め定められたタイミング仕様とタイミング解析により算出されたタイミングとの差分の大小に基づきタイミング余裕度を見積もる。
【００９８】
また、自動レイアウト装置３では、余裕度見積処理において、タイミング余裕度の大きさに応じて、論理モジュールを複数のモジュールグループに分類する。実施の形態３にかかる自動レイアウト装置３では、論理モジュールＭ１〜Ｍ３を３つのモジュールグループに分類する。そこで、図１８〜図２０に実施の形態３にかかる自動レイアウト装置３におけるモジュールグループと論理モジュールとの関係を示す図を示す。図１８は、実施の形態３にかかる自動レイアウト装置３が第１のモジュールグループに分類するモジュールのタイミング余裕度とパス数との関係を示すグラフである。図１９は、実施の形態３にかかる自動レイアウト装置３が第２のモジュールグループに分類するモジュールのタイミング余裕度とパス数との関係を示すグラフである。図２０は、実施の形態３にかかる自動レイアウト装置３が第３のモジュールグループに分類するモジュールのタイミング余裕度とパス数との関係を示すグラフである。
【００９９】
図１８〜図１９に示すように、自動レイアウト装置３では、各論理モジュールに複数のパスが含まれるため、論理モジュール毎にタイイング余裕度毎のパス数の分布を得ることが出来る。そして、予め決定した閾値αよりも小さいタイミング余裕度のパスの割合を算出することで、複数の論理モジュールを複数のモジュールグループに分類することができる。例えば、閾値αを下回るタイミング余裕度のパス数が全体の１０％の論理モジュールは、タイミング余裕度が大きい第１のモジュールグループに分類する。また、閾値αを下回るタイミング余裕度のパス数が全体の２５％の論理モジュールは、タイミング余裕度が中程度の第２のモジュールグループに分類する。また、閾値αを下回るタイミング余裕度のパス数が全体の４０％の論理モジュールは、タイミング余裕度が小さい第３のモジュールグループに分類する。
【０１００】
続いて、実施の形態３にかかる自動レイアウト装置３におけるレイアウト最適化処理（ステップＳ３１３）について説明する。実施の形態３においても、レイアウト最適化処理は、ステップＳ３１４のセル候補選択ステップと、Ｓ３１５の回路特性評価ステップと、ステップＳ３１６の終了条件確認ステップとに分けることができる。
【０１０１】
まず、セル候補選択ステップは、セル候補選択部２３で行われる処理である。セル候補選択ステップでは、タイミング余裕度に基づき、タイミング余裕度の大きなグループに属する論理モジュールについては、複数のセル候補からタイミング余裕度の小さなセル候補を優先的に選択して、回路セルの置換処理を行う。また、セル候補選択ステップでは、タイミング余裕度に基づき、タイミング余裕度の小さなグループに属する論理モジュールについては、複数のセル候補からタイミング余裕度の大きなセル候補を優先的に選択して、回路セルの置換処理を行う。
【０１０２】
続いて、行われる回路特性評価ステップは、回路特性評価部２４で行われる処理である。回路特性評価ステップでは、ステップＳ３１４のセル候補選択ステップにおいて選択されたセルを用いた回路のタイミング特性が所定の特性を満たしているか否か、及び、セル候補選択ステップにおいて選択されたセルを用いた回路のリーク電流特性が最適化処理前の回路に対して改善しているか否かを評価する。そして、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達するまでステップＳ３１３の処理を繰り返すようにセル候補選択部２３に指示を与える。一方、回路特性評価部２４は、最適化処理後の回路の特性が改善している場合及び最適化処理の回数が所定の回数に達した場合は、処理を終了して次の処理を行う。
【０１０３】
ここで、実施の形態３におけるレイアウト最適化処理についてさらに詳細に説明する。実施の形態３にかかる自動レイアウト装置３では、複数のセル候補が、特性パラメータの大小に応じて複数のセル候補グループに分類される。そして、セル候補選択ステップでは、タイミング余裕度が大きなモジュールグループに対しては、タイミング余裕度が小さいセル候補グループから優先的にセル候補を選択する。また、セル候補選択ステップでは、タイミング余裕度が小さなモジュールグループに対しては、タイミング余裕度が大きなセル候補グループから優先的にセル候補を選択する。
【０１０４】
そこで、実施の形態３にかかるセル候補グループについて説明する。実施の形態３にかかるセル候補グループの概略を示す図を図２１に示す。実施の形態３にかかる自動レイアウト装置３では、セル候補に設定された遅延時間を第１のキーとして複数のセル候補を降順に並べ、さらに、リーク電流量を第２のキーとして複数のセル候補を降順に並べる。そして、セル数がそれぞれ１／３ずつになるように複数のセル候補を３つのグループに分類する。図２１に示す例では、第１のセル候補グループに回路面積が小さく（駆動能力が低く）、リーク電流量が大きなセル候補が分類され、第２のセル候補グループには回路面積が大きく（駆動能力が高く）、リーク電流量が小さなセル候補が分類され、第３のセル候補グループには、回路面積が大きく（駆動能力が高く）、リーク電流量が大きなセル候補が分類される。つまり、第１のセル候補グループには、遅延時間が大きく、タイミング余裕度が小さいセル候補が分類され、第２のセル候補グループには、遅延時間が中程度で、タイミング余裕度が中程度のセル候補が分類され、第３のセル候補グループには、遅延時間が小さく、タイミング余裕度が大きいセル候補が分類される。なお、このセル候補の分類は、論理回路の種類毎、例えば、バッファセル、ＡＮＤセル、ＯＲセル、フリップフロップ等の種類毎に行われる。
【０１０５】
続いて、セル候補選択ステップ及び回路特性評価ステップの詳細な処理について説明する。セル候補選択ステップでは、モジュールグループの余裕度に応じて各セル候補グループから選択するセル候補の数を変更する。そこで、図２２にタイミング余裕度が大きい第１のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。
【０１０６】
図２２に示すように、余裕度が大きな第１のモジュールグループに対しては、セル候補選択部２３は、余裕度が小さな（つまり、回路面積が小さな）セル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度なセル候補が属する第２のセル候補グループに登録されたセル候補から第１のセル候補グループに属するセル種類数の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きな（つまり、回路面積が大きな）セル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ３１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ａ）。
【０１０７】
続いて、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ３１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ｂ）。
【０１０８】
続いて、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ３１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【０１０９】
次に図２３に余裕度が中程度の第２のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。図２３に示すように、余裕度が中程度の第２のモジュールグループに対しては、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録されたセル候補から第２のセル候補グループに属するセル種類数の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ３１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ１１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ１１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ａ）。
【０１１０】
続いて、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ３１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ｂ）。
【０１１１】
続いて、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ３１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【０１１２】
次に図２４に余裕度が小さい第３のモジュールグループに対するレイアウト最適化処理のフローチャートを示す。図２４に示すように、余裕度が小さな第３のモジュールグループに対しては、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループに登録されたセル候補から第１のセル候補グループに属するセル種類数の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第３のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて最初のセル候補選択ステップ（ステップＳ３１４ａ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ａにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ａ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ａ）。
【０１１３】
続いて、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が小さなセル候補が属する第１のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第２のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて２回目のセル候補選択ステップ（ステップＳ３１４ｂ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｂにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｂ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、次のセル候補選択ステップの処理を行う（ステップＳ３１６ｂ）。
【０１１４】
続いて、セル候補選択部２３は、余裕度が小さいセル候補が属する第１のセル候補グループに登録された全セル候補を選択する。また、セル候補選択部２３は、余裕度が中程度のセル候補が属する第２のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／２のセル候補を選択する。また、セル候補選択部２３は、余裕度が大きなセル候補が属する第３のセル候補グループから第１のセル候補グループに属するセル種類数に登録されたセル候補の１／３のセル候補を選択する。そして、セル候補選択部２３は、選択したセル候補を用いて３回目のセル候補選択ステップ（ステップＳ３１４ｃ）を実施する。続いて、回路特性評価部２４は、ステップＳ３１４ｃにおいて選択したセルにより構成される回路の特性評価を行い（ステップＳ３１５ｃ）、評価が妥当なものであれば処理を終了し、評価が妥当なものでない場合、当該処理結果を採用すること無く次の処理を行う。
【０１１５】
ここで、実施の形態３にかかる自動レイアウト装置３においてもセル候補の優先順位は、解探索の順序付け及び評価関数の重み付けの設定により行う。
【０１１６】
続いて、上記のフローチャートに沿ってレイアウトの最適化処理の効果について説明する。そこで、図２５に実施の形態３にかかる自動レイアウト装置３によるレイアウト最適化処理を実施する前に利用される回路セルと、実施後に利用される回路セルと、を説明するための図を示す。
【０１１７】
図２５に示す例では、実施の形態３にかかるレイアウト最適化処理前は、論理モジュールＭ１と論理モジュールＭ３についてタイミング余裕度が大きく、論理モジュールＭ２についてはタイミング余裕度が小さい状態である。各モジュールのタイミング余裕度が図２５に示すような場合、実施の形態３にかかる自動レイアウト装置３は、論理モジュールＭ１、Ｍ３については、リーク電流が小さい低速のセル候補を優先的に選択する。つまり、実施の形態３にかかる自動レイアウト装置３は、論理モジュールＭ１、Ｍ３については、回路面積が小さいセル候補を優先的に選択する。また、実施の形態３にかかる自動レイアウト装置３は、論理モジュールＭ２については、リーク電流が大きい高速のセル候補を優先的に選択する。つまり、実施の形態３にかかる自動レイアウト装置３は、論理モジュールＭ２については、回路面積が大きなセル候補を優先的に選択する。また、実施の形態３にかかる自動レイアウト装置３では、リーク電流を第１の優先度の選択事項とするが、第２の優先度選択事項として回路面積の低減を考慮する。
【０１１８】
このように、論理モジュールのタイミング余裕度に基づきセル候補を選択することで、レイアウト最適化処理後の回路では、論理モジュールＭ１、Ｍ３については、低駆動・低リーク特性を有するセル候補が属する第１のセル候補グループから選択されたセル候補により回路が構成されたものとなる。また、論理モジュールＭ２については、高駆動・高リーク特性を有するセル候補が属する第３のセル候補グループから選択されたセル候補により回路が構成されたものとなる。つまり、レイアウト最適化後の回路は、配線性が方向に均一化されながら、タイミング特性及びリーク電流特性が複数の論理モジュールに亘る回路全体で最適化された状態となる。
【０１１９】
上記説明より、実施の形態３にかかる自動レイアウト装置３においても、実施の形態１にかかる自動レイアウト装置１と同様に、予め準備された複数のセル候補を効率的に利用しながら、タイミング特性及びリーク電流特性が回路全体で最適化されたレイアウト情報を生成することができる。つまり、レイアウト最適化処理において優先する特性パラメータは、形成する半導体装置の特性或いは仕様に応じて適宜選択できる。また、セル候補の分類に用いる順序キーは、最適化処理において採用する特性パラメータ及び半導体装置の特性或いは仕様に応じて決定することができることは、実施の形態１〜３を通して明らかである。
【０１２０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１２１】
１〜３  自動レイアウト装置
１０  自動配置配線処理部
１１  論理合成部
１２  セル配置部
１３  クロック配線部
１４  信号配線部
２０、３０、４０  レイアウト最適化処理部
２１、３１  領域分割部
２２、４２  余裕度見積部
２３  セル候補選択部
２４  回路特性評価部
２５  タイミング特性評価部
２６  リーク電流特性評価部
１００、２００、３００  演算装置
Ｆ１０、Ｆ１１  記憶装置
ＣＨＰ  チップレイアウト領域
Ｍ１〜Ｍ３  論理モジュール
ＤＡ１〜ＤＡ４  分割領域
【図１】
2013257646.tif 000003
【図２】
2013257646.tif 000004
【図３】
2013257646.tif 000005
【図４】
2013257646.tif 000006
【図５】
2013257646.tif 000007
【図６】
2013257646.tif 000008
【図７】
2013257646.tif 000009
【図８】
2013257646.tif 000010
【図９】
2013257646.tif 000011
【図１０】
2013257646.tif 000012
【図１１】
2013257646.tif 000013
【図１２】
2013257646.tif 000014
【図１３】
2013257646.tif 000015
【図１４】
2013257646.tif 000016
【図１５】
2013257646.tif 000017
【図１６】
2013257646.tif 000018
【図１７】
2013257646.tif 000019
【図１８】
2013257646.tif 000020
【図１９】
2013257646.tif 000021
【図２０】
2013257646.tif 000022
【図２１】
2013257646.tif 000023
【図２２】
2013257646.tif 000024
【図２３】
2013257646.tif 000025
【図２４】
2013257646.tif 000026
【図２５】
2013257646.tif 000027