(57)【要約】【課題】複数のセルが配置されたレイアウトに関して、レイアウト検証の効率を向上させること。【解決手段】本発明によれば、複数のセルが配置された半導体集積回路のレイアウトデータのデータ構造が提供される。そのレイアウトデータは、レイアウト検証時に複数のセルの各々を認識するために用いられる認識層を有する。その認識層は、所定のパターンが配置された第１認識層（Ｌａｙｅｒ−Ｃ）を含む。その所定のパターンは、各々のセルの１つの角に配置された第１パターン（Ｐ１）と、各々のセルの一辺に平行に配置された第２パターン（Ｐ２）と、を含む。【選択図】図１
2008269242.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルが配置された半導体集積回路のレイアウトデータの検証処理をコンピュータに実行させるレイアウト検証プログラムであって、
前記コンピュータは、前記レイアウトデータ及びデザインルールが格納される記憶装置を備え、
前記レイアウトデータは、所定のパターンが配置された第１認識層を含み、
前記所定のパターンは、
前記複数のセルの各々の１つの角に配置された第１パターンと、
前記各々のセルの一辺に平行に配置された第２パターンと
を含み、
前記検証処理は、
（Ａ）前記記憶装置から前記レイアウトデータ及び前記デザインルールを読み出すステップと、
（Ｂ）前記第１パターンを参照することにより、前記各々のセルの向きを認識するステップと、
（Ｃ）前記第２パターンを参照することにより、前記各々のセルの配列方向を認識するステップと、
（Ｄ）前記認識された向き及び配列方向が前記デザインルールに適合しているか否かを検証するステップと
を含む
レイアウト検証プログラム。
【請求項２】
請求項１に記載のレイアウト検証プログラムであって、
前記レイアウトデータは、更に、前記各々のセルの種類を示す第２認識層を含み、
前記検証処理は、更に、
（ａ）前記第２認識層を参照することにより、前記各々のセルの種類を認識するステップを含む
レイアウト検証プログラム。
【請求項３】
請求項２に記載のレイアウト検証プログラムであって、
前記各々のセルの前記第２認識層には、ＧＤＳ−ＩＩフォーマットで規定されるＴＥＸＴが与えられ、
前記各々のセルの前記第２認識層の境界は、前記各々のセルの境界から離れている
レイアウト検証プログラム。
【請求項４】
請求項２に記載のレイアウト検証プログラムであって、
前記（Ｄ）ステップは、
（Ｄ１）前記認識された種類に基づいて、前記複数のセルのうち互いに隣接しているセルの種類が前記デザインルールに適合しているか否かを検証するステップを含む
レイアウト検証プログラム。
【請求項５】
請求項２に記載のレイアウト検証プログラムであって、
前記複数のセルのうち互いに隣接している所定数のセル間で、前記第１パターン同士が隣接しており、
前記（Ｄ）ステップは、
（Ｄ２）前記認識された種類及び前記隣接する第１パターンに基づいて、前記所定数のセルのそれぞれの向きが前記デザインルールに適合しているか否かを検証するステップを含む
レイアウト検証プログラム。
【請求項６】
請求項２に記載のレイアウト検証プログラムであって、
前記複数のセルは、所定の方向に連続して配置された一群のセルを含み、
前記（Ｄ）ステップは、
（Ｄ３）前記認識された種類及び前記第２パターンに基づいて、前記一群のセルの配列方向が前記デザインルールに適合しているか否かを検証するステップを含む
レイアウト検証プログラム。
【請求項７】
請求項２に記載のレイアウト検証プログラムであって、
前記複数のセルは、所定の方向に連続して配置された一群のセルを含み、
前記（Ｄ）ステップは、
（Ｄ４）前記認識された種類及び前記第２パターンに基づいて、前記一群のセルに含まれるセルの数が前記デザインルールに適合しているか否かを検証するステップを含む
レイアウト検証プログラム。
【請求項８】
複数のセルが配置された半導体集積回路のレイアウトデータのデータ構造であって、
前記レイアウトデータは、レイアウト検証時に前記複数のセルの各々を認識するために用いられる認識層を有し、
前記認識層は、所定のパターンが配置された第１認識層を含み、
前記所定のパターンは、
前記各々のセルの１つの角に配置された第１パターンと、
前記各々のセルの一辺に平行に配置された第２パターンと
を含み、
前記レイアウトデータは、
前記レイアウトデータを記憶する記憶装置と、
前記レイアウト検証時に、前記記憶装置から前記レイアウトデータを読み出し、前記認識層を参照して前記複数のセルの配置を検証するプロセッサと
を有するコンピュータにより使用される
レイアウトデータのデータ構造。
【請求項９】
請求項８に記載のレイアウトデータのデータ構造であって、
前記認識層は、更に、前記各々のセルの種類を示す第２認識層を含む
レイアウトデータのデータ構造。
【請求項１０】
請求項９に記載のレイアウトデータのデータ構造であって、
前記各々のセルの前記第２認識層には、ＧＤＳ−ＩＩフォーマットで規定されるＴＥＸＴが与えられ、
前記各々のセルの前記第２認識層の境界は、前記各々のセルの境界から離れている
レイアウトデータのデータ構造。
【請求項１１】
請求項８乃至１０のいずれかに記載のレイアウトデータのデータ構造であって、
前記複数のセルのうち互いに隣接する所定数のセル間で、前記第１パターン同士が隣接する
レイアウトデータのデータ構造。
【請求項１２】
請求項８乃至１１のいずれかに記載のレイアウトデータのデータ構造であって、
前記第２パターンは、前記各々のセルの前記一辺に隣接して配置され、
前記複数のセルのうち互いに隣接する２つのセル間で、前記第２パターン同士が対向して隣接する
レイアウトデータのデータ構造。
【請求項１３】
半導体集積回路のセルデータのデータ構造であって、
前記セルデータは、レイアウト検証時にセルを認識するために用いられる認識層を有し、
前記認識層は、所定のパターンが配置された第１認識層を含み、
前記所定のパターンは、
前記セルの１つの角に配置された第１パターンと、
前記セルの一辺に平行に配置された第２パターンと
を含み、
前記セルデータは、
前記セルデータを記憶する記憶装置と、
前記記憶装置から前記セルデータを読み出し、前記セルを配置するプロセッサと
を有するコンピュータにより使用される
セルデータのデータ構造。
【請求項１４】
請求項１３に記載のセルデータのデータ構造であって、
前記認識層は、更に、前記セルの種類を示す第２認識層を含む
セルデータのデータ構造。
【請求項１５】
請求項１４に記載のセルデータのデータ構造であって、
前記第２認識層には、ＧＤＳ−ＩＩフォーマットで規定されるＴＥＸＴが与えられ、
前記第２認識層の境界は、前記セルの境界から離れている
セルデータのデータ構造。
【請求項１６】
請求項１３乃至１５のいずれかに記載のセルデータのデータ構造であって、
前記第２パターンは、前記セルの前記一辺に隣接して配置された
セルデータのデータ構造。
【請求項１７】
複数のセルが配置された半導体集積回路のレイアウトデータの検証処理をコンピュータに実行させるレイアウト検証プログラムであって、
前記複数のセルの各々のレイアウトデータは、１つの角または一辺に配置された認識パターンを備え、
前記認識パターンは、実際のレイアウトには用いられない検証用のパターンであって、セルが正しく配置されると隣接配置されるセルに認識パターンとともに一定の形状の図形をなすように構成されており、
前記レイアウト検証プログラムは、前記コンピュータを、前記レイアウトデータの記憶手段と、前記記憶手段から各セルの認識パターンを読み出し前記一定の形状の図形をなすように配置されているか否かを検証する検証手段として機能させる
レイアウト検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト技術及びレイアウト検証技術に関する。
【背景技術】
【０００２】
半導体集積回路の設計プロセスにおいて、レイアウトデータが作成された後、そのレイアウトがデザインルール（設計基準）に適合しているか否かを検証するレイアウト検証が実施される。レイアウト検証時にレイアウトデータ中の素子や端子を認識するための手法として、次のものが知られている。
【０００３】
特許文献１には、集積回路アートワークデータの素子認識システムが開示されている。その素子認識システムは、各端子の種類名、及びアートワークデータの矩形データであるセルの名称を参照しながら、回路復元を行う。より詳細には、その素子認識システムは、アートワークデータの拡散パターンに合わせて、共通領域に含まれる下位階層のセル名、テキスト名を組み合わせてテキスト表現をする。これにより、１個のセルに含まれる複数の素子を認識することができる。
【０００４】
特許文献２には、レイアウト構造が同一である複数種のＭＯＳトランジスタを検証時に認識するための手法が開示されている。その手法によれば、素子認識のための認識パターンとして、異なる２層のそれぞれに配置された任意の形状の図形が用いられる。それぞれの層の図形の少なくとも一辺は、上記２層を通して接する。その認識パターンは、レイアウトデータの作成時に配置され、その認識パターンの接辺数は、ＭＯＳトランジスタの最小ゲート長に応じて異なる。検証時には、レイアウトデータから認識パターンが抽出され、抽出された認識パターンの接辺数に基づいてＭＯＳトランジスタの種類が認識される。
【０００５】
【特許文献１】特開昭６３−３６５５３号公報
【特許文献２】特開２０００−２６８０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
半導体集積回路のレイアウトでは、複数のセルが配置される。例えばＳＲＡＭのレイアウトでは、メモリセルアレイに対応して複数のビットセルがマトリックス状に配置される。このように複数のセルが配置されたレイアウトに関して、レイアウト検証の効率を向上させることができる技術が望まれる。
【課題を解決するための手段】
【０００７】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００８】
本発明に係るセルデータ（２１）は、レイアウト検証時に当該セルを認識するために用いられる認識層（Ｌａｙｅｒ−Ａ〜Ｃ）を有する。その認識層（Ｌａｙｅｒ−Ａ〜Ｃ）は、所定のパターン（Ｐ１，Ｐ２）が配置された第１認識層（Ｌａｙｅｒ−Ｃ）を含む。その所定のパターン（Ｐ１，Ｐ２）は、セルの１つの角（Ｃ７）に配置された第１パターン（Ｐ１）と、セルの一辺（Ｓａ）に平行に配置された第２パターン（Ｐ２）と、を含む。
【０００９】
レイアウト処理においては、上記セルデータ（２１）が読み込まれ、セル配置が行われる。その結果、複数のセルが配置された半導体集積回路のレイアウトデータ（２３）が作成される。作成されたレイアウトデータ（２３）は、上述の認識層（Ｌａｙｅｒ−Ａ〜Ｃ）を有している。
【００１０】
レイアウト検証時には、その認識層（Ｌａｙｅｒ−Ａ〜Ｃ）を参照することにより、複数のセルの配置の検証が行われる。この時、上述の第１パターン（Ｐ１）及び第２パターン（Ｐ２）を参照することにより、様々な項目を容易に検証することができる。例えば、第１パターン（Ｐ１）を参照することにより、各々のセルの向き（Ｏｒｉｅｎｔａｔｉｏｎ）を認識し検証することができる。また、第２パターン（Ｐ２）を参照することにより、各々のセルの配列方向（Ｄｉｒｅｃｔｉｏｎ）を認識し検証することができる。このように、第１パターン（Ｐ１）及び第２パターン（Ｐ２）を参照することにより、レイアウトデータ（２３）がデザインルールに適合しているか否かを、様々な観点から検証することができる。これら第１パターン（Ｐ１）及び第２パターン（Ｐ２）を有する認識層（Ｌａｙｅｒ−Ｃ）は、汎用的であると言える。
【００１１】
以上に説明されたように、本発明によれば、汎用的な認識層が与えられる。従って、レイアウト検証において検証可能な項目が増加し、検証率が向上する。更に、認識層が汎用的であるため、セルライブラリと検証仕様（ＤＲＣルール）とを互いに関連付けて固定する必要はない。セルライブラリのリリース後に、検証仕様を変更したり追加したりすることも可能である。言い換えれば、検証仕様の変更・追加に応じてセルライブラリを作り直す必要はなく、本発明に係る認識層でその変更・追加に対応することが可能である。
【発明の効果】
【００１２】
本発明によれば、レイアウトデータが汎用的な認識層を有するため、レイアウト検証の効率が向上する。
【発明を実施するための最良の形態】
【００１３】
添付図面を参照して、本発明の実施の形態に係るレイアウト技術及びレイアウト検証技術を説明する。
【００１４】
１．認識層
まず、本発明で用いられる「認識層（identification layer）」について説明する。認識層は、セルデータに埋め込まれており、レイアウト検証時に各セルを認識するために用いられる。一般的に知られているＧＤＳ（Graphic Design Standard）−ＩＩフォーマットのデータでは、複数の層が定義される。本発明では、そのうちいくつかの層が認識層として用いられる。
【００１５】
図１は、あるセルデータが有する認識層を概念的に示している。そのセルデータは、例えば、ＳＲＡＭの１つの記憶素子に相当するセル（以下、「ビットセル」と参照される）のデータである。図１に示されるように、セルデータは、３つの認識層Ｌａｙｅｒ−Ａ〜Ｌａｙｅｒ−Ｃを有している。
【００１６】
図２は、認識層の１つであるＬａｙｅｒ−Ａを概念的に示している。Ｌａｙｅｒ−Ａは、セルの境界（外形）を表す認識層である。Ｌａｙｅｒ−Ａは、例えば、セルの境界を示す長方形の対角線上の２点Ｃ１、Ｃ２の座標で定義され得る。セル配置処理時、複数のセルは、この境界で互いに接するように配置される。
【００１７】
図３は、認識層の１つであるＬａｙｅｒ−Ｂを概念的に示している。Ｌａｙｅｒ−Ｂは、セルの種類を示す認識層であり、セルの種類の識別に用いられる認識層である。Ｌａｙｅｒ−Ｂは、例えば、長方形の対角線上の２点Ｃ３、Ｃ４の座標で定義され得る。
【００１８】
このＬａｙｅｒ−Ｂには、セルの種類を識別するための情報が書き込まれる。例えば本実施の形態において、Ｌａｙｅｒ−Ｂには、ＧＤＳ−ＩＩフォーマットの標準規格である「ＴＥＸＴ」が与えられる。つまり、上述の２点Ｃ３、Ｃ４で規定された長方形の内側の所定の位置に、ＴＥＸＴが書き込まれる。そのＴＥＸＴとしては、セルの種類に応じて異なる名前が与えられる。図３では、対角線上の２点Ｃ５、Ｃ６で規定される長方形領域に、セルの種類に応じた名前が書き込まれている。レイヤ番号であるＬａｙｅｒ−Ｂ及びある名前（ＴＥＸＴ）を指定することにより、指定された名前が書き込まれたＬａｙｅｒ−Ｂ、すなわち、指定された種類のセルを選択することができる。Ｌａｙｅｒ−Ｂは、指定された名前（種類）のセルを選択するための認識層であると言うこともできる。
【００１９】
尚、図３に示されるように、２点Ｃ３、Ｃ４で規定される長方形は、上述の２点Ｃ１、Ｃ２で規定されるセル境界の内側に存在している。言い換えれば、各セルのＬａｙｅｒ−Ｂの境界は、各セルの境界から離れている。その理由は次の通りである。もし、Ｌａｙｅｒ−Ｂの境界がセル境界と同じであると、セルが配置されたときに、隣接セル間でＬａｙｅｒ−Ｂ同士がくっついてしまう。その場合、指定された名前が書き込まれたＬａｙｅｒ−Ｂが選択されるときに、隣接するセルまでまとめて選択されてしまう。そのような誤った選択を防止するために、Ｌａｙｅｒ−Ｂの境界はセル境界から離される。例えば図３に示されるように、Ｌａｙｅｒ−Ｂの境界はセル境界から幅Ｗ（例：０．０１μｍ）だけ離される。これにより、指定された名前（種類）のセルを正確に選択することが可能となる。
【００２０】
図４Ａは、認識層の１つであるＬａｙｅｒ−Ｃを概念的に示している。Ｌａｙｅｒ−Ｃは、例えば、長方形の対角線上の２点Ｃ７、Ｃ８の座標で定義され得る。それら２点Ｃ７、Ｃ８で規定される長方形は、上述のセル境界と一致している。このＬａｙｅｒ−Ｃは、セルの向き（orientation）や配列方向（direction）といった情報を認識するための認識層である。そのような情報を認識するために、Ｌａｙｅｒ−Ｃには所定のパターンが配置される。例えば図４Ａで示されるＬａｙｅｒ−Ｃには、第１パターンＰ１及び第２パターンＰ２が配置されている。
【００２１】
第１パターンＰ１は、各セルの１つの角に配置される。図４Ａでは、上述の点Ｃ７周辺に第１パターンＰ１が配置されている。この第１パターンＰ１は、当該セルの向き（orientation）を表すパターンである。セルの向きは、セル配置時の反転（flipping）や回転（rotating）によって変化する。第１パターンＰ１の位置により、それら反転や回転を含むセルの向きを認識することができる。
【００２２】
第２パターンＰ２は、各セルの１つの辺に平行に配置される。図４Ａでは、第２パターンＰ２は、セルの一辺Ｓａに平行に、且つ、その辺Ｓａに隣接するように配置されている。この第２パターンＰ２は、当該セルの配列方向（direction）を表すパターンである。例えば、ＳＲＡＭのビットセルの場合、第２パターンＰ２の長手方向は、ディジット線方向、あるいは、ワード線方向を表している。図４Ｂに示されるように、第２パターンＰ２は、辺Ｓａに隣接せずに、辺Ｓａに平行に配置されていてもよい。
【００２３】
尚、第１パターンＰ１と第２パターンＰ２は、上述のＬａｙｅｒ−Ｂと少なくともオーバラップするように配置される（図１参照）。
【００２４】
また、セルデータの段階で、第１パターンＰ１と第２パターンＰ２は、セル境界から離れていてもよい。その場合、レイアウト検証段階で、第１パターンＰ１と第２パターンＰ２が認識された後に、第１パターンＰ１と第２パターンＰ２は、図４Ａあるいは図４Ｂで示されたように変更されるとよい。
【００２５】
２．処理フロー
次に、上述の認識層（Ｌａｙｅｒ−Ａ〜Ｌａｙｅｒ−Ｃ）を有するセルデータを用いた、半導体集積回路の設計方法を説明する。図５は、本実施の形態に係る半導体集積回路の設計方法を示すフローチャートである。
【００２６】
ステップＳ１０：
まず、セルライブラリが提供される。セルライブラリは、複数種類のセルのそれぞれに関する複数種類のセルデータから構成される。各セルデータは、ＧＤＳ−ＩＩフォーマットで与えられる。また、各セルデータは、図１で示されたＬａｙｅｒ−Ａ〜Ｌａｙｅｒ−Ｃを有している。
【００２７】
ステップＳ２０：
次に、レイアウト処理が実行される。レイアウト処理では、ネットリストで示される設計回路に応じて、複数のセルが配置される。例えばＳＲＡＭの場合、複数のビットセルがマトリクス状に配置される。必要なセルのセルデータは、セルライブラリから読み出される。セル配置処理時、複数のセルは、Ｌａｙｅｒ−Ａで規定されるセル境界で互いに接するように配置される。
【００２８】
ステップＳ３０：
ステップＳ２０の結果、設計回路のレイアウトを示すレイアウトデータ（ＧＤＳデータ）が完成する。このレイアウトデータも、ＧＤＳ−ＩＩフォーマットで与えられ、且つ、上述の認識層を有している。図６は、作成されるレイアウトデータを概念的に示している。例として、ＳＲＡＭのレイアウトデータが示されている。このＳＲＡＭのレイアウトでは、符号１〜８で示される複数種類のセルが配置されている。
【００２９】
符号１及び２は、ビットセルを示している。セルアレイに相当して、複数のビットセル１、２がマトリクス状に配置されている。ビットセル１はセルアレイの内部に存在するセルであり、一方、ビットセル２は、セルアレイの端部に存在するセルである。ビットセル２は、回路的にはビットセル１と同じであるが、セルアレイの端部に配置されるため、レイアウト上では異なる種類のセルとして扱われる。これらビットセル１、２において、Ｌａｙｅｒ−Ｃは図４Ａで示されたパターンＰ１、Ｐ２の両方を有している。
【００３０】
符号３及び４は、ビットセルとデコーダとの間を連結するセルを示している。連結セル３は、ビットセル１とデコーダとの間を連結し、連結セル４は、ビットセル２とデコーダとの間を連結している。符号５は、ビットセルとデコーダとの間を連結するセルを示している。符号６は、セルアレイ間を連結するセルを示している。符号７及び８は、その他のセルである。これらセル３〜８において、Ｌａｙｅｒ−Ｃは第１パターンＰ１のみを有している。
【００３１】
図６に示されるように、いくつかのセルは、反転後あるいは回転後に配置されている。それら反転や回転は、設計回路の仕様として要求される。例えば、あるビットセル（１又は２）とそのビットセルに隣接するビットセルとは、反転の関係にある。すなわち、縦方向、横方向のいずれにおいても、あるビットセルとその反転とが交互に配置されている。その結果、互いに隣接する４個のビットセル間で第１パターンＰ１同士が隣接し、４個の第１パターンＰ１からなる大きな四角形パターンが形成されている。また、第２パターンＰ２同士が隣接するビットセル群も存在する。特に、隣接する２個のビットセルの第２パターンＰ２同士が対向して隣接することにより、太い帯状のパターンが形成されている。大きな四角形パターンや太い帯状のパターンは、規則的に現れている。
【００３２】
ステップＳ４０：
レイアウトデータの作成後、レイアウト検証（ＤＲＣ：Design Rule Check）が行われる。レイアウト検証では、レイアウトデータがデザインルールに適合しているか否かが検証される。まず、ＤＲＣルールが読み込まれる（ステップＳ４１）。ＤＲＣルールは、レイアウト検証の仕様であり、レイアウトデータが満たすべき様々なデザインルールを含む。
【００３３】
次に、Ｌａｙｅｒ−Ｂに書き込まれたＴＥＸＴを参照することにより、各セルの種類の識別が行われる（ステップＳ４２）。具体的には、レイヤ番号であるＬａｙｅｒ−Ｂとある名前を指定することにより、指定された名前が書き込まれたＬａｙｅｒ−Ｂ、すなわち、指定された種類のセルを認識することができる。図６で示されたように、レイアウトデータには各種セル１〜８が配置されている。その後、以下に説明されるように、識別されたセルの配置、向き、方向等の検証が行われる。
【００３４】
ステップＳ４３：配置（Arrangement）の検証
図７は、複数のセルの配置の検証を説明するための概念図である。セル配置の検証では、隣り合うセルの組み合わせが検証される。つまり、互いに隣接しているセルの種類がＤＲＣルールに適合しているか否かの検証が行われる。各セルの種類は上述のステップＳ４２において認識されており、その認識された種類に基づいてセル配置の検証は行われる。
【００３５】
例えば、次の項目の検証が行われる。すなわち、（Ａ）ビットセル１が少なくとも２つのビットセル１に囲まれているか否か；（Ｂ）２個のビットセル１だけに囲まれているビットセル１が、ビットセル２及び連結セル３に隣接しているか否か；（Ｃ）３個のビットセル１に囲まれているビットセル１がビットセル２又は連結セル３に隣接しているか否か；（Ｄ）セルアレイ端部のビットセル２は、連結セル４、５、６のいずれかに隣接しているか否か、等の検証が行われる。
【００３６】
尚、上述の通り、第２パターンＰ２同士が対向して隣接するビットセル群が、セルアレイの内部に存在している。その結果、セルアレイの内部では太い帯状のパターンが形成されている。一方、連結セル３、４に隣接するセルアレイの端部では、細い帯状のパターンが形成されている。従って、第２パターンＰ２からなる帯状パターンの太さに基づいて、セルアレイの端部と内部を区別することも可能である。すなわち、Ｌａｙｅｒ−Ｃの第２パターンＰ２を参照して、セルアレイの端部と内部を容易に識別することが可能である。このような識別を行うためには、第２パターンＰ２同士が対向して隣接するビットセル群が必要である。その意味で、第２パターンＰ２は、図４Ａで示されたように、辺Ｓａに隣接していることが好適である。
【００３７】
ステップＳ４４：向き（Orientation）の検証
図８は、各セルの向きの検証を説明するための概念図である。セルの向きは、セル配置時の反転（flipping）や回転（rotating）によって変化する。Ｌａｙｅｒ−Ｃの第１パターンＰ１の位置により、それら反転や回転を含むセルの向きを認識することができる。そして、各セルの向きが、セル種類に応じたＤＲＣルールに適合しているか否かが検証される。
【００３８】
例えば、次の項目の検証が行われる。すなわち、（Ａ）互いに異なる向きの４個のビットセル（１，２）が互いに隣接し、１つのグループを構成しているか；（Ｂ）連結セル４が反転していない場合に、端部のビットセル２が反転しているか；（Ｃ）隣接する２つの連結セル５の向きが逆になっているか、等の検証が行われる。項目（Ａ）に関しては、上述の“大きな四角形パターン”が参照され得る。上述の通り、縦方向、横方向のいずれにおいても、あるビットセルとその反転とが交互に配置されている。その結果、互いに隣接する４個のビットセル間で第１パターンＰ１同士が隣接し、４個の第１パターンＰ１からなる大きな四角形パターンが形成されるはずである。この大きな四角形パターンを検出することにより、項目（Ａ）の検証が行われ得る。
【００３９】
ステップＳ４５：配列方向（Direction）の検証
図９は、セルの配列方向の検証を説明するための概念図である。各セルの配列方向は、Ｌａｙｅｒ−Ｃの第２パターンＰ２を参照することにより認識することができる。そして、各セルの配列方向や一群のセルの配列方向が、ＤＲＣルールに適合しているか否かが検証される。特に、セルアレイでは、一群のビットセルが所定の方向に沿って連続的に配置される。従って、一群のビットセルの配列方向がＤＲＣルールに適合しているか否かが検証される。
【００４０】
例えば、次の項目の検証が行われる。すなわち、（Ａ）ビットセル（１，２）がディジット線方向に配置されているか否か；（Ｂ）ビットセル１とビットセル２がディジット線方向に互いに隣接しているか否か；（Ｃ）ビットセル１と連結セル３がワード線方向に互いに隣接しているか否か、等の検証が行われる。本実施の形態では、第２パターンＰ２の長手方向がディジット線方向と一致している。従って、第２パターンＰ２を参照することにより、これら項目（Ａ）〜（Ｃ）を検証することができる。
【００４１】
ステップＳ４６：配列数（Size）の検証
図１０は、セルの配列数の検証を説明するための概念図である。配列数の検証は、ステップＳ４５における配列方向の検証と密接に関連している。つまり、所定の方向に沿って連続的に配置される一群のビットセルに含まれるセルの“数”が、ＤＲＣルールに適合しているか否かが検証される。図１０に示される例では、８個のビットセル（１，２）がディジット線方向に連続して配置されているか否かが検証される。つまり、１セルアレイ毎のビットセルの配列数の検証が行われる。この１セルアレイ毎の配列数は、例えば、十分な電源供給の観点から決定される。
【００４２】
レイアウト検証の結果がフェイルである場合（ステップＳ５０；Ｎｏ）、処理はステップＳ２０に戻り、レイアウト処理が再度実行される。レイアウト検証の結果がパスである場合（ステップＳ５０；Ｙｅｓ）、処理は終了する。
【００４３】
３．効果
以上に説明されたように、本発明によれば、第１パターンＰ１と第２パターンＰ２を参照することにより、レイアウトデータがデザインルールに適合しているか否かを、様々な観点から検証することができる。これら第１パターンＰ１及び第２パターンＰ２を有する認識層（Ｌａｙｅｒ−Ｃ）は、汎用的であると言える。認識層が汎用的であるため、様々な検証項目に対応することが可能である。すなわち、レイアウト検証において検証可能な項目が増加し、検証率が向上する。
【００４４】
更に、認識層が汎用的であるため、セルライブラリと検証仕様を互いに関連付けて固定する必要はない。セルライブラリのリリース後に、検証仕様（ＤＲＣルール）を変更したり追加したりすることも可能である。言い換えれば、検証仕様の変更・追加に応じてセルライブラリを作り直す必要はなく、本発明に係る認識層でその変更・追加に対応することが可能である。
【００４５】
このように、本発明によれば、レイアウトデータが汎用的な認識層を有するため、レイアウト検証の効率が向上する。
【００４６】
４．設計システム
図１１は、上述のレイアウト処理及びレイアウト検証処理を実現するための設計システム１０の構成を示すブロック図である。設計システム１０は、コンピュータシステムであり、プロセッサ１１、記憶装置１２、入力装置１３、及び出力装置１４を備えている。記憶装置１２としては、ＲＡＭやハードディスクが例示される。入力装置１３としては、キーボードやマウスが例示される。出力装置１４としては、ディスプレイが例示される。
【００４７】
記憶装置１２には、セルライブラリ２１、ネットリスト２２、レイアウトデータ２３、ＤＲＣルールファイル２４、レイアウトプログラム３１、及びレイアウト検証プログラム３２が格納される。
【００４８】
セルライブラリ２１は、複数種類のセルデータから構成され、上述のステップＳ１０で提供される。セルライブラリ２１は、コンピュータ読み取り可能な記録媒体に記録され、その記録媒体から記憶装置１２に読み込まれてもよい。ネットリスト２２は、設計回路中の素子の接続情報を示し、レイアウト処理（ステップＳ２０）で使用される。レイアウトデータ２３は、設計回路のレイアウトを示すデータであり、上述のステップＳ３０で作成される。作成されたレイアウトデータ２３、コンピュータ読み取り可能な記録媒体に記録されてもよい。ＤＲＣルールファイル２４は、レイアウト検証処理（ステップＳ４０）で用いられるＤＲＣルールを示す。本発明では、セルライブラリ２１の提供後に、ＤＲＣルールファイル２４を変更したり追加したりすることが可能である。
【００４９】
レイアウトプログラム３１は、プロセッサ１１によって実行されるコンピュータプログラムである。レイアウトプログラム３１は、コンピュータ読み取り可能な記録媒体に記録され、その記録媒体から記憶装置１２に読み込まれてもよい。このレイアウトプログラム３１とプロセッサ１１との協働により、本発明に係るレイアウト処理（ステップＳ２０）が実現される。具体的には、レイアウトプログラム３１の命令に従って、プロセッサ１１は、セルライブラリ２１とネットリスト２２を記憶装置１２から読み出す。そして、プロセッサ１１は、ネットリスト２２を参照して、また、セルライブラリ２１に含まれるセルデータを用いることにより、複数のセルを配置する。結果として、レイアウトデータ２３が作成される。
【００５０】
レイアウト検証プログラム３２は、プロセッサ１１によって実行されるコンピュータプログラムである。レイアウト検証プログラム３２は、コンピュータ読み取り可能な記録媒体に記録され、その記録媒体から記憶装置１２に読み込まれてもよい。このレイアウト検証プログラム３２とプロセッサ１１との協働により、本発明に係るレイアウト検証処理（ステップＳ４０）が実現される。具体的には、レイアウト検証プログラム３２の命令に従って、プロセッサ１１は、レイアウトデータ２３とＤＲＣルールファイル２４を記憶装置１２から読み出す。そして、プロセッサ１１は、レイアウトデータ２３が有する認識層（Ｌａｙｅｒ−Ａ〜Ｌａｙｅｒ−Ｃ）を参照して、複数のセルの配置の検証を行う。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明における認識層を説明するための概念図である。
【図２】図２は、本発明における認識層Ｌａｙｅｒ−Ａの一例を示す概念図である。
【図３】図３は、本発明における認識層Ｌａｙｅｒ−Ｂの一例を示す概念図である。
【図４Ａ】図４Ａは、本発明における認識層Ｌａｙｅｒ−Ｃの一例を示す概念図である。
【図４Ｂ】図４Ｂは、本発明における認識層Ｌａｙｅｒ−Ｃの他の例を示す概念図である。
【図５】図５は、本発明に係る半導体集積回路の設計方法を示すフローチャートである。
【図６】図６は、本発明におけるレイアウトデータを示す概念図である。
【図７】図７は、本発明におけるＡｒｒａｎｇｅｍｅｎｔ検証を説明するための概念図である。
【図８】図８は、本発明におけるＯｒｉｅｎｔａｔｉｏｎ検証を説明するための概念図である。
【図９】図９は、本発明におけるＤｉｒｅｃｔｉｏｎ検証を説明するための概念図である。
【図１０】図１０は、本発明におけるＳｉｚｅ検証を説明するための概念図である。
【図１１】図１１は、本発明に係る半導体集積回路の設計システムの構成例を示すブロック図である。
【符号の説明】
【００５２】
１〜８    セル
１０    設計システム
１１    プロセッサ
１２    記憶装置
１３    入力装置
１４    出力装置
２１    セルライブラリ
２２    ネットリスト
２３    レイアウトデータ
２４    ＤＲＣルールファイル
３１    レイアウトプログラム
３２    レイアウト検証プログラム
Ｐ１    第１パターン
Ｐ２    第２パターン
Ｌａｙｅｒ−Ａ    認識層
Ｌａｙｅｒ−Ｂ    認識層
Ｌａｙｅｒ−Ｃ    認識層
【図１】
2008269242.tif 000003
【図２】
2008269242.tif 000004
【図３】
2008269242.tif 000005
【図４Ａ】
2008269242.tif 000006
【図４Ｂ】
2008269242.tif 000007
【図５】
2008269242.tif 000008
【図６】
2008269242.tif 000009
【図７】
2008269242.tif 000010
【図８】
2008269242.tif 000011
【図９】
2008269242.tif 000012
【図１０】
2008269242.tif 000013
【図１１】
2008269242.tif 000014