(57)【特許請求の範囲】
【請求項１】
トランジスタまたは論理ゲートを構成するコアセルと、当該コアセルと分けて用意され、電源及びコアセル間のセル間信号が通過する配線セルとで構成されるセル群を使用した半導体集積回路の自動レイアウト方法において、
自動レイアウトの初期設定でセル間信号のグリッド本数が任意に設定された環境でコアセル及び配線セルを使用し、
セル配置及び配線処理が施されたデータに対し、配線セルを通過するセル間信号本数を検出し、
この検出されたセル間信号本数と初期設定のグリッド本数との比較を行い、
グリッド本数が過剰または不足設定となった配線セルに対して、検出されたセル間信号本数を有する配線セルへと初期配置されていた配線セルを置き換えることを特徴とする半導体集積回路の自動レイアウト方法。
【請求項２】
前記配線セルの置き換えは、配線領域を拡大あるいは縮小するように実施されることを特徴とする請求項１に記載の半導体集積回路の自動レイアウト方法。
【請求項３】
前記コアセルは所定の機能を実現するためにコア部に複数配置され、  前記配線セルはコア部の上下に任意のグリッド本数を有するように配置され、
グリッド本数が過剰あるいは不足設定となっている領域を、前記コア部の上下に配置されている配線セルそれぞれを対象として抽出し、
初期設定の配線セルを、上記抽出した領域に適したグリッド本数を有する配線セルへと置き換えることを特徴とする請求項１に記載の半導体集積回路の自動レイアウト方法。
【請求項４】
請求項１において、任意に設定されたグリッド本数が過不足ない値となっているか判断し、
過不足が生じている場合、過不足が生じている領域に最適な配線グリッド本数を算出し、
初期配置されている配線セルを算出されたグリッド本数を有する配線セルへ置き換えることを特徴とする半導体集積回路の自動レイアウト方法。
【請求項５】
トランジスタや論理ゲートを構成するコアセルと、電源及びコアセル間のセル間信号が通過する配線セルとで構成されるセル群を使用した自動レイアウト方法において、
任意のグリッド本数を含む配線セルを複数選択し、
コアセル及び配線セルを配置しセル間信号の配線接続処理を選択したグリッド本数についてそれぞれ実施し、
レイアウト面積が最小となったデータに対し配線セル上を走るセル間信号の本数を抽出し、
設定グリッド本数と抽出されたセル間信号本数とを比較し
この比較の結果、設定グリッド本数が過剰あるいは不足設定となっている場合は、抽出本数に対して所定本数だけ少ないグリッド本数を算出し、
この処理を設定グリッド本数が過剰あるいは不足設定となっている各配線セルに対して行い、
各配線セルに対して新たに設定されたグリッド本数を含む配線セルへと置き換えることを特徴とする半導体集積回路の自動レイアウト方法。
【請求項６】
前記配線セルの置き換えにより、前記コアセルの配置は変更されずに上下方向に移動することを特徴とする請求項５に記載の半導体集積回路の自動レイアウト方法。
【請求項７】
前記所定本数は、３本未満に設定することが可能であることを特徴とする請求項５に記載の半導体集積回路の自動レイアウト方法。
【請求項８】
前記配線セルへと置き換えられたデータに対して、詳細配線及び配線エラー除去を行い、エラーがなければこれを最終データとすることを特徴とする請求項５に記載の半導体集積回路の自動レイアウト方法。
【請求項９】
前記配線エラーがある場合は、配線エラー個所を特定しエラーが起きている配線セルのグリッド本数より１本多いグリッド本数を新たに設定し、
配線セルを、再設定したグリッド本数を含むセルへと置き換え、
エラー個所に対して再配線及びエラー除去を実施し、
エラーがない場合は、このデータを最終データとすることを特徴とする請求項８に記載の半導体集積回路の自動レイアウト方法。
【請求項１０】
前記配線セルの置き換えにより、隣接する配線セルと段差が生じる場合には、段差接続用の配線セルで置き換えることを特徴とする請求項１に記載の半導体集積回路の自動レイアウト方法。
【請求項１１】
前記置き換えに使用する配線セルは、前記複数配置されているコアセルに対応する配線セルを通過する配線本数において、最も占める割合が高い配線本数に基づいて決定することを特徴とする請求項３に記載の半導体集積回路の自動レイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トランジスタや論理ゲートを構成する最小セル(以下、コアセルと記す)と、電源及びコアセル間の電気的接続信号（以下、セル間信号と記す）の通過領域セル（以下、配線セルと記す）とで構成されるセル群を使用した自動レイアウト方法に関する。
【０００２】
【従来の技術】
半導体集積回路のレイアウト設計においては、常に、可能な限りの面積縮小が要求される。コアセル及び配線セルを使用し、自動レイアウト設計を行う場合、何本のグリッド本数が含まれる配線セルを選択するかが面積縮小のポイントとなる。
【０００３】
特開2001-7209号により開示されているレイアウト手法を用いた場合、プリミティブセル群を使用し、任意のグリッド本数を複数設定してレイアウトを設定数分行い、最小となったデザインを最終データとしている。
【０００４】
しかし、このレイアウト手法では、一つのデザイン内にはセル間信号が混雑する領域と余裕のある領域が生じ、この余裕のある領域に対しては設定グリッド本数が過剰設定となる場合があり面積縮小に有効活用されていない。これは、この手法が１つのデザインに対し設定できるグリッド本数が１つであることに起因している。
【０００５】
面積縮小については、デザインのセル構造を展開しデザインルールに従いセル間信号間隔の縮小化を行うツールがある。これは、自動レイアウトが終了したデータを形式の違うデータに変換し行われる処理で、自動レイアウト用のデータ形式に再変換することができない。
【０００６】
従って、デザインに対し変更が必要になった場合、縮小化を行ったデータの再利用が不可能となる。また、セル構造がなくなるため、デザインチェックに要する時間及び処理装置の容量が増大してしまう。
【０００７】
【発明が解決しようとする課題】
そこで、本発明は、上記従来技術の問題点に鑑みて成されたものであり、その目的とするところは、配線セルサイズのリサイズを自動レイアウトの段階で行うことで他形式へのデータ変換を不要とし、配線混雑度に合った配線セルの選択を行うことによりレイアウト面積を最小にすることにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明では、トランジスタまたは論理ゲートを構成するコアセルと、電源及びコアセル間のセル間信号が通過する配線セルとで構成されるセル群を使用した半導体集積回路の自動レイアウト方法において、自動レイアウトの初期設定でセル間信号のグリッド本数が任意に設定された環境でコアセル及び配線セルを使用し、セル配置及び配線処理が施されたデータに対し、配線セルを通過するセル間信号本数を検出し、この検出されたセル間信号本数と初期設定のグリッド本数との比較を行い、グリッド本数が過剰または不足設定となっていた場合、検出されたセル間信号本数を有する配線セルへと初期配置されていた配線セルを置き換えることを特徴とする。
【０００９】
ここで、前記配線セルの置き換えは、配線領域を拡大あるいは縮小するように実施される。
【００１０】
また、前記コアセルは所定の機能を実現するためにコア部に複数配置され、前記配線セルはコア部の上下に任意のグリッド本数を有するように配置され、グリッド本数が過剰あるいは不足設定となっている領域を抽出し、初期設定の配線セルを、上記抽出した領域に適したグリッド本数を有する配線セルへと置き換える。
【００１１】
さらに、任意に設定されたグリッド本数が過不足ない値となっているか判断し、過不足が生じている場合、過不足が生じている領域に最適な配線グリッド本数を算出し、初期配置されている配線セルを算出されたグリッド本数を有する配線セルへ置き換える。
【００１２】
また、本発明では、トランジスタや論理ゲートを構成するコアセルと、電源及びコアセル間のセル間信号が通過する配線セルとで構成されるセル群を使用した自動レイアウト方法において、任意のグリッド本数を含む配線セルを複数選択し、コアセル及び配線セルを配置しセル間信号の配線接続処理を選択したグリッド本数についてそれぞれ実施し、レイアウト面積が最小となったデータに対し配線セル上を走るセル間信号の本数を抽出し、設定グリッド本数と抽出されたセル間信号本数とを比較し、この比較の結果、設定グリッド本数が過剰あるいは不足設定となっている場合は、抽出本数に対して所定本数だけ少ないグリッド本数を算出し、この処理を設定グリッド本数が過剰あるいは不足設定となっている各配線セルに対して行い、各配線セルに対して新たに設定されたグリッド本数を含む配線セルへと置き換えることを特徴とする。
【００１３】
前記配線セルの置き換えにより、前記コアセルの配置は変更されずに上下方向に移動する。
【００１４】
ここで、前記所定本数は、３本未満に設定されていることが好ましいが、特に制限はない。
【００１５】
このような状況の下、前記配線セルへと置き換えられたデータに対して、詳細配線及び配線エラー除去を行い、エラーがなければこれを最終データとする。
【００１６】
前記配線エラーがある場合は、配線エラー個所を特定しエラーが起きている配線セルのグリッド本数より１本多いグリッド本数を新たに設定し、配線セルを、再設定したグリッド本数を含むセルへと置き換え、エラー個所に対して再配線及びエラー除去を実施し、エラーがない場合は、このデータを最終データとする。
【００１７】
【作用】
上述のように、本発明では、自動レイアウトの初期設定でセル間信号の通過可能本数（以下、グリッド本数と記す）が任意に設定された環境でコアセル及び配線セルを使用しセル配置及び配線処理が施されたデータに対し、配線セルを通過するセル間信号本数を検出し、初期設定のグリッド本数との比較を行い、グリッド本数が過剰または不足設定となっていた場合、検出されたセル間信号本数を有する配線セルへと初期配置されていた配線セルを置き換え、配線領域を拡大、縮小することを特徴とする。
【００１８】
【発明の実施の形態】
本発明の実施の形態を、図面を参照しながら以下に説明する。
【００１９】
図１に、本発明の手法を用いて自動レイアウトを行った場合のセルの構成例を示す。
【００２０】
プリミティブセルはトランジスタ等により論理を構成するコア部（コアセル１０２）と電源及びセル間信号を配置する電源配線部（配線セル１０１）に分けられる。配線セル１０１は、グリッド本数の種類分用意され、コアセル１０２を挟み配置される。これらが本発明で使用するプリミティブセル群である。図1で示したグリッド本数は一例であり制限はない。
【００２１】
図１のプリミティブセル群を使用しセル配置を行ったものが図２である。
【００２２】
コア部にはある機能を実現するためのコアセル１０２が複数配置されその上下に任意のグリッド本数を有する配線セル１０１が配置される（図２（ａ））。
【００２３】
初期設定で設定可能なグリッド本数は、１つのレイアウトデータに対して１つであり、コアセル１０２の混雑度、セル間信号の本数によっては設定グリッド本数が過剰または不足となる領域ができるが、本発明の手法を用いることでグリッド本数が過剰または不足設定となっている領域を抽出し、初期設定の配線セル１０１をその領域に適したグリッド本数を有する配線セル１０３へと置き換えることが可能となる（図２（ｂ））。
【００２４】
本発明のレイアウト方法は、前述のプリミティブセル群を使用し、任意に設定されたグリッド本数が過不足ない値となっているか判断する機能と、過不足が生じている場合その領域に最適な配線グリッド本数を算出する機能と、初期配置されている配線セルを算出されたグリッド本数を有する配線セルへ置き換える機能とを有する。
【００２５】
図３のフローチャートを参照し、本実施の形態の動作を説明する。
【００２６】
レイアウトのフロアプランの段階で任意のグリッド本数を含む配線セルを複数選択する（ステップ３０１）。コアセル１０２及び配線セル１０１を配置し、セル間信号の配線接続処理を実施する。これを選択したグリッド本数についてそれぞれ実施する。（ステップ３０２、３０３）。
【００２７】
この結果から、レイアウト面積が最小となったデータに対し配線セル上を走るセル間信号の本数を抽出する（ステップ３０４）。
【００２８】
設定グリッド本数と抽出されたセル間信号本数の比較を行い（ステップ３０５）、設定グリッド本数が過剰設定ではない場合はそのまま詳細配線及び配線エラー除去を実施する（ステップ３１０）。
【００２９】
過剰あるいは不足設定となっている場合は、抽出本数に対して所定本数だけ少ないグリッド本数を算出する（ステップ３０７）。この場合、所定本数は、３本未満に設定されていることが好ましいが、特に制限はない。
【００３０】
この処理を設定グリッド本数が過剰あるいは不足設定となっている各配線セル１０１に対して行い（ステップ３０８）、各配線セルに対して新たに設定されたグリッド本数を含む配線セルへと置き換える（ステップ３０９）。
【００３１】
この時、コアセル１０２の配置は変更なく、配線セル１０１の置き換えにより上下に動くのみである。このデータに対し詳細配線及び配線エラー除去を行い(ステップ３１０)、エラーがなければこれを最終データとする。
【００３２】
エラーがある場合は、配線エラー個所を特定し（ステップ３１２）、エラーが起きている配線セル１０３のグリッド本数より１本多いグリッド本数を新たに設定し（ステップ３１３）、配線セル１０３を、再設定したグリッド本数を含むセルへと置き換える（ステップ３１４）。
【００３３】
エラー個所に対して再配線及びエラー除去を実施し、エラーがない場合はこれを最終データとする。エラーがある場合は配線エラー個所の特定（ステップ３１２）にもどり以下の処理を繰り返す。
【００３４】
図４を参照して、設定グリッド本数が過剰あるいは不足設定となっていた場合の新たなグリッド本数の設定方法について説明する。
【００３５】
図４の配置例では初期設定でグリッド本数６（電源配線部１，２共、それぞれグリッド本数３本）が設定されており、電源配線部１、２上を通る横配線を抽出した場合、１本又は２本という結果が得られる。電源配線部１のエリアにおいて横配線が１本である割合、また２本である割合を算出する。エリア内の配線本数の割合が５０％以上を占める配線本数にグリッド本数を設定し直す。
【００３６】
図４の電源配線部１については５０％以上を占める配線本数は２本、電源配線部２においては１本という結果が得られる。５０％以上を占める配線本数が得られなかった場合は、抽出された配線本数のうち、最も割合の高かった配線本数を対象とする。
【００３７】
このとき、対象となった配線本数より１又は２本程度少ないグリッド本数を設定し、詳細配線を実施する。エラーが残る場合は、エラー除去のため、グリッド本数の設定を変更する。ここに述べた設定は一例であり、割合またグリッド本数の設定値については変更可能とする。
【００３８】
図５はセル配置及び仮配線後のデータに対する配線セル置換処理を示している。
【００３９】
配線セル置換前のデータは、配線グリッド本数の初期設定が５本（電源配線部２,４：３本、電源配線部１,３：２本）である。本発明の動作を用い、電源配線部１，２，３，４を通過する横配線を抽出し、各配線セル領域に適したグリッド本数を再設定した結果、電源配線部１は２本から１本へ、同様に電源配線部２は３本から２本、電源配線部３は２本から１本、電源配線部４は３本から２本へと配線セルが置き換えられる。図５においては、グリッド本数が配線セル置換前では計１０本必要であるのに対し、配線セル置換後は計６本となり、４グリッド分領域が縮小したことになる。
【００４０】
次に、図６を参照して、本発明の他の実施の形態について説明する。
【００４１】
セル間信号接続処理（配線処理）を行った場合、信号同士、コアセル内部のデータとの間隔エラーまたはショートエラーを引き起こすことがある。自動レイアウトの配線処理でこれらのエラーが除去できない場合は、本発明の手法を用いてエラーを除去することができる。
【００４２】
図３の配線エラーの個所特定（ステップ３１２）以降の処理がこれに相当する。本手法をエラー除去のためだけに利用することも可能である。図６は電源配線部１，２間で電源配線とセル間信号がショートエラーを起こしている。本手法を用い、エラー個所を特定し、電源配線部２に対しグリッド本数が１本多い配線セルを置き換える。
【００４３】
図７を参照して、本発明のさらに他の実施の形態について説明する。
【００４４】
電源配線部２においてセルの縮小ができないという結果になった場合、領域指定を行うことで部分的にセルの縮小が可能となる。これはプリミティブセル群の電源配線セルに、配線セル１に加え段差が生じた部分の接続用として、配線セル２を用意することで可能となる。算出処理については前述した動作と同様である。
【００４５】
【発明の効果】
本発明によれば、従来技術では有効活用されなかった配線性の低い領域においてその領域に適した配線グリッド本数を設定することが可能となる。
【００４６】
さらに、配線セルの置き換えによりコアセル、配線セル配置領域が縮小された場合はチップサイズの縮小が可能となる。
【００４７】
また、自動レイアウトデータに対して配線セルの置き換えを行いその後詳細配線を実施するため、品質のよい（配線密度の高い）配線結果が得られる。
【図面の簡単な説明】
【図１】本発明による手法を用いて自動レイアウトを行った場合のセルの構成例を示す図である。
【図２】図１のプリミティブセル群を使用してセル配置を行った配置図であり、（ａ）は初期配置の状態を示し、（ｂ）は配線セル配置後の状態を示す。
【図３】本発明の動作を説明するためのフローチャートである。
【図４】設定グリッド本数が過剰あるいは不足設定となっていた場合の新たなグリッド本数の設定方法について説明するための図である。
【図５】セル配置及び仮配線後のデータに対する配線セル置換処理を示す図であり、（ａ）は配線セル置換前の状態を示し、（ｂ）は配線セル置換後の状態を示す。
【図６】本発明の他の実施の形態について説明するための図であり、（ａ）は配線セル置換前の状態を示し、（ｂ）は配線セル置換後の状態を示す。
【図７】本発明のさらに他の実施の形態について説明するための図である。
【符号の説明】
１０１  配線セル
１０２  コアセル
１０３  置換後の配線セル
【図１】
0004010801.tif 000002
【図２】
0004010801.tif 000003
【図３】
0004010801.tif 000004
【図４】
0004010801.tif 000005
【図５】
0004010801.tif 000006
【図６】
0004010801.tif 000007
【図７】
0004010801.tif 000008