(57)【要約】  マルチパターニングプロセスのためのセルのフィーチャのグループ制約を構成するための方法および装置を提供する。本装置は、回路レイアウト内のフィーチャを決定することと、フィーチャのうちの少なくとも１つのための距離制約を決定することと、距離制約に基づいてフィーチャのためのグループ制約を決定することと、グループ制約は、フィーチャの各々に割当て可能なグループに対する制限を定義する、を行う。さらに、本装置は、複数の当接セルを含む集積回路レイアウトを受信することを行う。本装置は、次いで、第２のセルのグループ制約が第１のセルのグループ制約と競合するのかどうかを決定することと、第２のセルは、第１のセルに当接する、第１のセルのグループ制約に基づいて、および第１のセルのグループ制約と競合する第２のセルのグループ制約に基づいて、第２のセルのグループ制約のサブセットを構成することとを行う。
2018527616.tif 000002
【特許請求の範囲】
【請求項１】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てる方法であって、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を備える、方法。
【請求項２】
前記距離制約を決定することが、前記回路レイアウト内の隣接するフィーチャ間の間隔距離を決定することを備える、請求項１に記載の方法。
【請求項３】
前記距離制約を決定することは、前記フィーチャのうちの少なくとも２つの間の前記間隔距離がしきい値間隔距離よりも短いのかどうかに基づいて前記距離制約を決定することを備える、請求項２に記載の方法。
【請求項４】
前記フィーチャが、前記回路レイアウトの同じレイヤ中にある、請求項１に記載の方法。
【請求項５】
前記グループの各グループが異なる色である、各色が異なるマスクセットに対応する、請求項１に記載の方法。
【請求項６】
前記グループ制約を前記決定することが、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を含む、請求項１に記載の方法。
【請求項７】
前記フィーチャのうちの前記残りのフィーチャに追加のグループ制約を前記割り当てることが、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を備える、請求項６に記載の方法。
【請求項８】
前記グループ制約を前記決定することが、
前記フィーチャのうちの少なくとも１つについて、前記フィーチャのうちの前記少なくとも１つに割当て可能なグループに対する制限を論理的に定義する式を決定すること
を含む、請求項１に記載の方法。
【請求項９】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てるための装置であって、
メモリと、
前記メモリに結合され、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を行うように構成された少なくとも１つのプロセッサと
を備える、装置。
【請求項１０】
前記少なくとも１つのプロセッサが、前記グループ制約を決定するとき、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を行うようにさらに構成された、請求項９に記載の装置。
【請求項１１】
前記少なくとも１つのプロセッサが、前記残りのフィーチャに前記追加のグループ制約を割り当てるとき、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を行うように構成された、請求項１０に記載の装置。
【請求項１２】
前記少なくとも１つのプロセッサが、前記グループ制約を決定するとき、
前記フィーチャのうちの少なくとも１つについて、前記フィーチャのうちの前記少なくとも１つに割当て可能なグループに対する制限を論理的に定義する式を決定すること
を行うようにさらに構成された、請求項９に記載の装置。
【請求項１３】
マルチパターニングプロセスのためのセルのフィーチャのグループ制約を構成する方法であって、
複数の当接セルを含む集積回路レイアウトを受信することと、
前記複数の当接セルのうちの第１のセルのグループ制約が前記複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定することと、前記第１のセルが、前記第２のセルに当接する、
前記第２のセルの前記グループ制約に基づいて、および前記第２のセルの前記グループ制約と競合する前記第１のセルの前記グループ制約に基づいて、前記第１のセルの前記グループ制約のサブセットを構成することと
を備える、方法。
【請求項１４】
前記第１のセルのグループ制約が前記第２のセルのグループ制約と競合するのかどうかを前記決定することが、
前記第１のセルの第１のセルフィーチャが、前記第２のセルの第２のセルフィーチャとの距離制約を有すると決定することと、
前記第１のセルフィーチャのグループ制約が、前記第２のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有すると決定することと
を備える、請求項１３に記載の方法。
【請求項１５】
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセルの前記グループ制約と前記第２のセルの前記グループ制約との間の前記競合を解決するために前記第１のセルの前記グループ制約を変更すること
を備える、請求項１４に記載の方法。
【請求項１６】
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
１つのグループを前記第１のセルの前記グループ制約内の別のグループとスワップすること
を備える、請求項１４に記載の方法。
【請求項１７】
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセル内の第２のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって前記第１のセルの前記グループ制約を狭くすること
を備える、請求項１４に記載の方法。
【請求項１８】
前記構成されたグループ制約に基づいて前記フィーチャの第２のサブセットの各フィーチャに、前記集積回路レイアウトを処理するための、複数のマスクセットのうちのマスクセットを割り当てることをさらに備える、請求項１４に記載の方法。
【請求項１９】
前記複数のマスクセットにわたって前記フィーチャのバランスをとることに基づいて前記フィーチャの第１のサブセットの各フィーチャにマスクセットを割り当てることをさらに備える、請求項１８に記載の方法。
【請求項２０】
前記フィーチャの前記バランスをとることが、
前記フィーチャの前記グループ制約に基づいて前記集積回路レイアウト中の前記フィーチャのうちのどれが複数のグループに割り当てられる複数のグループフィーチャであるのかを決定することと、
前記複数のマスクセットにわたって前記フィーチャのバランスをとる形で最低フィーチャカウントおよび最小フィーチャエリアのうちの少なくとも１つをもつ前記複数のグループのうちのグループに前記複数のグループフィーチャの各々を割り当てることと
を含む、請求項１９に記載の方法。
【請求項２１】
マルチパターニングプロセスのためのセルのフィーチャのグループ制約を構成するための装置であって、
メモリと、
前記メモリに結合され、
複数の当接セルを含む集積回路レイアウトを受信することと、
前記複数の当接セルのうちの第１のセルのグループ制約が前記複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定することと、前記第１のセルが、前記第２のセルに当接する、
前記第２のセルの前記グループ制約に基づいて、および前記第２のセルの前記グループ制約と競合する前記第１のセルの前記グループ制約に基づいて、前記第１のセルの前記グループ制約のサブセットを構成することと
を行うように構成された少なくとも１つのプロセッサと
を備える、装置。
【請求項２２】
前記少なくとも１つのプロセッサは、前記第１のセルのグループ制約が前記第２のセルのグループ制約と競合するのかどうかを決定するとき、
前記第１のセルの第１のセルフィーチャが、前記第２のセルの第２のセルフィーチャとの距離制約を有すると決定することと、
前記第１のセルフィーチャのグループ制約が、前記第２のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有すると決定することと
を行うようにさらに構成された、請求項２１に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサは、前記第２のセルのグループ制約に基づいて前記第１のセルの前記グループ制約を構成するとき、
前記第１のセルの前記グループ制約と前記第２のセルの前記グループ制約との間の前記競合を解決するために前記第１のセルの前記グループ制約を変更すること
を行うようにさらに構成された、請求項２１に記載の装置。
【請求項２４】
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
１つのグループを前記第１のセルの前記グループ制約内の別のグループとスワップすること
を備える、請求項２１に記載の装置。
【請求項２５】
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセル内の第２のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって前記第１のセルの前記グループ制約を狭くすること
を備える、請求項２１に記載の装置。
【請求項２６】
前記少なくとも１つのプロセッサは、前記構成されたグループ制約に基づいて前記フィーチャの第２のサブセットの各フィーチャに、前記集積回路レイアウトを処理するための、複数のマスクセットのうちのマスクセットを割り当てることを行うようにさらに構成された、請求項２１に記載の装置。
【請求項２７】
前記少なくとも１つのプロセッサは、前記複数のマスクセットにわたって前記フィーチャのバランスをとることに基づいて前記フィーチャの第１のサブセットの各フィーチャにマスクセットを割り当てることを行うようにさらに構成された、請求項２６に記載の装置。
【請求項２８】
前記少なくとも１つのプロセッサが、
前記フィーチャの前記グループ制約に基づいて前記集積回路レイアウト中の前記フィーチャのうちのどれが複数のグループに割り当てられる複数のグループフィーチャであるのかを決定することと、
前記複数のマスクセットにわたって前記フィーチャのバランスをとる形で最低フィーチャカウントおよび最小フィーチャエリアのうちの少なくとも１つをもつ前記複数のグループのうちのグループに前記複数のグループフィーチャの各々を割り当てることと
を行うようにさらに構成された、請求項２７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]本出願は、その全体が参照により本明細書に明確に組み込まれる、２０１５年８月２１日に出願された「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＧＲＯＵＰ  ＣＯＮＳＴＲＡＩＮＴＳ  ＩＮ  ＡＮ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴ  ＬＡＹＯＵＴ」と題する米国特許出願第１４／８３２，６６９号の利益を主張する。
【０００２】
[0002]本開示は、一般に、マルチパターン技術に関し、より詳細には、集積回路（ＩＣ）レイアウト内のフィーチャ（feature）のグループ制約（group constraints）を決定し、構成するためのマルチパターニング準拠技法に関する。
【背景技術】
【０００３】
[0003]集積回路（ＩＣ）のより良い性能および低減された電力消費を求める継続的需要が、半導体産業における広大な技術改善につながった。より高いトランジスタ密度、より速い速度、およびより低い電力消費を可能にする、ＩＣ内の構成要素のサイズの低減が１つのそのような改善である。
【０００４】
[0004]ＩＣ基板上に極めて小さいオブジェクト（object）の正確な画像を投影する能力を支配する、リソグラフィック解像度（lithographic resolution）は、フォトリソグラフィ中に使用される光の波長によって部分的に制限される。リソグラフィック解像度のこの制限は、「印刷可能しきい値（printable threshold）」と呼ばれることがある。マルチパターニングリソグラフィ（ＭＰＬ：multi-patterning lithography）は、ＩＣパターン密度を高め、リソグラフィック解像度の制限を克服するために使用され得る１つのリソグラフィ技法である。ＭＰＬは、ある色のフィーチャがあるマスク上に形成され、別の色のフィーチャが別のマスク上に形成されるように、ＩＣレイアウトが２つまたはそれ以上の色（たとえば、赤、青、黄など）に分解されることを可能にする。ＩＣレイアウトのフィーチャを複数のマスクに分割することによって、リソグラフィック解像度の制限を超えるオブジェクトサイズおよび間隔をもつ半導体デバイスを作製することが可能である。
【０００５】
[0005]しかしながら、ＭＰＬは、極めて長い色分解（color decomposition）ランタイムと、解決することができないかまたは収束しない分解問題と、チップレベルにおける色バランス問題と、色競合とを含む、多くの欠点を有する。したがって、色バランスおよび競合問題を回避しながら、ＭＰＬの色分解速度を改善するソリューションの必要が生じる。
【発明の概要】
【０００６】
[0006]以下で、１つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。この概要は、すべての企図された態様の包括的な概観ではなく、すべての態様の主要または重要な要素を識別するものでも、いずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後に提示されるより詳細な説明の導入として、１つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【０００７】
[0007]本開示の一態様では、マルチパターニングプロセスのためのレイアウト中のフィーチャにグループ制約を割り当てるための装置を提供する。本装置は、集積回路レイアウト内のフィーチャ間の境界競合検査を実行するためのツール（たとえば、ソフトウェアツール）であり得る。本装置は、回路レイアウト内のフィーチャを決定することと、フィーチャのうちの少なくとも１つのための距離制約（distance constraints）を決定することと、距離制約に基づいてフィーチャのためのグループ制約を決定することとを行うように構成される。グループ制約は、フィーチャの各々に割当て可能なグループに対する制限を定義する。さらに、本装置は、フィーチャにグループ制約を割り当てることを行うように構成される。
【０００８】
[0008]さらに、本装置は、複数の当接セルを含む集積回路（ＩＣ）レイアウトを受信するように構成される。さらに、本装置は、複数の当接セルのうちの第１のセルのグループ制約が複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定することを行うように構成される。第１のセルは、第２のセルに当接する。さらに、本装置は、第２のセルのグループ制約に基づいて、および第２のセルのグループ制約と競合する第１のセルのグループ制約に基づいて、第１のセルのグループ制約のサブセットを構成する。
【０００９】
[0009]添付の図面とともに以下に説明する開示する態様は、開示する態様を限定するためではなく、開示する態様を例示するために与えられ、同様の表示は同様の要素を示す。
【図面の簡単な説明】
【００１０】
【図１】[0010]マルチパターニングリソグラフィプロセスのためのＩＣレイアウトの例示的な分解を概念的に示す図。
【図２】[0011]マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定するために構成された例示的な装置を概念的に示す図。
【図３】[0012]マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定する方法の一例を概念的に示す流れ図。
【図４】[0013]当接セルを含むＩＣレイアウトの一例を概念的に示す図。
【図５Ａ】[0014]マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第１の例を概念的に示す流れ図。
【図５Ｂ】[0015]マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第２の例を概念的に示す流れ図。
【図５Ｃ】[0016]マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第３の例を概念的に示す流れ図。
【図５Ｄ】[0017]マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第４の例を概念的に示す流れ図。
【図６】[0018]マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定する方法の一例を概念的に示すフローチャート。
【図７】[0019]マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を決定する方法の一例を概念的に示すフローチャート。
【図８】[0020]マルチパターニングリソグラフィプロセスにおいて形成され得る様々なフィーチャの側面プロファイルを概念的に示す図。
【図９】[0021]マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定し、構成するために構成された処理システムを採用する装置のためのハードウェア実装形態の一例を概念的に示す図。
【発明を実施するための形態】
【００１１】
[0022]添付の図面に関して以下に示す発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明する概念が実施され得る唯一の構成を表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素をブロック図の形式で示す。装置および方法が、以下の詳細な説明において説明され、様々なブロック、モジュール、構成要素、回路、ステップ、プロセス、アルゴリズム、要素などによって添付の図面に示され得る。その上、本明細書で使用される「構成要素」という用語は、システムを構成する部分のうちの１つであり得、ハードウェアまたはソフトウェアまたはそれらの何らかの組合せであり得、他の構成要素に分割され得る。
【００１２】
[0023]集積回路（ＩＣ）を作製するために、設計者は、概略設計を作成するために、電子設計オートメーション（ＥＤＡ：electronic design automation）ツールを使用し得る。この概略設計は、１つまたは複数の機能を実行するために互いに結合された回路を含み得る。概略設計は、材料の実際の物理的配列の表現に変換され得、これは、完成時に設計レイアウトと呼ばれる。材料は、ＩＣのための複数の層に配列され、その結果、いくつかの設計層を含む設計レイアウトを生じ得る。
【００１３】
[0024]設計層が完成した後、各層上に適切な材料を実際に形成するために、作製プロセスが使用され得る。このプロセスは、光源をマスクに向けるフォトリソグラフィックプロセスを含み得る。概して、マスクは、照明されたとき、光が、所望のパターンで感光材料（photosensitive material）に当たるようにする、不透明領域と透明領域とを有し得る。たとえば、光が感光材料（たとえば、ポジティブレジスト）上にマスクを通して照射された後、感光材料（light-sensitive material）は、光に露出された部分を除去する（または、代替的に、ネガティブレジストを使用するとき、光に露出されなかった部分を除去する）ために、現像プロセスを受ける。次いで、特定の材料がパターン層において所望のパターンを用いて形成されるまで、エッチング、堆積、拡散、または何らかの他の材料変更プロセスがその層上で実行され得る。プロセスの結果は、各層における材料の所定の配列である。
【００１４】
[0025]一態様によれば、設計者は、回路を形成するために標準セルのライブラリを使用し得、回路は、所望の機能を与えるために結合され得る。各標準セルは、ブール論理関数（たとえば、ＡＮＤ、ＯＲ、ＸＯＲ、反転など）またはストレージ機能（たとえば、フリップフロップまたはラッチ）または他のタイプの機能（すなわち、概して、ＩＣレイアウト中で実装され得る任意の機能）を与えるトランジスタおよび相互接続など、様々な構造の少なくとも一部分を構成するフィーチャの定義されたグループであり得る。したがって、グループは、１つまたは複数のフィーチャの集合であり得る。一態様では、フィーチャは、金属相互接続、パワーレール、ポリゲート相互接続、ビア、金属ポリ（ＭＰ）相互接続、または金属拡散（ＭＤ）相互接続のうちの少なくとも１つを表し得る。フィーチャはまた、金属カット、ポリカット、および金属ポリカットのうちの少なくとも１つを表し得、これらの各々は、ラインおよびカットパターニングによって達成され得る。ラインおよびカットパターニングは、フィーチャライン（たとえば、金属、ポリ、またはポリ金属）をパターニングし、次いで、ラインのうちの少なくとも１つを２つのライン部分に分離する短い空間（たとえば、「カット」）を作成するために、ラインに対して直交方向にカットパターンを印刷することを伴うリソグラフィックプロセスである。各標準セルはまた、回路設計レイアウトを有し得る。標準セルのための回路設計レイアウトは、材料の実際の物理的配列として標準セルを表す。したがって、標準セルのための回路設計レイアウトは、その特定の標準セルを実装する設計レイアウトの一部分であり得る。回路設計レイアウトは、材料層のための効果的な製造青写真を提供する。たとえば、回路設計レイアウトは、設計レイアウトの様々な層のために形成されるマスクを含み得る。
【００１５】
[0026]マルチパターニングリソグラフィ（ＭＰＬ）は、同じＩＣ基板を露出するために複数のマスクの使用を可能にし、それにより、その層におけるフィーチャ／オブジェクト密度を効果的に増倍し得る。たとえば、図１は、ＭＰＬプロセスのためのＩＣレイアウト１００の例示的なグループ（たとえば、色）分解を概念的に示す図である。ＩＣレイアウト１００は、複数の（オブジェクトとも呼ばれる）フィーチャ１０１、１０２、１１１、１２１を含み得、これらの各々は、印刷可能しきい値よりも小さい（すなわち、単一のマスク上に形成され得ない）空間によって近隣のフィーチャから分離され得る。複数のフィーチャ１０１、１０２、１１１、１２１は、すべて同じ層（たとえば、金属層１）からのものであり得る。
【００１６】
[0027]色分解は、各グループまたは色が異なるマスクに対応する、フィーチャの「グループ化」、「着色」、または「色割当て」を伴う。グループまたは色割当ては、特定のグループの各マスクにおけるフィーチャが最小印刷可能しきい値間隔に違反しないように行われるべきである。
【００１７】
[0028]近隣のフィーチャが印刷可能しきい値よりも小さい空間によって分離されるので、それらは、異なるマスクに分解され得る。たとえば、フィーチャ１０１、１０２、１１１、１２１は、第１のマスク１３０と、第２のマスク１４０と、第３のマスク１５０とを形成する形で分解され得る。詳細には、図１に示すように、フィーチャ１０１、１０２は、第１のマスク１３０に関連する第１のグループに割り当てられ得（たとえば、黄などの第１の任意の色に割り当てられ得）、フィーチャ１１１は、第２のマスク１４０に関連する第２のグループに割り当てられ得（たとえば、青などの第２の任意の色に割り当てられ得）、フィーチャ１２１は、第３のマスク１５０に関連する第３のグループに割り当てられ得る（たとえば、赤などの第３の任意の色に割り当てられ得る）。任意の色は、特定の層のどの形状がその層に関連する複数のマスクのうちのどれに割り当てられるのかを設計者が追跡するのを助ける１つの方法である。
【００１８】
[0029]第１のマスク１３０、第２のマスク１４０、および第３のマスク１５０は、別々に露出され、その後組み合わされると、ＩＣレイアウト１００のターゲットパターンを達成し得る。
【００１９】
[0030]ＭＰＬプロセスは、Ｎ個のマスクのマルチプルパターニングに拡張され得、ここで、Ｎは整数である。異なるマスクに属するフィーチャ間隔が光の波長によってもはや制限されないので、印刷可能フィーチャ間隔は約１／Ｎに低減され得る。ただし、マスクの数を増加させることは、色分解の複雑さを指数関数的に増加させる。色分解は、個別のＭＰＬマスクにフィーチャが割り当てられていない設計レイアウトをとり、マスクに設計レイアウトのフィーチャを割り当てることである。色分解は、ＥＤＡソフトウェアによって実行され得る。たとえば、ＥＤＡソフトウェアが色分解を完了すると、得られた分解設計を使用してＭＰＬマスクが生成され得る。マスクの数を増加させ、それによって、色分解の複雑さを増加させることは、極めて長い色分解ランタイムと、解決することができないまたは収束しない分解問題とを生じ、色バランスおよび色競合など、他の問題をもたらす。
【００２０】
[0031]したがって、本開示の態様は、複数の色を分解することから生じる色分解の複雑さを低減するために、ＭＰＬプロセス中にＩＣレイアウト内のフィーチャのグループ制約を決定するのを容易にする論理演算にフィーチャ間で物理的制約を変換するための方法および装置に関する。
【００２１】
[0032]図２は、マルチパターニングリソグラフィプロセス中のＩＣレイアウト内のフィーチャのグループ制約を決定するために構成された例示的な装置２００を概念的に示す図である。一態様では、装置２００は、セルライブラリ２１１と、コード化セルライブラリ２１２と、ＩＣレイアウトデータベース２１３とを含み得るデータベース２１０を含み得る。装置２００はまた、フィーチャアナライザ２２０と、グループ制約生成器２３０と、分解器２４０と、マスク生成器２５０とを含み得る。
【００２２】
[0033]セルライブラリ２１１は、標準セル、プログラマブルセル、レイアウトテンプレート、レイアウトファブリックなど、当接方法をサポートする任意のタイプのセルおよびレイアウトを含み得る。セルライブラリ２１１中のセルの各々は、前に説明したように、機能を与えるフィーチャの構造を定義し得る。セルのフィーチャのいずれも色を割り当てられないという点で、標準セルなどのセルは無色であり得る。言い換えれば、標準セルなどのセルは、いくつかの例では、グループに割り当てられないことがある。一方、コード化セルライブラリ２１２は、たとえば、色に割り当てられたセルを含み得る。したがって、コード化セルライブラリ２１２は、複数のコード化セルを含み得、その各々は、グループ制約生成器２３０によってそれらのそれぞれのグループ制約に基づいてグループに割り当てられたフィーチャを含み得る。さらに、コード化セルの各々は、セルライブラリ２１１中のそれぞれセルに対応し得る。
【００２３】
[0034]一態様では、動作中、フィーチャアナライザ２２０は、セルライブラリ２１１からセルを取り出し、どんなフィーチャがセル中にあるのかを決定し得る。フィーチャは、距離制約を有し得る。フィーチャのための距離制約は、フィーチャと別のフィーチャとの間の許容される最小距離であり得る。したがって、フィーチャアナライザ２２０はまた、セル内のフィーチャの各々の間の間隔距離を決定すること、たとえば、それを測定することによってフィーチャの各々のための距離制約を決定し、さらに、間隔距離がしきい値間隔距離（たとえば、７０ｎｍ）よりも小さいのかどうかを決定し得る。前に説明したように、しきい値間隔距離は、印刷可能リソグラフィしきい値よりも小さい距離である。
【００２４】
[0035]フィーチャアナライザ２２０がセル中のフィーチャの各々の間の距離制約を決定すると、グループ制約生成器２３０は、決定された距離制約に基づいてフィーチャのためのグループ制約を決定し得る。グループ制約は、フィーチャの各々に割当て可能であるグループに対する制限を定義し得る。グループ制約生成器２３０は、たとえば、ブール代数を使用する論理演算として各フィーチャのためのグループ制約をコーディングし得る。フィーチャの各々のためのグループ制約は、フィーチャの着色（または異なるグループ／マスクへのフィーチャの割当て）が同じ色またはグループのフィーチャ間の間隔違反を生じないことになることを保証するために、前に決定されたグループ制約に基づいて決定され得る。一態様では、グループ制約生成器２３０は、フィーチャの各々のための距離制約の数を決定し、セル中のフィーチャの中から最大数の距離制約を有するフィーチャへのグループ制約の割当てを開始し得る。グループ制約生成器２３０は、次いで、第１のフィーチャに割り当てられたグループ制約に基づいてセル内の他のフィーチャのためのグループ制約を決定し得る。特に、グループ制約生成器２３０は、セル内のフィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいてフィーチャのうちのｎ番目のフィーチャのためのグループ制約を割り当てることによってグループ制約を決定し得る。グループ制約生成器２３０が、セル内のすべてのフィーチャのためのグループ制約を決定し、それぞれのフィーチャにそれぞれのグループ制約をコーディングすると、グループ制約生成器２３０は、コード化セルライブラリ２１２中にコード化フィーチャを有する今コーディングしたセルを記憶し得る。
【００２５】
[0036]一態様では、グループ制約生成器２３０は、コード化セルライブラリ２１２から複数の当接コード化セル（たとえば、以前に割り当てられたグループ制約をもつフィーチャを有するセル）をもつＩＣレイアウトを取り出し得る。本明細書では、当接セル（コード化セルまたは非コード化セル）は、隣接する、接している、または端または境界で結合しているセルを含み得る。別の態様では、グループ制約生成器２３０は、セルライブラリ２１１から複数の当接非コード化セル（たとえば、割り当てられたグループ制約をもたないフィーチャを有するセル）をもつＩＣレイアウトテンプレートを取り出し得る。テンプレートが非コード化セルを含む場合、グループ制約生成器２３０は、レイアウトテンプレート中のセルの各々がそれぞれのコード化セルと置き換えられるように、コード化セルライブラリ２１２からのコード化セルでレイアウトテンプレートをポピュレートし得、その各々は、割り当てられたグループ制約をもつフィーチャを含む。
【００２６】
[0037]フィーチャアナライザ２２０は、グループ制約生成器２３０とともに、次いで、当接セルのグループ制約の間に任意の競合があるのかどうかを決定し得、その後、グループ制約生成器２３０は、当接セルのグループ制約を構成することによって競合を解決し得る。たとえば、グループ制約生成器２３０は、第２のセルのグループ制約が第１のセルのグループ制約と競合するのかどうかを決定し得、ここで、第２セルは、第１のセルと当接している。詳細には、フィーチャアナライザ２２０は、第２のセルの第２のセルフィーチャが第１のセルの第１のセルフィーチャとの距離制約を有すると決定し得る。個別のセルに関して、当接セルのフィーチャ間の距離制約は、当接セルのフィーチャ間の間隔距離を決定することによって決定される。たとえば、フィーチャアナライザ２２０は、第１のセルフィーチャと第２のセルフィーチャとの間の間隔距離を決定し、第１のセルフィーチャと第２のセルフィーチャとの各々の間の間隔距離がしきい値間隔距離よりも小さいのかどうかを決定し得る。第１のセルフィーチャと第２のセルフィーチャとの間に距離制約が存在するとフィーチャアナライザ２２０が決定する場合、グループ制約生成器２３０は、次いで、グループ制約競合が第１のセルフィーチャと第２のセルフィーチャとの間に存在するのかどうかを決定し得る。特に、グループ制約生成器２３０は、第２のセルフィーチャのグループ制約が、第１のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有するのかどうかを決定し得る。それぞれのフィーチャのグループ制約が共通する少なくとも１つのグループを有する場合、隣接するフィーチャ間にグループ制約競合が存在する。
【００２７】
[0038]グループ制約競合が当接セルのフィーチャ間に存在するとグループ制約生成器２３０が決定する場合、グループ制約生成器２３０は、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。たとえば、第２のセルのグループ制約が第１のセルのグループ制約と競合するとき、グループ制約生成器２３０は、第１のセルのグループ制約に基づいて第２のセルのグループ制約のサブセット（たとえば、１つまたは複数）を構成し得る。特に、グループ制約生成器２３０は、第２のセルのグループ制約と第１のセルのグループ制約との間の競合を解決するために、第２のセルのグループ制約を変更することによって、第１のセルのグループ制約に基づいて第２のセルのグループ制約のサブセットを構成し得る。たとえば、第２のセルのグループ制約のサブセットを構成することは、（１）１つのグループを第２のセルのグループ制約内の別のグループとスワップすることと、（２）第２のセル内の第１のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって第２のセルのグループ制約を狭くすることと、（３）第２のセル内の第１のフィーチャとの距離制約を有する第２のセル内の残りのフィーチャに割当て可能であることから少なくとも１つのグループを除去することによって第２のセルのグループ制約を狭くすることとを含み得る。このようにして、グループ制約生成器２３０は、当接セル間のあらゆるグループ制約競合を解決し得る。
【００２８】
[0039]グループ制約生成器２３０は、フィーチャアナライザ２２０とともに、ＩＣレイアウトの解決可能な分解を可能にするグループ制約でセルのフィーチャがコーディングされるようにＩＣレイアウト内の各当接セルに対して上述の手順を実行し得る。
【００２９】
[0040]一態様では、グループ制約生成器２３０はまた、ＩＣレイアウト中のフィーチャのうちのどれが複数のグループフィーチャであるのかを決定し得る。複数のグループフィーチャは、たとえば、２つ以上のグループをフィーチャに割り当てることを可能にするコード化グループ制約をもつフィーチャであり得る。グループ制約生成器２３０は、次いで、複数のグループの間のフィーチャ分配のバランスを決定し得る。たとえば、グループ制約生成器２３０は、各グループに割り当てられたフィーチャの数ならびに各グループに割り当てられたフィーチャによって占有されるエリアを決定し得る。これらの決定に基づいて、グループ制約生成器２３０は、それぞれのグループのフィーチャカウントおよびフィーチャエリアがグループの間でバランスをとれるように、たとえば、最低のフィーチャカウントをもつグループおよび／または最小フィーチャエリアをもつグループに複数のグループフィーチャの各々を割り当て得る。
【００３０】
[0041]一態様では、グループ制約生成器２３０は、複数のグループフィーチャの各異なるセットに対してこのグループ／フィーチャバランス手順を実行し得、ここで、各セットは、それの複数のグループフィーチャに割り当てられたグループ制約によって異なる。たとえば、第１の複数のグループフィーチャセットは、グループＡまたはグループＢのいずれかにフィーチャを限定するグループ制約が割り当てられるフィーチャを含み得、第２の複数のグループフィーチャセットは、グループＢまたはグループＣのいずれかにフィーチャを限定するグループ制約が割り当てられるフィーチャを含み得る。さらに、グループ制約生成器２３０は、グループＡのＩＣレイアウトがグループＡ、Ｂ、Ｃの中で最も少ないフィーチャを含むと決定し得る。グループＡ、Ｂ、Ｃの間でフィーチャカウントのバランスをとるために、グループ制約生成器２３０は、フィーチャの全部または一部がグループＡに限定されるように第１の複数のグループ特徴セットのグループ制約を再構成し得、したがって、グループＡに割り当てられたフィーチャの数が増加し、次に、グループＡ、Ｂ、Ｃの間でフィーチャカウントがバランスをとられる。グループ制約生成器２３０は、次いで、グループの間のフィーチャカウント／エリアを再分析し、複数のグループフィーチャの同じまたは他のセットの全部または一部を使用してバランス手順を実行し得る。
【００３１】
[0042]グループ制約生成器２３０が、ＩＣレイアウトのコード化セル中のすべてのフィーチャのグループ制約を決定し、それを構成し、それのバランスをとると、グループ制約生成器２３０は、ＩＣレイアウトデータベース２１３またはコード化セルライブラリ２１２のうちの１つまたは複数中に今コーディングしたＩＣレイアウトを記憶するか、または代替的に、色分解のための分解器２４０にコード化ＩＣレイアウトを送信し得る。
【００３２】
[0043]分解器２４０は、コード化セルライブラリ２１２からＩＣレイアウトを取り出すか、またはグループ制約生成器２３０からＩＣレイアウトを受信し、ＩＣレイアウトに対して分解アルゴリズムを実行し得る。分解アルゴリズムは、ＩＣレイアウト中のすべてのフィーチャに色が割り当てられるまで、グループ制約生成器２３０によってフィーチャの各々に割り当てられたグループ制約に基づいてＩＣレイアウトの無着色フィーチャに異なる色を割り当て得る。特に、分解器２４０は、異なるグループの各々に異なる色を関連付け得、したがって、同じグループのフィーチャに同じ色が割り当てられるが、異なるグループのフィーチャに異なる色が割り当てられる。異なる着色フィーチャは、図１に例示されるように、ＭＰＬプロセスで使用される異なるマスクに関連付けられ得る。
【００３３】
[0044]このようにして、グループ制約を決定し、ＩＣレイアウトのための実行可能で解決可能な色ソリューションを保証することによって、装置２００は、分解器２４０に対する処理負荷を著しく低減し、それによって、色分解の非収束を防止し、色分解ランタイムを短縮し、ならびに色バランスおよび色競合など、他の問題を回避し得る。
【００３４】
[0045]一態様では、装置２００はまた、マスク生成器２５０を含み得る。マスク生成器２５０は、同じ色を有するフィーチャを同じマスクに書き込む形で、分解器２４０から受信された着色ＩＣレイアウトに基づいて、複数のマスクを生成し得る。実際の物理マスクを生成するために使用され得る設計ファイルがマスク生成器２５０によって生成されると、設計ファイルは、次いで、マスクを生成するために使用され得る。物理マスクは、半導体作製プロセスにおいて使用され得る。
【００３５】
[0046]図３は、マルチパターニングリソグラフィプロセス中のＩＣレイアウト内のフィーチャのグループ制約を決定する方法の一例を概念的に示す流れ図３００である。図３に示すように、プロセスは、フィーチャアナライザ２２０によってセルライブラリ２１１から取り出され得る無色のセル３０１から始まり得る。フィーチャアナライザ２２０は、たとえば、フィーチャ１０１、１０２、１１１、１２１などのいくつかのフィーチャをセル３０１が含むと決定し得る。
【００３６】
[0047]フィーチャアナライザ２２０は、次いで、セル３０１内のフィーチャ１０１、１０２、１１１、１２１の各々の間の間隔距離を決定すること、たとえば、それを測定することによってフィーチャの各々のための距離制約を決定し、間隔距離がしきい値間隔距離ｄthよりも小さいのかどうかを決定し得る。たとえば、セル３０２に示すように、フィーチャアナライザ２２０は、フィーチャ１０１とフィーチャ１０２との間の距離ｄ１がしきい値間隔距離よりも大きいと決定し得る。したがって、フィーチャアナライザ２２０は、距離制約として距離ｄ１を指定しないことがあり、フィーチャ１０１とフィーチャ１０２とが競合なしに同じグループ中にあることを可能にし得る。一態様では、フィーチャアナライザ２２０はまた、フィーチャ１０１とフィーチャ１２１との間の距離がしきい値間隔距離よりも同様に大きいと決定し得る。フィーチャアナライザ２２０は、さらに、フィーチャ１０１とフィーチャ１１１との間の距離ｄ２、フィーチャ１１１とフィーチャ１２１との間の距離ｄ３、フィーチャ１０２とフィーチャ１１１との間の距離ｄ４、およびフィーチャ１０２とフィーチャ１２１との間の距離ｄ５の距離がしきい値間隔距離よりも小さいと決定し、したがって、距離制約としてこれらの距離を指定し得る。
【００３７】
[0048]距離制約ｄ２〜ｄ５に基づいて、グループ制約生成器２３０は、フィーチャ１０１、１０２、１１１、１２１のためのグループ制約を決定し得る。グループ制約は、フィーチャの各々に割当て可能であるグループに対する制限を定義し得る。グループ制約生成器２３０は、最初に、フィーチャの各々のための距離制約の数（たとえば、距離制約としてフィーチャアナライザ２２０によって指定された距離）を決定し、距離制約の最大数を有するフィーチャへのグループ制約の割当てを開始し得る。たとえば、グループ制約生成器２３０は、フィーチャ１０１がただ１つの距離制約ｄ２を有し、フィーチャ１０２が２つの距離制約ｄ４、ｄ５を有し、フィーチャ１２１が２つの距離制約ｄ３、ｄ５を有し、フィーチャ１１１が３つの距離制約ｄ２、ｄ３、ｄ４を有すると決定し得る。グループ制約生成器２３０は、フィーチャ１１１が（３つの距離制約で）距離制約の最大数を有すると決定し得る。一態様では、２つ以上のフィーチャが、距離制約の最大数を有するが、同数の距離制約を有するフィーチャに該当する場合、グループ制約生成器２３０は、グループ制約の割当てを開始するためにフィーチャのうちの１つを任意に選定し、次いで、グループ制約を割り当てるために距離制約の最大数をもつ次のフィーチャに移り得る。グループ制約生成器２３０が同数の距離制約をもつ２つ以上のフィーチャに遭遇すると、フィーチャが距離制約の最大数を有するか否かにかかわらず、同じ任意のグループ制約割当て手順が適用され得る。このようにして、グループ制約生成器２３０は、セル中のそれぞれのフィーチャにグループ制約が割り当てられる順序を決定し得る。一態様では、グループ制約生成器２３０は、各フィーチャに対する距離制約の数に基づかない任意の順序で最大の距離制約をもつフィーチャの後のあらゆるフィーチャにグループ制約を割り当て得る。
【００３８】
[0049]グループ制約生成器２３０は、次いで、フィーチャに（色制約と呼ばれることもある）グループ制約を割り当て始め得る。グループ（色）制約（Ｇ１、Ｇ２、Ｇ３、Ｇ４）は、フィーチャに適用され得るグループ（色）を決定するためにフィーチャに適用される制約である。グループ制約は、１つまたは複数のグループ（色）および／または他のグループ制約の関数であり得る。一例では、セル３０３に示すように、グループ制約生成器２３０は、フィーチャ１１１で開始し、フィーチャ１１１にグループ制約Ｇ１を割り当て得る。グループ制約Ｇ１は、たとえば、ブール代数を使用する論理演算として定義され得る。図３の例では、グループ制約Ｇ１は、グループＡ、Ｂ、ＣのうちのグループＡなど、ＭＰＬプロセス中の複数のグループ（たとえば、ブール代数の形でＧｒｐＡ、ＧｒｐＢ、ＧｒｐＣとして示されることもあるグループＡ、Ｂ、Ｃ）のうちの１つへの単純割当てであり得る。したがって、Ｇ１の論理演算は、Ｇ１＝ＧｒｐＡになり得る。上記で説明したように、任意の色／グループ（たとえば、ＧｒｐＡ、ＧｒｐＢ、およびＧｒｐＣのうちの１つまたは複数）は、特定の層のどのフィーチャがその層に関連する複数のマスクのうちのどれに割り当てられるのかを設計者が追跡するのを助ける１つの方法である。
【００３９】
[0050]グループ制約生成器２３０は、次いで、セル３０３中のフィーチャ１０１など、次のフィーチャに移り得る。前述のように、グループ制約生成器２３０は、セル内のフィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいてフィーチャのうちのｎ番目のフィーチャのためのグループ制約を割り当てることによってグループ制約を決定し得る。言い換えれば、グループ制約生成器２３０は、１つのフィーチャのグループ制約の基礎を別のフィーチャのグループ制約に置くことによって、セル内の他のフィーチャに１つのフィーチャのグループ制約によって定義される論理演算を伝搬し得る。たとえば、グループ制約生成器２３０は、フィーチャ１１１の以前に割り当てられたグループ制約Ｇ１に基づいてフィーチャ１０１のためのグループ制約Ｇ２を決定し得る。詳細には、グループ制約生成器２３０は、フィーチャ１０１とフィーチャ１１１との間の距離制約ｄ２のためにフィーチャ１０１のためのグループ制約Ｇ２がフィーチャ１１１のグループ制約Ｇ１とグループを共有することができないと決定し得る。言い換えれば、図３の例では、グループ制約Ｇ２は、フィーチャ１０１がグループＡに割当て可能になるのを制限し、これは、フィーチャ１０１に割当て可能であるグループがグループＢおよびＣしかないことを意味する。したがって、グループ制約生成器２３０は、グループＢまたはグループＣのいずれかにフィーチャ１０１を限定し得、したがって、フィーチャ１０１のためのグループ制約Ｇ２が論理演算Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣを有し得ると決定し得、ここで、｜｜は、論理ＯＲ演算を示す。
【００４０】
[0051]グループ制約生成器２３０は、次いで、セル３０３中のフィーチャ１２１など、次のフィーチャに移り得る。たとえば、グループ制約生成器２３０は、フィーチャ１１１、１０１の以前に割り当てられたグループ制約Ｇ１、Ｇ２に基づいてフィーチャ１２１のためのグループ制約Ｇ３を決定し得る。詳細には、グループ制約生成器２３０は、フィーチャ１２１とフィーチャ１１１との間の距離制約ｄ３とフィーチャ１２１とフィーチャ１０２との間の距離制約ｄ５とのためにフィーチャ１２１のためのグループ制約Ｇ３がフィーチャ１１１のグループ制約Ｇ１およびフィーチャ１０２のグループ制約Ｇ４とグループを共有することができないと決定し得る。言い換えれば、図３の例では、グループ制約Ｇ３は、フィーチャ１２１がグループＡに割当て可能になるのを制限し、どのグループも、フィーチャ１０２にグループ制約Ｇ４によって割当て可能である。これは、フィーチャ１２１に利用可能である唯一のグループが、グループＢおよびフィーチャ１０２に割当て可能であるグループなしか、あるいはグループＣおよびフィーチャ１０２に割当て可能であるグループなしかのいずれかであることを意味する。したがって、グループ制約生成器２３０は、フィーチャ１２１のためのグループ制約Ｇ３が、論理演算Ｇ３＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ１０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ１０２）を有し得ると決定し得、ここで、ｘは、論理ＡＮＤ演算を示し、！は、論理ＮＯＴ演算を示し、Ｇ．Ｆ１０２は、フィーチャ１０２に割当て可能であるグループを示す。
【００４１】
[0052]グループ制約生成器２３０は、次いで、セル３０３中のフィーチャ１０２など、次のフィーチャに移り得る。たとえば、グループ制約生成器２３０は、フィーチャ１１１、１０１、１２１の以前に割り当てられたグループ制約Ｇ１、Ｇ２、Ｇ３に基づいてフィーチャ１０２のためのグループ制約Ｇ４を決定し得る。詳細には、グループ制約生成器２３０は、フィーチャ１０２とフィーチャ１１１との間の距離制約ｄ４とフィーチャ１０２とフィーチャ１２１との間の距離制約ｄ５とのためにフィーチャ１０２のためのグループ制約Ｇ４がフィーチャ１１１のグループ制約Ｇ１およびフィーチャ１２１のグループ制約Ｇ３とグループを共有することができないと決定し得る。言い換えれば、図３の例では、グループ制約Ｇ４は、フィーチャ１０２がグループＡに割当て可能になるのを制限し、どちらのグループも、フィーチャ１２１にグループ制約Ｇ３によって割当て可能である。これは、フィーチャ１０２に利用可能である唯一のグループが、フィーチャ１２１に割当て可能であるグループＢおよびグループなしか、あるいはフィーチャ１２１に割当て可能であるグループＣおよびグループなしかのいずれかであることを意味する。したがって、グループ制約生成器２３０は、フィーチャ１０２のためのグループ制約Ｇ４が、論理演算Ｇ４＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ１２１）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ１２１）を有し得ると決定し得、ここで、Ｇ．Ｆ１２１は、フィーチャ１２１に割当て可能であるグループを示す。
【００４２】
[0053]グループ制約生成器２３０が、セル内のフィーチャのすべてのためのグループ制約を決定すると、グループ制約生成器２３０は、それぞれのフィーチャ１１１、１０１、１２１、１０２にグループ制約Ｇ１、Ｇ２、Ｇ３、Ｇ４をコーディングし、コード化セルライブラリ２１２中にコード化フィーチャを有する今コーディングしたセル３０３を記憶し得る。
【００４３】
[0054]図４は、複数の当接セル４０１〜４０９を含むＩＣレイアウトテンプレート４００の一例を概念的に示す図である。ＩＣレイアウトテンプレート４００に、当接セル４０１〜４０９しか示していないが、ＩＣレイアウトテンプレートは、任意の数のセル（たとえば、何千ものセル）を含み得る。一態様では、ＩＣレイアウト４００は、グループ制約生成器２３０がコード化セルライブラリ２１２から取り出し得る以前にコーディングされたセル（たとえば、以前に割り当てられたグループ制約をもつフィーチャを有するセル）をもつレイアウトであり得る。別の態様では、ＩＣレイアウト４００は、グループ制約生成器２３０がセルライブラリ２１１から取り出し得る非コード化セル（たとえば、割り当てられたグループ制約のないフィーチャを有するセル）をもつレイアウトであり得る。ＩＣレイアウト４００が非コード化セルを含む場合、グループ制約生成器２３０は、レイアウトテンプレート中のセルの各々（たとえば、少なくともセル４０１〜４０９）がそれぞれのコード化セルと置き換えられるように、コード化セルライブラリ２１２からのコード化セルでレイアウトテンプレートをポピュレートし得、その各々は、割り当てられたグループ制約をもつフィーチャを含む。
【００４４】
[0055]前述のように、フィーチャアナライザ２２０は、グループ制約生成器２３０とともに、当接セルのグループ制約の間に任意の競合があるのかどうかを決定し得、その後、グループ制約生成器２３０は、当接セルのグループ制約を構成することによって競合を解決し得る。そのような競合の解決のいくつかの態様を、図５Ａ〜図５Ｃに示す。
【００４５】
[0056]図５Ａは、マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第１の例を概念的に示す流れ図である。図５Ａに示すように、セル５４１中のフィーチャは、概して、セル５４２上のフィーチャと非対称である。セル５４１および５４２は、図４中のＩＣレイアウト４００の、それぞれ、セル４０１および４０２に対応し得る。図５Ａに示すように、第１の当接セル５４１は、それぞれ、グループ制約Ｇ２、Ｇ４、Ｇ１、Ｇ３を有するフィーチャ５０１、５０２、５０３、５０４を含み得る。第２の当接セル５４２は、それぞれ、グループ制約Ｇ１、Ｇ５、Ｇ６、Ｇ５を有するフィーチャ５１１、５１２、５１３、５１４を含み得る。
【００４６】
[0057]フィーチャアナライザ２２０は、ブロック５７１において、セル５４１およびセル５４２のどのフィーチャが隣接するのかを決定し得る。たとえば、フィーチャアナライザ２２０は、セル５４１のフィーチャ５０２がセル５４２のフィーチャ５１１に隣接し、セル５４１のフィーチャ５０４が同じくセル５４２のフィーチャ５１１に隣接すると決定し得る。フィーチャアナライザ２２０は、ブロック５７２において、次いで、隣接するフィーチャの各々の間の間隔距離を決定／測定し、距離がしきい値間隔距離よりも小さいのかどうかを決定することによって隣接するフィーチャの各々のための距離制約を決定し得る。たとえば、フィーチャアナライザ２２０は、フィーチャ５０２とフィーチャ５１１との間の距離ｄ６がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ６を指定し得る。フィーチャアナライザ２２０は、さらに、フィーチャ５０４とフィーチャ５１１との間の距離ｄ７がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ７を指定し得る。
【００４７】
[0058]距離制約に基づいて、グループ制約生成器２３０は、セル５４１のフィーチャ５０２、５０４とセル５４２のフィーチャ５１１との間に任意のグループ制約競合があるのかどうかを決定し得る。グループ制約競合が当接セルのフィーチャ間に存在するとグループ制約生成器２３０が決定すると、グループ制約生成器２３０は、ブロック５７３において、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。
【００４８】
[0059]たとえば、ブロック５７３において、グループ制約生成器２３０は、Ｇ１＝ＧｒｐＡ、Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣ、Ｇ３＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０２）、Ｇ４＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０４）、Ｇ５＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５１３）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１３）、およびＧ６＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５１２）ｘ！（Ｇ．Ｆ５１４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１２）ｘ！（Ｇ．Ｆ５１４）と決定し得る。Ｇ．Ｆ５０２は、フィーチャ５０２に割当て可能であるグループを示し、Ｇ．Ｆ５０４は、フィーチャ５０４に割当て可能であるグループを示し、Ｇ．Ｆ５１２は、フィーチャ５１２に割当て可能であるグループを示し、Ｇ．Ｆ５１３は、フィーチャ５１３に割当て可能であるグループを示し、Ｇ．Ｆ５１４は、フィーチャ５１４に割当て可能であるグループを示す。
【００４９】
[0060]グループ制約Ｇ１、Ｇ３、およびＧ４の論理演算に基づいて、グループ制約生成器２３０は、それによって、フィーチャ５１１のグループ制約Ｇ１がフィーチャ５０２のグループ制約Ｇ４またはフィーチャ５０４のグループ制約Ｇ３のいずれとも競合しないと決定し得る。したがって、グループ制約生成器２３０は、セル５４１および５４２のフィーチャのグループ制約を変更しないままにし得る。
【００５０】
[0061]グループ制約生成器２３０は、次いで、当接セル５４１と当接セル５４２との間にグループ制約競合がないと決定し得、当接セル５４２である別のセルなどの他の当接セルを分析することに進み得、当接セル間のあらゆるグループ制約競合を解決するためにこの他のセルのグループ制約を再構成し得る。
【００５１】
[0062]図５Ｂは、マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第２の例を概念的に示す流れ図である。図５Ｂに示すように、第１の当接セル５５１は、それぞれ、グループ制約Ｇ２、Ｇ４、Ｇ１、Ｇ３を有するフィーチャ５０１、５０２、５０３、５０４を含み得る。第２の当接セル５５２は、それぞれ、グループ制約Ｇ２、Ｇ６、Ｇ１、Ｇ５を有するフィーチャ５２１、５２２、５２３、５２４を含み得る。
【００５２】
[0063]フィーチャアナライザ２２０は、ブロック５８１において、セル５５１およびセル５５２のどのフィーチャが隣接するのかを決定し得る。たとえば、フィーチャアナライザ２２０は、セル５５１のフィーチャ５０２がセル５５２のフィーチャ５２２に隣接し、セル５５１のフィーチャ５０４がセル５５２のフィーチャ５２４に隣接すると決定し得る。フィーチャアナライザ２２０は、ブロック５８２において、次いで、隣接するフィーチャの各々の間の間隔距離を決定／測定し、距離がしきい値間隔距離よりも小さいのかどうかを決定することによって隣接するフィーチャの各々のための距離制約を決定し得る。たとえば、フィーチャアナライザ２２０は、フィーチャ５０２とフィーチャ５２２との間の距離ｄ８がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ８を指定し得る。フィーチャアナライザ２２０は、さらに、フィーチャ５０４とフィーチャ５２４との間の距離ｄ９がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ９を指定し得る。
【００５３】
[0064]距離制約に基づいて、グループ制約生成器２３０は、フィーチャ５０２とフィーチャ５２２との間およびフィーチャ５０４とフィーチャ５２４との間に任意のグループ制約競合があるのかどうかを決定し得る。グループ制約競合が当接セルのフィーチャ間に存在するとグループ制約生成器２３０が決定すると、グループ制約生成器２３０は、ブロック５８３において、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。
【００５４】
[0065]たとえば、ブロック５８３において、グループ制約生成器２３０は、Ｇ１＝ＧｒｐＡ、Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣ、Ｇ３＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０２）、Ｇ４＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０４）、Ｇ５＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２２）、およびＧ６＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２４）と決定し得る。Ｇ．Ｆ５０２は、フィーチャ５０２に割当て可能であるグループを示し、Ｇ．Ｆ５０４は、フィーチャ５０４に割当て可能であるグループを示し、Ｇ．Ｆ５２２は、フィーチャ５２２に割当て可能であるグループを示し、Ｇ．Ｆ５２４は、フィーチャ５２４に割当て可能であるグループを示す。
【００５５】
[0066]グループ制約Ｇ３、Ｇ４、Ｇ５、およびＧ６の論理演算に基づいて、グループ制約生成器２３０は、それによって、フィーチャ５０２のグループ制約Ｇ４がフィーチャ５２２のグループ制約Ｇ６と競合すると決定し、フィーチャ５０４のグループ制約Ｇ３がフィーチャ５２４のグループ制約Ｇ５と競合すると決定し得る。グループ制約生成器２３０は、次いで、セル５５１または５５２のいずれかのグループ制約を再構成し得る。一態様では、グループ制約生成器２３０は、セル５５２のフィーチャ５２２および５２４のグループ制約を構成し得る。たとえば、グループ制約生成器２３０は、フィーチャ５０４に割当て可能である任意のグループにフィーチャ５２４が割り当てられるのをさらに制限する新しい例外をグループ制約に追加することによってフィーチャ５２４のグループ制約Ｇ５を構成し得る。詳細には、グループ制約生成器２３０は、フィーチャ５２４のグループ制約に論理演算「ｘ！（Ｇ．Ｆ５０４）」を追加し、新しいグループ制約Ｇ７＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２２）ｘ！（Ｇ．Ｆ５０４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２２）ｘ！（Ｇ．Ｆ５０４）を本質的に作成し得る。さらに、グループ制約生成器２３０は、フィーチャ５０２に割当て可能である任意のグループにフィーチャ５２２が割り当てられるのをさらに制限する新しい例外をグループ制約に追加することによってフィーチャ５２２のグループ制約Ｇ６を構成し得る。詳細には、グループ制約生成器２３０は、フィーチャ５２２のグループ制約に論理演算「ｘ！（Ｇ．Ｆ５０２）」を追加し、新しいグループ制約Ｇ８＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２４）ｘ！（Ｇ．Ｆ５０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２４）ｘ！（Ｇ．Ｆ５０２）を本質的に作成し得る。
【００５６】
[0067]グループ制約生成器２３０は、次いで、当接セル５５１と当接セル５５２との間でグループ制約競合が解決されたと決定し得、当接セル５５２である別のセルなどの他の当接セルを分析することに進み得、当接セル間のあらゆるグループ制約競合を解決するためにこの他のセルのグループ制約を再構成し得る。
【００５７】
[0068]図５Ｃは、マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第３の例を概念的に示す流れ図である。図５Ｃに示すように、第１の当接セル５６１は、それぞれ、グループ制約Ｇ２、Ｇ４、Ｇ１、Ｇ３を有するフィーチャ５２１、５２２、５２３、５２４を含み得る。第２の当接セル５６２は、それぞれ、グループ制約Ｇ５（たとえば、Ｇ５＝ＧｒｐＡ｜｜ＧｒｐＢ｜｜ＧｒｐＣ）、Ｇ６（たとえば、Ｇ６＝！（Ｇ．Ｆ５３１））を有するフィーチャ５３１、５３２を含み得る。
【００５８】
[0069]フィーチャアナライザ２２０は、ブロック５９１において、セル５６１およびセル５６２のどのフィーチャが隣接するのかを決定し得る。たとえば、フィーチャアナライザ２２０は、セル５６１のフィーチャ５２１がセル５６２の隣接するフィーチャ５３１であると決定し得る。フィーチャアナライザ２２０は、ブロック５９２において、次いで、隣接するフィーチャの各々の間の間隔距離を決定／測定し、距離がしきい値間隔距離よりも小さいのかどうかを決定することによって隣接するフィーチャの各々のための距離制約を決定し得る。たとえば、フィーチャアナライザ２２０は、フィーチャ５２１とフィーチャ５３１との間の距離ｄ１０がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ１０を指定し得る。
【００５９】
[0070]この距離制約に基づいて、グループ制約生成器２３０は、フィーチャ５２１とフィーチャ５３１との間に任意のグループ制約競合があるのかどうかを決定し得る。グループ制約競合が当接セルのフィーチャ間に存在するとグループ制約生成器２３０が決定すると、グループ制約生成器２３０は、ブロック５９３において、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。たとえば、ブロック５９３において、グループ制約生成器２３０は、Ｇ１＝ＧｒｐＡ、Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣ、Ｇ３＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２２）、Ｇ４＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５２４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５２４）、Ｇ５＝ＧｒｐＡ｜｜ＧｒｐＢ｜｜ＧｒｐＣ、およびＧ６＝！（Ｇ．Ｆ５３１）と決定し得る。Ｇ．Ｆ５２２は、フィーチャ５２２に割当て可能であるグループを示し、Ｇ．Ｆ５２４は、フィーチャ５２４に割当て可能であるグループを示し、Ｇ．Ｆ５３１は、フィーチャ５３１に割当て可能であるグループを示す。
【００６０】
[0071]グループ制約Ｇ３およびＧ４の論理演算に基づいて、グループ制約生成器２３０は、それによって、フィーチャ５３１のグループ制約Ｇ５がフィーチャ５２１のグループ制約Ｇ２と競合すると決定し得る。グループ制約生成器２３０は、次いで、セル５６１または５６２のいずれかのグループ制約を再構成し得る。一態様では、グループ制約生成器２３０は、フィーチャ５３１に割当て可能になることから少なくとも１つのグループを除去することによって第２のセル５６２のフィーチャ５３１のグループ制約を狭くし得る。たとえば、グループ制約生成器２３０は、グループ制約Ｇ５がグループＡのみに限定されるようにグループ制約Ｇ５からグループＢおよびＣを除去し得る。一態様では、グループ制約生成器２３０は、フィーチャ５３１にグループ制約Ｇ５の代わりにグループ制約Ｇ１が割り当てられるようにフィーチャ５３１を構成し得、ここで、Ｇ１＝ＧｒｐＡである。
【００６１】
[0072]グループ制約生成器２３０は、次いで、当接セル５６１と当接セル５６２との間でグループ制約競合が解決されたと決定し得、当接セル５６２である別のセルなどの他の当接セルを分析することに進み得、当接セル間のあらゆるグループ制約競合を解決するためにこの他のセルのグループ制約を再構成し得る。
【００６２】
[0073]図５Ｄは、マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を構成する方法の第４の例を概念的に示す流れ図である。図５Ｄに示すように、第１の当接セル５６６は、それぞれ、グループ制約Ｇ１、Ｇ２を有するフィーチャ５０６、５０７を含み得る。第２の当接セル５６７は、それぞれ、グループ制約Ｇ１、Ｇ２を有するフィーチャ５１６、５１７を含み得る。
【００６３】
[0074]フィーチャアナライザ２２０は、ブロック５９６において、セル５６６およびセル５６７のどのフィーチャが隣接するのかを決定し得る。たとえば、フィーチャアナライザ２２０は、セル５６６のフィーチャ５０６がセル５６７のフィーチャ５１６に隣接し、セル５６６のフィーチャ５０７がセル５６７のフィーチャ５１７に隣接すると決定し得る。フィーチャアナライザ２２０は、ブロック５９７において、次いで、隣接するフィーチャの各々の間の間隔距離を決定／測定し、距離がしきい値間隔距離よりも小さいのかどうかを決定することによって隣接するフィーチャの各々のための距離制約を決定し得る。たとえば、フィーチャアナライザ２２０は、フィーチャ５０６とフィーチャ５１６との間の距離ｄ１１がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ１１を指定し得る。フィーチャアナライザ２２０は、さらに、フィーチャ５０７とフィーチャ５１７との間の距離ｄ１２がしきい値間隔距離よりも小さいと決定し、したがって、距離制約として距離ｄ１２を指定し得る。
【００６４】
[0075]距離制約に基づいて、グループ制約生成器２３０は、フィーチャ５０６とフィーチャ５１６との間およびフィーチャ５０７とフィーチャ５１７との間に任意のグループ制約競合があるのかどうかを決定し得る。グループ制約競合が当接セルのフィーチャ間に存在するとグループ制約生成器２３０が決定すると、グループ制約生成器２３０は、ブロック５９８において、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。
【００６５】
[0076]たとえば、ブロック５９８中で、グループ制約生成器２３０は、Ｇ１＝ＧｒｐＡ、およびＧ２＝ＧｒｐＢ｜｜ＧｒｐＣと決定し得る。
【００６６】
[0077]グループ制約Ｇ１およびＧ２の論理演算に基づいて、グループ制約生成器２３０は、それによって、フィーチャ５０６のグループ制約Ｇ１がフィーチャ５１６のグループ制約Ｇ１と競合すると決定し、フィーチャ５０７のグループ制約Ｇ２がフィーチャ５１７のグループ制約Ｇ２と競合すると決定し得る。グループ制約生成器２３０は、次いで、セル５６６または５６７のいずれかのグループ制約を再構成し得る。一態様では、グループ制約生成器２３０は、セル５６７内の別のフィーチャのグループと１つのフィーチャのグループをスワップし得る。たとえば、グループ制約生成器２３０は、フィーチャ５１６がグループ制約Ｇ２を有するように構成され、フィーチャ５１７がグループ制約Ｇ１を有するように構成されるように、フィーチャ５１６および５１７のグループ制約をスワップし得る。
【００６７】
[0078]グループ制約生成器２３０は、次いで、当接セル５６６と当接セル５６７との間でグループ制約競合が解決されたと決定し得、当接セル５６７である別のセルなどの他の当接セルを分析することに進み得、当接セル間のあらゆるグループ制約競合を解決するためにこの他のセルのグループ制約を再構成し得る。
【００６８】
[0079]図６は、マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定する方法６００の一例を概念的に示すフローチャートである。図２を参照すると、一動作態様では、装置２００は方法６００の様々な態様を実行し得る。説明を簡単にするために、方法を一連の行為として図示し説明するが、いくつかの行為は、１つまたは複数の態様によれば、本明細書で図示し説明する順序とは異なる順序で、および／または他の行為と同時に行われ得るので、方法（およびそれに関係するさらなる方法）は行為の順序によって限定されないことを理解し、諒解されたい。たとえば、方法は、状態図など、一連の相互に関係する状態またはイベントとして代替的に表現され得ることを諒解されたい。その上、本明細書で説明する１つまたは複数の特徴による方法を実装するために、図示のすべての行為が必要とされるとは限らない。その上、以下のアクションまたは機能は、特別にプログラムされたプロセッサ、特別にプログラムされたソフトウェアまたはコンピュータ可読媒体を実行するプロセッサによって、あるいは説明するアクションまたは機能を実行することが可能なハードウェア構成要素および／またはソフトウェア構成要素の任意の他の組合せによって実行され得ることを理解されたい。
【００６９】
[0080]一態様では、ブロック６０１において、レイアウト内のフィーチャが決定され得る。レイアウトは、当接方法をサポートし得、セル、標準セル、プログラマブルセル、レイアウトテンプレート、レイアウトファブリックなどのうちの少なくとも１つを含み得る。一構成では、フィーチャアナライザ２２０は、セルライブラリ２１１からセルを取り出し、どんなフィーチャがセル中にあるのかを決定し得る。
【００７０】
[0081]ブロック６０２において、フィーチャの各々のための距離制約が決定され得る。たとえば、一態様では、フィーチャアナライザ２２０は、セル中のフィーチャの各々の間の距離制約を決定し得る。詳細には、フィーチャアナライザ２２０は、フィーチャの各々の間の間隔距離を決定し、間隔距離がしきい値間隔距離よりも小さいのかどうかを決定し得る。
【００７１】
[0082]ブロック６０３において、フィーチャのためのグループ制約が距離制約に基づいて決定され得る。たとえば、一態様では、グループ制約生成器２３０は、決定された距離制約に基づいてフィーチャのためのグループ制約を決定し得る。グループ制約は、フィーチャの各々に割当て可能なグループに対する制限を定義し得る。一構成では、グループ制約は、さらに、以前に割り当てられたグループ制約に基づいて決定され、それによって、セル内の他のフィーチャに１つのフィーチャのグループ制約の論理演算を伝搬し得る。たとえば、グループ制約生成器２３０は、フィーチャの各々のための距離制約の数を決定し、最多数のまたは最大数の距離制約をもつフィーチャのうちの第１のフィーチャにグループ制約を割り当て得る。一構成では、グループ制約生成器２３０は、フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいてフィーチャのうちのｎ番目のフィーチャのためのグループ制約を割り当て得る。グループ制約生成器２３０は、たとえば、ブール代数を使用する論理演算として各フィーチャのためのグループ制約をコーディングし得る。式は、フィーチャの各々に割当て可能なグループに対する制限を論理的に定義し得る。
【００７２】
[0083]ブロック６０４において、決定されたグループ制約がフィーチャに割り当てられ得る。一例では、フィーチャにグループコンストレインを割り当てることは、データベース内のフィーチャに関連して決定されたグループ制約を記憶することを含む。たとえば、グループ制約生成器２３０が、セル内のすべてのフィーチャのためのグループ制約を決定し、それぞれのフィーチャにそれぞれのグループ制約をコーディングすると、グループ制約生成器２３０は、コード化セルライブラリ２１２中に（割り当てられたグループ制約をもつ）コード化フィーチャを有する今コーディングしたセルを記憶し得る。
【００７３】
[0084]図７は、マルチパターニングリソグラフィプロセス中の当接セル中のフィーチャのグループ制約を決定する方法７００の一例を概念的に示すフローチャートである。図２を参照すると、一動作態様では、装置２００は方法７００の様々な態様を実行し得る。
【００７４】
[0085]一態様では、ブロック７０１において、複数の当接セルをもつＩＣレイアウトが受信され得る。たとえば、一構成では、グループ制約生成器２３０は、コード化セルライブラリ２１２から複数の当接コード化セルをもつＩＣレイアウトを取り出し得る。別の構成では、グループ制約生成器２３０は、セルライブラリ２１１から複数の当接非コード化セルをもつＩＣレイアウトテンプレートを取り出し、次いで、レイアウトテンプレート中のセルの各々がそれぞれのコード化セルと置き換えられるように、コード化セルライブラリ２１２からのコード化セルでレイアウトテンプレートをポピュレートし得る。
【００７５】
[0086]一態様では、ブロック７０２において、当接セルのフィーチャ間の任意の距離制約が決定され得る。たとえば、フィーチャアナライザ２２０は、第２のセルの第２のセルフィーチャが当接する第１のセルの第１のセルフィーチャとの距離制約を有すると決定し得る。一構成では、図５Ｂを参照すると、フィーチャアナライザ２２０は、当接セル５５１および５５２のフィーチャ５０２とフィーチャ５１１との間の距離ｄ６がしきい値間隔距離よりも小さいと決定し、フィーチャ５０４とフィーチャ５２４との間の距離ｄ７がしきい値間隔距離よりも小さいと決定し得る。
【００７６】
[0087]一態様では、ブロック７０３において、当接セルのフィーチャ間の任意のグループ制約競合が決定され得る。たとえば、グループ制約生成器２３０は、第２のセルのグループ制約が当接する第１のセルのグループ制約と競合するのかどうかを決定し得る。一構成では、図５Ｄを参照すると、グループ制約生成器２３０は、距離制約に基づいて、セル５６６とセル５６７との間に、より詳細には、フィーチャ５０６と５１６との間およびフィーチャ５０７とフィーチャ５１７との間に任意のグループ制約競合があるのかどうかを決定し得る。たとえば、グループ制約Ｇ１およびＧ２の論理演算に基づいて、グループ制約生成器２３０は、フィーチャ５０６のグループ制約Ｇ１がフィーチャ５１６のグループ制約Ｇ１と競合すると決定し、フィーチャ５０７のグループ制約Ｇ２がフィーチャ５１７のグループ制約Ｇ２と競合すると決定し得る。
【００７７】
[0088]一態様では、ブロック７０４において、グループ制約競合は、当接セルのうちの１つまたは場合によっては当接セルの両方のグループ制約を構成することによって解決され得る。たとえば、グループ制約生成器２３０は、競合を解決するためにセルのうちの１つのグループ制約のうちの１つまたは複数を構成し得る。一構成では、図５Ｄを参照すると、グループ制約生成器２３０は、セル５６６またはセル５６７のいずれかのグループ制約を再構成し得る。たとえば、グループ制約生成器２３０は、フィーチャ５１６がグループ制約Ｇ２を有するように構成され、フィーチャ５１７がグループ制約Ｇ１を有するように構成されるように、フィーチャ５１６および５１７のグループ制約をスワップすることによって、セル５６７のみのグループ制約を構成し得る。グループ制約生成器２３０は、このようにして、ＩＣレイアウト中のあらゆる当接セル間の任意のグループ競合を解決し得る。
【００７８】
[0089]一態様では、ブロック７０５において、任意の複数のグループフィーチャが決定され得る。たとえば、グループ制約生成器２３０は、ＩＣレイアウト中のフィーチャのうちのどれが、２つ以上のグループにフィーチャを割り当てることを可能にするコード化グループ制約を有する複数のグループフィーチャであるのかを決定し得る。たとえば、グループ制約生成器２３０は、グループ制約Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣを有するフィーチャがグループＢまたはグループＣのいずれかに割当て可能であるので、それらが複数のグループフィーチャであると決定し得る。
【００７９】
[0090]一態様では、ブロック７０６において、グループの間のフィーチャ分配のバランスが決定され得る。たとえば、グループ制約生成器２３０は、各グループに割り当てられたフィーチャの数ならびに各グループに割り当てられたフィーチャによって占有されるエリアを決定することによって複数のグループの間のフィーチャ分配のバランスを決定し得る。
【００８０】
[0091]一態様では、ブロック７０７において、フィーチャ分配がバランスをとれていないと決定された場合、グループバランス手順が実行され得る。たとえば、グループ制約生成器２３０は、それぞれのグループのフィーチャカウントおよびフィーチャエリアがグループの間でバランスをとれるように、最低のフィーチャカウントをもつグループおよび／または最小フィーチャエリアをもつグループに複数のグループフィーチャの各々を割り当て得る。
一態様では、ブロック７０８において、ＩＣレイアウトに対して色分解が実行され得る。たとえば、分解器２４０は、コード化セルライブラリ２１２からＩＣレイアウトを取り出すか、またはグループ制約生成器２３０からＩＣレイアウトを受信し、ＩＣレイアウトに対して分解アルゴリズムを実行し得る。分解アルゴリズムは、ＩＣレイアウト中のすべてのフィーチャに色が割り当てられるまで、グループ制約生成器２３０によってフィーチャの各々に割り当てられたグループ制約に基づいてＩＣレイアウトの無着色フィーチャに異なる色を割り当て得る。たとえば、図５Ａを参照すると、グループ制約は、Ｇ１＝ＧｒｐＡ、Ｇ２＝ＧｒｐＢ｜｜ＧｒｐＣ、Ｇ３＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０２）、Ｇ４＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０４）、Ｇ５＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５１３）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１３）、およびＧ６＝ＧｒｐＢ  ｘ！（Ｇ．Ｆ５１２）ｘ！（Ｇ．Ｆ５１４）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１２）ｘ！（Ｇ．Ｆ５１４）である。ＧｒｐＡが赤色であると仮定すると、ＧｒｐＢは黄色であり、ＧｒｐＣは緑色である。色分解中に、分解器２４０は、Ｇ１を赤に割り当て、Ｇ２を黄（ＧｒｐＢ｜｜ＧｒｐＣのＧｒｐＣを選択すること）に割り当て、Ｇ３を緑（ＧｒｐＢ  ｘ！（Ｇ．Ｆ５０２）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５０２）のＧｒｐＣ  ｘ！（Ｇ．Ｆ５０２）を選択すること）に割り当て、Ｇ４を黄（フィーチャ５０４へのＧｒｐＣ（ｙｅｌｌｏｗ）の前の割当てによりＧｒｐＢ  ｘ！（Ｇ．Ｆ５０４）を選択すること）に割り当て、Ｇ５を緑（ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１３）またはＧｒｐＢ  ｘ！（Ｇ．Ｆ５１３）｜｜ＧｒｐＣ  ｘ！（Ｇ．Ｆ５１３）を選択すること）に割り当て、Ｇ６を黄（フィーチャ５１２および５１４へのＧｒｐＣ（ｇｒｅｅｎ）の前の割当てによりＧｒｐＢ  ｘ！（Ｇ．Ｆ５１２）ｘ！（Ｇ．Ｆ５１４）を選択すること）に割り当て得る。
【００８１】
[0092]一態様では、ブロック７０９において、色分解に基づいて複数のマスクが生成され得る。たとえば、マスク生成器２５０は、複数のマスクを生成するために使用される設計ファイルを生成し、各マスクは、異なる色（たとえば、図５Ａに関する上記の例では、赤、黄、緑）に対応し得る。設計ファイルは、同じ色を有するフィーチャを同じマスクに書き込む形で、分解器２４０から受信された着色グラフィカルＩＣレイアウトに基づき得る。
【００８２】
[0093]図８は、マルチパターニングリソグラフィプロセスにおいて形成され得る様々なフィーチャの側面プロファイルを概念的に示す図８００である。ポリゲート相互接続８１０は、２０ｎｍプロセス技術などにおいて、金属相互接続であり得る。ただし、他のプロセス技術では、ポリゲート相互接続８１０は、完全にポリシリコンであり得るか、または金属最上層をもつポリシリコンであり得る。ＭＰ層相互接続８０８は、ポリゲート相互接続８１０に接触し得る。第１のＭＤ１層相互接続８０４は、（酸化物拡散（ＯＤ：ｏｘｉｄｅ  ｄｉｆｆｕｓｉｏｎ）とも呼ばれる）ドレイン８０２の上にあり得、第２のＭＤ２層相互接続８０６は、第１のＭＤ１層相互接続８０４の上にあり得る。第１のＭＤ層８０４および第２のＭＤ層８０６を、本明細書では、ただ１つのＭＤ層と呼ぶことがある。ＭＤ層は、ドレインに直接接続し得る。ポリゲート相互接続８１０とＭＤ１層相互接続８０４とは、同じ層上にある。ＭＰ層相互接続８０８とＭＤ２層相互接続８０６とは、同じ層上にある。ビア８１２は、ＭＤ２層相互接続８０６に接触し得る。金属１（Ｍ１）層相互接続８１４は、ビア８１２に接触し得る。
【００８３】
[0094]例示的な方法および装置は、マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てる。上記で説明したように、フィーチャは、金属相互接続、パワーレール、ポリゲート相互接続、ビア、ＭＰ相互接続、またはＭＤ相互接続のうちの少なくとも１つを表し得る。例示的な方法および装置においてグループ制約が適用されるフィーチャは、同じ層上にあり得る。したがって、例示的な装置（および方法）は、フィーチャおよび距離制約を決定し得、同じ層上にあるフィーチャにグループ制約を割り当て得、層のうちの１つまたは複数に対してそのようなプロセスを実行し得る。たとえば、例示的な装置（および方法）は、フィーチャおよび距離制約を決定し得、同じ層上の１つまたは複数のポリゲート相互接続８１０と１つまたは複数のＭＤ１層相互接続８０４とにグループ制約を割り当て得る。別の例では、例示的な装置（および方法）は、フィーチャおよび距離制約を決定し得、同じ層上の１つまたは複数のＭＰ層相互接続８０８と１つまたは複数のＭＤ２層相互接続８０６とにグループ制約を割り当て得る。別の例では、例示的な装置（および方法）は、フィーチャおよび距離制約を決定し得、同じ層上の１つまたは複数のビア８１２にグループ制約を割り当て得る。さらなる例では、例示的な装置（および方法）は、フィーチャおよび距離制約を決定し得、同じ層上の１つまたはＭ１層相互接続８１４にグループ制約を割り当て得る。
【００８４】
[0095]図９は、マルチパターニングリソグラフィプロセス中のフィーチャのグループ制約を決定し、構成するために構成された処理システム９１４を採用する装置９００のためのハードウェア実装形態の一例を概念的に示す図である。装置９００は、図２の装置２００に対応し得る。この例では、処理システム９１４は、バス９０２によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス９０２は、処理システム９１４の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス９０２は、プロセッサ９０４によって概略的に表される１つまたは複数のプロセッサと、コンピュータ可読媒体／メモリ９０６によって概略的に表されるコンピュータ可読媒体とを含む様々な回路を互いにリンクし得る。バス９０２はまた、フィーチャアナライザ２２０と、グループ制約生成器２３０と、分解器２４０と、マスク生成器２５０とをプロセッサ９０４に、およびデータベース２１０を含み得るコンピュータ可読媒体／メモリ９０６にリンクし得る。バス９０２はまた、タイミングソース、周辺機器、電圧調整器、および電力管理回路など、様々な他の回路をリンクし得るが、これらの回路は当技術分野においてよく知られており、したがって、これ以上説明しない。バスインターフェース９０８は、バス９０２とトランシーバ９１０との間のインターフェースを与え得る。トランシーバ９１０は、伝送媒体を介して様々な他の装置と通信するための手段を与え得る。ユーザインターフェース９１２（たとえば、キーパッド、ディスプレイ、スピーカー、マイクロフォン、ジョイスティック）をも与えられ得る。
【００８５】
[0096]プロセッサ９０４は、バス９０２の管理、およびコンピュータ可読媒体９０６上に記憶されたソフトウェアの実行を含む全般的な処理を担う。ソフトウェアは、プロセッサ９０４によって実行されたとき、処理システム９１４に、特定の装置のための以下で説明する様々な機能を実行させる。コンピュータ可読媒体９０６はまた、ソフトウェアを実行するときにプロセッサ９０４によって操作されるデータを記憶するために使用され得る。
【００８６】
[0097]一態様では、フィーチャアナライザ２２０、グループ制約生成器２３０、分解器２４０、およびマスク生成器２５０は、ソフトウェアまたはコンピュータ可読媒体に記憶されたコンピュータ実行可能コードによって実装され、プロセッサ９０４上で、および／またはプロセッサ９０４内のプロセッサモジュールによって実行され得る。フィーチャアナライザ２２０、グループ制約生成器２３０、分解器２４０、およびマスク生成器２５０はそれぞれ、本明細書で説明したように、たとえば、特に、各々が、たとえば、図２に関して説明したように実行し得る一連のステップに関する様々な機能を実行し得る。
【００８７】
[0098]一構成では、装置（たとえば、処理システム９１４の構成要素のうちの１つまたは複数）は、回路レイアウト内のフィーチャを決定するための手段を含み得る。本装置は、さらに、フィーチャのうちの少なくとも１つのための距離制約を決定するための手段を含み得る。本装置は、さらに、距離制約に基づいてフィーチャのためのグループ制約を決定するための手段を含み得る。グループ制約は、フィーチャの各々に割当て可能なグループに対する制限を定義する。本装置は、さらに、フィーチャにグループ制約を割り当てるための手段を含み得る。一構成では、距離制約を決定するための手段は、回路レイアウト内の隣接するフィーチャ間の間隔距離を決定するように構成される。一構成では、距離制約を決定するための手段は、フィーチャのうちの少なくとも２つの間の間隔距離がしきい値間隔距離よりも短いのかどうかに基づいて距離制約を決定するように構成される。一構成では、グループ制約を決定するための手段は、フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、最大数の距離制約をもつフィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、第１のフィーチャに割り当てられた第１のグループ制約に基づいてフィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることとを行うように構成される。一構成では、フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てるための手段は、フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいてフィーチャのうちのｎ番目のフィーチャのためのグループ制約を割り当てるように構成される。一構成では、グループ制約を決定するための手段は、フィーチャのうちの少なくとも１つについて、フィーチャのうちの前記少なくとも１つに割当て可能なグループに対する制限を論理的に定義する式を決定するように構成される。
【００８８】
[0099]同じまたは別の構成では、本装置は、複数の当接セルを含む集積回路レイアウトを受信するための手段を含み得る。本装置は、さらに、複数の当接セルのうちの第１のセルのグループ制約が複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定するための手段を含み得る。第１のセルは、第２のセルに当接する。本装置は、さらに、第２のセルのグループ制約に基づいて、および第２のセルのグループ制約と競合する第１のセルのグループ制約に基づいて、第１のセルのグループ制約のサブセットを構成するための手段を含み得る。一構成では、第１のセルのグループ制約が第２のセルのグループ制約と競合するのかどうかを決定するための手段は、第１のセルの第１のセルフィーチャが、第２のセルの第２のセルフィーチャとの距離制約を有すると決定することと、第１のセルフィーチャのグループ制約が、第２のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有すると決定することとを行うように構成される。一構成では、第２のセルのグループ制約に基づいて第１のセルのグループ制約のサブセットを構成するための手段は、第１のセルのグループ制約と第２のセルのグループ制約との間の競合を解決するために第１のセルのグループ制約を変更するように構成される。一構成では、第２のセルのグループ制約に基づいて第１のセルのグループ制約のサブセットを構成するための手段は、１つのグループを第１のセルのグループ制約内の別のグループとスワップするように構成される。一構成では、第２のセルのグループ制約に基づいて第１のセルのグループ制約のサブセットを構成するための手段は、第１のセル内の第２のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって第１のセルのグループ制約を狭くするように構成される。一構成では、本装置は、さらに、構成されたグループ制約に基づいてフィーチャの第２のサブセットの各フィーチャに、集積回路レイアウトを処理するための、複数のマスクセットのうちのマスクセットを割り当てるための手段を含み得る。一構成では、本装置は、さらに、複数のマスクセットにわたってフィーチャのバランスをとることに基づいてフィーチャの第１のサブセットの各フィーチャにマスクセットを割り当てるための手段を含み得る。一構成では、フィーチャのバランスをとるために、割り当てるための手段は、フィーチャのグループ制約に基づいて集積回路レイアウト中のフィーチャのうちのどれが複数のグループに割り当てられる複数のグループフィーチャであるのかを決定することと、複数のマスクセットにわたってフィーチャのバランスをとる形で最低フィーチャカウントおよび最小フィーチャエリアのうちの少なくとも１つをもつ複数のグループのうちのグループに複数のグループフィーチャの各々を割り当てることとを行うように構成される。
【００８９】
[00100]上記で説明したように、本明細書では、マルチパターニングリソグラフィプロセス中のＩＣレイアウト内のフィーチャのグループ制約を決定するための装置を提供する。概して、レイアウト内のフィーチャ、セル内のフィーチャ、または当接セル間のフィーチャなどが距離制約を含む場合、本装置は、任意のグループ制約競合が解決されるまで、フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいてフィーチャのうちのｎ番目のフィーチャのためのグループ制約を（たとえば、論理ブール代数を使用して）決定し得る。本装置は、次いで、各グループに割り当てられたフィーチャの数ならびに各グループに割り当てられたフィーチャによって占有されるエリアを考慮に入れることによって複数のグループの間のフィーチャ分配のバランスをとり得る。グループ制約を決定し、このようにしてグループの間でフィーチャのバランスをとることは、ＩＣレイアウトを分解するとき、色分解の非収束を防止するとき、色分解ランタイムを短縮するとき、ならびに色バランスおよび色競合などの他の問題を回避するときに実行可能で解決可能な色ソリューションを保証する。
【００９０】
[00101]いくつかのプロセッサについて様々な装置および方法に関して説明した。これらのプロセッサは、電子ハードウェア、コンピュータソフトウェア、またはそれらの任意の組合せを使用して実装され得る。そのようなプロセッサがハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例およびシステムに課される全体的な設計制約に依存することになる。例として、本開示で提示されたプロセッサ、プロセッサの任意の部分、またはプロセッサの任意の組合せは、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、状態機械、ゲート論理、ディスクリートハードウェア回路、および本開示全体にわたって説明した様々な機能を実行するように構成された他の好適な処理構成要素を用いて実装され得る。本開示で提示されたプロセッサ、プロセッサの任意の部分、またはプロセッサの任意の組合せの機能は、マイクロプロセッサ、マイクロコントローラ、ＤＳＰ、または他の好適なプラットフォームによって実行されるソフトウェアを用いて実装され得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数などを意味すると広く解釈されたい。ソフトウェアはコンピュータ可読媒体上に存在し得る。コンピュータ可読媒体は、例として、磁気ストレージデバイス（たとえば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ）、光ディスク（たとえば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ））、スマートカード、フラッシュメモリデバイス（たとえば、カード、スティック、キードライブ）、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ（登録商標））、レジスタ、またはリムーバブルディスクなどのメモリを含み得る。本開示全体にわたって提示される様々な実施形態において、メモリがプロセッサとは別個に示されているが、メモリは、プロセッサ（たとえば、キャッシュまたはレジスタ）の内部にあり得る。コンピュータ可読媒体は、ソフトウェアを記憶または送信するための、搬送波、伝送線路、または他の好適な媒体をも含み得る。コンピュータ可読媒体はコンピュータプログラム製品において実施され得る。例として、コンピュータプログラム製品はパッケージング材料中にコンピュータ可読媒体を含み得る。特定の適用例および全体的なシステムに課される全体的な設計制約に応じて、本開示全体にわたって提示される記載の機能をどのようにしたら最も良く実装することができるかを、当業者は認識されよう。
【００９１】
[00102]開示した方法におけるステップの特定の順序または階層は、例示的なプロセスの一例であることを理解されたい。設計上の選択に基づいて、本方法におけるステップの特定の順序または階層は並べ替えられ得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示しており、方法クレーム中で特に具陳されていない限り、提示された特定の順序または階層に限定されるものではない。
【００９２】
[00103]以上の説明は、当業者が本明細書で説明した様々な態様を実施できるようにするために提供したものである。これらの態様に対する様々な変更は当業者には容易に明らかになり、本明細書において規定された一般原理は他の態様にも適用され得る。したがって、特許請求の範囲は、本明細書で示された態様に限定されるものではなく、特許請求の範囲の言い回しに矛盾しない全範囲を与えられるべきであり、ここにおいて、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「１つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という語は「１つまたは複数の」を表す。項目のリスト「のうちの少なくとも１つ」を指す句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂまたはｃのうちの少なくとも１つ」は、ａと、ｂと、ｃと、ａおよびｂと、ａおよびｃと、ｂおよびｃと、ａ、ｂおよびｃとを包含するように意図されている。当業者に知られている、または後に知られるようになる、本開示全体にわたって説明する様々な態様の要素の構造的および機能的な均等物のすべてが、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるように意図されている。その上、本明細書で開示するいかなることも、そのような開示が特許請求の範囲に明示的に具陳されているかどうかにかかわらず、公に供するものではない。いかなるクレーム要素も、その要素が「ための手段」という句を使用して明確に具陳されていない限り、または方法クレームの場合には、その要素が「ためのステップ」という句を使用して具陳されていない限り、米国特許法第１１２条第６項の規定の下で解釈されるべきではない。
【図１】
2018527616.tif 000003
【図２】
2018527616.tif 000004
【図３】
2018527616.tif 000005
【図４】
2018527616.tif 000006
【図５Ａ】
2018527616.tif 000007
【図５Ｂ】
2018527616.tif 000008
【図５Ｃ】
2018527616.tif 000009
【図５Ｄ】
2018527616.tif 000010
【図６】
2018527616.tif 000011
【図７】
2018527616.tif 000012
【図８】
2018527616.tif 000013
【図９】
2018527616.tif 000014
【手続補正書】
【提出日】平成30年2月19日(2018.2.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てる方法であって、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
コンピュータを使用して、前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を論理的に定義する式を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を備える、方法。
【請求項２】
前記距離制約を決定することが、前記回路レイアウト内の隣接するフィーチャ間の間隔距離を決定することを備える、請求項１に記載の方法。
【請求項３】
前記距離制約を決定することは、前記フィーチャのうちの少なくとも２つの間の前記間隔距離がしきい値間隔距離よりも短いのかどうかに基づいて前記距離制約を決定することを備える、請求項２に記載の方法。
【請求項４】
前記フィーチャが、前記回路レイアウトの同じレイヤ中にある、請求項１に記載の方法。
【請求項５】
前記グループの各グループが異なる色であり、各色が異なるマスクセットに対応する、請求項１に記載の方法。
【請求項６】
前記グループ制約を前記決定することが、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を含む、請求項１に記載の方法。
【請求項７】
前記フィーチャのうちの前記残りのフィーチャに追加のグループ制約を前記割り当てることが、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を備える、請求項６に記載の方法。
【請求項８】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てるための装置であって、
メモリと、
前記メモリに結合され、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を論理的に定義する式を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を行うように構成された少なくとも１つのプロセッサと
を備える、装置。
【請求項９】
前記少なくとも１つのプロセッサが、前記グループ制約を決定するとき、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を行うようにさらに構成された、請求項８に記載の装置。
【請求項１０】
前記少なくとも１つのプロセッサが、前記残りのフィーチャに前記追加のグループ制約を割り当てるとき、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を行うように構成された、請求項９に記載の装置。
【請求項１１】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てるための装置であって、
前記回路レイアウト内のフィーチャを決定するための手段と、
前記フィーチャのうちの少なくとも１つのための距離制約を決定するための手段と、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定するための手段と、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を論理的に定義する式を定義する、
前記フィーチャに前記グループ制約を割り当てるための手段と
を備える、装置。
【請求項１２】
前記距離制約を前記決定するための手段が、前記回路レイアウト内の隣接するフィーチャ間の間隔距離を決定することを備える、請求項１１に記載の装置。
【請求項１３】
前記距離制約を前記決定するための手段は、前記フィーチャのうちの少なくとも２つの間の前記間隔距離がしきい値間隔距離よりも短いのかどうかに基づいて前記距離制約を決定するための手段をさらに備える、請求項１２に記載の装置。
【請求項１４】
前記フィーチャが、前記回路レイアウトの同じレイヤ中にある、請求項１１に記載の装置。
【請求項１５】
前記グループの各グループが異なる色である、各色が異なるマスクセットに対応する、請求項１１に記載の装置。
【請求項１６】
前記グループ制約を前記決定するための手段が、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定するための手段と、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てるための手段と、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てるための手段と
を含む、請求項１１に記載の装置。
【請求項１７】
前記フィーチャのうちの前記残りのフィーチャに追加のグループ制約を前記割り当てるための手段が、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てるための手段
を備える、請求項１６に記載の装置。
【請求項１８】
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てるためのコンピュータ実行可能コードを記憶するための非一時的コンピュータ可読媒体であって、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を論理的に定義する式を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を行うためのコードを備える、非一時的コンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
[00103]以上の説明は、当業者が本明細書で説明した様々な態様を実施できるようにするために提供したものである。これらの態様に対する様々な変更は当業者には容易に明らかになり、本明細書において規定された一般原理は他の態様にも適用され得る。したがって、特許請求の範囲は、本明細書で示された態様に限定されるものではなく、特許請求の範囲の言い回しに矛盾しない全範囲を与えられるべきであり、ここにおいて、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「１つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という語は「１つまたは複数の」を表す。項目のリスト「のうちの少なくとも１つ」を指す句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「ａ、ｂまたはｃのうちの少なくとも１つ」は、ａと、ｂと、ｃと、ａおよびｂと、ａおよびｃと、ｂおよびｃと、ａ、ｂおよびｃとを包含するように意図されている。当業者に知られている、または後に知られるようになる、本開示全体にわたって説明する様々な態様の要素の構造的および機能的な均等物のすべてが、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるように意図されている。その上、本明細書で開示するいかなることも、そのような開示が特許請求の範囲に明示的に具陳されているかどうかにかかわらず、公に供するものではない。いかなるクレーム要素も、その要素が「ための手段」という句を使用して明確に具陳されていない限り、または方法クレームの場合には、その要素が「ためのステップ」という句を使用して具陳されていない限り、米国特許法第１１２条第６項の規定の下で解釈されるべきではない。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てる方法であって、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を備える、方法。
［Ｃ２］
前記距離制約を決定することが、前記回路レイアウト内の隣接するフィーチャ間の間隔距離を決定することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記距離制約を決定することは、前記フィーチャのうちの少なくとも２つの間の前記間隔距離がしきい値間隔距離よりも短いのかどうかに基づいて前記距離制約を決定することを備える、Ｃ２に記載の方法。
［Ｃ４］
前記フィーチャが、前記回路レイアウトの同じレイヤ中にある、Ｃ１に記載の方法。
［Ｃ５］
前記グループの各グループが異なる色である、各色が異なるマスクセットに対応する、Ｃ１に記載の方法。
［Ｃ６］
前記グループ制約を前記決定することが、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を含む、Ｃ１に記載の方法。
［Ｃ７］
前記フィーチャのうちの前記残りのフィーチャに追加のグループ制約を前記割り当てることが、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を備える、Ｃ６に記載の方法。
［Ｃ８］
前記グループ制約を前記決定することが、
前記フィーチャのうちの少なくとも１つについて、前記フィーチャのうちの前記少なくとも１つに割当て可能なグループに対する制限を論理的に定義する式を決定すること
を含む、Ｃ１に記載の方法。
［Ｃ９］
マルチパターニングプロセスのための回路レイアウト中のフィーチャにグループ制約を割り当てるための装置であって、
メモリと、
前記メモリに結合され、
前記回路レイアウト内のフィーチャを決定することと、
前記フィーチャのうちの少なくとも１つのための距離制約を決定することと、
前記距離制約に基づいて前記フィーチャのためのグループ制約を決定することと、前記グループ制約が、前記フィーチャの各々に割当て可能なグループに対する制限を定義する、
前記フィーチャに前記グループ制約を割り当てることと
を行うように構成された少なくとも１つのプロセッサと
を備える、装置。
［Ｃ１０］
前記少なくとも１つのプロセッサが、前記グループ制約を決定するとき、
前記フィーチャのうちの少なくとも１つのための距離制約の数を決定することと、
最大数の距離制約をもつ前記フィーチャのうちの第１のフィーチャに第１のグループ制約を割り当てることと、
前記第１のフィーチャに割り当てられた前記第１のグループ制約に基づいて前記フィーチャのうちの残りのフィーチャに追加のグループ制約を割り当てることと
を行うようにさらに構成された、Ｃ９に記載の装置。
［Ｃ１１］
前記少なくとも１つのプロセッサが、前記残りのフィーチャに前記追加のグループ制約を割り当てるとき、
前記フィーチャのうちの第１のフィーチャ〜（ｎ−１）番目のフィーチャのための以前に割り当てられたグループ制約に基づいて前記フィーチャのうちのｎ番目のフィーチャのための前記グループ制約を割り当てること
を行うように構成された、Ｃ１０に記載の装置。
［Ｃ１２］
前記少なくとも１つのプロセッサが、前記グループ制約を決定するとき、
前記フィーチャのうちの少なくとも１つについて、前記フィーチャのうちの前記少なくとも１つに割当て可能なグループに対する制限を論理的に定義する式を決定すること
を行うようにさらに構成された、Ｃ９に記載の装置。
［Ｃ１３］
マルチパターニングプロセスのためのセルのフィーチャのグループ制約を構成する方法であって、
複数の当接セルを含む集積回路レイアウトを受信することと、
前記複数の当接セルのうちの第１のセルのグループ制約が前記複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定することと、前記第１のセルが、前記第２のセルに当接する、
前記第２のセルの前記グループ制約に基づいて、および前記第２のセルの前記グループ制約と競合する前記第１のセルの前記グループ制約に基づいて、前記第１のセルの前記グループ制約のサブセットを構成することと
を備える、方法。
［Ｃ１４］
前記第１のセルのグループ制約が前記第２のセルのグループ制約と競合するのかどうかを前記決定することが、
前記第１のセルの第１のセルフィーチャが、前記第２のセルの第２のセルフィーチャとの距離制約を有すると決定することと、
前記第１のセルフィーチャのグループ制約が、前記第２のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有すると決定することと
を備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセルの前記グループ制約と前記第２のセルの前記グループ制約との間の前記競合を解決するために前記第１のセルの前記グループ制約を変更すること
を備える、Ｃ１４に記載の方法。
［Ｃ１６］
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
１つのグループを前記第１のセルの前記グループ制約内の別のグループとスワップすること
を備える、Ｃ１４に記載の方法。
［Ｃ１７］
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセル内の第２のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって前記第１のセルの前記グループ制約を狭くすること
を備える、Ｃ１４に記載の方法。
［Ｃ１８］
前記構成されたグループ制約に基づいて前記フィーチャの第２のサブセットの各フィーチャに、前記集積回路レイアウトを処理するための、複数のマスクセットのうちのマスクセットを割り当てることをさらに備える、Ｃ１４に記載の方法。
［Ｃ１９］
前記複数のマスクセットにわたって前記フィーチャのバランスをとることに基づいて前記フィーチャの第１のサブセットの各フィーチャにマスクセットを割り当てることをさらに備える、Ｃ１８に記載の方法。
［Ｃ２０］
前記フィーチャの前記バランスをとることが、
前記フィーチャの前記グループ制約に基づいて前記集積回路レイアウト中の前記フィーチャのうちのどれが複数のグループに割り当てられる複数のグループフィーチャであるのかを決定することと、
前記複数のマスクセットにわたって前記フィーチャのバランスをとる形で最低フィーチャカウントおよび最小フィーチャエリアのうちの少なくとも１つをもつ前記複数のグループのうちのグループに前記複数のグループフィーチャの各々を割り当てることと
を含む、Ｃ１９に記載の方法。
［Ｃ２１］
マルチパターニングプロセスのためのセルのフィーチャのグループ制約を構成するための装置であって、
メモリと、
前記メモリに結合され、
複数の当接セルを含む集積回路レイアウトを受信することと、
前記複数の当接セルのうちの第１のセルのグループ制約が前記複数の当接セルのうちの第２のセルのグループ制約と競合するのかどうかを決定することと、前記第１のセルが、前記第２のセルに当接する、
前記第２のセルの前記グループ制約に基づいて、および前記第２のセルの前記グループ制約と競合する前記第１のセルの前記グループ制約に基づいて、前記第１のセルの前記グループ制約のサブセットを構成することと
を行うように構成された少なくとも１つのプロセッサと
を備える、装置。
［Ｃ２２］
前記少なくとも１つのプロセッサは、前記第１のセルのグループ制約が前記第２のセルのグループ制約と競合するのかどうかを決定するとき、
前記第１のセルの第１のセルフィーチャが、前記第２のセルの第２のセルフィーチャとの距離制約を有すると決定することと、
前記第１のセルフィーチャのグループ制約が、前記第２のセルフィーチャのグループ制約と共通の少なくとも１つのグループを有すると決定することと
を行うようにさらに構成された、Ｃ２１に記載の装置。
［Ｃ２３］
前記少なくとも１つのプロセッサは、前記第２のセルのグループ制約に基づいて前記第１のセルの前記グループ制約を構成するとき、
前記第１のセルの前記グループ制約と前記第２のセルの前記グループ制約との間の前記競合を解決するために前記第１のセルの前記グループ制約を変更すること
を行うようにさらに構成された、Ｃ２１に記載の装置。
［Ｃ２４］
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
１つのグループを前記第１のセルの前記グループ制約内の別のグループとスワップすること
を備える、Ｃ２１に記載の装置。
［Ｃ２５］
前記第２のセルの前記グループ制約に基づいて前記第１のセルの前記グループ制約の前記サブセットを前記構成することが、
前記第１のセル内の第２のフィーチャに割当て可能になることから少なくとも１つのグループを除去することによって前記第１のセルの前記グループ制約を狭くすること
を備える、Ｃ２１に記載の装置。
［Ｃ２６］
前記少なくとも１つのプロセッサは、前記構成されたグループ制約に基づいて前記フィーチャの第２のサブセットの各フィーチャに、前記集積回路レイアウトを処理するための、複数のマスクセットのうちのマスクセットを割り当てることを行うようにさらに構成された、Ｃ２１に記載の装置。
［Ｃ２７］
前記少なくとも１つのプロセッサは、前記複数のマスクセットにわたって前記フィーチャのバランスをとることに基づいて前記フィーチャの第１のサブセットの各フィーチャにマスクセットを割り当てることを行うようにさらに構成された、Ｃ２６に記載の装置。
［Ｃ２８］
前記少なくとも１つのプロセッサが、
前記フィーチャの前記グループ制約に基づいて前記集積回路レイアウト中の前記フィーチャのうちのどれが複数のグループに割り当てられる複数のグループフィーチャであるのかを決定することと、
前記複数のマスクセットにわたって前記フィーチャのバランスをとる形で最低フィーチャカウントおよび最小フィーチャエリアのうちの少なくとも１つをもつ前記複数のグループのうちのグループに前記複数のグループフィーチャの各々を割り当てることと
を行うようにさらに構成された、Ｃ２７に記載の装置。
【国際調査報告】
2018527616.tif 000015
2018527616.tif 000016