(57)【要約】【課題】欠陥が発生しにくいレイアウト図を簡単な処理で作成する。【解決手段】半導体集積回路のレイアウト設計に用いられる、単位機能を実現するセル毎の設計データのライブラリであるセルライブラリにおいて、セル毎の設計データは、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値と、の対応付けである属性情報を夫々含む。【選択図】図２
2011124423.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト設計に用いられる、単位機能を実現するセル毎の設計データのライブラリであるセルライブラリにおいて、
前記設計データは、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む、
ことを特徴とするセルライブラリ。
【請求項２】
半導体集積回路のレイアウト方法において、
単位機能を実現するセル毎の設計データであって、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む前記設計データのライブラリであるセルライブラリと、設計対象の半導体集積回路のネットリストに基づいて複数のセルを概略的に配置し、
プロセス世代ルールに応じて前記概略的に配置された夫々のセルの配置位置を第１補正し、
前記第１補正の後、隣接するセルの境界において、欠陥を生じる危険境界がある場合、前記属性情報に基づいて前記危険境界を除去するように配置位置を第２補正する、
ことを特徴とするレイアウト方法。
【請求項３】
前記セルライブラリは、隣接するセルに欠陥を生じせしめやすいことを示す属性または隣接するセルから欠陥を生じせしめられやすいことを示す属性値が対応づけられた端部を備えるセルに対応する、該端部を配置グリッドの単位グリッド幅だけ伸長した電気的に等価なセルの設計データを含み、
前記第２補正することは、前記危険境界を構成するセルのうちの一方のセルを該セルに対応する等価なセルに交換することである、
ことを特徴とする請求項２に記載のレイアウト方法。
【請求項４】
半導体集積回路のレイアウト装置において、
単位機能を実現するセル毎の設計データであって、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む前記設計データのライブラリであるセルライブラリと、設計対象の半導体集積回路のネットリストに基づいて複数のセルを概略的に配置する概略配置部と、
プロセス世代ルールに応じて前記概略的に配置された夫々のセルの配置位置を補正する第１位置補正部と、
前記第１位置補正部による補正の後、隣接するセルの境界において、欠陥を生じる危険境界がある場合、前記属性情報に基づいて前記危険境界を除去するように配置位置を補正する第２位置補正部と、
を備えることを特徴とするレイアウト装置。
【請求項５】
前記セルライブラリは、隣接するセルに欠陥を生じせしめやすいことを示す属性または隣接するセルから欠陥を生じせしめられやすいことを示す属性値が対応づけられた端部を備えるセルに対応する、該端部を配置グリッドの単位グリッド幅だけ伸長した電気的に等価なセルの設計データを含み、
前記第２位置補正部による補正は、前記危険境界を構成するセルのうちの一方のセルを該セルに対応する等価なセルに交換することである、
ことを特徴とする請求項４に記載のレイアウト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セルライブラリ、レイアウト方法およびレイアウト装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路、特にシステムＬＳＩの設計現場においては、ほぼ日常的に自動配置配線（Place  and  Route、Ｐ＆Ｒ）という手法でレイアウト設計がなされている。この手法においては、マスクパターンなどの設計データは、単位機能を実現するプリミティブセル（ＮＡＮＤ、ＮＯＲ、インバータ、バッファ、複合ゲート、マルチプレクサ、ラッチ、レジスタなど）単位で取り扱われる。プリミティブセルの設計データは夫々、ライブラリ化されてプリミティブセルライブラリ（セルライブラリ）を構成している。設計対象の半導体集積回路を実現するための夫々のプリミティブセルは、セルライブラリから取り出され、各プロセス世代における設計ルールで決められた配置単位、すなわち配置グリッドに従って自動配置される。Ｐ＆Ｒによって自動配置される際、それぞれのプリミティブセル（以下、単にセル）は互いに隙間なく隣接配置されることが少なくない。よって、それぞれのセルが持つ各層（拡散層、ゲート端子層、メタル配線層、インプラ層、コンタクト層など）の幅や間隔が、隣接配置されたセル同士間で各プロセス世代の設計ルールを満たしている必要がある。
【０００３】
プロセス寸法世代が、0.1μｍ以前の世代については、各セルを隣接配置した場合に、各世代の設計ルールを満たしてさえすれば、ほとんど意図した通りの仕上がり形状のパターンを形成することができた。しかしながら、プロセス寸法世代が0.1μｍを割り込むようになってから、光近接効果（Optical  Proximity  Effect）によるリソグラフィの問題が顕著になり、設計ルールチェック（Design  Rule  Check、ＤＲＣ）の他に、リソグラフィック・ルール・チェック（Lithography  Rule  Check、ＬＲＣ）も実行する必要が出てきた。
【０００４】
ＬＲＣについても、プロセス寸法世代が0.1μmを割ったばかりのころは、セル単体でのＬＲＣが出来ていればリソグラフィプロセスにおいて問題が発生しないことが多かった。ところが、プロセス寸法世代が50nmに近づくにつれ、特に最下層のメタル配線層においては、隣接するセルの形状によるリソグラフィック・エラーが発生しやすくなってきた。このため、ひとつのプリミティブセルを設計しても、ＤＲＣやセル単体でのＬＲＣだけでは検証が完了したとは言えず、セルの周りにすでに設計したセルを様々なバリエーションで囲むように並べた上で、ＬＲＣを行わなければならなくなった。
【０００５】
隣接配置を考慮した検証を行う場合、考えられるすべてのバリエーションでＬＲＣ検証を行おうとすると、その検証に非現実的な時間がかかってしまう。そこで、特許文献１によれば、予め単独配置時の光近接効果補正（Optical  Proximity  Correction、ＯＰＣ）処理が行われたセルライブラリを用いてマスクパターンを設計する。そして、セルライブラリに施されたＯＰＣの補正量を、周囲に配置したセルライブラリのパターンの影響を考慮して変化させる。さらに、対象としているセルを含め周辺セルの配置が同じであるセル群を抽出し、それをセルセットとして登録する。同一のセルセットに対してはその内部のＯＰＣを再演算することなくコピーして作成する。
【０００６】
また、特許文献２によれば、対象セルと周辺セルとの関係を複数カテゴリーに分類する。そして、対象セルと周辺セルとの関係が対象セルを配置候補位置に配置した際にリソグラフィック・エラーが発生するカテゴリーに属している場合、配置候補位置に隣接している全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置し、対象セルを配置候補位置に配置する。
【０００７】
しかしながら、上記二つの従来技術によれば、セルが配置された後の段階でパターン全域を対象としてＬＲＣ検証を行う場合に比べて、高速にリソグラフィック・エラーが発生する可能性が高い部分を抽出できるものの、依然として計算コストが高い工程である、抽出した対象セルと周辺セルの組み合わせを分類する工程が含まれている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２００７／００７４１４６号明細書
【特許文献２】特開２００４−３６２４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、リソグラフィック・エラーが発生しにくいレイアウト図を簡単な処理で作成することができるセルライブラリ、レイアウト方法およびレイアウト装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願発明の一態様によれば、半導体集積回路のレイアウト設計に用いられる、単位機能を実現するセル毎の設計データのライブラリであるセルライブラリにおいて、前記設計データは、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む、ことを特徴とするセルライブラリが提供される。
【００１１】
また、本願発明の一態様によれば、半導体集積回路のレイアウト方法において、単位機能を実現するセル毎の設計データであって、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む前記設計データのライブラリであるセルライブラリと、設計対象の半導体集積回路のネットリストに基づいて複数のセルを概略的に配置し、プロセス世代ルールに応じて前記概略的に配置された夫々のセルの配置位置を第１補正し、前記第１補正の後、隣接するセルの境界において、欠陥を生じる危険境界がある場合、前記属性情報に基づいて前記危険境界を除去するように配置位置を第２補正する、ことを特徴とするレイアウト方法が提供される。
【００１２】
また、本願発明の一態様によれば、半導体集積回路のレイアウト装置において、単位機能を実現するセル毎の設計データであって、セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値とを対応付けした属性情報を夫々含む前記設計データのライブラリであるセルライブラリと、設計対象の半導体集積回路のネットリストに基づいて複数のセルを概略的に配置する概略配置部と、プロセス世代ルールに応じて前記概略的に配置された夫々のセルの配置位置を補正する第１位置補正部と、前記第１位置補正部による補正の後、隣接するセルの境界において、欠陥を生じる危険境界がある場合、前記属性情報に基づいて前記危険境界を除去するように配置位置を補正する第２位置補正部と、を備えることを特徴とするレイアウト装置が提供される。
【発明の効果】
【００１３】
本発明によれば、リソグラフィック・エラーが発生しにくいレイアウト図を簡単な処理で作成することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、セルのレイアウトの一例を説明する図。
【図２】図２は、セル境界での隣接配置危険属性の組み合わせを説明する図。
【図３】図３は、隣接配置危険属性が付記された外形・端子位置情報ライブラリの一例を示す図。
【図４】図４は、隣接配置危険属性が付記されたタイミングライブラリの一例を示す図。
【図５】図５は、第１の実施の形態のレイアウト装置の構成を説明する図。
【図６】図６は、第１の実施の形態のレイアウト装置のハードウェア構成を説明する図。
【図７】図７は、第１の実施の形態のレイアウト方法を説明するフローチャート。
【図８】図８は、着目セルの設定順序を説明する図。
【図９】図９は、第１の実施の形態の危険境界除去処理を説明するフローチャート。
【図１０】図１０は、第２の実施の形態のレイアウト装置の構成を説明する図。
【図１１】図１１は、第２の実施の形態のレイアウト方法を説明するフローチャート。
【図１２】図１２は、第３の実施の形態による危険境界除去処理の概念を説明する図。
【図１３】図１３は、第３の実施の形態のレイアウト装置の構成を説明する図。
【図１４】図１４は、第３の実施の形態の危険境界除去処理を説明するフローチャート。
【図１５】図１５は、第４の実施の形態による危険境界除去処理の概念を説明する図）。
【図１６】図１６は、第４の実施の形態のレイアウト装置の構成を説明する図。
【図１７】図１７は、第４の実施の形態の危険境界除去処理を説明するフローチャート。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、本発明の実施の形態にかかるセルライブラリ、レイアウト方法およびレイアウト装置を詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
【００１６】
（第１の実施の形態）
まず、図１〜図４を参照して本第１の実施の形態のセルライブラリについて説明する。
半導体基板（ウェハ）上には、電源線と地絡線とが平行かつ交互に配置される。各プリミティブセル（以下、単にセル）は、電源線と地絡線との間に配置される。各セルは、夫々電源線から電源が供給され、地絡線にグランドされる。図１は、セルのレイアウトの一例を示す図である。ここでは、紙面上部左右方向に電源線１０１が配置され、紙面下部に前記電源線１０１と平行に地絡線１０２が配置されている。電源線１０１と地絡線１０２との間に二つのセルａ、セルｂが互いに隣接して配置されている。
【００１７】
なお、以降、図１の場合と同様に、地絡線・電源線の並び方向を上下方向、地絡線配線方向（電源線方向）を左右方向として定義し、各種位置関係（上・下・左・右）を表現することとする。
【００１８】
セルａ、セルｂのマスクパターンは、夫々単体でＤＲＣ検証およびＬＲＣ検証を合格しており、ライブラリ化されてセルライブラリの一部を構成している。なお、判りやすくするために、図１に示すセルａ、セルｂは、マスクパターンではなくデザインパターンで描画されている。
【００１９】
セルａは、隣接して配置されたセルｂから光近接効果が及ぶ距離にある図中位置ｃに欠陥を生じやすい傾向があることを示している。一方、セルｂは、セルａの右側に隣接して配置されても、欠陥を生じないセルであることを示している。即ち、セルａおよびセルｂは、夫々単体では短絡や断線などの欠陥（リソグラフィック・エラー）を生じにくいものの、セルａの右側にセルｂが隣接して配置されることによって、セルａは位置ｃに欠陥を生じやすくなる。なお、欠陥を生じやすい部位を危険部位と表現することとする。
【００２０】
配置後のレイアウト図に対してＬＣＲ検証を行うと、セルａとセルｂのように、隣接配置されることによって生じる危険部位を検出することができる。しかしながら、レイアウト図全体に対するＬＣＲ検証には膨大な時間がかかる。本発明の第一の実施の形態では、セルライブラリに、隣接するセルによって欠陥を生じせしめられやすいか否か（影響を受けやすいか否か）、および隣接するセルによって欠陥を生じせしめやすいか否か（影響を与えやすいか否か）、を示す属性（隣接配置危険属性）値をセル毎に記述した属性情報を具備させる。これにより、危険部位が発生する組み合わせで配置されたセル間の境界（危険境界）を、レイアウト時に簡単に検出することができる。
【００２１】
隣接配置危険属性としては、例えば以下の４種類が定義される。すなわち、
（１）隣接セルから影響を受けにくく、かつ影響を与えにくい「Ｓ（Safe）」属性。
（２）隣接セルから影響を受けやすいが、影響を与えにくい「Ｖ（Victim）」属性。
（３）隣接セルに影響を受けにくいが、影響を与えやすい「Ａ（Aggressor）」属性。
（４）隣接セルに影響を受けやすく、かつ影響を与えやすい「ＶＡ（Victim  and  Aggressor）」属性。
【００２２】
隣接配置危険属性は、セルの左端部および右端部の夫々に付与される。セルの上端部、下端部の夫々にも隣接配置危険属性が付与されるようにしてもよい。通常、上下のセル間で地絡線・電源線を共有させるように配置されるので、地絡線・電源線を太めにすることによって上下端で欠陥を発生しやすい境界が低減される。ここでは、隣接配置危険属性は左右端のみを考慮することとする。
【００２３】
また、夫々のセルは、複数の層（拡散層、ゲート電極層、メタル配線層など）を含む構成となっている。隣接配置危険属性は、層毎に付与される。メタル配線層は、形状が複雑かつ変化に富んでいるので、メタル配線層の隣接配置危険属性はセル毎に大きく異なることが考えられる。
【００２４】
なお、隣接配置危険属性は、次のようにして決定されるようにするとよい。まず、対象セルと他のセルとを隣接させてＬＲＣ検証し、危険部位であることを示す「要注意（Warning）」が出た個所を観察する。そして、Warningが出た箇所に基づいて隣接配置危険属性を決定する。ＬＲＣ検証においては、Warningは、リソグラフィプロセスにおける欠陥発生確率が所定の確率よりも高くなると判定された箇所に出る。
【００２５】
具体的に説明すると、例えば、属性「Ｓ」は、どのようなセルに隣接しても、対象セル側のセル境界から光近接効果が及ぶ位置にWarningが発生することがほとんどなく、かつ隣接セル側のセル境界から光近接効果が及ぶ位置にWarningが発生することがほとんどない場合、対象セルのセル境界に面する端部に付与される。なお、夫々の位置にWarningが発生することがほとんどないかWarningが発生しやすいかは、例えば、隣接セルを変化させてＬＲＣ検証を実行してWarningの発生確率を観察し、該発生確率が所定のしきい値よりも低いか高いかに基づいて判断するようにするとよい。
【００２６】
属性「Ｖ」の付与条件は、対象セル側におけるセル境界から光近接効果が及ぶ位置にWarningが発生しやすい場合に付与される点で属性「Ｓ」の付与条件と異なる。属性「Ａ」の付与条件は、隣接セル側におけるセル境界から光近接効果が及ぶ位置にWarningが発生しやすい場合に付与される点で属性「Ｓ」の付与条件と異なる。属性「ＶＡ」は、対象セル側におけるセル境界から光近接効果が及ぶ位置にWarningが発生しやすく、かつ隣接セル側におけるセル境界から光近接効果が及ぶ位置にWarningが発生しやすい場合に、対象セルの端部に付与される。
【００２７】
図２は、セル境界での隣接配置危険属性の組み合わせを示す図である。図示するように、隣り合う組み合わせは、（ａ）属性Ｓ同士、（ｂ）属性Ｓと属性Ｖ、（ｃ）属性Ｓと属性Ａ、（ｄ）属性Ｓと属性ＶＡ、（ｅ）属性Ｖ同士、（ｆ）属性Ｖと属性Ａ、（ｇ）属性Ｖと属性ＶＡ、（ｈ）属性Ａ同士、（ｉ）属性Ａと属性ＶＡ、（ｊ）属性ＶＡ同士、の１０通りが考えられる。
【００２８】
特に、影響を与えやすい属性ＶＡが付与された端部との組み合わせでは、危険境界となる確率が高くなる。したがって、レイアウト時において、図２に示した組み合わせのうちの（ｆ）、（ｇ）、（ｉ）、（ｊ）の組み合わせで隣接することを禁止すると、欠陥が発生しにくいレイアウト図を得ることができる。
【００２９】
なお、属性情報は、セル毎に隣接配置危険属性を検索することが可能であれば、セルライブラリが含む設計データに付記されるようにしてもよい。例えば、設計データの１つである外形と端子位置とセル毎に記述した外形・端子位置情報のライブラリである外形・端子位置情報ライブラリに付記されるようにしてもよい。図３は、隣接配置危険属性が付記された外形・端子位置情報ライブラリの一例を示す図である。図示するように、「ＣＱＩＶＸ１」という名称のセルのサイズなどを定義するフィールドに、夫々上端部、下端部、左端部、右端部の属性値を示す下記の４行の記述が挿入されている（図中符号２０１）。
CELL_TOP_EDGE_DAMAGE    S;
CELL_BOTTOM_EDGE_DAMAGE    S;
CELL_LEFT_EDGE_DAMAGE    V;
CELL_RIGHT_EDGE_DAMAGE    VA;
これによれば、セル「ＣＱＩＶＸ１」の上端部、下端部、左端部、右端部の属性値が、夫々、Ｓ、Ｓ、Ｖ、ＶＡであることがわかる。その後、ピンＡ、ピンＺなど、セル「ＣＱＩＶＸ１」が備える端子位置情報が列記されている（図中符号２０２）。なお、ここでは１つの層に関する属性値が記述されているが、層毎の属性値を夫々記述するようにしてもよい。
【００３０】
隣接配置危険属性の記述の他の例として、設計データの１つである入力遷移時間や出力遷移時間や遅延時間などタイミング情報のライブラリであるタイミングライブラリに隣接配置危険属性が付記されるようにしてもよい。図４は、隣接配置危険属性が付記されたタイミングライブラリの一例を示す図である。図示するように、セル「ＣＱＩＶＸ１」に関する種々のタイミング情報の記述（図中符号２０４）の前のフィールドに、
cell_top_edge_damage    s;
cell_bottom_edge_damage    s;
cell_left_edge_damage    v;
cell_right_edge_damage    va;
が記述されている（図中符号２０３）。これによれば、セル「ＣＱＩＶＸ１」の上端部、下端部、左端部、右端部の属性値が、Ｓ、Ｓ、Ｖ、ＶＡであることがわかる。ここでも上述の外形・端子位置情報ライブラリの例と同じく１つの層に関する属性値が記述されているが、層毎の属性値を記述するようにしてもよい。
【００３１】
つぎに、上記した本発明の第一の実施のセルライブラリを用いたレイアウト方法について説明する。本発明の第一の実施のレイアウト方法は、図２に示した（ｆ）、（ｇ）、（ｉ）、（ｊ）の危険境界を検出し、危険境界を構成する二つの端部が隣接しないようにするために、検出されたセル境界に空隙を挿入する。
【００３２】
図５は、該レイアウト方法を自動的に実行するためのレイアウト装置の構成図である。ここでは、隣接配置危険属性は外形・端子位置情報ライブラリに付記されていることとする。レイアウト装置３００は、論理合成により生成されたネットリスト３０６と、隣接配置危険属性が付記された外形・端子位置情報ライブラリ３０８およびタイミングライブラリ３０９を含むセルライブラリ３０７とが入力され、ＧＤＳなどのフォーマットでマスクパターンレイアウトが記述されたレイアウト図３１０を出力する。
【００３３】
レイアウト装置３００は、ネットリスト３０６およびセルライブラリ３０７に基づいて各セルを概略配置する概略配置部３０１と、概略配置部３０１によって配置されたセルのレイアウトをプロセス世代ルールに則するように補正する第１配置位置補正部３０２と、第１配置位置補正部３０２によって補正されたレイアウトを外形・端子位置情報ライブラリ３０８に付記されている隣接配置危険属性に基づいてレイアウトから危険境界を除去する第２配置位置補正部３０３と、タイミングライブラリ３０９に基づいて、第２配置位置補正部３０３によって配置位置が補正されたレイアウトに対してクロックバッファを挿入するクロックバッファ挿入部３０４と、クロックバッファ挿入部３０４によりクロックバッファが挿入されたレイアウトに対して配線を行い、レイアウト図３１０を完成させる配線部３０５と、を備えている。
【００３４】
図６は、レイアウト装置３００のハードウェア構成図である。レイアウト装置３００は、ＣＰＵ（Central  Processing  Unit）１、ＲＯＭ（Read  Only  Memory）２、ＲＡＭ（Random  Access  Memory）３、入力部４、表示部５を備えるコンピュータ構成となっている。各々は、バスラインを介して接続されている。
【００３５】
ＣＰＵ１は、第１の実施の形態のレイアウト方法を実行するコンピュータプログラムプロダクトであるレイアウトプログラム６を実行する。表示部５は、液晶モニタなどの表示装置であり、ＣＰＵ１からの指示に基づいて操作画面などのユーザに対する出力情報を表示する。入力部４は、マウスやキーボードを備えて構成され、ユーザからのレイアウト装置３００の操作が入力される。入力部４から入力された操作情報は、ＣＰＵ１へ送られる。
【００３６】
レイアウトプログラム６は、ＲＯＭ２内に格納されており、バスラインを介してＲＡＭ３へロードされる。図６は、レイアウトプログラム６がＲＡＭ３へロードされた状態を示している。ＣＰＵ１は、ユーザによる入力部４からの指示入力に従って、ＲＯＭ２内からレイアウトプログラム６を読み出してＲＡＭ３内のプログラム格納領域に展開して各種処理を実行する。ネットリスト３０６、セルライブラリ３０７は、外部記憶装置などから入力される。ＣＰＵ１は、外部記憶装置などから入力されたネットリスト３０６、セルライブラリ３０７に基づいて各種処理を実行する。この各種処理に際して生じる中間データは、ＲＡＭ３内に形成されるデータ格納領域に一時的に記憶される。ＣＰＵ１は、作成されたレイアウト図３１０をＲＡＭ３内のプログラム格納領域あるいは外部記憶装置などに出力する。なお、レイアウトプログラム６は、ディスクなどの記憶装置に格納しておいてもよいし、インターネット等のネットワーク経由でダウンロードさせることにより提供または配布するようにしてもよい。また、レイアウトプログラム６を、ＲＯＭ２等に予め組み込んでおいてもよい。
【００３７】
レイアウトプログラム６は、概略配置部３０１、第１配置位置補正部３０２、第２配置位置補正部３０３、クロックバッファ挿入部３０４、配線部３０５を含むモジュール構成となっており、ＲＡＭ３にロードされることによってＲＡＭ３にこれらの構成部が生成される。
【００３８】
次に、レイアウト装置３００を用いて実行されるレイアウト方法について説明する。図７は、該レイアウト方法を説明するフローチャートである。まず、概略配置部３０１は、ネットリスト３０６およびセルライブラリ３０７に基づいて、ネットリスト３０６に記述されている各セルを概略配置する（Ｓ１）。具体的には、概略配置部３０１は、ネットリスト３０６に記述されている各セルの形状・端子位置情報を外形・端子位置情報ライブラリ３０８から取得し、各セルの遷移時間などのタイミング情報をタイミングライブラリ３０９から取得する。そして、概略配置部３０１は、取得した形状・端子位置情報とタイミング情報に基づいて、ネットリスト３０６に記述されているセル間の接続関係および予め定められているタイミング制約を満たすように、各セルを概略的に配置する。
【００３９】
そして、第１配置位置補正部３０２は、各セルの概略的な配置位置を、プロセス世代ルールに則するように補正する（Ｓ２）。Ｓ２においては、第１配置位置補正部３０２は、概略的に配置されている各セルを、当該プロセス世代の設計ルールに対応する配置間隔（配置グリッド、または単にグリッド）にしたがった配置となるように補正する処理を実行する。配置グリッドにしたがった配置とは、例えば、セルの一角部がグリッドの交点に合致するように配置されることをいう。また、このステップにおいては、第１配置位置補正部３０２は、セル同士の重なりを解消するように補正する。
【００４０】
そして、第２配置位置補正部３０３は、第１配置位置補正部３０２により補正されたレイアウトから危険境界を検出し、検出した危険境界を除去するように前記レイアウトにおける各セルの配置位置を補正する（Ｓ３）。具体的には、第２配置位置補正部３０３は、着目セルを１つ取り上げ、該着目セルと隣接するセルとの境界において、双方の端部の属性値同士の組み合わせが隣接可か不可かを判定する。不可の場合、着目セルとの間に１グリッド分の空隙を挿入し、隣接するセルの位置を配置し直す。通常、１グリッド分の距離は光近接効果が及ぶ距離に比べて長いため、危険境界であったセル境界に１グリッド分の空隙が空けられると、ＬＲＣ検証によるWarningが出なくなる。すなわち危険境界が除去される。
【００４１】
なお、この処理を危険境界除去処理ということとする。また、属性値同士の組み合わせが配置不可である、図２に示した（ｆ）、（ｇ）、（ｉ）、（ｊ）のうちの何れか１つに該当することを、配置位置補正条件ということとする。
【００４２】
第２配置位置補正部３０３は、レイアウト図中のセルを順次着目セルとして危険境界除去処理を実行し、全セルから危険境界を除去する。なお、ここでは、図８のように各セルがレイアウトされている場合、着目セルの取り上げ方の一例として、紙面左下のセルを初期状態の着目セルとし、着目セルを右側に順次取り上げることとする。なお、右側にセルがなくなったとき、１つ上の行の最も左側にレイアウトされているセルを着目セルとし、全てのセルについて順次処理を実行する。
【００４３】
図９は、危険境界除去処理を説明するフローチャートである。まず、第２配置位置補正部３０３は、着目セルが右側に隣接するセル（以下、単に右隣セル）と重なっているか否かを判定する（Ｓ１１）。重なっていた場合（Ｓ１１、Ｙｅｓ）、第２配置位置補正部３０３は、右隣セルを着目セルと重ならない位置まで移動させる（Ｓ１２）。重なっていなかった場合（Ｓ１１、Ｎｏ）、Ｓ１２はスキップされる。右側に隣接しているセルがなかった場合、同様にＳ１２はスキップされる。
【００４４】
次に、第２配置位置補正部３０３は、着目セルの右端部の属性値がＳであるか否かを判定する（Ｓ１３）。着目セルの右端部の属性値がＳであった場合（Ｓ１３、Ｙｅｓ）、該着目セルに対する危険境界除去処理がリターンとなる。
【００４５】
着目セルの右端部の属性値がＳではなかった場合（Ｓ１３、Ｎｏ）、第２配置位置補正部３０３は、右隣セルが存在するか否かを判定する（Ｓ１４）。右隣セルが存在しなかった場合（Ｓ１４、Ｎｏ）、この着目セルに対する危険境界除去処理がリターンとなる。
【００４６】
右隣セルが存在した場合（Ｓ１４、Ｙｅｓ）、第２配置位置補正部３０３は、着目セルの右端部の属性値と右隣セルの左端部の属性値との組み合わせが配置位置補正条件を満たすか否かを判定する（Ｓ１５）。配置位置補正条件を満たさなかった場合（Ｓ１５、Ｎｏ）、この着目セルに対する危険境界除去処理がリターンとなる。
【００４７】
配置位置補正条件を満たした場合（Ｓ１５、Ｙｅｓ）、第２配置位置補正部３０３は、右隣セルを１グリッド分だけ右側に移動させ（Ｓ１６）、この着目セルに対する危険境界除去処理がリターンとなる。第２配置位置補正部３０３は、着目セルの全ての層について上記した危険境界除去処理を実行した後、他のセルを着目セルとして危険境界除去処理を実行する。
【００４８】
Ｓ３の後、クロックバッファ挿入部３０４は、タイミングライブラリ３０９を参照し、危険境界が除去されたレイアウトに対してクロックバッファを挿入する（Ｓ４）。そして、配線部３０５はクロックバッファが挿入されたレイアウトに配線を施し（Ｓ５）、レイアウト図３１０が完成する。
【００４９】
なお、以上の説明においては、隣接配置危険属性として「Ｓ」、「Ｖ」、「Ａ」、「ＶＡ」が定義されているとして説明したが、隣接配置危険属性はさらに多くの種類の属性値を含むようにしてもよい。また、隣接配置危険属性の表現は上記に限定しない。例えば、「Ｓ」、「Ｖ」、「Ａ」、「ＶＡ」が夫々「００」、「０１」、「１０」、「１１」などの数値で表現してもよい。また、Ｓ１４の処理をＳ１１あるいはＳ１３と入れ替えて実行してもよい。
【００５０】
また、第２配置位置補正部３０３は、危険境界を除去するために右隣セルを１グリッド分だけ右側に移動させるとしたが、２グリッド以上移動させるようにしてもよい。将来益々微細化が進み、数グリッド分の距離にわたって光近接効果が及ぶようになることが考えられる。その場合、第２配置位置補正部３０３は、移動距離が光近接効果の及ぶ距離を越える距離となるように、移動するグリッド数を設定するようにするとよい。あるいは、セル境界を構成する端部の属性値の組み合わせによって、所望のグリッド分だけ移動させるようにしてもよい。
【００５１】
以上述べたように、本発明の第１の実施の形態は、セル毎の設計データにセルが備える端部と、隣接するセルとの間に欠陥を生じやすいか否かを示す属性値とを対応付けて属性情報として夫々含むように構成した。この属性情報をもとに簡単な処理で補正することができる。これによりセル間の危険境界が除去されたレイアウト図を得ることができる。
【００５２】
セルが備える端部と、該端部を介して隣接するセルに欠陥を生じせしめやすいか否か、および隣接するセルから欠陥を生じせしめられやすいか否か、を示す属性値と、の対応付けである属性情報をセル毎に含む設計データのセルライブラリと、設計対象の半導体集積回路のネットリストと、に基づいて複数のセルを概略的に配置し、プロセス世代ルールに応じて用意される配置グリッドに基づいて前記概略的に配置された夫々のセルの配置位置を補正し、前記第１補正の後、隣接するセルに欠陥を生じせしめやすいことを示す属性値が対応付けられている端部と隣接するセルから欠陥を生じせしめられやすいことを示す属性値が対応づけられている端部とで構成されている危険境界がある場合、二つの端部が隣接しないように危険境界を構成するセルの配置位置を補正する、ように構成したので、従来技術では必要であった計算コストが高い工程である、対象セルと周辺セルとの組み合わせを抽出し、抽出した組み合わせを分類する工程を必要としないので、欠陥が発生しにくいレイアウト図を簡単な処理で作成することができる。また、危険境界を構成するセル間に、直接隣接しないよう空隙を挿入する簡単な処理で危険境界を除去することができる。
【００５３】
（第２の実施の形態）
危険境界であるセル境界にクロックバッファが挿入されることによって、そのセル境界が危険境界ではなくなることがある。したがって、そのようなセル境界に空隙を挿入すると、挿入された空隙の分だけスペースが無駄となる。そこで、第２の実施の形態では、クロックバッファが挿入された後のレイアウトから危険境界を除去するようにした。
【００５４】
図１０は、第２の実施の形態のレイアウト装置の構成図である。ここでは、第１の実施の形態と同じ機能を備えた構成部には第１の実施の形態と同じ符号を付し、詳細な説明を省略する。
【００５５】
レイアウト装置３２０は、概略配置部３０１と、第１配置位置補正部３０２と、クロックバッファ挿入部３２１と、第２配置位置補正部３２２と、配線部３０５を備えている。第１の実施の形態と異なる構成部として、クロックバッファ挿入部３２１を備えている。クロックバッファ挿入部３２１は、タイミングライブラリ３０８を参照して、第１配置位置補正部３０２によって補正されたセルのレイアウトにクロックバッファを挿入する。第２配置位置補正部３２２は、クロックバッファ挿入部３２１によりクロックバッファが挿入されたレイアウトを外形・端子位置情報ライブラリ３０８に付記されている隣接配置危険属性に基づいて補正し、レイアウトから危険境界を除去する。配線部３０５は、第２配置位置補正部３２２により危険境界が除去されたレイアウトに配線を行い、レイアウト図３１０を作成する。
【００５６】
図１１は、第２の実施の形態のレイアウト方法を説明するフローチャートである。まず、Ｓ１、Ｓ２と同じ動作が夫々Ｓ２１、Ｓ２２にて実行される。そして、クロックバッファ挿入部３２１は、Ｓ２２にて配置位置補正が行われたレイアウトにクロックバッファを挿入する（Ｓ２３）。そして、第２配置位置補正部３２２は、Ｓ２３にてクロックバッファが挿入されたレイアウトのセルの夫々に対して第１の実施の形態と同様の危険境界除去処理を順次実行し、危険境界を除去する（Ｓ２４）。そして、配線部３０５は危険境界が除去されたレイアウトに配線を施し（Ｓ２５）、レイアウト図３１０が完成する。
【００５７】
以上述べたように、本発明の第２の実施の形態によれば、セル間にクロックバッファを挿入した後に危険境界を除去するように構成する。クロックバッファはそのセルの右端左端の属性値をＳにするのが容易なので、同属性値がＶ，Ａ，ＶＡのセルを隣接配置させることができる。つまり、危険境界を構成するセル間に空隙を挿入する機会が、第１の実施の形態に比して最終的に少なくなることになり、第１の実施の形態に比して配置面積を少なくすることができるという効果を奏する。
【００５８】
（第３の実施の形態）
第３の実施の形態では、危険境界を構成する一方のセルを左右反転することによって危険境界を除去する。図１２は第３の実施の形態による危険境界除去処理の概念図である。属性Ｓの左端部および属性ＶＡの右端部を備える着目セルの右端部と属性ＶＡの左端部および属性Ｓの右端部を備える右隣セルの左端部とが隣接して危険境界を構成している。右隣セルを左右反転すると、右隣セルの左端部の属性がＳとなり、セル境界が危険境界でなくなる。
【００５９】
図１３は、第３の実施の形態のレイアウト装置の構成図である。ここでは、第１の実施の形態と同じ機能を備えた構成部には第１の実施の形態と同じ符号を付し、詳細な説明を省略する。レイアウト装置３３０は、第１の実施の形態と異なる構成部として、第２配置位置補正部３３１を備えている。第２配置位置補正部３３１は、第１配置位置補正部３０２により補正されたレイアウトに対して第３の実施の形態の危険境界除去処理を実行して危険境界を除去する。
【００６０】
次に、第３の実施の形態のレイアウト方法を説明する。なお、ここでは、第１の実施の形態と異なる部分である危険境界除去処理についてのみ説明する。図１４は、第３の実施の形態の危険境界除去処理を説明するフローチャートである。
【００６１】
図１４のＳ３１〜Ｓ３４において、第２配置位置補正部３３１は、第２配置位置補正部３０３によるＳ１１〜Ｓ１４の処理と同様の処理を実行する。そして、第２配置位置補正部３３１は、着目セルの右端部の属性値と右隣セルの左端部の属性値との組み合わせが配置位置補正条件を満たすか否かを判定する（Ｓ３５）。配置位置補正条件を満たさなかった場合（Ｓ３５、Ｎｏ）、この着目セルに対する危険境界除去処理がリターンとなる。
【００６２】
配置位置補正条件を満たした場合（Ｓ３５、Ｙｅｓ）、第２配置位置補正部３３１は、右隣セルの左右を反転し（Ｓ３６）、再度、着目セルの右端部の属性値と右隣セルの左端部の属性値との組み合わせが配置位置補正条件を満たすか否かを判定する（Ｓ３７）。配置位置補正条件を満たさなかった場合（Ｓ３７、Ｎｏ）、この着目セルに対する危険境界除去処理がリターンとなる。すなわち、Ｓ３６における右隣セルの反転により危険境界が除去されたことになる。
【００６３】
配置位置補正条件を満たした場合（Ｓ３７、Ｙｅｓ）、第２配置位置補正部３３１は、右隣セルを１グリッド分だけ右側に移動させ（Ｓ３８）、この着目セルに対する危険境界除去処理がリターンとなる。
【００６４】
以上述べたように、本発明の第３の実施の形態によれば、危険境界を構成するセルのうちの一方のセルを反転させる簡単な処理で危険境界を除去することができる。また、空隙を挿入する頻度が低減されるので、第１の実施の形態に比べて配置面積を少なくすることができるという効果を奏する。
【００６５】
なお、上記説明においては、クロックバッファ挿入前に危険境界除去処理を実行するようにしたが、第２の実施の形態と同様に、クロックバッファ挿入後に危険境界除去処理を実行するようにしても構わない。クロックバッファ挿入後に危険境界除去処理を実行するようにすることによって、第２の実施の形態に比べてさらに配置面積を少なくすることができる。
【００６６】
（第４の実施の形態）
第４の実施の形態では、隣接配置危険属性として属性Ａ、Ｖ、ＶＡが付与されたセルに対して、電気的に等価で、かつ本来のセル・レイアウトデータの、前記３つの属性のうちの１つが付与された端部を１配置グリッド分だけ大きくしたものを用意し、外形・端子位置情報ライブラリに含ませておく。なお、電気的に等価で、かつ本来のセル・レイアウトデータの、前記３つの属性のうちの１つが付与された端部を１配置グリッド分だけ大きくしたセルを、電気的等価セル（ＥＥＱセル）と表現することとする。危険境界除去処理の際、危険境界を構成する一方のセル（右隣セル）を隣接端が１グリッド分大きいＥＥＱセルに交換することによって危険境界を除去する。図１５は、第４の実施の形態による危険境界除去処理の概念図である。図示するように、属性ＶＡの右端部を備える着目セルの右端部と属性ＶＡの左端部を備える右隣セルの左端部とが隣接して危険境界を構成している。右隣セルを左端部が１グリッド分だけ大きくしたＥＥＱセルに置き換えることにより、セル境界が危険境界でなくなる。
【００６７】
図１６は、第４の実施の形態のレイアウト装置の構成図である。ここでは、第１の実施の形態と同じ機能を備えた構成部には第１の実施の形態と同じ符号を付し、詳細な説明を省略する。レイアウト装置３４０は、第１の実施の形態と異なる構成部として、第２配置位置補正部３４１を備えている。また、レイアウト装置３４０には、タイミングライブラリ３０９とＥＥＱセルが追加されている外形・端子位置情報ライブラリ３４３とを含むセルライブラリ３４２が入力される。第２配置位置補正部３４１は、第１配置位置補正部３０２により補正されたレイアウトに対して第４の実施の形態の危険境界除去処理を実行して危険境界を除去する。
【００６８】
次に、第４の実施の形態のレイアウト方法を説明する。なお、ここでは、第１の実施の形態と異なる部分である危険境界除去処理についてのみ説明する。図１７は、第４の実施の形態の危険境界除去処理を説明するフローチャートである。
【００６９】
図１７に示すように、Ｓ４１〜Ｓ４４において、第２配置位置補正部３４１は、第２配置位置補正部３０３によるＳ１１〜Ｓ１４の処理と同様の処理を実行する。そして、第２配置位置補正部３４１は、着目セルの右端部の属性値と右隣セルの左端部の属性値との組み合わせが配置位置補正条件を満たすか否かを判定する（Ｓ４５）。配置位置補正条件を満たさなかった場合（Ｓ４５、Ｎｏ）、この着目セルに対する危険境界除去処理がリターンとなる。
【００７０】
配置位置補正条件を満たした場合（Ｓ４５、Ｙｅｓ）、第２配置位置補正部３４１は、外形・端子位置情報ライブラリ３４３を検索して、ＥＥＱセルが存在するか否かを判定する（Ｓ４６）。ＥＥＱセルが存在した場合（Ｓ４６、Ｙｅｓ）、第２配置位置補正部３４１は、右隣セルをＥＥＱセルに交換し（ステップＳ４７）、この着目セルに対する危険境界除去処理がリターンとなる。ＥＥＱセルが存在しなかった場合（Ｓ４６、Ｎｏ）、第２配置位置補正部３４１は、右隣セルを１グリッド分だけ右側に移動させ（Ｓ４８）、この着目セルに対する危険境界除去処理がリターンとなる。
【００７１】
以上述べたように、セルライブラリが隣接するセルに欠陥を生じせしめやすいことを示す属性または隣接するセルから欠陥を生じせしめられやすいことを示す属性が対応づけられた端部を備えるセルに対応する、該端部を前記配置グリッドの単位グリッド幅だけ伸長した電気等価セルの設計データを含むように構成し、危険境界を構成するセルのうちの一方のセルを該セルに対応する等価セルに交換する簡単な処理で危険境界を除去することができる。なお、電気的に等価で危険境界を構成しない属性を有するセルに交換するようにしてもよい。
【００７２】
上記説明においては、クロックバッファ挿入前に危険境界除去処理を実行するようにしたが、第２の実施の形態と同様に、クロックバッファ挿入後に危険境界除去処理を実行するようにしても構わない。
【００７３】
また、第４の実施の形態と第３の実施の形態とを組み合わせるようにしてもよい。具体的には、例えば、Ｓ３７、Ｙｅｓの処理のあとにステップＳ４６を続けるようにしてもよい。
【符号の説明】
【００７４】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  入力部、５  表示部、６  レイアウトプログラム、３００、３２０、３３０、３４０  レイアウト装置、３０１  概略配置部、３０２  第１配置位置補正部、３０３  第２配置位置補正部、３０４  クロックバッファ挿入部、３０５  配線部、３０６  ネットリスト、３０７  セルライブラリ、３０８  外形・端子位置情報ライブラリ、３０９  タイミングライブラリ、３１０  レイアウト図。
【図１】
2011124423.tif 000003
【図２】
2011124423.tif 000004
【図３】
2011124423.tif 000005
【図４】
2011124423.tif 000006
【図５】
2011124423.tif 000007
【図６】
2011124423.tif 000008
【図７】
2011124423.tif 000009
【図８】
2011124423.tif 000010
【図９】
2011124423.tif 000011
【図１０】
2011124423.tif 000012
【図１１】
2011124423.tif 000013
【図１２】
2011124423.tif 000014
【図１３】
2011124423.tif 000015
【図１４】
2011124423.tif 000016
【図１５】
2011124423.tif 000017
【図１６】
2011124423.tif 000018
【図１７】
2011124423.tif 000019