(57)【要約】【課題】      工数の増大を抑えつつ柔軟性の高いセル配置の制御を可能にする集積回路装置のレイアウト方法を提供する。【解決手段】  複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置しセル間を接続する配線を配置するレイアウト方法において，（１）異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域５０を，チップ領域１０内に配置する配置規制領域配置工程と，（２）配置された配置規制領域の第１のレイアウト工程に対応して禁止または許可されたセルの種類に準拠して，チップ領域１０内に所望のセルを配置する第１のレイアウト工程と，（３）配置された配置規制領域の第２のレイアウト工程に対応して禁止または許可されたセルの種類に準拠して，チップ領域１０内に所望のセルを配置する第２のレイアウト工程とを有する。【選択図】    図１０
2007072960.tif 000002
【特許請求の範囲】
【請求項１】
複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，
異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域を，前記チップ領域内に配置する配置規制領域配置工程と，
前記配置された配置規制領域の第１のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第１のレイアウト工程と，
前記配置された配置規制領域の第２のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【請求項２】
請求項１において，
前記セルは，通常セルとタイミング調整用セルとを有し，
前記複数のレイアウト工程は，論理設計データに含まれる通常セルを配置する第１のレイアウト工程と，前記通常セル間を接続する配線の途中に当該配線を伝搬する信号のタイミングを調整するための前記タイミング調整用セルを配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【請求項３】
請求項１において，
前記配置規制領域配置工程では，あらかじめライブラリに登録された複数の配置規制領域から所望の配置規制領域を選択して，前記チップ領域内に配置することを特徴とする集積回路装置のレイアウト方法。
【請求項４】
請求項１において，
前記配置規制領域配置工程では，新たな配置規制領域をライブラリに登録すると共に，当該新たな配置規制領域を前記チップ領域内に配置することを特徴とする集積回路装置のレイアウト方法。
【請求項５】
複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウトプログラムにおいて，
異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域が，前記チップ領域内に配置されたことに応答して，当該配置された配置規制領域をレイアウトデータに関連付ける配置規制領域配置工程と，
前記配置された配置規制領域の第１のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第１のレイアウト工程と，
前記配置された配置規制領域の第２のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第２のレイアウト工程とをコンピュータに実行させる集積回路装置のレイアウトプログラム。
【請求項６】
複数のレイアウト工程を通じて，ライブラリに登録されている複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，
前記ライブラリに登録されているセルデータには，当該セルの周囲の領域であって所定の種類のセルの配置を禁止または許可する配置規制領域データが関連づけられ，
前記レイアウト方法は，
前記ライブラリに登録されているセルを前記チップ領域に順次配置する第１のレイアウト工程と，
前記配置されたセルデータに関連づけられた配置規制領域データの前記禁止または許可されたセルの種類に準拠して，前記ライブラリに登録されているセルを前記チップ領域に順次配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【請求項７】
請求項６において，
前記配置規制領域では，異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可することを特徴とする集積回路装置のレイアウト方法。
【請求項８】
請求項６において，
前記第２のレイアウト工程では，電源間を接続するカップリング容量を有するセルが配置されることを特徴とする集積回路装置のレイアウト方法。
【請求項９】
請求項６において，
前記第１のレイアウト工程では，前記複数のセルとその間の接続とを定義した論理回路データに基づいて前記セルの配置が行われ，
前記第２のレイアウト工程では，前記論理回路データに含まれていないセルの配置が行われることを特徴とする集積回路装置のレイアウト方法。
【請求項１０】
複数のレイアウト工程を通じて，ライブラリに登録されている複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウトプログラムにおいて，
前記ライブラリに登録されているセルデータには，当該セルの周囲の領域であって所定の種類のセルの配置を禁止または許可する配置規制領域データが関連づけられ，
前記レイアウトプログラムは，
前記ライブラリに登録されているセルを前記チップ領域に順次配置する第１のレイアウト工程と，
前記配置されたセルデータに関連づけられた配置規制領域データの前記禁止または許可されたセルの種類に準拠して，前記ライブラリに登録されているセルを前記チップ領域に順次配置する第２のレイアウト工程とをコンピュータに実行させる集積回路装置のレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，半導体集積回路装置のレイアウト方法及びそのレイアウトプログラムに関し，特に，高い柔軟性でセルのレイアウトを制御できる半導体集積回路のレイアウト方法及びそのレイアウトプログラムに関する。
【背景技術】
【０００２】
半導体集積回路の設計工程は，所定の機能の論理回路を設計する論理設計工程と，論理設計工程により生成された論理回路情報であるネットリストをもとにして，自動配置配線プログラムによりチップ上にマクロやセルとそれらを接続する配線をレイアウトするレイアウト工程とを有する。近年の大規模化に伴って，レイアウト工程における工数の増大が問題になっている。
【０００３】
たとえば，入出力回路，論理マクロ，メモリマクロ，セル配置領域などをチップ内に配置するフロアプラン工程の後，セル配置領域内に複数のセルを配置し，セル間の配線を発生させ配置する。この工程で，複数のセルの配置とその接続配線の配置は，自動配置配線プログラムツール（レイアウトプログラム）を実行するコンピュータにより自動的に行われる。したがって，セルの配置が適切でないと，その間の接続配線が長くなったりして接続配線の面積効率が低下したり，一部の接続配線の配置が不可能になったり，さらに，密集した複数のセルへの電源電流の供給不足が発生したりする。
【０００４】
従来，このような不具合が発生しないように，フロアプラン工程の段階で，セルの配置を禁止するセル配置禁止領域や所定の密度以上にセル配置されることを禁止するセル配置禁止領域などを設定して，不具合の原因となる位置，領域にセルが配置されないようにすることが提案されている。たとえば，以下の特許文献１，２，３，４などである。
【特許文献１】特開平１１−３３８８９２号公報
【特許文献２】特開平１０−４１４１号公報
【特許文献３】特開平５−１９０８１３号公報
【特許文献４】特開平５−１５２４３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら，チップ内に配置されるセルは，論理回路を構成する通常のセルに加えて，接続配線の信号遅延特性を改善するためのタイミング調整用セルや，電源配線の電圧変化を緩和するためのキャパシタセルなど複数種類のセルが含まれ，セルの種類に応じて配置すべきでない領域や配置すべき領域が異なる。さらに，自動レイアウト工程の工程毎にセルの配置を制限すべき領域や禁止すべき領域が異なる。そのため，セル配置禁止領域をチップ上に配置したり，一旦配置したセル配置禁止領域を除去したりすることを繰り返し行う必要がある。このようなセル配置禁止領域の配置と除去を繰り返すことは煩雑であり，工数の増大を招き，自動レイアウト工程において好ましくない。
【０００６】
そこで，本発明の目的は，工数の増大を抑えつつ柔軟性の高いセル配置の制御を可能にする集積回路装置のレイアウト方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために，本発明の第１の側面によれば，複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，（１）異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域を，前記チップ領域内に配置する配置規制領域配置工程と，（２）前記配置された配置規制領域の第１のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第１のレイアウト工程と，（３）前記配置された配置規制領域の第２のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第２のレイアウト工程とを有する。
【０００８】
上記の目的を達成するために，本発明の第２の側面によれば，複数のレイアウト工程を通じて，ライブラリに登録されている複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，前記ライブラリに登録されているセルデータには，当該セルの周囲の領域であって所定の種類のセルの配置を禁止または許可する配置規制領域データが関連づけられ，前記レイアウト方法は，（１）前記ライブラリに登録されているセルを前記チップ領域に順次配置する第１のレイアウト工程と，（２）前記配置されたセルデータに関連づけられた配置規制領域データの前記禁止または許可されたセルの種類に準拠して，前記ライブラリに登録されているセルを前記チップ領域に順次配置する第２のレイアウト工程とを有する。
【発明の効果】
【０００９】
上記発明の第１の側面によれば，セルの自動配置工程の前に，異なるレイアウト工程に対応して特定のセルについて配置が許可または禁止される配置規制領域を配置するので，セルの配置位置を柔軟性高いルールで規制することができ，不都合な位置にセルが配置されることを防止することができる。
【００１０】
また，上記発明の第２の側面によれば，ライブラリに登録されているセルに対して，そのセルの周辺領域であって特定のセルについて配置が許可または禁止される配置規制領域が関連付けられているので，そのセルを配置することで同時にそれに関連付けられた配置規制領域が配置され，その後のセルの配置が規制され，不都合な位置にセルが配置されることを防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１２】
最初に，本実施の形態を説明する前に，従来のセル配置禁止領域を利用したレイアウト方法について簡単に説明する。
【００１３】
図１は，従来のセル配置禁止領域を指定するレイアウト方法のフローチャート図である。図２，図３は，それによるレイアウト図である。レイアウト工程の前に，論理回路設計が完了しており，論理回路データであるネットリストが生成済みである。図２（Ａ）に示すように，最初のフロアプラン工程Ｓ１０では，複数の入出力マクロＩＯ，ＲＡＭやＡＬＵなどのマクロＭＣＲ，複数のセルを配置するセル配置領域ＲＯＷを，チップ領域１０上に配置する。図２（Ａ）の例では，セル配置領域ＲＯＷは，入出力マクロＩＯとマクロＭＣＲを除いた領域に指定されている。このフロアプラン工程では，オペレータがマニュアルで配置してもよく，自動配置ツールの所定のアルゴリズムに基づいて自動で配置してもよい。このフロアプラン工程ではチップ領域内の概略的な配置が行われる。
【００１４】
次に，配置禁止領域作成工程Ｓ１２では，図２（Ａ）に示されるように，マクロの周辺にセルの配置を禁止する領域として配置禁止領域２０が作成される。マクロにはその周縁部に入出力ポートが配置されているので，それら入出力ポートへの配線領域を確保する目的で配置禁止領域２０が配置される。さらに，配置禁止領域作成工程Ｓ１２では，図２（Ｂ）に示されるように，マクロ間領域やマクロＭＣＲと入出力マクロＩＯ間の領域にも配置禁止領域２２が作成される。これらの領域にセルが配置されると，マクロＭＣＲの下のセルは一領域ＲＯＷ内のセルとの接続配線が長くなり配線効率が悪くなったり，接続配線自体の配置が不可能になったりするからである。
【００１５】
そして，セル配置及び配線配置工程Ｓ１４では，図３（Ａ）に示されるように，セル配置領域ＲＯＷ内で配置禁止領域２０，２２を除く領域に，通常セル２４が配置される。この例では，３つの通常セル２４−１，２４−２，２４−３がチップ１０の上辺の入出力マクロＩＯに近い位置に配置され，それらを接続する配線経路２６がレイアウトされる。この配線経路２６は例えば論理配線であって，実際に配置される実配線ではない。配線禁止領域２０，２２を設定しておくことで，マクロＭＣＲの周囲や，マクロ間及びマクロＭＣＲと入出力マクロＩＯ間には通常セルは配置されない。
【００１６】
次に，マクロＭＣＲの周辺を除いて配置禁止領域２２が削除される（Ｓ１６）。その結果，図３（Ｃ）に示されるとおり，配置禁止領域２０がマクロＭＣＲの周囲に残る。この状態で，タイミング調整工程Ｓ１８では，セル間の配線経路２６とセルの駆動能力などにしたがって配線経路２６の遅延時間が求められ，それら遅延時間に基づき配線経路を伝搬する信号のタイミング検証が行われる。タイミング検証でタイミング遅れが検出されると，その配線経路内にタイミング調整用のセル２８が配置される。このタイミング調整用セルも，配置禁止領域２０を除くセル配置領域ＲＯＷ内に配置される。図３（Ｃ）の例では，入出力マクロＩＯと通常セル２４−１との間にタイミング調整用セル２８が配置されている。
【００１７】
上記のように，セルの配置を禁止する配置禁止領域をあらかじめ配置した後に，セルの自動配置を行うことで，不都合な位置にセルが配置されるのを防止することができる。しかし，画一的にセルの配置を禁止する領域が指定できるだけであり，レイアウトの異なる工程で異なるセルの配置制御を行うためには，図３（Ｂ）に示したように配置禁止領域２２を削除したり，図２（Ｂ）に示したように配置禁止領域２２を作成したりすることが必要であり，これらを自動化することが困難であり主にオペレータのマニュアルにより行われることが多く，煩雑なオペレーションが必要になる。
【００１８】
次に，本実施の形態について説明する。本実施の形態では，従来例のように画一的にセルの配置を禁止する領域を利用するのではなく，一連のレイアウト工程の異なるレイアウト工程に対応して，所定のセルの配置を禁止または許可する配置規制領域を利用することで，より柔軟性の高いセル配置の制御を可能にするものである。
【００１９】
図４は，本実施の形態におけるレイアウト装置の構成図である。このレイアウト装置は，中央処理ユニットＣＰＵと，メモリＲＡＭと，入出力装置Ｉ／Ｏと，複数のセルが登録されているライブラリ３０と，レイアウトプログラムのモジュールであるフロアプランツール３６，セルレイアウトツール３８，タイミング調整ツール４０とが，バス４２を介して接続されている。そして，レイアウト装置は，論理設計で生成された論理回路データであるネットリスト３４に基づいて，チップ領域内にマクロやセルを配置しその間の接続配線を配置したレイアウトデータ３２を生成する。レイアウトプログラムの各ツール３６，３８，４０の機能については後述する。
【００２０】
図５は，ライブラリデータの一例を示す図である。論理回路データであるネットリストは，複数のセルデータとその接続配線データとを有する。そして，レイアウト工程では，このネットリストに含まれる複数のセルをチップ領域内に配置し，それらを接続する接続配線を生成する。その場合，ライブラリ３０に登録されている複数のセルから所望のセルが選択され，チップ領域内に配置されて，レイアウトデータファイル３２が生成される。ライブラリには，例えば，複数種類の通常セルＲ−ＣＥＬＬ１〜ｎのデータ３４Ａと，複数種類のタイミング調整用セルＴ−ＣＥＬＬ１〜ｍのデータ３４Ｂと，複数種類の配置規制領域＃１〜＃Ｎのデータ３４Ｃとが登録されている。通常セルのデータは，各セルを構成するトランジスタなどの回路要素とそのセル内接続配線のデータを含む。タイミング調整用セルは遅延回路や信号駆動用のバッファなどのセルであり，通常セルのデータと同様に，セルを構成するトランジスタとそのセル内接続配線のデータを含む。一般に，ネットリスト３４は通常セルのデータとその接続配線のデータとを有し，タイミング調整用セルのデータは含まれていない。
【００２１】
本実施の形態では，ライブラリ３４が，一連のレイアウト工程の異なるレイアウト工程に対応して，特定のセルの配置を禁止または許可する配置規制領域のデータ３４Ｃを有する。配置規制領域は単数または複数の種類があり，かかる配置規制領域データは，あらかじめライブラリに登録されているか，或いは，レイアウト工程中にオペレータが任意に生成してライブラリに登録されるかのいずれかである。
【００２２】
図６は，配置規制領域データの例を示す図である。本実施の形態における配置規制領域は，レイアウトプロセスを構成する一連の複数のレイアウト工程のうち，異なるレイアウト工程に対応して，それぞれの工程で特定のセルの配置を禁止または許可する領域である。あらかじめ複数種類の配置規制領域をライブラリに登録しておき，あるいは，レイアウト中に任意の配置規制領域を作成してライブラリに登録し，フロアプラン工程の後で，所望の配置規制領域をチップ領域内に配置する。そして，その配置規制領域内では配置規制領域データに定義されたルールに準拠してセルの自動レイアウトを行うことで，異なる工程において，それぞれ所望のセルが配置される位置または配置されない位置を制御または規制することができる。これらの配置規制領域は，一部または全部が互いに重なり合って配置されることもできる。
【００２３】
図６に示した配置規制領域データは，「配置規制領域ＩＤ」「範囲情報」「工程情報」「配置許可」「配置禁止」の属性データを有する。図６の例では，配置規制領域ＩＤが＃１のデータは，「範囲情報」が「任意の範囲」と，「工程情報」が「セル配置工程」と「タイミング調整工程」と定義されている。そして，「セル配置工程」での「配置許可」は「指定なし」と，「配置禁止」は「すべてのセル」と定義され，「タイミング調整工程」での「配置許可」は「タイミング調整用セル」と，「配置禁止」は「指定なし」と定義されている。つまり，配置規制領域＃１によれば，その領域内において，セル配置工程ではすべてのセルの配置が禁止され配置が許可されるセルの指定はなく，タイミング調整工程ではタイミング調整用セルの配置のみが許可され，配置が禁止されるセルは特に指定されていない。したがって，配置規制領域＃１と指定された領域では，セル配置工程ですべてのセルの配置が禁止され，タイミング調整工程でタイミング調整用セルのみの配置が許可される。
【００２４】
配置規制領域ＩＤが＃２のデータは，「範囲情報」が「任意の範囲」と，「工程情報」が「セル配置工程」と「タイミング調整工程」と「カップリング容量セル配置工程」と定義されている。そして，「セル配置工程」での「配置許可」は「指定なし」と，「配置禁止」は「すべてのセル」と定義され，「タイミング調整工程」での「配置許可」は「指定なし」と，「配置禁止」は「すべてのセル」と定義され，「カップリング容量セル配置工程」での「配置許可」は「カップリング容量セル」と，「配置禁止」は「指定なし」と定義されている。つまり，配置規制領域＃２によれば，その領域内において，セル配置工程とタイミング調整工程ではすべてのセルの配置が禁止され，カップリング容量セル配置工程ではカップリング容量セルのみの配置が許可される。したがって，この領域内にはカップリング容量セルのみが配置可能となる。
【００２５】
なお，カップリング容量セルは，通常ネットリストに含まれていないが，レイアウト工程の最後の工程で，空き領域にカップリング容量セルを配置することで，電源ノイズの発生を抑制するようにすることが行われる。
【００２６】
上記のように，配置規制領域データとして，指定できる範囲を「範囲情報」として定義し，異なる工程に対応して，配置許可されるセルの種類と配置禁止されるセルの種類を定義することで，一連のレイアウト工程のうち異なる工程に対応してセルの配置位置を柔軟に制御または規制することができる。
【００２７】
図７は，第１の実施の形態におけるレイアウト方法のフローチャート図である。また，図８はその変形例である。さらに，図９，図１０は，上記レイアウト方法によりレイアウトされたチップ領域のレイアウト図である。
【００２８】
まず，図７のフローチャートに沿って，図９，図１０を参照しながら，本実施の形態におけるレイアウト方法について説明する。レイアウト工程に先だって，配置規制領域データが作成され，ライブラリ３０に登録されている（Ｓ２０）。配置規制領域データは図６で説明したとおりである。また，ライブラリ３０のデータについても図５で説明したとおりである。
【００２９】
そして，レイアウト工程において，最初に，フロアプラン工程Ｓ１０が行われる。図９（Ａ）はフロアプラン工程により配置されたチップ領域１０を示す。周辺に入出力マクロＩＯが配置され，２つの論理回路またはメモリなどのマクロＭＣＲが配置され，それ以外の位置にセル配置領域ＲＯＷが配置されている。そして，ライブラリ３０に登録されている任意の配置規制領域が，チップ領域１０内に配置される（Ｓ２２）。その結果，レイアウトデータ３２には，配置された配置規制領域のデータが反映される。図９（Ｂ）に示されるように，例えば，マクロＭＣＲ間の領域とマクロＭＣＲと入出力マクロＩＯとの間の領域とに配置規制領域＃１（５０）が配置される。配置規制領域＃１は，図６で説明したとおりである。この例では，１つの配置規制領域５０のみが配置されているが，複数の配置規制領域が排他的にまたは一部重なって配置されてもよい。
【００３０】
配置規制領域が指定された後，セル配置及び配線配置工程Ｓ１４とタイミング調整工程Ｓ１８とが実行される。図１０（Ａ）に示すように，セル配置及び配線配置工程Ｓ１４では，配置規制領域５０内は，セル配置工程Ｓ１４においてすべてのセルの配置が禁止されているので，ネットリスト内の通常セル２４−１，２４−２，２４−３は，配置規制領域５０以外のセル配置領域ＲＯＷ内に配置される。そして，それらのセルを接続する接続配線２６も配置される。したがって，ネットリスト内の通常セルがマクロＭＣＲ間やマクロＭＣＲと入出力マクロＩＯとの間の領域に配置されないように制御または規制することができる。
【００３１】
次に，タイミング調整工程Ｓ１８では，各接続配線における遅延時間が求められタイミング検証が行われる。そして，タイミング検証の結果，タイミングが適切でない場合は，その接続配線の途中にタイミング調整用セル２８が配置される。配置規制領域５０内は，タイミング調整工程ではタイミング調整用セルのみの配置が許可されているので，図１０（Ｂ）に示されるように，その配置規制領域５０内にタイミング調整用セル２８−１が配置され，さらに，セル配置領域ＲＯＷ内にもタイミング調整用セル２８−２が配置される。このタイミング調整用セルは，接続配線を伝搬する信号のタイミングを遅延させてタイミングを調整するものであり，通常はネットリストに含まれていない。
【００３２】
このように，レイアウト工程Ｓ１４，Ｓ１８において，自動レイアウトツール３８，４０は，レイアウトデータファイル３２に反映されている配置規制領域の位置と属性データを参照し，それに準拠して，禁止されているセルを配置せず，許可されているセルを自動配置する。このように，配置規制領域データを利用することで，従来のようにセル配置禁止領域を発生させたり削除させたりといった煩雑な処理を繰り返す必要がなくなる。さらに，配置規制領域を複数種類定義してライブラリに登録しておくことで，所望の配置規制領域を配置することで，セル配置の制御または規制を高い柔軟性で行うことができ，レイアウト工程において利便性を高めることができる。
【００３３】
図８では，レイアウト工程の途中で，配置規制領域の配置工程Ｓ２２Ａと，そのデータ作成及びライブラリへの登録工程Ｓ２２Ｂとが行われる。つまり，オペレータは，あらかじめライブラリ３０に登録されている配置規制領域以外に，所望の配置規制領域を作成し，チップ領域内に配置し，ライブラリ３０に登録することができる。そのような配置規制領域のカスタマイズを可能にすることで，オペレータにより高い利便性を提供することができる。図８において，セル配置及び配線配置工程Ｓ１４とタイミング調整工程Ｓ１８とは，図７と同じである。
【００３４】
［第２の実施の形態］
図１１は，セルが集中して配置された場合の問題点を示す図である。セル配置領域ＲＯＷ内には，垂直方向に延びる電源配線ＰＷ１，ＰＷ２（グランド電位と電源電位）が所定の距離を隔てて配置され，水平方向には，セルを配置するセルアレイ領域ＣＡＲＲＹと，セル間を接続する配線領域ＣＬＩＮＥとが配置される。図１１の例では，真ん中の領域に１２個のセルＣＬが集中して配置されている。このように，複数のセルが集中して配置されると（図中１０２），セル間を接続する配線密度が高くなりすぎて必要な配線を配置することができなくなる。さらに，集中配置されたセルへの消費電流がセル電源供給用の電源配線の電流容量を超えて，領域１００のところで電源配線の電流密度違反を発生させたり，消費電流の増大に伴う電源ノイズが大きくなったりなどの問題を生じる。従来は，このようなセルの集中配置が発生すると，例えばオペレータがマニュアルでセルを分散して再配置させたりする必要があり，レイアウト工数を増やしていた。
【００３５】
図１２は，第２の実施の形態における通常セルとそれに関連付けられている配置規制領域とを示す図である。第２の実施の形態では，図１２（Ａ）に示すように，通常セルＣＬＡの周囲，特に隣接してセルが配置される可能性のある周囲の領域（図中では左右）に，配置規制領域５２，５４が配置される。つまり，通常セルのデータには，その左右領域に配置規制領域が配置されるように配置規制領域データが関連付けられている。図１２（Ａ）の例では，セルＣＬＡの左右に配置規制領域（＃２）５４が配置され，さらにセルＣＬＡの左右に配置規制領域（＃２）５４を含むより広い領域に配置規制領域（＃１）５２が配置されている。
【００３６】
図１２（Ｂ）に上記の２つの配置規制領域＃１，＃２のデータ例が示されている。この配置規制領域データも，前述と同様に，属性データとして「配置規制領域ＩＤ」「範囲情報」「工程情報」「配置許可」「配置禁止」を有する。さらに，関連付けられるセルのセルＩＤが含まれる。つまり，図１２（Ｂ）の例では，セルＡ（セルＩＤ）に配線規制領域＃１，＃２が関連付けられている。そして，配線規制領域＃１は，「範囲情報」として「セルの左右にセルＡの幅」が，「工程情報」として「指定なし」が，「配置許可」として「設定なし」が，「配置禁止」として「セルＡ」がそれぞれ設定されている。したがって，配置規制領域＃１内にはセルＡの配置がレイアウト工程にかかわらず禁止される。これにより，一旦セルＡを配置すると，その両側にセルＡの幅分の領域には，同じセルＡが配置されることはない。このことは，セルＡがクロックに同期して動作するクロックバッファやフリップフロップなどの場合は，同じセルＡが隣接して配置されると消費電流が集中するので，この配置規制領域＃１を両側に関連付けておくことで，同じセルＡが隣接して配置されることを回避するように制御または規制することができることを意味する。
【００３７】
配置規制領域＃２は，「範囲情報」として「セルの左右にセルＣの幅」が，「工程情報」として「指定なし」が，「配置許可」として「セルＣ」が，「配置禁止」として「設定なし」がそれぞれ設定されている。したがって，配置規制領域＃２にはセルＣの配置がレイアウト工程にかかわらず許可される。セルＣの例としては，電源配線間に設けられるデカップリング容量セルである。デカップリング容量セルを設けることで，セルＡが動作したことに伴って消費電流により電源電位が変動することを抑えることができる。このように，セルＡがクロック同期で動作する場合，その入出力端子近傍にデカップリング容量セルを配置する領域を確保しておけば，電源ノイズを抑制することができる。
【００３８】
第２の実施の形態におけるレイアウト工程は，図７及び図８と同じである。ただし，第２の実施の形態では，特定のセルに対して特定の配置規制領域が付加されているので，特定のセルを配置するとそれに関連付けられた配置規制領域も同時に配置されることになる。
【００３９】
図１３，図１４，図１５は，第２の実施の形態におけるレイアウト工程中のレイアウト図である。図７，図８のフローチャート図のセル配置工程Ｓ１４において，ネットリスト内のセルが順次自動配置される。図１３では，セルアレイ領域ＣＡＲＲＹ内にセルＡ（ＣＬＡ）が配置されている。図１２で説明したとおりセルＡ（ＣＬＡ）の左右にはセルＡの配置を禁止する配置規制領域＃１がセルＡの幅の大きさで配置されるので，セルＡ（ＣＬＡ）の両側には同じセルＡ（ＣＬＡ）が配置されることはない。つまり，図１３では，セルの自動レイアウトツールは，１個のセルＡ（ＣＬＡ）を配置すると，それに関連付けられている配置規制領域データをレイアウトデータに反映する。それにともなって，次のセルＡを自動配置するとき，先に配置されたセルＡの左右の配置規制領域＃１にはセルＡの配置が禁止され，その領域を除いてセルＡが自動は位置される。その結果，複数のセルＡが，配置規制領域＃１を隔てて配置されることになり，セルＡの密度や個数を所望の密度，個数に制御または規制することができる。
【００４０】
次に，図１４では，他のセル６０が配置される。セルＡの両側の配置規制領域＃１には，セルＡの配置を禁止するのみであり，他のセル６０を配置することは許可されている。一方，セルＡの両側の配置規制領域＃２には，セルＣの配置が許可されるのみであり，他のセル６０を配置することは許可されていない。そこで，図１３の配置規制領域＃１であって，配置規制領域＃２でない領域に，他のセル６０が配置される。
【００４１】
最後に，図１５では，セルＣ（ＣＬＣ）が配置される。この場合，配置規制領域＃２にはセルＣ（ＣＬＣ）のみ配置が許可されているので，配置規制領域＃２内にはセルＣ（ＣＬＣ）が配置される。これにより，セルＡ（ＣＬＡ）の両側には多くのセルＣ（ＣＬＣ）が配置されることになる。セルＣがデカップリング容量セルであれば，セルＡのクロック同期の動作による電源ノイズの発生を抑制することができる。デカップリング容量セルは，通常はネットリストに含まれていないセルである。
【００４２】
以上のように，セルの近傍に配置規制領域が配置されるようにセルデータに配置規制領域データを関連付けておけば，セルを配置する時に同時に配置規制領域を配置することができ，それ以後のセル配置を制御または規制することができる。
【００４３】
第２の実施の形態では，配置規制領域データが工程情報に対応して「配置許可」「配置禁止」を設定していないが，第１の実施の形態と同様に工程情報に対応して「配置許可」「配置禁止」を設定してもよい。
【００４４】
セルの両側に配置する配置規制領域＃１の範囲は，電源配線ＰＷ１，ＰＷ２が供給可能な消費電流と，電源配線間の距離とから配置可能なセル密度やセル数に基づいて，設定される。その範囲を大きくすれば，配置されるセル密度を下げて配置されるセル数を減らすことができる。逆に，その範囲を小さくすれば，セル密度を上げてセル数を増やすことができる。
【００４５】
以上の実施の形態をまとめると，次の付記のとおりである。
【００４６】
（付記１）複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，
異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域を，前記チップ領域内に配置する配置規制領域配置工程と，
前記配置された配置規制領域の第１のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第１のレイアウト工程と，
前記配置された配置規制領域の第２のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【００４７】
（付記２）付記１において，
前記セルは，通常セルとタイミング調整用セルとを有し，
前記複数のレイアウト工程は，論理設計データに含まれる通常セルを配置する第１のレイアウト工程と，前記通常セル間を接続する配線の途中に当該配線を伝搬する信号のタイミングを調整するための前記タイミング調整用セルを配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【００４８】
（付記３）付記１において，
前記配置規制領域配置工程では，あらかじめライブラリに登録された複数の配置規制領域から所望の配置規制領域を選択して，前記チップ領域内に配置することを特徴とする集積回路装置のレイアウト方法。
【００４９】
（付記４）付記１において，
前記配置規制領域配置工程では，新たな配置規制領域をライブラリに登録すると共に，当該新たな配置規制領域を前記チップ領域内に配置することを特徴とする集積回路装置のレイアウト方法。
【００５０】
（付記５）付記１において，
前記第１のレイアウト工程では，前記複数のセルとその間の接続とを定義した論理回路データに基づいて前記セルの配置が行われ，
前記第２のレイアウト工程では，前記論理回路データに含まれていないセルの配置が行われることを特徴とする集積回路装置のレイアウト方法。
【００５１】
（付記６）複数のレイアウト工程を通じて，複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウトプログラムにおいて，
異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可する配置規制領域が，前記チップ領域内に配置されたことに応答して，当該配置された配置規制領域をレイアウトデータに関連付ける配置規制領域配置工程と，
前記配置された配置規制領域の第１のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第１のレイアウト工程と，
前記配置された配置規制領域の第２のレイアウト工程に対応して前記禁止または許可されたセルの種類に準拠して，前記チップ領域内に所望のセルを配置する第２のレイアウト工程とをコンピュータに実行させる集積回路装置のレイアウトプログラム。
【００５２】
（付記７）複数のレイアウト工程を通じて，ライブラリに登録されている複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウト方法において，
前記ライブラリに登録されているセルデータには，当該セルの周囲の領域であって所定の種類のセルの配置を禁止または許可する配置規制領域データが関連づけられ，
前記レイアウト方法は，
前記ライブラリに登録されているセルを前記チップ領域に順次配置する第１のレイアウト工程と，
前記配置されたセルデータに関連づけられた配置規制領域データの前記禁止または許可されたセルの種類に準拠して，前記ライブラリに登録されているセルを前記チップ領域に順次配置する第２のレイアウト工程とを有することを特徴とする集積回路装置のレイアウト方法。
【００５３】
（付記８）付記７において，
前記配置規制領域では，異なるレイアウト工程に対応して所定種類のセルの配置を禁止または許可することを特徴とする集積回路装置のレイアウト方法。
【００５４】
（付記９）付記７において，
さらに，前記配置されたセル間を接続する接続配線を前記チップ領域に配置する第３のレイアウト工程を有することを特徴とする集積回路装置のレイアウト方法。
【００５５】
（付記１０）付記７において，
前記第２のレイアウト工程では，電源間を接続するカップリング容量を有するセルが配置されることを特徴とする集積回路装置のレイアウト方法。
【００５６】
（付記１１）付記７において，
前記第１のレイアウト工程では，前記複数のセルとその間の接続とを定義した論理回路データに基づいて前記セルの配置が行われ，
前記第２のレイアウト工程では，前記論理回路データに含まれていないセルの配置が行われることを特徴とする集積回路装置のレイアウト方法。
【００５７】
（付記１２）複数のレイアウト工程を通じて，ライブラリに登録されている複数のセルをチップ領域内に配置し前記セル間を接続する配線を配置するレイアウトプログラムにおいて，
前記ライブラリに登録されているセルデータには，当該セルの周囲の領域であって所定の種類のセルの配置を禁止または許可する配置規制領域データが関連づけられ，
前記レイアウトプログラムは，
前記ライブラリに登録されているセルを前記チップ領域に順次配置する第１のレイアウト工程と，
前記配置されたセルデータに関連づけられた配置規制領域データの前記禁止または許可されたセルの種類に準拠して，前記ライブラリに登録されているセルを前記チップ領域に順次配置する第２のレイアウト工程とをコンピュータに実行させる集積回路装置のレイアウトプログラム。
【図面の簡単な説明】
【００５８】
【図１】従来のセル配置禁止領域を指定するレイアウト方法のフローチャート図である。
【図２】従来のセル配置禁止領域を指定するレイアウト方法によるレイアウト図である。
【図３】従来のセル配置禁止領域を指定するレイアウト方法によるレイアウト図である。
【図４】本実施の形態におけるレイアウト装置の構成図である。
【図５】ライブラリデータの一例を示す図である。
【図６】配置規制領域データの例を示す図である。
【図７】第１の実施の形態におけるレイアウト方法のフローチャート図である。
【図８】第１の実施の形態におけるレイアウト方法のフローチャート図である。
【図９】第１の実施の形態のレイアウト方法によりレイアウトされたチップ領域のレイアウト図である。
【図１０】第１の実施の形態のレイアウト方法によりレイアウトされたチップ領域のレイアウト図である。
【図１１】セルが集中して配置された場合の問題点を示す図である。
【図１２】第２の実施の形態における通常セルとそれに関連付けられている配置規制領域とを示す図である。
【図１３】第２の実施の形態におけるレイアウト工程中のレイアウト図である。
【図１４】第２の実施の形態におけるレイアウト工程中のレイアウト図である。
【図１５】第２の実施の形態におけるレイアウト工程中のレイアウト図である。
【符号の説明】
【００５９】
１０：チップ領域                ＩＯ：入出力マクロ
ＭＣＲ：マクロ                  ＲＯＷ：セル配置領域
５０：配置規制領域              ２４：通常セル
２６：配線経路                  ２８：タイミング調整用セル
【図１】
2007072960.tif 000003
【図２】
2007072960.tif 000004
【図３】
2007072960.tif 000005
【図４】
2007072960.tif 000006
【図５】
2007072960.tif 000007
【図６】
2007072960.tif 000008
【図７】
2007072960.tif 000009
【図８】
2007072960.tif 000010
【図９】
2007072960.tif 000011
【図１０】
2007072960.tif 000012
【図１１】
2007072960.tif 000013
【図１２】
2007072960.tif 000014
【図１３】
2007072960.tif 000015
【図１４】
2007072960.tif 000016
【図１５】
2007072960.tif 000017