(57)【要約】【課題】  本発明の課題は、配線混雑を防止しながらセルの配置領域の拡大を抑制することことを目的とする。【解決手段】  上記課題は、配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、前記集中箇所の配線指数を算出する配線指数算出手順と、前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータが実行することを特徴とする半導体集積回路の設計方法により達成される。【選択図】  図３
2010218498.tif 000002
【特許請求の範囲】
【請求項１】
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、
前記集中箇所の配線指数を算出する配線指数算出手順と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、
前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータが実行することを特徴とする半導体集積回路の設計方法。
【請求項２】
前記配線指数算出手順において、該集中箇所内の総端子数に対する前記集中箇所での全配線層で配線可能な総本数の割合を前記配線指数として算出することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記設定幅以下となる論理セルに対して、該設定幅より幅広の順に他論理セルを隣接させるように前記隣接制約を示す隣接制約テーブルを作成する隣接制約テーブル作成手順を有し、
前記隣接制約再配置手順において、前記隣接制約テーブルで示される前記隣接制約が参照されることを特徴とする請求項１又は２記載の半導体集積回路の設計方法。
【請求項４】
前記隣接制約に基づいて、前記配置領域に前記論理セル群を直接に配置する隣接制約直接配置手順を有し、
前記コンピュータが、前記隣接制約の適用形態に応じて、前記仮想的配置手順から前記実配置手順を抑止して、前記仮想的配置手順を選択的に実行することを特徴とする請求項１乃至３のいずれか一項記載の半導体集積回路の設計方法。
【請求項５】
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手段と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手段と、
前記集中箇所の配線指数を算出する配線指数算出手段と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手段と、
前記隣接制約再配置手段による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手段とを有することを特徴とする回路設計装置。
【請求項６】
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、
前記集中箇所の配線指数を算出する配線指数算出手順と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、
前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータに実行させ半導体集積回路の設計を行わせることを特徴とするコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法及び回路設計装置に関する。
【背景技術】
【０００２】
半導体集積回路のレイアウト設計に係る論理セルの配置処理において、小さな論理セル(以下小セル)が局所的に集中して配置されることによる配線チャネルの不足により、当該論理セルの入出力端子に接続される配線が混雑し、配線ショートや未配線が発生するという問題がある。
【０００３】
この問題に対して、連続して配置された複数の基本論理セルからなる基本論理セル群の入出力端子密度が規定値を超えている場合に基本論理セルのセル枠の外側に配線領域を設けた基本論理セルと同一機能を有する拡大論理セルに置き換えるようにした技術、複数の論理セルを配置したチップ内において配線の混雑度の高い小領域内の論理セルを再配置するようにした技術、そして、概略配線後の結果を元に検出した配線混雑範囲にあるスタンダードセルを高さが低いスタンダードセルに置き換えるようにした技術などが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−５０８４４号公報
【特許文献２】特開２００３−４４５３６号公報
【特許文献３】特開２００５−１９１３７５号公報
【特許文献４】特開２００８−９８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来技術のような論理セルの幅などを変更することによって配線チャネルを確保する方法では、変更対象の論理セルの側面に配線チャネルを物理的に確保することになり、結果として論理セルの配置領域が拡大してしまう。そのため、論理セルの集積度が上がらないという問題があった。
【課題を解決するための手段】
【０００６】
開示の半導体集積回路の設計方法は、配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、前記集中箇所の配線指数を算出する配線指数算出手順と、前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータが実行するように構成される。
【発明の効果】
【０００７】
配線混雑を防止しながら論理セルの配置領域の拡大を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施例に係るＬＳＩ設計装置の構成例を示す図である。
【図２】論理セル群の仕様の一例を示す図である。
【図３】本発明に係る論理セル配置処理を説明するためのフローチャート図である。
【図４】制御カードのデータ例を示す図である。
【図５】隣接制約テーブルのデータ例を示す図である。
【図６】隣接制約を考慮しない仮想的な論理セルの配置例を示す図である。
【図７】該当論理セルが集中して配置されている領域を示す図である。
【図８】隣接制約を有効とした仮想的な論理セルの再配置例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
図１は、本発明の一実施例に係るＬＳＩ設計装置の構成例を示す図である。図１において、ＬＳＩ設計装置１００は、論理セル（単にセルとも言う）群を半導体集積回路（ＬＳＩ）の配置領域に配置するコンピュータ装置であって、中央処理装置７ａとメインプログラム記憶部７ｂとを備えた制御部７と、一時記憶部７ｃと、入出力端末装置９と、レイアウトデータを格納する第１の記憶部１０と、ライブラリデータを格納する第２の記憶部２０と、第３の記憶部３０とで構成され、バスＢ等で互いに接続される。第１から第３の記憶部１０から３０は、１つの記憶装置に夫々の記憶領域として構成されていてもよいし、別々の記憶装置としてＬＳＩ設計装置１００に備えられていてもよい。
【００１１】
第１の記憶部１０は、レイアウトデータを記憶する記憶部であり、ＬＳＩ論理設計データ１１と、ＬＳＩ物理設計データ１２と、タイミング制約データ１３と、制御カード１４とを記憶している。ＬＳＩ論理設計データ１１と、ＬＳＩ物理設計データ１２と、タイミング制約データ１３と、制御カード１４とは、制御部７での処理のために入力されるデータである。
【００１２】
ＬＳＩ論理設計データ１１は、機能モジュールを全て含むチップトップのネットリストを示すデータである。ＬＳＩ物理設計データ１２は、機能モジュール名のリストと機能モジュールの配置とを示すデータである。タイミング制約データ１３は、タイミングを考慮した配置処理時に参照されるデータであり、回路のクロック情報、マルチパス、フォールトパス等が記述されている。
【００１３】
制御カード１４は、自動配置処理を制御するための種々のパラメータである。制御カード１４には、後述される、幅広の論理セルの上部の配線層を利用できるように隣接する論理セルを制約するように定めた隣接制約パラメータなどが示される。物理レイアウトデータ１５は、制御部７から出力された各論理セルの配置のデータである。
【００１４】
第２の記憶部２０は、ライブラリデータを記憶する記憶部であり、セルタイミングライブラリ２１と、セル物理ライブラリ２２とを記憶している。セルタイミングライブラリ２１は、ユニットセル、マクロセルなどのタイミングライブラリである。セル物理ライブラリ２２は、ユニットセル、マクロセルの面積ライブラリである。
【００１５】
第３の記憶部３０は、制御プログラムを記憶する記憶部であり、その制御プログラムは少なくとも入力情報読込プログラム３１と、隣接制約作成プログラム３２と、集中箇所算出プログラム３３と、配線指数算出プログラム３４と、後述される隣接制約が有効の場合の第１のセル配置プログラム３５と、隣接制約が無効の場合の第２のセル配置プログラム３６とを含んで構成される。
【００１６】
制御プログラムは、制御部７の中央演算装置７ａによって実行され、図３に示すような本発明に係るセル配置処理を実現する。制御プログラムは、ＣＤ−ＲＯＭ等の記憶媒体又はプラグアンドプレイなどによって接続可能な外部記憶装置からインストーラによって第３の記憶部３０へロードしてもよい。また、ＬＳＩ設計装置１００がネットワークに接続可能な通信装置を備えている場合、ネットワークを介して制御部ログラムをダウンロードしてもよい。
【００１７】
本実施例では、図３で説明するセル配置処理において処理の対象となる論理セル群が、例えば図２に示すような仕様である場合で説明する。図２は、論理セル群の仕様の一例を示す図である。図２に示す論理セル群の仕様４１において、名称がセルＡ、セルＢ、セルＣ、及びセルＤの論理セルの各々に対して、端子数、セル幅、配線層毎の配線通過可能な本数などが定義されるものとする。この例では、セルＡからＤの端子数は各々２本ずつであり、セルの幅はセルＡからＤの順で狭く（小さく）なる。
【００１８】
配線層毎の配線通過可能な本数は、配線グリッドに基づくセル幅に対して配線通過可能な本数を示す。例えば、セルＡのセル幅に対して、横配線となる１層及び３層では４本、縦配線となる２層及び４層では３本が配線通過可能な本数であることを示している。
【００１９】
図３は、本発明に係る論理セル配置処理を説明するためのフローチャート図である。図３において、制御部７は、入力情報読込プログラム３１を実行することによって、レイアウトに必要なデータを読み込む（ステップＳ１）。制御部７は、ＬＳＩ論理設計データ１１から接続関係を示すネットリスト、ＬＳＩ物理設計データ１２からモジュール配置情報、タイミング制約データ１３、セルタイミングライブラリ２１及びセル物理ライブラリ２２等のライブラリデータ、及び制御カード１４の読み込みを行う。
【００２０】
制御カード１４は、例えば図４に示すような本実施例に係るパラメータを含む。図４において、パラメータ１４ａ（control_minimum_cell）には、隣接制約を設定する論理セルの幅（μm）が設定される。ここで示されている幅以下の論理セルに隣接制約が設定される。パラメータ１４ｂ（L＊_available（＊は配線層））は、配線層毎の配線可能な割合を示す。配線層毎に配線可能な割合を％で設定されている。
【００２１】
パラメータ１４ｃ（m_limit）には、パラメータ１４ａ（control_minimum_cell）で設定された幅の論理セルが集中して配置されている領域に対して、後述されるステップＳ７にて算出される配線指数ｍに対する制限値が設定される。ステップＳ７にて算出された配線指数が、当該制限値よりも小さい場合に、隣接制約を有効にして再配置が行われる。パラメータ１４ｄ（place_control）には、隣接制約の有無を示す。隣接制約の有効（true）又は無効（false）が設定される。
【００２２】
パラメータ１４ｅ（place_control_immediately）には、最初から隣接制約を有効にして配置する場合には有効（true）が設定され、一方で、従来の配置アルゴリズムで仮想的に配置した後でパラメータ１４ａ（control_minimum_cell）で設定された幅以下の論理セルが集中して配置されている領域の配線指数を算出し、その配線指数とパラメータ１４ｃ（m_limit）の制限値の比較による所定の条件下において隣接制約を有効にする場合には、無効（false）が設定される。
【００２３】
上述したパラメータ１４ａから１４ｅの設定値の例として、パラメータ１４ａ（control_minimum_cell）には、セルＤを該当論理セルとして隣接制約を設定するための「１．２」μｍが設定される。
【００２４】
パラメータ１４ｂ（L＊_available（＊は配線層））には、１層から４層の配線可能な割合として、
・１層(横)の配線可能な割合としてL1_availableに「１０」％
・２層(縦)の配線可能な割合としてL2_availableに「７０」％
・３層(横)の配線可能な割合としてL3_availableに「７０」％
・４層(縦)の配線可能な割合としてL4_availableに「７０」％
のように設定される。
【００２５】
パラメータ１４ｃ（m_limit）には、配線指数の制限値を示す「１．０」が設定される。パラメータ１４ｄ（place_control）には、隣接制約の有効を示す「true」が設定される。パラメータ１４ｅ（place_control_immediately）には、配線指数と制限値の比較結果により隣接制約を有効にすることを示す「false」が設定される。
【００２６】
このような制御データ１４を含むレイアウトに必要なデータを読み込んだ後、制御部７は、配置処理にて配置領域とこの配置領域に配置される論理セル群とを決定する（ステップＳ２）。そして、制御部７は、隣接制約は有効か否かを判断する（ステップＳ３）。つまり、制御部７によって、制御カード１４のパラメータ１４ｄ（place_control）に隣接制約の有効（true）が設定されているか否かが判断される。パラメータ１４ｄ（place_control）が無効（false）に設定されている場合、制御部７は、第２のセル配置プログラム３６を実行することによって、従来の配置アルゴリズムにより配置領域内に論理セル群を直接に配置して（ステップＳ３−２）、この論理セル配置処理を終了する。
【００２７】
一方、ステップＳ３にて、パラメータ１４ｄ（place_control）が有効（true）に設定されている場合、制御部７は、隣接制約作成プログラムを実行することによって、セル物理ライブラリ２２を参照して制御カード１４のパラメータ１４ａ（control_minimum_cell）に設定されたセル幅以下の論理セルについて、例えば、図５に示すような隣接制約テーブル４２を作成し一時記憶部７ｃに格納する（ステップＳ４）。ここで、隣接制約テーブル４２を入出力端末装置９に出力させ、ユーザーによって変更可能としてもよい。
【００２８】
図５に示す隣接制約テーブル４２では、図２に示す論理セル群の仕様４１で示されるセルＡからＤに対応させて、制御カード１４のパラメータ１４ａ（control_minimum_cell）の対象論理セルの幅「１．２」μｍ以下となる論理セルに隣接して配置する論理セルに対する隣接配置の優先順位を示す隣接制約が定義される。セルＡからセルＣは、制御カード１４のパラメータ１４ａ（control_minimum_cell）の対象論理セルの幅「１．２」μｍより幅広であるため、隣接制約は未設定となる。一方、セルＤは、この対象論理セルの幅「１．２」μｍ以下であるため、より幅広の論理セル順に「セルＡ、セルＢ、セルＣ、セルＤ」によって隣接配置の優先順位が定義される。
【００２９】
図３に戻り、制御部７は、更に、隣接制約の適用形態として、制御カード１４のパラメータ１４ｅ（place_control_immediately）に、最初から隣接制約を有効にして配置する有効（true）が設定されているのか、所定の条件下において隣接制約を有効として配置する無効（false）が設定されているのかを判断する（ステップＳ５）。パラメータ１４ｅ（place_control_immediately）に最初から隣接制約を有効にして配置する有効（true）が設定されている場合、制御部７は、第１のセル配置プログラム３５を実行することによって、隣接制約に基づき配置領域内に論理セル群を直接に配置する（ステップＳ５−２）。
【００３０】
一方、ステップＳ５にて、パラメータ１４ｅ（place_control_immediately）に所定の条件下において隣接制約を有効として配置する無効（false）が設定されている場合、制御部７は、第２のセル配置プログラム３６を実行することによって、隣接制約テーブル４２を考慮せずに、従来の配置アルゴリズムにより配置領域内に論理セル群を仮想的に配置する（ステップＳ６）。論理セルの配置は、例えば、ＭＩＮＣＵＴ法などを利用して行う。ステップＳ６による隣接制約を考慮しない仮想的な論理セルの配置によって、例えば、配置領域内に図６に示すようにセルＡからＤが配置される。
【００３１】
次に、制御部７は、集中箇所検出プログラム３３を実行することによって、制御カード１４のパラメータ１４ａ（control_minimum_cell）によって所定幅以下の論理セルとなるセルＤが集中している領域を探索する（ステップＳ７）。所定幅以下の論理セルが集中している領域とは、ＭＩＮＣＵＴ法などによって分割された配置領域内にて、該当論理セルが所定個数以上に上下左右に連続して配置されている部分領域である。制御部７は、該当論理セルとなるセルＤが集中している領域があったか否かを判断する（ステップＳ７−２）。該当論理セルとなるセルＤが集中している領域がない場合、制御部７はステップＳ１０へと進む。該当論理セルとなるセルＤが集中している領域があった場合、制御部７は、ステップＳ８へと進む。この場合、ステップ７が実行された回数をカウントしておき、このステップＳ７−２で、該当論理セルが集中している領域があるものの、かつカウント値が所定回数に達している場合には、ステップＳ１０へ進むように制御するようにして、後述されるステップＳ９−２からのループを抑制するようにしてもよい。
【００３２】
制御部７は、例えば、図７に示すような領域４３を探索した場合、ステップＳ７によって探索された該当論理セルが集中する領域４３の配線指数ｍを算出する（ステップＳ８）。制御部７は、論理セル群の仕様４１に従って、例えば、配線指数ｍを下記式１によって算出する。なお、式１の”INT”は、INTの後に続く括弧の中の計算結果から、整数を取り出すことを表す。例えば、P1が16、k1が０．１の場合、INT（P1*k１）＝INT（１６×０．１）＝INT（１．６）＝１となる。
【００３３】
配線指数ｍ＝（INT（P1*k1）+INT（P2*k2）+INT（P3*k3）+INT（P4*k4））／Ｎ
・・・・・・・式１
Ｎ：該当論理セルが集中している領域内の総端子数
Ｐ１：１層目（横配線）の配線可能な本数
Ｐ２：２層目（縦配線）の配線可能な本数
Ｐ３：３層目（横配線）の配線可能な本数
Ｐ４：４層目（縦配線）の配線可能な本数
ｋ１：１層目（横配線）の配線可能な割合
ｋ２：２層目（縦配線）の配線可能な割合
ｋ３：３層目（横配線）の配線可能な割合
ｋ４：４層目（縦配線）の配線可能な割合
【００３４】
領域４３について式１を適用すると、セルＤが集中している領域内の総端子数Ｎは、１６セルに論理セル群の仕様４１からセルＤの端子数２本を乗算して３２本となる。また、論理セル群の仕様４１からセルＤの配線層毎の配線通過可能な本数から、１層目（横配線）の配線可能な本数Ｐ１は４本に４行を乗算して１６本となり、２層目（縦配線）の配線可能な本数Ｐ２は３本に４列を乗算して１２本となり、３層目（横配線）の配線可能な本数Ｐ３は４本に４行を乗算して１６本となり、４層目（縦配線）の配線可能な本数Ｐ４は３本に４列を乗算して１２本となる。従って、制御部７は、制御カード１４のパラメータ１４ｂ（L＊_available（＊は配線層））から夫々ｋ１からｋ４に代入して、（INT（１６×０．１）＋INT（１２×０．７）＋INT（１６×０．７）＋INT（１２×０．７））／３２（＝２８／３２）を演算することによって、領域４３の配線指数ｍは０．８７５であることが求まる。つまり、
Ｎ：該当論理セルが集中している領域内の総端子数  １６セル×２本＝３２本
Ｐ１：１層目（横）の配線可能な本数          ４本×４行＝１６本
Ｐ２：２層目（縦）の配線可能な本数          ３本×４列＝１２本
Ｐ３：３層目（横）の配線可能な本数          ４本×４行＝１６本
Ｐ４：４層目（縦）の配線可能な本数          ３本×４列＝１２本
ｋ１：１層目（横配線）の配線可能な割合    ０．１
ｋ２：２層目（縦配線）の配線可能な割合    ０．７
ｋ３：３層目（横配線）の配線可能な割合    ０．７
ｋ４：４層目（縦配線）の配線可能な割合    ０．７
式１より、配置領域４３の配線指数ｍは下記のようになる。
ｍ＝（INT(16×0.1)+INT(12×0.7)+INT(16×0.7)+INT(12×0.7)）／32 ＝ 28／32 ＝ 0.875
【００３５】
そして、制御部７は、ステップＳ８で算出した配線指数ｍと制御カード１４のパラメータ１４ｃ（m_limit）で設定されている配線指数ｍの制限値以下か否かを判断する（ステップＳ９）。配線指数ｍが制限値より大きい場合に混雑度が低く配線に余裕があることを示し、配線指数ｍが制限値以下である場合に配線の混雑度が高く配線に余裕がないことを示す。
【００３６】
ステップＳ９にて、配線指数ｍが制限値より大きい場合、制御部７は、仮想的に配置された論理セルの並びに従い、配置領域内に論理セル群を実配置して（ステップＳ１０）、この論理セル配置処理を終了する。一方、配線指数ｍが制限値以下の場合、制御部７は、隣接制約テーブル４２を参照して、隣接制約に基づいて配置領域内に論理セル群を仮想的に配置して（ステップＳ９−２）、ステップＳ７へ戻る。
【００３７】
制御カード１４のパラメータ１４ｃ（m_limit）で設定されている配線指数ｍの制限値は「１．０」であり、図７に示すような領域４３の配線指数ｍは０．８７５で制限値以下となることから、ステップＳ９−２での処理によって仮想的に論理セル群が再配置される。領域４３が、隣接制約に基づいて仮想的に各論理セルを再配置することによって、例えば、図８に示すように、図７の該当論理セルとなるセルＤが集中する領域４３が図８の領域４３−２の程度に改善される。また、セルＤがより幅広のセルＡ、Ｂ、Ｃの間に配置されるため、セルＡ、Ｂ、Ｃの配線層を活用することによって、配線の混雑度を改善することができる。
【００３８】
制御部７は、ステップＳ７へ戻り、再度制御カード１４のパラメータ１４ａ（control_minimum_cell）によって該当論理セルとなるセルＤが集中している領域を探索し、該当論理セルとなるセルＤが集中している領域４３−２を検出すると（ステップＳ７−２）、図８に示す再配置による領域４３−２の配線指数ｍを上記式１に従って算出する（ステップＳ８）。この領域４３−２に対しては、
Ｎ：該当論理セルが集中している領域内の総端子数  ８セル×２本＝１６本
Ｐ１：１層目（横）の配線可能な本数          ４本×４行＝１６本
Ｐ２：２層目（縦）の配線可能な本数          ３本×２列＝６本
Ｐ３：３層目（横）の配線可能な本数          ４本×４行＝１６本
Ｐ４：４層目（縦）の配線可能な本数          ３本×２列＝６本
ｋ１：１層目（横配線）の配線可能な割合    ０．１
ｋ２：２層目（縦配線）の配線可能な割合    ０．７
ｋ３：３層目（横配線）の配線可能な割合    ０．７
ｋ４：４層目（縦配線）の配線可能な割合    ０．７
により、配置領域４３−２の配線指数ｍは下記のようになる。
ｍ＝（INT(16×0.1)+INT(6×0.7)+INT(16×0.7)+INT(6×0.7)）／16 ＝ 20／16 ＝ 1.25
【００３９】
そして、制御部７は、ステップＳ８で算出した配線指数ｍと制御カード１４のパラメータ１４ｃ（m_limit）で設定されている配線指数ｍの制限値「１．０」より大きいか否かを判断する（ステップＳ９）。配線指数ｍが制限値「１．０」より大きい場合、制御部７は、仮想的に配置された論理セルの並びに従い、配置領域内に実際に論理セル群を配置して（ステップＳ１０）、この論理セル配置処理を終了する。図８に示す再配置の例では、配線指数ｍが制限値「１．０」より大きいため、ステップＳ１０を実行して、この論理セル配置処理を終了することとなる。論理セル配置処理の終了時に、制御部７は、ＬＳＩ物理設計データ１２のモジュール配置情報をステップＳ３−２又はＳ１０にて決定されたモジュール配置情報で置き換えて更新する。
【００４０】
このように、本実施例による論理セル配置方法によれば、配置領域の拡大を抑制しながら配置領域内に所定幅以下に該当する論理セルが局所的に集中して配置することを回避できるため、隣接する幅広の論理セルの配線層を有効に利用することができ、配線混雑による配線チャネルの不足が起き難くなり、論理セルの集積度の低下も防止することができる。
【００４１】
以上の説明に関し、更に以下の項を開示する。
（付記１）
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、
前記集中箇所の配線指数を算出する配線指数算出手順と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、
前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータが実行することを特徴とする半導体集積回路の設計方法。
（付記２）
前記配線指数算出手順において、該集中箇所内の総端子数に対する前記集中箇所での全配線層で配線可能な総本数の割合を前記配線指数として算出することを特徴とする付記１記載の半導体集積回路の設計方法。
（付記３）
前記設定幅以下となる論理セルに対して、該設定幅より幅広の順に他論理セルを隣接させるように前記隣接制約を示す隣接制約テーブルを作成する隣接制約テーブル作成手順を有し、
前記隣接制約再配置手順において、前記隣接制約テーブルで示される前記隣接制約が参照されることを特徴とする付記１又は２記載の半導体集積回路の設計方法。
（付記４）
前記隣接制約に基づいて、前記配置領域に前記論理セル群を直接に配置する隣接制約直接配置手順を有し、
前記コンピュータが、前記隣接制約の適用形態に応じて、前記仮想的配置手順から前記実配置手順を抑止して、前記仮想的配置手順を選択的に実行することを特徴とする付記１乃至３のいずれか一項記載の半導体集積回路の設計方法。
（付記５）
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手段と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手段と、
前記集中箇所の配線指数を算出する配線指数算出手段と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手段と、
前記隣接制約再配置手段による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手段とを有することを特徴とする回路設計装置。
（付記６）
配置アルゴリズムによって決定された配置領域と、該配置領域に配置される論理セル群を仮想的に配置する仮想的配置手順と、
前記仮想的配置手順の結果に基づいて、該配置領域内に設定幅以下となる論理セルの集中箇所を検出する集中箇所検出手順と、
前記集中箇所の配線指数を算出する配線指数算出手順と、
前記配線指数が制限値以下の場合に、隣接制約に基づいて論理セル群の再配置を仮想的に行う隣接制約再配置手順と、
前記隣接制約再配置手順による結果に基づいて実際に前記配置領域に前記論理セル群を配置する実配置手順とをコンピュータに実行させ半導体集積回路の設計を行わせることを特徴とするコンピュータ読み取り可能なプログラム。
【００４２】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００４３】
７            制御部
７ａ          中央演算装置
７ｂ          主記憶装置
７ｃ          一時記憶部
９            入出力用端末装置
１０          第１の記憶部（レイアウトデータ）
１１          ＬＳＩ論理設計データ（ネットリスト）
１２          ＬＳＩ物理設計データ（モジュール配置情報）
１３          タイミング制約データ
１４          制御カード（隣接制約パラメータ含む）
２０          第２の記憶部（ライブラリデータ）
２１          セルタイミングライブラリ
２２          セル物理ライブラリ
３０          第３の記憶部（制御プログラム）
３１          入力情報読込プログラム
３２          隣接制約作成プログラム
３３          集中箇所検出プログラム
３４          配線指数算出プログラム
３５          第１のセル配置プログラム（隣接制約有効）
３６          第２のセル配置プログラム（隣接制約無効）
４１          セル群の仕様
４２          隣接制約テーブル
４３          領域
４３−２      領域
１００        ＬＳＩ設計装置
Ｂ            バス
【図１】
2010218498.tif 000003
【図２】
2010218498.tif 000004
【図３】
2010218498.tif 000005
【図４】
2010218498.tif 000006
【図５】
2010218498.tif 000007
【図６】
2010218498.tif 000008
【図７】
2010218498.tif 000009
【図８】
2010218498.tif 000010