(57)【要約】【課題】製造工程の異なるセルを混在して配置する場合に、面積を大きくせずに配置する半導体集積回路のセル自動配置方法、自動配置装置、及びそれらのプログラムを提供する。【解決手段】複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形を設定し、上記その他の種類のセルには、第１の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能なより大きい外形を設定するセル外形設定工程と、セル外形設定工程で設定した外形を有するセルを用いて複数種類のセルを自動配置するセル自動配置工程と、を備える。【選択図】図１
2011109025.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形を設定し、前記一種類以外の種類のセルには、前記第１の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形を設定するセル外形設定工程と、
前記セル外形設定工程で設定した外形を有するセルを用いて前記複数種類のセルを自動配置するセル自動配置工程と、
を備えることを特徴とする半導体集積回路のセル自動配置方法。
【請求項２】
前記複数種類のセルは、種類の違いによって少なくとも一工程の製造条件が異なるセルであることを特徴とする請求項１記載の半導体集積回路のセル自動配置方法。
【請求項３】
前記複数種類のセルは、種類の違いによってトランジスタモデルが異なるセルであることを特徴とする請求項１又は２記載の半導体集積回路のセル自動配置方法。
【請求項４】
前記複数種類のセルの内、前記自動配置工程において用いる第１の外形を有するセルの種類を指定する優先配置セル種指定工程を、さらに備えることを特徴とする請求項１乃至３いずれか１項記載の半導体集積回路のセル自動配置方法。
【請求項５】
前記優先配置セル種指定工程において、自動配置の対象となるセルを前記種類毎に計数し、その計数値に基づいて、前記自動配置工程において用いる第１の外形を有するセルの種類を指定することを特徴とする請求項４記載の半導体集積回路のセル自動配置方法。
【請求項６】
前記優先配置セル種指定工程において、第１の外形を用いるセルの種類を決定し、その決定に基づいて、前記セル外形設定工程において、セルの外形を設定することを特徴とする請求項４又は５記載の半導体集積回路のセル自動配置方法。
【請求項７】
前記セル外形設定工程において、あらかじめ第１の外形を用いるセルの種類毎に前記の複数種類のセルについて外形を設定した複数のセルライブラリを設定し、
前記優先配置セル種指定工程では、前記複数のセルライブラリのうち、前記自動配置皇帝で用いるセルライブラリを指定することを特徴とする請求項４又は５記載の半導体集積回路のセル自動配置方法。
【請求項８】
複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形を設定し、前記一種類以外の種類のセルには、前記第１の外形が設定されるセルを含め隣接配置されるセルの種類に係わらず隣接配置することが可能な大きさの第２の外形を設定するセル外形設定部と、
前記外形設定部が外形を設定したセルをライブラリとして記憶するセルライブラリ記憶部と、
自動配置の対象とする回路の接続情報とセルの種類が格納された接続情報記憶部と、
前記セルライブラリ記憶部に記憶されたセルライブラリのセルを前記接続情報記憶部に記憶された回路の接続情報とセルの種類に基づいて自動配置を行うセル自動配置部と、
を備えることを特徴とする半導体集積回路の自動配置装置。
【請求項９】
前記接続情報記憶部に格納された自動配置の対象となるセルをセルの種類毎に計数し、その計数値に基づいて、前記自動配置部において用いる第１の外形を有するセルの種類を指定する優先配置セル種指定部をさらに備えることを特徴とする請求項８記載の半導体集積回路のセル自動配置装置。
【請求項１０】
前記セル外形設定部は、あらかじめ第１の外形を用いるセルの種類毎に前記の複数種類のセルについて外形を設定した複数のセルライブラリを前記セルライブラリ記憶部に記憶させ、
前記セル自動配置部は、前記優先配置セル種指定部が指定する第１の外形を有するセルの種類によって、前記複数のセルライブラリから前記自動配置に用いるセルライブラリを選択して、当該セルライブラリのセルを前記自動配置に用いることを特徴とする請求項９記載の半導体集積回路のセル自動配置装置。
【請求項１１】
コンピュータに請求項１乃至７いずれか１項記載の半導体集積回路のセル自動配置方法を実行させるためのプログラム。
【請求項１２】
コンピュータを請求項８乃至１０いずれか１項記載のセル自動配置装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のセル自動配置方法、装置、及びプログラムに関する。特に、製造工程の異なるセルを自動的に配置する方法、装置及びプログラムに関する。
【背景技術】
【０００２】
半導体集積回路のマスクパターンのレイアウト設計においては、レイアウト対象とする回路の構成、接続に関する情報が記載された接続情報を基に、セル内部の構造のレイアウトがあらかじめ準備されたスタンダードセルを使用し、自動配置配線ツールによって回路の配置配線を行うことが一般に行われている。
【０００３】
この自動配置配線ツールでは、スタンダートセル内の詳細な内部配置の情報は不要であり、各スタンダートセルの外形と端子位置の情報があれば、自動配置配線を行うことができる。一般には、セルの外形を用いて外形が重ならないように、又は、外形同士を一定の距離を離してレイアウトすることにより、セル内部の構造を参照することなく、設計基準の範囲内でセルを自動配置することができる。そのため、セルの外形は、自動配置配線ツールによって自動的に配置を行った場合に、セルの内部構造間の距離等の設計基準を守るような大きさの外形があらかじめ定められている。
【０００４】
また、大規模な半導体集積回路の設計においては、プリミティブセル内部の設計の段階、プリミティブセルを用いたマクロの設計の段階、マクロを用いたシステム設計の段階というように下位階層と上位階層に分けて階層設計が行われる。レイアウトを下位階層から上位階層へと階層毎にレイアウト設計を行う場合、例えば、マクロのレイアウト設計の階層では、プリミティブセル内部の詳細な構造のデータを参照しなくともマクロのレイアウト設計を行うことができるようにすることにより、大規模で困難な集積回路のレイアウト設計も容易化できる。
【０００５】
一方、特許文献１には、セル内部の拡散層のレイアウトデータを付加したライブラリを元に、拡散層間の距離を一定にして応力を均一にする半導体集積回路の自動レイアウト装置が記載されているが、この様にセル内部の配置情報まで参照してレイアウトすることは、上記階層設計の考え方とは異なり、大規模な集積回路のレイアウト設計が困難になるので、一般には行われない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１４８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は本発明により与えられる。本発明者の検討によれば、複数種類のセルについて混在して配置しようとする場合、隣接配置するセルが同一種類のセルであるか異なる種類のセルであるかによって隣接配置するセルとの距離が異なる場合がある。この様な場合、異なる種類のセルを隣接配置できるようにセルの外形を大きく定めると、同一種類のセルを隣接配置する場合にセル間の距離がオーバーマージンとなる。また、同一種類のセルを隣接配置する場合に必要な最小間隔に合わせてセルの外形を定めると、異なる種類のセルをそのままでは隣接配置することができない。
【課題を解決するための手段】
【０００８】
本発明の１つの側面による半導体集積回路の自動配置方法は、複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形を設定し、前記一種類以外の種類のセルには、前記第１の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形を設定するセル外形設定工程と、前記セル外形設定工程で設定した外形を有するセルを用いて前記複数種類のセルを自動配置するセル自動配置工程と、を備える。
【０００９】
また、本発明の他の側面による半導体集積回路の自動配置装置は、複数種類のセルの内、一種類のセルに同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形を設定し、前記一種類以外の種類のセルには、前記第１の外形が設定されるセルを含め隣接配置されるセルの種類に係わらず隣接配置することが可能な大きさの第２の外形を設定するセル外形設定部と、前記外形設定部が外形を設定したセルをライブラリとして記憶するセルライブラリ記憶部と、自動配置の対象とする回路の接続情報とセルの種類が格納された接続情報記憶部と、前記セルライブラリ記憶部に記憶されたセルライブラリのセルを前記接続情報記憶部に記憶された回路の接続情報とセルの種類に基づいて自動配置を行うセル自動配置部と、を備える。
【００１０】
さらに他の側面による半導体集積回路のセル自動配置プログラムは、コンピュータに上記セル自動配置方法を実行させる。又は、コンピュータを上記セル自動配置装置として機能させる。
【発明の効果】
【００１１】
本発明によれば、隣接するセルの種類によって最小セル間隔が異なる複数種類のセルを混在して自動配置することができる。特に、複数種類のセルの中で、一種類のセルの数が多い場合に、隣接配置されるセルの種類を考慮せずに複数の種類のセルを混在して配置を行っても全体の面積を小さく自動配置することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１による半導体集積回路の自動配置装置の構成を示すブロック図である。
【図２】実施例１による半導体集積回路の自動配置方法の処理手順を示すフロー図である。
【図３】自動配置の対象となるセルの回路図（ａ）〜（ｃ）とそのセルレイアウト図（ｄ）〜（ｆ）の一例を示す図面である。
【図４】不純物注入条件が同一であるセルを隣接して配置する場合の（ａ）回路図と、（ｂ）セルレイアウト図と、（ｃ）不純物注入領域を図示したセルレイアウト図である。
【図５】不純物注入条件が異なるセルを隣接して配置する場合の（ａ）回路図と、（ｂ）セルレイアウト図と、（ｃ）不純物注入領域を図示したセルレイアウト図である。
【図６】製造条件が異なるセルを隣接して配置する場合に、製造条件が異なるセルを隣接することが可能な外形を有するセル（ａ）、（ｂ）のみを用いて配置したセルレイアウト図（ｃ）と、製造条件が同一であるセルのみを隣接配置することが可能な外形を有するセル（ｄ）と製造条件が異なるセルを隣接配置することが可能な外形を有するセル（ｅ）を用いて配置したレイアウト図（ｆ）である。
【図７】実施例２による半導体集積回路の自動配置装置の構成を示すブロック図である。
【図８】実施例２による半導体集積回路の自動配置方法の処理手順を示すフロー図である。
【図９】実施例３による半導体集積回路の自動配置装置の構成を示すブロック図である。
【図１０】実施例３による半導体集積回路の自動配置方法の処理手順を示すフロー図である。
【発明を実施するための形態】
【００１３】
本発明において、複数種類のセルの内、一種類のセルには、同一種類のセルが隣接配置可能な大きさの第１の外形を設定すると共に、他の種類のセルには、第１の外形が設定されたセルも含めてセルの種類に係わらずセルを隣接配置可能な大きさの第２の外形を定める。上記方法によれば、第２の外形を設定するセルは、第１の外形を有するセルが隣接配置されてもよいように外形を設定するので、セルの外形は大きくなる可能性があるが、第１の外形が小さくできるので、全体としてレイアウト面積が縮小できる。特に、複数種類のセルの内、一種類のセルの数が多い場合、その一種類のセルに第１の外形を設定することによりレイアウト面積を縮小することができる。また、別な種類の第２の外形を有するセル同士が隣接配置されても問題は生じない。
【００１４】
以下、実施例について、図面を参照して詳しく説明する。
【実施例１】
【００１５】
まず、最初に本発明の対象とするセルについて、図３を参照して説明する。図３（ａ）〜（ｃ）は、自動配置の対象とする全体回路に含まれるセルの回路図であり、図３（ｄ）〜（ｆ）は、それぞれ、図３（ａ）〜（ｃ）のセルに対するセルレイアウト図である。また、図３（ｄ）〜（ｆ）において、メタル配線を白抜き、ゲート配線を交差する平行斜線、Ｐ型拡散層を左肩上がり平行斜線、Ｎ型拡散層を右肩上がり平行斜線で表している。後で説明する図４〜図６においても同一である。図３（ａ）はインバータ回路、図３（ｂ）は、遅延回路、図３（ｃ）はラッチ回路で、図３（ｄ）〜（ｆ）は、それぞれの回路のＣＭＯＳレイアウトセルである。
【００１６】
図４は、これらのセルを用いてレイアウトした例を示す。図４（ａ）はレイアウト対象とする回路の回路図、図４（ｂ）はレイアウト図、図４（ｃ）は不純物注入領域を示す。
図４（ａ）において、入力信号Ａ及びＢは、それぞれＮＡＮＤ回路４０１のゲートに接続され、ＮＡＮＤ回路４０１の出力信号はインバータ４０２のゲートに接続され、インバータ４０２の出力信号はインバータ４０３のゲートに接続され、インバータ４０３の出力信号はＯＵＴ１信号として外部へ出力される。
【００１７】
セルの自動配置において、レイアウト対象とする図４（ａ）のような回路は、接続情報として与えられ、その接続情報の中で、ＮＡＮＤ回路４０１、インバータ４０２、４０３のセルレイアウトに用いるセルの機能、種類があらかじめ決まっているとする。図４（ａ）の回路シンボルの上に記載されているＡ２ＭＡ、Ｉ１ＭＡ、Ｉ２ＭＡはレイアウトに用いるセルの名称で、それぞれ、Ａ２ＭＡはトランジスタモデルＡによる２入力ＮＡＮＤゲートセル、Ｉ１ＭＡはトランジスタモデルＡによるインバータセル、Ｉ２ＭＡはトランジスタモデルＡによるバッファーインバータセルを意味している。
【００１８】
ここで、レイアウトに用いるセルは、すべてトランジスタモデルＡのセルであり、トランジスタモデルが一致しているので、各セルの製造工程も一致している。たとえば、不純物注入の条件は同一であるので、不純物注入工程については、セル毎にマスクを分ける必要がない。したがって、図４（ｃ）に不純物注入領域４２１として示すように各セルの不純物注入領域が重なっており、全体として一つの領域になってしまっても構わない。従って、各セルの少なくとも不純物注入のマスクに関しては、隣接するセルとの間隔を設計基準どおりの間隔を空ける必要がなく、たとえば、不純物注入より決められる隣接するセルとの間隔より拡散層間の距離で決まる隣接するセルとの間隔の方が狭ければ、不純物注入により決まるセル間の間隔を無視して拡散間の距離で決まる大きさに各レイアウトセルの外形を定めても構わない。
【００１９】
図４（ｂ）では、そのような前提に立って、不純物注入により決まる設計基準を無視してセル間を近接して配置できるように、各セルの外形を定めている。また、図４（ｂ）では、各セルの外形が重複しなければ、隣接するセルとの距離が０でも設計基準には、反しない大きさにセルの外形が定められており、セルの自動配置においては、セルの外形間の最小間隔を０にして自動配置を行っている。なお、セルの外形は、自動配置用のセルライブラリが自動配置処理等のために用いるデータ処理用のデータ層のデータであって、自動配置の際にセル配置の間隔を決める等に用いた後は、実際のマスクパターンに直接反映されることはなく、削除されるデータであってもよい。
【００２０】
実際には、図４（ｂ）のように、不純物注入領域の基準に反してセルの外形を決めるのは例外的な方法であり、一般的には、このようにしてセルの外形を決めることは行われず、この後説明する図５のようにセルの外形の大きさを決めるのが一般的である。
【００２１】
図４に対して、図５には、セルの製造条件、トランジスタモデルが異なるセルを隣接して配置する場合の例を示す。図５では、隣接配置するセルはそれぞれ、不純物注入の条件が異なり、不純物注入マスクの間隔が隣接するセルとの最小間隔を決めているとする。不純物注入は例えばＭＯＳトランジスタの閾値を決める工程でイオン（不純物）注入が使用され、高速に動作するときのみ使用するセルと低電力で常時動作させる必要のあるセル等でイオン注入の条件を変える場合がある。
【００２２】
図５（ａ）はセルレイアウトの対象とする回路である。図５（ａ）の図４（ａ）との違いは、各セルのトランジスタモデルが異なることである。ＮＡＮＤ回路４０１は図４（ａ）と同じＡ２ＭＡすなわちトランジスタモデルＡによる２入力ＮＡＮＤゲートセルを用いるが、インバータ５０２はトランジスタモデルＢによるインバータセルＩ１ＭＢ、インバータ５０３はトランジスタモデルＣによるバッファーインバータセルＩ２ＭＣを用いるように接続情報により指定をされている。このトランジスタモデルＡ、Ｂ、Ｃの違いによりトランジスタの閾値がそれぞれ違うとする。このような場合、トランジスタモデルの違いによって、トランジスタモデル毎に異なる種類のセルを用い、セルの種類毎にイオン注入等の不純物注入の条件を変更する。したがって、そのような場合、トランジスタモデル毎にセルの種類が異なり、不純物注入の製造条件、製造工程が異なる。
【００２３】
図５（ｃ）の不純物注入領域５２１、５２２、５２３に示すようにセル毎に別々の条件で別々の製造工程で不純物注入が行えるように、イオン領域が隣接するセルと重ならないように、セルの外形が決められる。この場合は、拡散層間の間隔より不純物注入マスクの間隔がセル間の間隔を決めることになるので、間隔０で自動配置を行っても不純物注入マスクの設計基準を犯さないように、セルの外形の大きさが決められている。図５（ｂ）には、そのようにして外形が決められたセルが外形同士を接してレイアウトされた様子を示す。セルの外形の大きさの決め方としては、図５（ｂ）のように製造工程が異なるセルが隣接配置されても良いようにセル外形を決める決め方が一般的であり、図４のように一部の設計基準（不純物注入の設計基準）を無視してセルの外形の大きさを決める決め方は一般的ではない。
【００２４】
図６に、図５のように製造条件が異なるセルが隣接配置されてよいように全て設計基準を満たす外形を有するセルのみを用いてレイアウトする場合と、発明者のアイデアによる一部のセルに図４のような製造条件が同じセルのみ隣接配置できる外形を有するセルを交えてレイアウトする場合の比較を示す。
【００２５】
図６（ａ）は、セル種Ａのセルの外形を７０１で示す。ここでセル種とは、不純物注入条件が違うセル等製造工程が異なるセルをセル種で区別するものとする。従って、トランジスタモデルもセル種によって異なったモデルとなる。また、外形２とは、セル種の異なるセルを隣接配置することが可能な大きさを有する外形である。図５（ｂ）と同じ考え方で決められた外形の大きさを有するセルである。これに対して、外形１は、セル種が同一であるセルしか隣接配置できない大きさを有するセルの外形である。図４（ｂ）と同じ考え方で決められた外形の大きさを有するセルである。図６（ａ）には、比較のため、仮想的な外形１の大きさを破線７０２で示す。外形１は外形２より小さくすることができる。
【００２６】
図６（ｂ）は、セル種Ｂのセルの外形を７１１で示す。外形７１１の外形の大きさは外形２で、異なるセル種のセルが隣接配置可能な大きさを持っている。このセルの仮想的な外形１の大きさを破線７１２で示す。
【００２７】
図６（ｃ）に図６（ａ）の外形２を有するセル種Ａのセルと図６（ｂ）の外形２を有するセル種Ｂのセルとを混在して自動配置した場合のレイアウトを示す。このレイアウトは、一般的な自動レイアウトツールで配置した場合に相当し、特にセル種が混在してレイアウトされることを意識する必要はない。
【００２８】
これに対して図６（ｄ）に示すセル種Ａの外形７３１は外形１であり、同一セル種のセルのみが隣接配置できる大きさの外形を備えている。セル種Ａの外形２の大きさを仮想的に破線７３２で示す。
【００２９】
図６（ｅ）に示すセル種Ｂの外形７４１は隣接配置されるセルが異なるセル種の外形１を有するセルであっても設計基準を満たすように外形の大きさが決められている。特に隣接配置されるセルが外形１を有するセル種Ａのセルである場合にも設計基準を満たすように外形の大きさが決められるので、図６（ｂ）に示す外形７１１より外形を大きくしなければならない場合もあり得る。セルの外形を大きくしなければならないか否かは、拡散層間の距離等他の基準にも依存する。したがって、外形７４１の大きさと外形７１１の大きさはかならずしも同一の大きさとはならない場合もある。ここでは、外形７４１の大きさは外形７１１と同一であるとする。また、外形１の大きさを仮想的に破線７１２で示す。
【００３０】
この図６（ｄ）のセルと図６（ｅ）のセルを混在して配置したレイアウトを図６（ｆ）に示す。セル種Ａのセルとセル種Ｂのセルの並ぶ順番は図６（ｃ）と同一である。ここでは、外形７１１と外形７４１の大きさが同一であるとしたので、図６（ｆ）のレイアウトでは、単純に外形７０１（外形７３２の大きさに等しい）と外形７３１との大きさの違いだけ図６（ｃ）のレイアウトより図６（ｆ）のレイアウトの方がレイアウト面積が縮小している。図６（ｃ）、図６（ｆ）では、いずれもセル種Ａを６セル配置しているので、図６（ｆ）のレイアウト面積は、７０１と７３２の面積の６倍だけ、図６（ｃ）のレイアウト面積より小さくする。しかし、図６（ｅ）に示すセル種Ｂの外形７４１の大きさは、隣接した配置されるセルが図６（ｄ）の外形７３２を有するセル種Ａのセルであろうと、図６（ｅ）のセル種Ｂのセルであろうとどちらが自動配置されても設計基準を満たすような大きさの外形が定められているので、自動配置において、隣接した配置されるセルの種類を意識せずに自動的に配置を行うことができる。
【００３１】
上記図６では、セルの種類の数はセル種Ａとセル種Ｂの２つである場合に説明したが、セルの種類の数が３以上に増えた場合も考え方は同一である。図６（ｄ）〜図６（ｆ）において、３種類以上のセル種の中から１種類のセル種を選んで、そのセル種には、図６（ｄ）のように「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形」を第１の外形として設定する。上記選択した１種類以外の残りの種類のセルには、図６（ｅ）のように「上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形」を設定する。
【００３２】
例えば、セル種Ａ、セル種Ｂ以外にセル種Ｃ、セル種Ｄが存在する場合に、図６（ｄ）と同様にセル種Ａに第１の外形（同一種類のセルのみ隣接配置可能）を設定する場合には、セル種Ｂ〜セル種Ｄについて第２の外形（任意のセルが隣接配置可能な大きさの外形）を設定する。その場合、セル種Ａには、第１の外形を有するセル種Ａと第２の外形を有するセル種Ｂ〜Ｄとのいずれかが隣接して配置されることになるが、どのセル種のセルが隣接配置されても設計基準は満たす事になる。また、セル種Ｂ〜Ｄについても、第１の外形を有するセル種Ａか、第２の外形を有するセル種Ｂ〜Ｄが配置されることになり、いずれの場合も設計基準を満たす。
【００３３】
次に、実施例１の半導体集積回路のセル自動配置装置１０の構成について、図１を参照して説明する。接続情報記憶部２４は、自動配置の対象とする回路の素子間の接続情報が記憶されている。接続情報には各素子についてどの種類（セル種、トランジスタモデル、製造工程または製造条件）のどの機能のセルを用いるかについて、直接又は間接に指定する情報が含まれているとする。この接続情報記憶部２４が記憶する接続情報は従来の自動配置ツールが用いる接続情報から何ら変更する必要はない。従来の自動配置ツールが用いる接続情報をそのまま用いることができる。
【００３４】
優先配置セル種指定部１２は、図５（ａ）のように複数の種類のセルを混在してレイアウトしなければならない場合に、どの種類のセルについて、同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形（例えば、図４（ｂ）の４１１、４１２、４１３、図６（ｄ）の７３１参照）を使用してレイアウトするか決定する。第１の外形を選択するセルの種類は１種類であるとする。ここでは、「優先配置セル種」としているが、「優先配置セル種」の「優先配置」には、優先して小さな外形のセルを用いること以上の意味はない。
【００３５】
また、優先配置セル種指定部１２は、接続情報記憶部２４に記憶する自動配置の対象となるセルの数をセルの種類毎に計数し、最も数の多いセルを優先配置セル種に指定してもよい。第１の外形を用いるセルの数が多いほど全体のレイアウト面積が小さくなるからである。また、セルの種類毎に第１の外形を用いる場合と第２の外形のセルを用いる場合の面積の差を求め、面積の差をさらに考慮して第１の外形を用いるセルの種類を決定してもよい。また、第１の外形を用いればよいセルの種類があらかじめ自明なこととしてわかっている場合には、オペレータが直接第１の外形を用いるセルの種類を直接指定できるようにしてもよい。
【００３６】
セル基本情報記憶部２１は、自動配置の用いる各機能のセルの情報を格納する。このセル基本情報記憶部に記憶する情報には、セルの外形の大きさを決めるために必要なセル内部のレイアウト情報を含む。たとえば、拡散層の位置や不純物注入マスクの位置に関する情報を含む。なお、このセル基本情報記憶部２１が記憶するセル基本情報には、仮の外形の情報が含まれていてもよい。
【００３７】
外形設定ルール記憶部２２には、セルの外形の大きさを決定するために必要な設計基準に関するデータが格納されている。このデータには、隣接するセルとの拡散層間の距離や不純物注入マスク間の距離が含まれる。この拡散層間の距離や不純物注入マスク間の距離のデータには、隣接配置されるセルが同一種類のセルであるか異なる種類のセルであるかによって基準が違う場合は、隣接配置されるセルの種類によって異なる距離のデータを格納する。例えば、図４（ｃ）と図５（ｃ）で説明したように、隣接配置されるセルの種類が同一であるか異なる種類のセルであるかによって、不純物注入マスクの基準が異なる場合がある。
【００３８】
セル外形設定部１１は、優先配置セル種指定部１２が指定する同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形を設定する一種類のセルと、セル基本情報記憶部２１が記憶するセル内部のレイアウト情報、外形設定ルール目記憶部２２が記憶する設計基準に関する情報を元に少なくとも自動配置で用いるセルについて、セル外形の設定を行う。セル外形設定部１１が設定する外形の大きさは、優先配置セル種指定部１２が指定した１種類のセルについては、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形」を設定し、その他の種類のセルには、「上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形」を設定する。なお、「セルの種類に係わらずセルを隣接配置することが可能な大きさ」の外形とは、あくまで後で説明するセル自動配置部１３がそのまま配置対象とするセルのことを述べており、セル自動配置部１３が直接自動配置の対象としないセルは対象外である。
【００３９】
セルの原点の位置がセルの中心ではなく、セルの外形の設定により、セルの原点の位置が移動する場合は、セル内の拡散層や不純物注入マスク等のセル内の位置に関する情報は、セルの原点の移動に伴って、移動させる。または、オフセットデータを別に持たせる。このセル内の拡散層や不純物注入マスクの位置等に関する情報は、自動配置配線の後、レイアウトデータに基づいて、ＬＳＩ製造に用いるマスクを製造するときに必要となる。
【００４０】
セル外形設定部１１が設定した外形を含むセルのレイアウトに関する情報はセルライブラリ記憶部２３に記憶する。セルライブラリ記憶部２３には、少なくとも接続情報記憶部２４に記憶する自動配置の対象となる回路のレイアウトに必要な全てのセルに関するレイアウト情報が含まれる。セルライブラリ記憶部２３が記憶するセルのレイアウトの情報には、優先配置セル種指定部１２が設定した一種類のセルには、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形」が設定され、それ以外のセルには、「上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形」が設定されている。
【００４１】
セル自動配置部１３は、接続情報記憶部２４に記憶された自動配置の対象となる回路の接続情報とセルライブラリ記憶部２３のセルのレイアウトに関する情報を基にセルの自動配置を行う。このセル自動配置部１３の機能は、従来の自動配置配線ツールの自動配置機能をそのまま使用することができる。セルライブラリ記憶部２３が記憶するセルのレイアウト情報には、一種類のセルには、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形」が設定され、それ以外のセルには、「上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形」が設定されているからである。従って、セル自動配置部１３は、セルの種類、外形の大きさの違いを考慮することなく自動配置することができる。セル自動配置部１３が配置したレイアウトデータは、レイアウトデータ記憶部２５に記憶される。レイアウトデータ記憶部２５は一時的なバッファであってもよい。最終的に、レイアウトデータ記憶部２５の自動配置済みデータに基づいて、半導体集積回路の製造工程に必要なマスク（又は直接露光データ）が作成される。
【００４２】
図２は、実施例１による半導体集積回路のセル自動配置方法の処理手順を示すフロー図である。図２の方法は、図１の半導体集積回路の自動配置装置１０を用いて行うことができる。図２において、優先配置セル種指定工程ステップＳ１では、複数種類のセルの内、後で説明する自動配置工程ステップＳ３において用いる第１の外形を有するセルの種類を指定する。第１の外形とは、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの」外形を言う。
【００４３】
次に、セル外形設定工程ステップＳ２では、優先配置セル種指定工程Ｓ１で第１の外形を用いると指定された種類のセルには、第１の外形を設定し、それ以外の種類のセルには、第１の外形が設定されるセルを含めセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形を設定する。
【００４４】
さらに、セル自動配置工程ステップＳ３では、セル外形設定工程ステップＳ２で外形が設定されたセルを用いてレイアウト対象とする回路について自動配置を行う。
【００４５】
なお、この後の工程については、図示を省略しているが、自動配置したセルの間で自動配線が行われ、半導体集積回路の自動配置配線が完了する。さらに、自動配置配線したデータの階層構造が取り払われフラットなデータにされて、そのデータに基づいてＬＳＩ製造に必要な各層のマスクが製造される。さらに、ＬＳＩのウェハー段階の製造工程では、各層のマスクに基づいて、半導体基板の上に素子や配線が形成され、半導体集積回路として完成する。
【実施例２】
【００４６】
図７は、実施例２による半導体集積回路の自動配置装置１０ａの構成を示すブロック図である。図１に示す実施例１による自動配置装置１０と構成機能がおおよそ同一である部分については、同一の符号を付し、重複する説明は省略する。図１の自動配置装置１０では、セル外形設定部１１は、優先配置セル種指定部１２の指定に基づき、優先セル種指定部１２が指定した種類のセルについて第１の外形（同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの外形）を設定し、それ以外のセルについて第２の外形（上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの外形）を設定していた。これに対し実施例２のセル外形設定部１１Ａは、優先配置セル種指定部１２の指定なしに複数種類のセルのうち、あらかじめ第１の外形の使用が想定されるセルの種類について、セルの外形を設定し、セルライブラリ記憶部２３ａ等に外形が設定されたセルのライブラリを記憶させておく。複数の種類のセルのうち、第１の外形の使用が想定されるセルの種類が複数ある場合には、第１の外形を設定するセルの種類毎にその種類のセルに第１の外形を設定し、他の種類のセルに第２の外形を設定する。このセルライブラリを第１の外形の使用が想定される種類の数だけセルライブラリを設定する。
【００４７】
図７では、セルライブラリ記憶部を２３ａ〜２３ｄの４つ設けている。４つ設けるのは、セルの種類が４つ以上存在し、そのうち、第１の外形に選択される可能性のあるセルの種類が４種類あり、その４種類のセルをそれぞれ第１の外形、他の種類のセルを第２の外形とするセルライブラリを４種類設定することを意味する。そして、各セルライブラリ記憶部毎に、第１の外形を設定するセルと第２の外形を設定するセルのレイアウトに必要な情報を格納する。
【００４８】
また、図１の自動配置装置１０では、接続情報記憶部２４に含まれる回路に用いられるセルについてのみセルライブラリ記憶部２３に記憶させても良かったが、図７のセルライブラリ記憶部２３ａ〜２３ｄでは、自動配置の対象となる回路が特定される前であってもセルライブラリ記憶部２３ａ〜２３ｄに自動配置用のセルライブラリが準備できるように自動配置の対象となることが考えられるセルはすべてライブラリとしてセルライブラリ記憶部２３ａ〜２３ｄに記憶させる。
【００４９】
セル自動配置部１３では、優先配置セル種指定部１２によって、第１の外形を用いると指定されたセルの種類によって、複数のセルライブラリ記憶部２３ａ〜２３ｄから該当するセルライブラリ記憶部に記憶されたセルライブラリを用いてセル自動配置を行う。セル自動配置部１３の動作としては、複数のセルライブラリ記憶部から優先配置セル種指定部１２の指定によりセル自動配置部１３で用いるセルライブラリ記憶部（図７では２３ａ〜２３ｄのいすれか１つ）を選択することが異なるだけであり、後の動作、機能は、図１のセル自動配置部１３の機能と同一である。上記以外は、実施例２の自動配置装置１０ａの構成は、実施例１の自動配置装置１０と機能、動作は同一である。
【００５０】
図８は、実施例２による半導体集積回路の自動配置方法の処理手順を示すフロー図である。図８の自動配置方法は、図７の自動配置装置１０ａを用いて実施することができる。図８の実施例２による自動配置方法では、図２に示す実施例１による自動配置方法と優先配置セル種指定工程Ｓ１の前にセル外形設定工程Ｓ２Ａを実行できる点が異なっている。図８において、優先配置セル種指定工程Ｓ１では、実施例１で説明したように第１の外形を使用するセルの種類を指定するが、これは、一般的には自動配置の対象とする回路が確定しないと決まらない。回路が確定しないとどのようなセルを用いてレイアウトする必要があるかも決まらないからである。そこで、実施例２の自動配置方法では、どの種類のセルが第１の外形を設定することになってもよいように、複数の種類のセルのうち、第１の外形の指定が考えられるセルの種類毎に全ての種類のセルについてそれぞれ、第１の外形、第２の外形を備えたセルライブラリを準備しておく。セル自動配置工程ステップＳ３では、優先配置セル種指定工程ステップＳ１で指定されたセルについて第１の外形が設定されたセルライブラリを用いて自動配置を行う。実施例２では、自動配置の対象となる回路が決定する前であってもセル外形設定工程ステップＳ２Ａを実行し、あらかじめセルライブラリを準備しておくので、自動配置の対象となる回路が確定し、第１の外形を用いるセルの種類が決まれば、すぐセル自動配置工程ステップＳ３を実行できる点で、自動配置の対象となる回路が確定してから後の工程の短縮を行うことができる。また、セル外形設定工程ステップＳ２Ａで準備したセルライブラリは、レイアウト対象とする回路に限定されずに汎用性があるので、異なる回路の自動配置にも使用できるというメリットがある。
【００５１】
なお、実施例２では、優先配置セル種指定工程ステップＳ１とセル外形設定工程ステップＳ２はどちらを先に行ってもかまわない。セル自動配置工程ステップＳ３の前に優先配置セル種指定工程ステップＳ１とセル外形設定工程ステップＳ２が完了していればよい。
【実施例３】
【００５２】
図９は、実施例３による半導体集積回路の自動配置装置１０ｂの構成を示すブロック図である。図９の自動配置装置１０ｂは、図７の実施例２の自動配置装置１０ａのセル基本情報記憶部２１が標準セルライブラリ記憶部２１Ａに代わり、セル外形設定部１１Ａがセル外形変更部１１Ｂに代わっている。その他の構成は、図７に示す実施例２と同一である。
【００５３】
実施例１、実施例２のセル基本情報記憶部２１は、まだ、セルの外形が設定されていないセルの情報を記憶しているものとして説明した。それに対し、実施例３の標準セルライブラリ記憶部２１Ａは、すでにセルの外形が設定された自動レイアウト用の標準的なセルライブラリである。実施例３では、この様なすでにセルの外形が設定された標準的なセルライブラリがある場合にその外形の大きさを変更することによって、「同一種類のセルが隣接配置可能であり、異なる種類のセルの隣接配置が不可能な大きさの第１の外形」が設定されたセルと、「上記第１の外形が設定されるセルを含めてセルの種類に係わらずセルを隣接配置することが可能な大きさの第２の外形」が設定されたセルとを含むセルライブラリを設定し、セルライブラリ記憶部２３ａ〜２３ｄに記憶させている。
【００５４】
セルライブラリ記憶部２３ａ〜２３ｄに記憶するライブラリの内容は、実施例２と同一である。すなわち、実施例２では、外形が設定されていないセルの情報を元に新たにセルの外形を設定していたが、実施例３では、すでに外形が設定されているセルの外形の大きさを変更することによって、セルライブラリ記憶部２３ａ〜２３ｄに記憶するセルライブラリを設定している。それ以外は、実施例２と動作についても同一である。
【００５５】
なお、基準セルライブラリ記憶部２１Ａに記憶するセルの外形は、図５（ｂ）の示す隣接配置するセル種に依存しない大きさの外形を有するセルであってもよいし、図４（ｂ）に示す同一種類のセルしか隣接配置することができない大きさの外形を有するセルであってもよい。
【００５６】
図１０に、実施例３による半導体集積回路の自動配置方法の処理手順を示すフロー図を示す。図８のセル外形設定工程ステップＳ２Ａが図１０ではセル外形変更工程ステップＳ２Ｂに代わっており、実施例２の図８では外形が設定されていないセルの基本情報から新たにセルの外形を設定していたのに対して、すでに設定されているセルの外形の大きさを変更して新たにセルライブラリを設定している点が異なっているが、他はすべて実施例２の処理手順と同じである。
【００５７】
また、実施例３の図９、図１０では、実施例２における図７、図８のセル外形設定部１１Ａ、セル外形工程ステップＳ２Ａをそれぞれ、セル外形変更部１１Ｂ、セル外形変更工程ステッブＳ２Ｂとしたが、図１、図２におけるセル外形設定部１１、セル外形設定工程ステップＳ２において、外形設定済みの基準セルライブラリを変更してセルライブラリ記憶部２３に記憶するセルライブラリを設定することも可能であることはいうまでもない。
【００５８】
実施例３によれば、すでに存在する自動配置用のセルライブラリの外形を一部変更することにより面積が小さく、かつ、隣接配置するセルの種類を考慮しなくとも、自動配置することができる。
【実施例４】
【００５９】
実施例４は、実施例１乃至３の自動配置装置、自動配置方法を、コンピュータを用いて実行する実施例である。実施例１乃至３の自動配置装置、自動配置方法は、ＥＷＳ（エンジニアリングワークステーション）やＰＣ（パーソナルコンピュータ）等の汎用コンピュータを用いても実現することができる。例えば、図１において、接続情報記憶部２４、外形設定ルール記憶部２２、セル基本情報記憶部２１、セルライブラリ記憶部２３、レイアウトデータ記憶部２５をいずれもコンピュータのメモリやハードディスク等の外部記憶装置に設定し、コンピュータプログラムによりコンピュータのＣＰＵや演算装置をセル外形設定部１１、優先配置セル種指定部１２、セル自動配置部１３として機能させることができる。また、図２等に記載する自動配置方法もコンピュータにコンピュータプログラムを実行させることにより、実行することができる。図７〜図１０に示す実施例２、実施例３においても同様に、コンピュータプログラムによりコンピュータを実施例２、実施例３の自動配置装置１０ａ、１０ｂとして機能させ、コンピュータに図８、図１０の自動配置方法を実行させることができる。また、上記コンピュータプログラムは、ＣＤ、ＤＶＤ、ハードディスク、フラッシュメモリなどの記憶媒体に格納してコンピュータにインストールすることができる。
【００６０】
以上、実施例について説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【産業上の利用可能性】
【００６１】
本発明は、半導体集積回路の設計に汎用的に用いることができる。本発明により、隣接するセルとセルの種類が異なるか否か、製造工程が異なるか否かを考慮することなく、小さな面積でセルを自動配置することができるので、本発明を用いることにより、半導体装置の製造コストを下げ、チップ面積が小さくなることから品質を向上させることもできる。
【符号の説明】
【００６２】
１０、１０ａ、１０ｂ：（半導体集積回路の）自動配置装置
１１、１１Ａ：セル外形設定部
１１Ｂ：セル外形変更部（セル外形設定部）
１２：優先配置セル種指定部
１３：セル自動配置部
２１：セル基本情報記憶部
２１Ａ：基準セルライブラリ記憶部（セル基本情報記憶部）
２２：外形設定ルール記憶部
２３、２３ａ、２３ｂ、２３ｃ、２３ｄ:セルライブラリ記憶部
２４：接続情報記憶部
２５：レイアウトデータ記憶部
４０１：トランジスタモデルＡによる２入力ＮＡＮＤゲートＡ２ＭＡ
４０２：トランジスタモデルＡによるインバータＩ１ＭＡ
４０３：トランジスタモデルＡによるバッファーインバータＩ２ＭＡ
４１１、４１２、４１３、５１１、５１２、５１３：セル
４２１、５２１、５２２、５２３：不純物注入領域
５０２：トランジスタモデルＢによるインバータＩ１ＭＢ
５０３：トランジスタモデルＣによるバッファーインバータＩ２ＭＢ
７０１：セル種Ａの外形（任意のセルが隣接配置可能な外形）
７０２：セル種Ａの仮想的な外形（同一種類のセルのみ隣接配置可能な外形）
７１１：セル種Ｂの外形（任意のセルが隣接配置可能な外形）
７１２：セル種Ｂの仮想的な外形（同一種類のセルのみ隣接配置可能な外形）
７３１：セル種Ａの外形（同一種類のセルのみ隣接配置可能な外形）
７３２：セル種Ａの仮想的な外形（任意のセルが隣接配置可能な外形）
７４１：セル種Ｂの外形（任意のセルが隣接配置可能な外形）
Ｓ１：優先配置セル種指定工程
Ｓ２、Ｓ２Ａ：セル外形設定工程
Ｓ２Ｂ：セル外形変更工程
Ｓ３：セル自動配置工程
【図１】
2011109025.tif 000003
【図２】
2011109025.tif 000004
【図３】
2011109025.tif 000005
【図４】
2011109025.tif 000006
【図５】
2011109025.tif 000007
【図６】
2011109025.tif 000008
【図７】
2011109025.tif 000009
【図８】
2011109025.tif 000010
【図９】
2011109025.tif 000011
【図１０】
2011109025.tif 000012