JP3603027B6 - エッジ・フラグメントのタグ付けを使用してエッジ配置歪みを補正するサブミクロンic設計のための改善された方法および装置 - Google Patents
エッジ・フラグメントのタグ付けを使用してエッジ配置歪みを補正するサブミクロンic設計のための改善された方法および装置 Download PDFInfo
- Publication number
- JP3603027B6 JP3603027B6 JP2000615855A JP2000615855A JP3603027B6 JP 3603027 B6 JP3603027 B6 JP 3603027B6 JP 2000615855 A JP2000615855 A JP 2000615855A JP 2000615855 A JP2000615855 A JP 2000615855A JP 3603027 B6 JP3603027 B6 JP 3603027B6
- Authority
- JP
- Japan
- Prior art keywords
- edge
- fragment
- fragments
- opc
- tag identifiers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【0001】
(発明の分野)
本発明は、集積回路(IC)設計の分野に関する。より詳細には、本発明は、ディープ・サブミクロンのICを設計する技術分野に関する。
【0002】
(発明の背景)
集積回路(IC)が出現して以来、回路部品は益々小型化されている。ICは、極めて小さいパッケージ中にパッケージされた数百万個の部品を含む。より小型の集積化という新しい世代毎に、より多くの機能、つまりより多くの価値をICから引き出すことができるが、高度に集積化されたこれらのICを確実に製造するには、極めて重要な設計的挑戦が必要である。
【0003】
様々なIC製造プロセスについては、当分野の技術者には周知のことであろう。例えば、殆どのICはシリコン・ウェハを有しており、トランジスタは、露光および化学処理を繰返し適用することによって、一度に1層ずつシリコン中に生成される。典型的なプロセスの単一繰返しは、通常、ウェハ上に酸化物層を成長させることから始まり、次に、「フォトレジスト」または「レジスト」と呼ばれる感光性材料層が上記酸化物に載せられる。光源が、レチクルを通してレジスト材上に画像を投射させるか、あるいは、コンタクト・マスク中の開口部を通して光を当てるかのいずれかによってレジスト領域を露光する。以下、「マスク」という用語を用いて、総称的にコンタクト・マスクすなわちレチクルを意味するものとする。
【0004】
化学処理によって、露光されたレジスト材がエッチングにより除去され、後にレイアウトが残される。あるいは、露光されたレジスト材が硬化され、露光されていないレジスト材がエッチングにより除去されて、後にレイアウトを残す。別の化学処理によって、レイアウトがレジスト材から酸化物層へ移され、その下にあるシリコンを保護するための酸化物バリアが生成される。次に、保護されないシリコンが、電子拡散すなわち注入など任意の様々な方法で処理され、例えば、p型あるいはn型トランジスタ領域が生成される。
【0005】
酸化物の残りが除去され、次の層を開始するための新しい層が生成される。典型的なICの場合、トランジスタ、コンタクト・パッド、伝送パス等を生成するために、露光および化学処理を16回から24回繰り返さなけれなばらない。
【0006】
製造のための挑戦は、臨界寸法(IC設計における様々な領域の様々な種類の形状のエッジ間の最小距離)が、レジストを露光するために使用する光源の波長に近づくか、あるいは波長を下回る場合も生じる傾向がある。通常、ディープ・サブミクロンの範囲では、臨界寸法が光の波長に近いか、あるいは光の波長を下回り、光近接歪みおよび化学処理の変動を含むいくつかの要因のため、製造信頼性(歩留り率)が悪くなる。典型的な問題としては、局部パターン密度およびトポロジーによって決まる線端プルバックおよび線幅変化などがある。
【0007】
図1Aは、IC設計の1つの層に出現し得る、簡単な形状の例を示したものである。設計用マスクの白い領域は光を通過させることができ、斜線領域を露光されない状態として残す。図1Bは、ディープ・サブミクロンの臨界寸法(CD)を有するシリコンの設計結果を示したものである。レジストを適切に露光するための光が十分にマスクを通過していない箇所が多数存在し、形状を重複させている。ディープ・サブミクロンICでは、特定のポイントで形状が重複するかしないかは、形状間の距離には全く無関係である。例えば、間隙110Aおよび間隙120Aは、同一の幅CDを有している。しかし図1Bでは、対応する間隙110Bは重複していないが、対応する間隙120Bは重複している。マスク内における2つの間隙の幅が同一であっても、間隙120Bに近いエッジ付近ではエッジ強度勾配が変化し、そのためにレジストに到達する光の強度が弱くなり、化学処理を変動させている。図1Bに示すような近接歪みは、接続性の遮断や短絡による動作速度の低下、あるいは動作の全面的な阻止の原因になることがある。
【0008】
当分野の技術者は、一般的に、設計におけるエッジの相対近接による製造歪みを補償するための集積回路(IC)の設計変更を意味する光近接補正(optical proximity correction)、すなわちOPCという用語については周知のことであろう。しかし、本明細書において使用されているように、OPCは、エッジの相対近接に基づくだけではなく、レジスト・エッチングおよび酸化物エッチングなどの化学処理時にもたらされる歪みに基づく設計変更をも意味している。したがって、本明細書において使用されているように、OPCは、光学補正およびプロセス補正を意味し、かつ、露光から化学処理を通しての製造性を改善するためになされる設計変更を含んでいる。
【0009】
IC設計の複雑化に伴い、手作業によるOPC(試行錯誤を通して、手作業で補正値を入力する)は益々時間がかかり、費用有効性が益々小さくなっている。ソフトウェアのモデル化、すなわちシミュレーションは、本明細書においてモデルベースOPCと呼ばれている自動OPCの一形態の基本である。モデルベースOPCでは製造歪みを予測し、エッジ・フラグメント(edge fragment)に操作することによって設計段階で補償することができる。図2Aは、図1Aの設計に基づいて補償された設計を示したものである。
【0010】
モデルベースOPCは、極めて計算集中型である。エッジ毎に、すなわちエッジのフラグメント毎に、シミュレーションによってエッジ配置誤差が計算される。誤差を補償するために、エッジ配置誤差に基づいて試行的にエッジ・フラグメントを張り出させ、あるいは凹ませることができる。シミュレーションおよび調整は、エッジ配置誤差が許容範囲内になるまで、エッジ・フラグメント毎に数回繰り返さなければならない。図2Bは、補償されたマスクに基づくシリコンの設計を示したものである。
【0011】
他の自動手法は、本明細書においてルール・ベースOPCと呼ばれている手法である。ルール・ベース手法によれば、特定の形状が出現したときは、所定の修正が必ず導入される。例えば、直角凸毎に、コーナ・エッジ・フラグメントを所定距離だけ押し出すのに基本的に必要な「セリフ」を付加することができる。
【0012】
しかし、ルール・ベースOPCは、所定の変化を用いて特定の形状を変更することにより製造設計の品質が改善される、という仮定の上に成り立っている。この仮定は必ずしも真実ではない。例えば、図2Aにおいて、すべての直角凸エッジ・フラグメントが押し出されているわけではなく、また、押し出されている直角凸エッジ・フラグメントにおいても、すべて同一距離だけ押し出されているわけではない。
【0013】
図3Aは、光源の波長に近い、あるいは光源の波長未満の臨界寸法(CD)での製造において、しばしば歪みを生じる他の種類のIC設計形状を示したものである。密にパックされたエッジは、エッジの強度勾配を変化させ、そのためにエッジ配置が歪む。形状310Aは、密にパックされた領域から孤立した領域に延長している。図3Bは、結果を示したものである。形状310Bの、延びた部分に見られるような線幅の変化は、重大な問題を引き起こすことがある。
【0014】
Chenらに発行された米国特許第5,242,770号に考察されているように、レベリング・バーと呼ばれる補助形状を使用することによって線幅変化を小さくすることができる。図4は、1組のレベリング・バー410を示したものである。レベリング・バーの幅Wは、形状としての幅が狭すぎるため、レベリング・バーがレジスト中に再生されることはない。しかし、上記第‘770号特許によれば、歪みが生じる形状の両側に、所定の間隔Dだけ隔てられたレベリング・バーは、エッジ配置歪みを低減するはずである。その場合、ルール・ベース手法を用いて、形状310Aのような形状の両側の所定距離Dの位置にレベリング・バーを自動的に配置することができる。
【0015】
モデルベースOPCは、通常ルール・ベースOPCよりはるかに遅いが、極めて正確であり、優れた歩留り率をもたらしている。ルール・ベースOPCは、モデルベースOPCほどには計算集中型でないため、モデルベースOPCより速度が速い。その場合ルール・ベースOPCを使用するか、あるいはモデルベースOPCを使用するかは、速度と精度の兼ね合いの問題である。
【0016】
したがって、ルール・ベースOPCおよびモデルベースOPCを、効率的な方法で形状レベルで選択的に使用することができれば望ましいであろう。
【0017】
(発明の概要)
本発明は、サブミクロン集積回路を設計するための改善された方法および装置を提供する。集積回路(IC)設計にタグ識別名が与えられる。タグ識別名は、隣接する形状の近接によるエッジ配置歪みを有するIC設計において、エッジ・フラグメントの特性を定義したものである。タグ識別名によって定義された特性をエッジ・フラグメントが有する場合、そのエッジ・フラグメントにタグが付けられる。タグを有する各エッジ・フラグメントに任意の補助形状が導入される。タグを有するエッジ・フラグメントおよび対応する補助形状に対して、モデルベースのOPCが実行される。
【0018】
本発明の例を添付の図面に示すが、添付の図面は、本発明の範囲を制限するものではない。図面中の同一参照符号は、類似の構成要素を表している。
【0019】
(詳細な説明)
本発明を十分に理解するために、以下の詳細説明の中で多数の特定の詳細が説明されているが、本発明は、これらの特定の説明がなくても実施できること、示されている実施形態に制限されないこと、および様々な代替実施形態の中で実施できることについては、当分野の技術者には理解されよう。その他の実例では、良く知られている方法、手順、構成要素および回路については、詳細に記述されていない。
【0020】
説明されている部品は、当分野の技術者にその働きの本質を伝えるために、当分野の技術者に普通に使用されている用語を用いて表されている。また、説明されている部品は、プログラム命令の実行を通して実行されるオペレーションの観点から表されている。当分野の技術者には良く理解されるように、これらのオペレーションは、記憶、転送および結合することができ、あるいは、例えば電気部品を介して操作することができる電気信号、磁気信号あるいは光信号の形を取ることが多い。
【0021】
様々なオペレーションが、本発明の理解に役立つ形で順次実行される多重分散ステップとして記述されているが、記述されている順序を、その順序でこれらのオペレーションが必ず実行される、すなわち順序依存型であることを暗に含むものと解釈してはならない。最後に、繰り返し使用されている「一実施形態では」という語句は、同一の実施形態の場合もあるが、必ずしも同一の実施形態を指すものではない。
【0022】
本発明は、集積回路(IC)レイアウトを設計するための改善された方法および装置を提供する。レイアウトは、エッジ・フラグメントの多角形から構成されている。特定の特性を有するエッジ・フラグメントを識別し、タグ付けすることができる。例えば、線端を形成するエッジ・フラグメント、あるいは凸コーナを形成するエッジ・フラグメントなど、特に関心のある、すなわち懸念のあるすべてのエッジ・フラグメントにタグを付けることができる。いくつかの実施形態では、このタグ付けにより、タグを有するエッジ・フラグメントを様々な方法で制御することができる。例えば、ユーザは、タグを有するエッジ・フラグメントに様々な種類のOPCを適用することができる。あるいは、ICレイアウト内のどのエッジに特定タグを有するかを観察することができる。また、他のツールが利用できるように、タグを保管することもできる。
【0023】
本発明を使用することにより、通常のモデルベースOPCあるいはルール・ベースOPCに対して、特定の有利な性能を実現することができる。モデルベースOPCは高水準の精度を提供し、優れた歩留り率に貢献しているが、速度が遅くなりがちである。一方、ルール・ベースOPCは速度は速いが、精度に劣ることがしばしばである。本発明によれば、有利な性能を実現することができる。例えば、タグを有するエッジ・フラグメントのみにOPCを選択的に適用することにより、時間を著しく節約することが可能である。タグを有するエッジ・フラグメントの種類に応じて、また、各エッジ・フラグメントに適用されるOPCの種類に応じて、通常のモデルベースOPCと比較した場合の精度の低下を極めて小さくすることができ、あるいは同じ精度を維持することができる。他の実施形態では、線端エッジ・フラグメント用ハンマーヘッドモデルまたは密−孤立エッジ用補助形状モデルなど、タグが付けられる特定の種類のエッジ・フラグメントのための個別化モデルすなわち最適化モデルを利用することにより、速度および精度を改善することができる。さらに他の実施形態では、ルール・ベースとモデルベースを組み合わせた手法を用いることもできる。例えば、ルール・ベース手法をまず試行し、必要に応じてのみモデルベース手法を使用することができる。本発明のその他の利点およびアプリケーションについては、以下の特定実施形態の説明および例から理解されよう。
【0024】
図5は、本発明の一実施形態の環境を示したものである。電子設計自動化(EDA)ツール510は、タグ付け前置プロセッサ530およびタグ付けルーチン550を含んでいる。タグ付け前置プロセッサ530は、以下で考察するように、タグ付けに備えてICデータを均一化し、フラグメント化する。同じく以下で考察するように、タグ付けルーチン550は、フラグメント化されたICデータに対して、1つまたは複数のタグ付けスクリプト580を実行する。
【0025】
図6は、図5に示すEDAツール510によって実行されるプロセスの一実施形態の総合的な流れを示したものである。ステップ610で、EDAツール510は、ICデータ520を受け取る。ICデータ520は、GDSII(図形設計システムII)フォーマットを含むいくつかのフォーマットのうちのいずれかの形を取ることができる。図5に示すように、ICデータ520は、POLY1などの多角形を含んでいる。各多角形は、1組の二次元頂点によって決められる。各頂点対の間には、閉多角形を形成するための線分が含まれている。また、ICデータ520は、PATH1に示すような、多角形に対する様々な省略表現形式が含まれている。各パスは、1組の二次元頂点と幅Wとによって決まる。幅Wの多角形が各頂点対の間の線分に沿って含まれている。その他の省略表現形式は、例えば中心点と半径とによって決まる円等を含むことができる。
【0026】
図7にスキップすると、ここにIC設計データ520に持たせることができるいくつかの形状が示されている。図示されている実施形態の場合、ICデータ520は、単層形状である層0からなる。代替実施形態では、ICデータが多数の層を含むことができることは、当分野の技術者には認識されよう。省略表現形式を用いて、パス701から706、および/またはコンタクト・パッド720を区画することができる。
【0027】
図6に戻り、ステップ620で、タグ付け前置プロセッサ530はICデータ520を予備処理し、フラグメント化されたICデータ540が生成される。任意の数の技法を用いて予備処理ができるが、基本的には2つのステップが必要である。第1のステップは、すべての形状を閉多角形すなわちループに変換することによってデータを均一化するステップである。つまり、すべての省略表現形式が多角形表現形式に置換される。
【0028】
第2の予備処理ステップは、フラグメント化ステップである。フラグメント化には、エッジのより小さい部分、すなわちエッジ・フラグメントを生成するために、追加頂点を挿入することを含む。例えば、頂点は一般的に、頂点間の距離が最大エッジ・フラグメント長以下になるように追加される。また、特定の種類の頂点の近傍に頂点を追加することもできる。例えば、コーナ頂点の近傍に頂点を追加して、2つの短いエッジ・フラグメントでコーナを構成することができる。
【0029】
より多くの頂点を追加するほど、より正確なエッジ配置補正を実行することができるが、より多くのOPC計算を実行しなければならない。つまり、エッジ・フラグメントの細分性が増加すると、OPCの潜在的精度が向上する代わりに速度が低下する。密にされた領域は、まばらな領域より、より複雑なエッジ配置補正を必要とし、したがって、まばらな領域より、密な領域に対して、より多くの頂点を追加しなければならない。
【0030】
次に図8を参照すると、フラグメント化された形状が示されている。図に示されている実施形態では、コーナ頂点の両側に、特定の距離だけ隔てて頂点が追加されている。また、すべてのエッジ・フラグメントが最大エッジ・フラグメント長以下になるように、エッジに沿って一定の間隔で頂点が追加されている。ループ835は、形状の周囲を区画しているため、正ループと呼ぶことができ、また、ループ840は、形状内に開口部を区画しているため、負ループと呼ぶことができる。
【0031】
もう一度図6に戻ると、総合的な流れには、さらに、タグ付けスクリプト580を受け取るステップ630、タグ付けスクリプト580に従ってエッジ・フラグメントにタグを付けるステップ640、タグを有するエッジ・フラグメントに対して、タグ付けスクリプト580に従って機能を実行するステップ650、および、修正ICデータ560を出力するステップ660が含まれている。タグ付けルーチン550によって実行される、タグ付けステップ640および機能実行ステップ650の一実施形態について、図9に照らしてさらに詳細に考察する。修正ICデータ560は様々な形を取ることができ、様々な目的に使用される。図示されている実施形態の場合、以下で考察するように、修正ICデータ560は、OPC補償ICデータ565およびいくつかの追加層からなる継続タグ570を含んでいる。
【0032】
図9は、図6のステップ640および650の一実施形態をさらに詳細に示したものである。ステップ910で、タグ付けルーチン550は、タグ付けスクリプト580から第1のタグ識別名を検索する。タグ識別名は、エッジ・フラグメントに対する1組の特性を定義したもので、例えば、垂直エッジ・フラグメント、水平エッジ・フラグメント、特定の長さを有するエッジ・フラグメント、特定層上のすべてのエッジ・フラグメント、および特定角度のエッジ・フラグメント等のタグ識別名がある。また、タグ識別名は、周囲のエッジ・フラグメントとの関係に基づいてエッジ・フラグメントを定義することもできる。例えば、凸コーナ、凹コーナあるいは線端を形成するエッジ・フラグメント、コーナまたは線端エッジ・フラグメントに隣接するエッジ・フラグメント、他のエッジ・フラグメントと共に特定の角度を形成するエッジ・フラグメント、1つまたは複数の特定種類のエッジ・フラグメントを含む正ループまたは負ループを包含するエッジ・フラグメント、および、特定の領域を有する正ループまたは負ループを包含するエッジ・フラグメント等に対するタグ識別名がある。さらに、タグ識別名は、特定のエッジ配置誤差を有するエッジ・フラグメントを定義することもできる。実際に、あらゆる特性をタグ識別名にすることができる。その場合、タグ識別名を作成することにより、特に関心のある、すなわち懸念のある事実上すべての種類のエッジ・フラグメントを定義することができる。
【0033】
ステップ920で、フラグメント化ICデータからエッジ・フラグメントが検索され、ステップ925で、エッジ・フラグメントが、タグ識別名によって定義された特性と比較される。タグ識別名によって定義された特性をエッジ・フラグメントが有している場合、ステップ930で、その特性に応じてエッジ・フラグメントにタグが付けられる。一実施形態では、タグを有するエッジ・フラグメントを、タグ識別名に従ってラベル付けされたエッジ・フラグメントとして考えることができる。例えば、コーナ・タグ識別名を用いてタグ付けされているエッジ・フラグメントの各々は、コーナ・エッジ・フラグメントとして本質的にラベル付けされている。
【0034】
ステップ940で、タグ付けルーチン550は、タグ識別名と比較するエッジ・フラグメントが他に存在しているかどうかチェックする。エッジ・フラグメントがさらに存在している場合、ステップ950で次のエッジ・フラグメントが検索され、プロセスは、ループのステップ925に戻る。タグ識別名と比較するエッジ・フラグメントがフラグメント化ICデータ中に存在しない場合は、タグ付けルーチン550はステップ960で、タグを有するエッジ・フラグメントに対して、もしあればタグ付けスクリプトによって定義された機能を実行する。
【0035】
機能には、タグ付けされたエッジ・フラグメントに対して、ルール・ベースOPCまたはモデルベースOPC、あるいはその組合せを実行する機能を持たせることができる。その他の機能には、例えば、凸コーナ・タグ識別名にタグ付けされた1組のエッジ・フラグメントと隣接凸コーナタグ識別名にタグ付けされた1組のエッジ・フラグメントとを組み合わせことが含まれる。
【0036】
別法としては、ステップ960において、タグを有するエッジ・フラグメントに何等機能を実行させないことも可能である。
【0037】
図9のステップ970において、タグ識別名がタグ付けスクリプト中にさらに存在する場合、次のタグ識別名がステップ980で検索され、プロセスは、ループのステップ920に戻る。エッジ・フラグメントは、複数のタグ識別名に従ってタグ付けすることができる。例えば、あるエッジ・フラグメントに対して、線端の一部であり、かつ、水平であるものとしてタグ付けすることができる。タグ識別名が存在しない場合、プロセスは終了する。
【0038】
他の実施形態では、図9に示すプロセスは、一度にICレイアウトの一つのウィンドウで操作する。つまり、次のタグ識別名に移行する前に、フラグメント化ICデータ中のすべてのエッジ・フラグメントにタグ識別名を適用するのではなく、ICデータはウィンドウすなわち格子に分割される。次のウィンドウに移行する前に、すべてのタグ識別名が、ウィンドウ内のすべてのエッジ・フラグメントに適用される。
【0039】
任意の数の追加手法を用いて、タグ識別名をエッジ・フラグメントに適用することができる。例えば、エッジ・フラグメントを選択することからプロセスを開始し、次のエッジ・フラグメントに移行する前に、すべてのタグ識別名をそのエッジ・フラグメントに適用することができる。
【0040】
図7および図10から12は、本発明の実施例を示したものである。既に考察したように、図7は、IC設計データ520に持たせることができるいくつかの形状を示している。ICの製造に使用される光源の波長に近い臨界寸法(IC設計における様々な領域の様々な種類の形状のエッジ間の最小距離)を有するIC設計では、隣接するエッジの近接により、製造されるICのエッジ配置が歪むことがある。図10は、光源の波長に近い臨界寸法、または光源の波長未満の臨界寸法を有する図7のIC設計に基づいて製造されたICの一実施形態を示したものである。パス701から705は、最小許容間隔0.3μmで分離されており、したがって、密にパックされていると言える。密にパックされた領域から孤立した領域に延び出ているパス1003は、間隔が密の領域では細く、孤立した領域では太くなっている。同様に、一方のエッジが沿って密にパックされ、かつ、他方のエッジが隔離されているパス1001および1005は、パス1002および1004より太くなっている。
【0041】
図7の隔離されたパス706も、歪んだICを製造することになる。図10において、対応する隔離パス1006は、意図したよりも太く、かつ、短くなっている。つまり、隔離されたエッジのため、意図した線幅より太くなっているばかりでなく、パス1006の端部は、意図したパスの終わりに達していない。これは線端プルバックと呼ばれ、接続性が遮断されることになる。パス1006はパス1003の先端部分と同様、エッジ・フラグメントが隔離されているため、太くなっている。
【0042】
形状720は、いくつかのコンタクト・パッドを含んでいる。コンタクト・パッド720群の外側エッジは隔離されており、その近傍に存在するエッジはないが、内部エッジのいくつかはその間隔が密であり、直ぐ近傍にいくつかのエッジが存在している。パス701から706の場合と同様、コンタクト・パッド720内の隣接するエッジの近接によりエッジ強度勾配が変化し、エッジ配置が歪むことになる。図10では、IC設計におけるエッジが極めて接近し、隣接パッドのエッジが3つ以上ある部分で、コンタクト・パッド1020が重複している。
【0043】
形状730は、頂点が5個の多角形735と頂点が4個の多角形740との実際に2つの多角形である。ここでも、形状730内の近接したエッジ、特にコーナ付近、特に多角形735が多角形740に近接する部分のエッジ配置を歪ませることになる。図10では、形状1030は、多角形735が多角形740に近接している部分で接続性が遮断されている。
【0044】
ユーザは、設計全体にモデルベースOPCまたはルール・ベースOPCを適用する代わりに、1つまたは複数のタグ付けスクリプトをIC設計に適用して、補正の必要が有ると思われるエッジ・フラグメントを選択的に識別することができる。図11は、図7に示すいくつかの形状に適用することができるタグ付けスクリプトの一部を示したものである。タグ付けスクリプトは、必要なエッジ・フラグメントにのみタグが付けられるまで、タグ識別名を用いて、タグを有する1組のエッジ・フラグメントを絞っている。例えば、パス703のエッジ配置歪みに対して、IC設計におけるすべてのエッジ・フラグメントに対してOPCを実行する必要はない。代わりに、他のパスを越えて延長しているパス703の垂直エッジ・フラグメントに対して、OPCを選択的に実行することができる。
【0045】
図11において、まず、IC設計は、それまでに作成されたすべてのタグが消去され、次に、新しいタグ「pathFrag」が作成される。図に示す実施形態では、パス幅Wは0.25μmであり、パス701から705間の最小間隔は0.3μmである。したがって、内側エッジの間が0.25μmの間隔で分離されたすべてのエッジ・フラグメントは、パスエッジ・フラグメントである、と仮定しても差し支えないと思われる。この仮定に基づいて、ライン1112で、パス701から706のすべての垂直エッジ・フラグメントが識別され、タグが付けられる。
【0046】
パスの残りのエッジ・フラグメントにタグを付けるために、ライン1113で、予めpathFragのタグを有するエッジ・フラグメントを含むすべてのループ内のすべてのエッジ・フラグメントにタグが付けられる。したがって、ライン1113で、パス701から706を包含するすべてのエッジ・フラグメントに、「path」のタグが付けられる。
【0047】
パス703に焦点を絞るための次のステップは、パス706を除外することである。パス706は隔離されている。パス706とその周辺のエッジ・フラグメントとの間隔は、最小間隔より大きくなっている。したがって、ライン1114で、予め「path」のタグが付けられ、かつ、最大0.4μmの間隔で外側エッジ間が分離されているエッジ・フラグメントのみに、「densePathEdge」(密パスエッジ)のタグが付けられる。パス706は0.4μmを超えて分離されているためこのステップはパス706を除外する。
【0048】
ライン1114では、パス701から706の密にパックされた垂直エッジ・フラグメントしかタグ付けされないため、ライン1115で、予め「densePathEdge」のタグを有するエッジ・フラグメントを含むすべてのループ内のすべてのエッジ・フラグメントにマークを付けることによって、パス701から705を包含するすべてのエッジ・フラグメントに、「densePath」(密パス)のタグが付けられる。
【0049】
ライン1116で、パス701から705の線端エッジ・フラグメントが除外され、垂直エッジ・フラグメントのみが残される。これらの垂直エッジ・フラグメントに、「densePathNoEnds」(密パス端無し)のタグが付けられる。ライン1117で、予めdensePathNoEndsのタグが付けられ、かつ、最も近くにあるエッジ・フラグメントから1.0μmを超えて分離されているエッジ・フラグメントのみにタグを付けることによって、パス701から705の密にパックされた垂直エッジ・フラグメントが除外される。この場合、パス701および705の外側エッジと、パス703の孤立された垂直エッジのみに、「isoFragOnDensePath」のタグが付けられる。
【0050】
ライン1118では、予めisoFragOnDensePathのタグが付けられ、かつ、最も近くにある外側エッジまで、内側から1.0μmを超えて分離されているエッジ・フラグメントのみにタグを付けることによって、パス701および705の外側エッジが除外される。例えば、isoFragOnDensePathのタグが付けられているパス701のエッジ・フラグメントは、パス701の左側エッジである。パス701の左側エッジの内側からの測定は、パス702に向かって右側への測定を意味している。この場合、最も近くの外側エッジは、パス702の左側エッジである。パス701の左側エッジとパス702の左側エッジとの間の距離は、1.0μm未満である。パス705についても同様である。したがって、残される、「isoDenseFrag」(隔離密フラグ)のタグを有するエッジ・フラグメントは、他のパスを越えて延長しているパス703の垂直エッジ・フラグメントのみである。
【0051】
ライン1119および1120では、隔離−密パス用に最適化されたモデルが、該当するエッジ断面に選択的に適用される。モデルはIC設計をシミュレートし、タグを有するエッジ・フラグメントに対してのみ、エッジ配置誤差を計算することができる。エッジ配置誤差が大き過ぎる場合、モデルは、タグを有する各エッジ・フラグメントに対して、エッジ配置誤差が許容範囲内になるまでエッジ・フラグメントを張り出させ、あるいは凹ませることができる。
【0052】
別法としては、最適化モデルを用いて、補助形状などの任意の形状、任意のサイズ、および、タグを有する各エッジ・フラグメントから任意の距離のダミー形状を導入することができる。例えば、一実施形態では、ダミー形状は、ユーザ定義の任意の長さ、幅および距離を有するユーザ定義長方形である。次に、モデルベースOPCを用いて、タグを有するそれぞれのエッジ・フラグメントから、ダミー形状に対する許容可能な長さ、幅および距離を決定し、それによりエッジ配置誤差を小さくして許容範囲内に収めることができる。
【0053】
例えば、補助形状1210の一実施形態を図12に示す。既に考察した米国特許第5,242,770号に記載されているレベリング・バーとは異なり、補助形状は、ルール・ベース手法におけるような、パスから所定の距離に単純に位置付けされるものではない。代わりに、補助形状を位置付けする必要のあるエッジ・フラグメントに対してのみ、モデルベースOPCが選択的に適用され、シミュレーションの結果に基づいて補助形状の幅が決定される。補正する線幅の変化に対して、モデルを最適化することができる。例えば、汎用モデルベースOPC手法の場合におけるような、エッジ・フラグメントを張り出させ、あるいは凹ませる第1の試行に代わって、線幅変化に対して最適化されたモデルにより、補助形状を直接処理することができる。より複雑なIC設計では、補助形状の距離および幅は、隣接するエッジに応じて、エッジ・フラグメント毎に変化する。
【0054】
図11に戻る。タグ付けスクリプトのライン1111から1120は、殆どすべての種類のエッジ・フラグメントを、IC設計において隔離することができることを立証している。当然、その多くははるかに直接的であるが、任意の数の手法をタグ付けスクリプトに取り入れ、パス703の該当するエッジ・フラグメントを隔離することができる。さらに、構文の様々な個所を変更し、タグ付けスクリプトの1つまたは複数のラインを組み合わせることができる。
【0055】
タグ付けスクリプトのライン1121から1124において、パス706の端部のエッジ・フラグメントが隔離され、最適化モデルが適用されて、図12に示すようなハンマーヘッド1220および1230が追加される。例えば、最適化ハンマーヘッドモデルにはルール・ベース手法を用いることができ、線端エッジ・フラグメントを特定の量だけ単純にバイアスすることができる。より正確なモデルの場合、エッジ配置誤差を計算し、モデルベースOPCを適用する必要があるか否かを決定することもできる。ハンマーヘッドは、線の長さを意図した長さに近づけるために、線端プルバックを補償することを意図したものである。
【0056】
同様のタグ付けスクリプトを作成し、パス701、705および706の隔離エッジに、OPCを選択的に適用することもできる。図12に示すように、モデルベースOPCを用いることにより、補助形状1215および1225が得られる。また、隔離されていない、かつ、密にパックされていないエッジ・フラグメントに補助形状を適用することもできる。例えば、より複雑なIC設計では、密にパックされていない場合でも、隣接するエッジ配置と干渉するのに十分な近さに形状が接近することがある。
【0057】
同様に、コンタクト・パッド720および形状730内の、補正の必要が有ると思われるエッジ・フラグメントのみに、OPCを選択的に適用することができる。例えば、コンタクト・パッド720内の密にパックされ、かつ、隔離されたエッジ・フラグメントに、臨界寸法内の周辺エッジ・フラグメントの数に基づいてタグを付けることができる。形状730の場合は、コーナ・エッジ・フラグメントにタグを付けることができる。次に、ルール・ベースOPCまたはモデルベースOPC、あるいはそれら2つの組合せを、タグを有するエッジに適用することができる。例えば、図12に示すように、形状1250内のコーナ1251部分では、コーナ・エッジ・フラグメントが張り出されている。コーナ1251部分の歪みを補正するためには、所定の外向きバイアスで十分である。しかし、コーナ1252部分のエッジ・フラグメントは凹まされており、所定の外向きバイアスでは歪みが補正されるどころか、歪みがさらに大きくなり、図10の形状1030に示す接続性の遮断が拡大されることになる。この場合、コーナ1252にルール・ベース外向きバイアスが最初に適用されると、コーナ・エッジ・フラグメントに対するエッジ配置誤差を計算しても、ルール・ベースの失敗をカバーすることはできない。このような場合は、モデルベースOPCを限定的に応用することによってのみ、ルール・ベースの失敗を補正することができる。
【0058】
任意の数の代替タグ付けスクリプトが可能である。代替タグ付けスクリプトを用いて、IC設計すなわち領域におけるすべてのエッジ・フラグメントのエッジ配置誤差を計算し、エッジ配置誤差が許容可能範囲外であれば、そのエッジ・フラグメントにタグを付けることができる。タグを有するエッジ・フラグメントに対し、最適OPCを選択的に適用して、IC設計全体を許容範囲内に収めることができる。
【0059】
複数の層の形状をIC設計データに持たせることができる。異なる層に渡って重複する形状もエッジ配置歪みの原因になる。この場合、タグ付けスクリプトによって、層間で重複するエッジ・フラグメントを識別し、対応するOPCを適用することができる。
【0060】
また、タグ付けスクリプトを用いて、特に複雑な領域、あるいは、許容不可エッジ配置誤差を有するエッジを数多く含む領域を識別することもできる。ユーザが手動OPCを実行できるように、あるいは、フラグが立てられた領域全体に自動モデルベースOPCを適用できるように、これらの領域にフラグを立てることができる。
【0061】
さらに、タグ付けスクリプトを用いて、手動で入力された補正または補助形状、あるいは、既存の補正または補助形状を識別することもできる。例えば、エッジの線分および特性の特定シーケンスに基づいて線端上のハンマーヘッドを識別し、タグを付けることができる。この場合、タグを有するハンマーヘッドエッジ・フラグメントに対する自動OPCを不能にし、補正が重複しないようにすることができる。あるいは、既存の補正にタグを振って除去することにより、自動OPCを新規に開始させることができる。
【0062】
他のタグ付けスクリプトを用いて、継続タグとしてタグを保管することができる。例えば、タグ付けされた各エッジ・フラグメントの座標を、IC設計データの他の層中に保管することにより、他のEDAツールが迅速にその1組のタグ付きエッジ・フラグメントを識別することができる。例えば、図5に関連して考察したように、修正ICデータ560は、複数の層からなる継続タグ570を含むことができる。
【0063】
例えば、図13は、層0上の線端を示したものである。層1上のボックスは、層0上のどのエッジ・フラグメントに線端エッジ・フラグメントとしてのタグが付けられているかを示している。ユーザは、ICデータ表示装置の中で層0と層1を重畳させ、タグを有するエッジ・フラグメントをボックスでマークすることができる。
【0064】
タグを有するエッジ・フラグメントを便利に視覚化するだけでなく、継続タグを個別の層上に保管することにより、特定のタグを有するエッジ・フラグメントの数の計数を容易にしている。例えば、層上のタグの数を自動的に計数し、その数をヒストグラムで表すことができる。図14は、隔離−密エッジ・フラグメントおよび線端エッジ・フラグメントに対するヒストグラムの一実施形態を示したものである。例えば、このヒストグラムを用いて、特定の種類のエッジ・フラグメントの数の関数として、IC設計に要するOPC処理時間を予測することができる。
【0065】
図15は、コンピュータ・システムの広範囲に渡るカテゴリを表すことを意図したものである。図15では、プロセッサ1510は、1つまたは複数のマイクロプロセッサを含んでいる。プロセッサ1510は、高速バス1570で一時記憶装置1560に結合されている。高速バス1570は、バス・ブリッジ1580で入出力バス1550に結合されている。固定記憶装置1520、および、表示装置1540、キーボード1530およびマウス1590を含む入出力装置も同様に入出力バス1550に結合されている。特定の実施形態では、1つまたは複数の構成要素を取り除き、あるいは結合し、および/または再配列することができる。それだけでは無いが、他のバスを結合する他のバス・ブリッジ、1つまたは複数のディスク駆動装置、ネットワーク・インタフェース、追加音声/ビデオ・インタフェース、追加記憶装置、追加処理装置等を始めとするいくつかの追加構成要素をバス1550および/または1570のいずれかに結合することもできる。
【0066】
図5に示すようなEDAツール510は、例えば、固定記憶装置1520あるいは一時記憶装置1560に記憶されている一連の機械可読命令すなわちファンクション・コールとして、プロセッサ1510によって実行することができる。あるいは、図16に示すように、EDAツール510の機能を表す機械実行可能命令1620を、CD ROM、ディジタル・ビデオ・ディスクすなわち汎用ディスク(DVD)、あるいは、フロッピ・ディスクまたはテープのよな磁気記憶媒体など、流通記憶媒体1610に記憶させることもできる。ローカルすなわち遠隔サーバから上記命令をダウンロードすることもできる。
【0067】
別法としては、本発明は、任意の数の追加ハードウェア・マシン内で実施することができる。例えば、EDAツール510の機能の一部またはすべてを、1つまたは複数のASIC(特定用途向け集積回路)に付与し、個別構成要素として、あるいは、1つまたは複数の他の構成要素と組み合わせて、図15に示すシステム1500に挿入することができる。
【0068】
以上、ICを設計するための改善された方法および装置について説明したが、前述の説明を読んだ当分野の技術者には、本発明の様々な変更および改変について理解されよう。説明用として示し、記述した特定実施形態が、本発明を制限するものとして考慮されることを意図したものではないことを理解されなければならない。したがって、特定実施形態の詳細の参照は、特許請求の範囲を制限することを意図したものではない。
【図面の簡単な説明】
【図1A】非補償IC設計を示す図である。
【図1B】非補償IC設計を示す他の図である。
【図2A】補償IC設計を示す図である。
【図2B】補償IC設計を示す他の図である。
【図3A】隔離され、密にパックされたエッジによる線幅変化を示す図である。
【図3B】隔離され、密にパックされたエッジによる線幅変化を示す他の図である。
【図4】線幅変化を小さくするための補助形状を示す図である。
【図5】本発明による一実施形態のための環境を示す図である。
【図6】本発明による一実施形態のタグ付けプロセスを示す図である。
【図7】IC設計の一実施形態におけるいくつかの形状を示す図である。
【図8】フラグメント化された形状の一実施形態を示す図である。
【図9】タグ付けスクリプトを実行するためのプロセスの一実施形態を示す図である。
【図10】シリコン中の非補償形状の一実施形態を示す図である。
【図11】タグ付けスクリプト一実施形態を示す図である。
【図12】補償形状の一実施形態を示す図である。
【図13】継続タグの一実施形態を示す図である。
【図14】タグのヒストグラムの一実施形態を示す図である。
【図15】コンピュータ・システムの一実施形態を示す図である。
【図16】機械可読記憶媒体の一実施形態を示す図である。
(発明の分野)
本発明は、集積回路(IC)設計の分野に関する。より詳細には、本発明は、ディープ・サブミクロンのICを設計する技術分野に関する。
【0002】
(発明の背景)
集積回路(IC)が出現して以来、回路部品は益々小型化されている。ICは、極めて小さいパッケージ中にパッケージされた数百万個の部品を含む。より小型の集積化という新しい世代毎に、より多くの機能、つまりより多くの価値をICから引き出すことができるが、高度に集積化されたこれらのICを確実に製造するには、極めて重要な設計的挑戦が必要である。
【0003】
様々なIC製造プロセスについては、当分野の技術者には周知のことであろう。例えば、殆どのICはシリコン・ウェハを有しており、トランジスタは、露光および化学処理を繰返し適用することによって、一度に1層ずつシリコン中に生成される。典型的なプロセスの単一繰返しは、通常、ウェハ上に酸化物層を成長させることから始まり、次に、「フォトレジスト」または「レジスト」と呼ばれる感光性材料層が上記酸化物に載せられる。光源が、レチクルを通してレジスト材上に画像を投射させるか、あるいは、コンタクト・マスク中の開口部を通して光を当てるかのいずれかによってレジスト領域を露光する。以下、「マスク」という用語を用いて、総称的にコンタクト・マスクすなわちレチクルを意味するものとする。
【0004】
化学処理によって、露光されたレジスト材がエッチングにより除去され、後にレイアウトが残される。あるいは、露光されたレジスト材が硬化され、露光されていないレジスト材がエッチングにより除去されて、後にレイアウトを残す。別の化学処理によって、レイアウトがレジスト材から酸化物層へ移され、その下にあるシリコンを保護するための酸化物バリアが生成される。次に、保護されないシリコンが、電子拡散すなわち注入など任意の様々な方法で処理され、例えば、p型あるいはn型トランジスタ領域が生成される。
【0005】
酸化物の残りが除去され、次の層を開始するための新しい層が生成される。典型的なICの場合、トランジスタ、コンタクト・パッド、伝送パス等を生成するために、露光および化学処理を16回から24回繰り返さなけれなばらない。
【0006】
製造のための挑戦は、臨界寸法(IC設計における様々な領域の様々な種類の形状のエッジ間の最小距離)が、レジストを露光するために使用する光源の波長に近づくか、あるいは波長を下回る場合も生じる傾向がある。通常、ディープ・サブミクロンの範囲では、臨界寸法が光の波長に近いか、あるいは光の波長を下回り、光近接歪みおよび化学処理の変動を含むいくつかの要因のため、製造信頼性(歩留り率)が悪くなる。典型的な問題としては、局部パターン密度およびトポロジーによって決まる線端プルバックおよび線幅変化などがある。
【0007】
図1Aは、IC設計の1つの層に出現し得る、簡単な形状の例を示したものである。設計用マスクの白い領域は光を通過させることができ、斜線領域を露光されない状態として残す。図1Bは、ディープ・サブミクロンの臨界寸法(CD)を有するシリコンの設計結果を示したものである。レジストを適切に露光するための光が十分にマスクを通過していない箇所が多数存在し、形状を重複させている。ディープ・サブミクロンICでは、特定のポイントで形状が重複するかしないかは、形状間の距離には全く無関係である。例えば、間隙110Aおよび間隙120Aは、同一の幅CDを有している。しかし図1Bでは、対応する間隙110Bは重複していないが、対応する間隙120Bは重複している。マスク内における2つの間隙の幅が同一であっても、間隙120Bに近いエッジ付近ではエッジ強度勾配が変化し、そのためにレジストに到達する光の強度が弱くなり、化学処理を変動させている。図1Bに示すような近接歪みは、接続性の遮断や短絡による動作速度の低下、あるいは動作の全面的な阻止の原因になることがある。
【0008】
当分野の技術者は、一般的に、設計におけるエッジの相対近接による製造歪みを補償するための集積回路(IC)の設計変更を意味する光近接補正(optical proximity correction)、すなわちOPCという用語については周知のことであろう。しかし、本明細書において使用されているように、OPCは、エッジの相対近接に基づくだけではなく、レジスト・エッチングおよび酸化物エッチングなどの化学処理時にもたらされる歪みに基づく設計変更をも意味している。したがって、本明細書において使用されているように、OPCは、光学補正およびプロセス補正を意味し、かつ、露光から化学処理を通しての製造性を改善するためになされる設計変更を含んでいる。
【0009】
IC設計の複雑化に伴い、手作業によるOPC(試行錯誤を通して、手作業で補正値を入力する)は益々時間がかかり、費用有効性が益々小さくなっている。ソフトウェアのモデル化、すなわちシミュレーションは、本明細書においてモデルベースOPCと呼ばれている自動OPCの一形態の基本である。モデルベースOPCでは製造歪みを予測し、エッジ・フラグメント(edge fragment)に操作することによって設計段階で補償することができる。図2Aは、図1Aの設計に基づいて補償された設計を示したものである。
【0010】
モデルベースOPCは、極めて計算集中型である。エッジ毎に、すなわちエッジのフラグメント毎に、シミュレーションによってエッジ配置誤差が計算される。誤差を補償するために、エッジ配置誤差に基づいて試行的にエッジ・フラグメントを張り出させ、あるいは凹ませることができる。シミュレーションおよび調整は、エッジ配置誤差が許容範囲内になるまで、エッジ・フラグメント毎に数回繰り返さなければならない。図2Bは、補償されたマスクに基づくシリコンの設計を示したものである。
【0011】
他の自動手法は、本明細書においてルール・ベースOPCと呼ばれている手法である。ルール・ベース手法によれば、特定の形状が出現したときは、所定の修正が必ず導入される。例えば、直角凸毎に、コーナ・エッジ・フラグメントを所定距離だけ押し出すのに基本的に必要な「セリフ」を付加することができる。
【0012】
しかし、ルール・ベースOPCは、所定の変化を用いて特定の形状を変更することにより製造設計の品質が改善される、という仮定の上に成り立っている。この仮定は必ずしも真実ではない。例えば、図2Aにおいて、すべての直角凸エッジ・フラグメントが押し出されているわけではなく、また、押し出されている直角凸エッジ・フラグメントにおいても、すべて同一距離だけ押し出されているわけではない。
【0013】
図3Aは、光源の波長に近い、あるいは光源の波長未満の臨界寸法(CD)での製造において、しばしば歪みを生じる他の種類のIC設計形状を示したものである。密にパックされたエッジは、エッジの強度勾配を変化させ、そのためにエッジ配置が歪む。形状310Aは、密にパックされた領域から孤立した領域に延長している。図3Bは、結果を示したものである。形状310Bの、延びた部分に見られるような線幅の変化は、重大な問題を引き起こすことがある。
【0014】
Chenらに発行された米国特許第5,242,770号に考察されているように、レベリング・バーと呼ばれる補助形状を使用することによって線幅変化を小さくすることができる。図4は、1組のレベリング・バー410を示したものである。レベリング・バーの幅Wは、形状としての幅が狭すぎるため、レベリング・バーがレジスト中に再生されることはない。しかし、上記第‘770号特許によれば、歪みが生じる形状の両側に、所定の間隔Dだけ隔てられたレベリング・バーは、エッジ配置歪みを低減するはずである。その場合、ルール・ベース手法を用いて、形状310Aのような形状の両側の所定距離Dの位置にレベリング・バーを自動的に配置することができる。
【0015】
モデルベースOPCは、通常ルール・ベースOPCよりはるかに遅いが、極めて正確であり、優れた歩留り率をもたらしている。ルール・ベースOPCは、モデルベースOPCほどには計算集中型でないため、モデルベースOPCより速度が速い。その場合ルール・ベースOPCを使用するか、あるいはモデルベースOPCを使用するかは、速度と精度の兼ね合いの問題である。
【0016】
したがって、ルール・ベースOPCおよびモデルベースOPCを、効率的な方法で形状レベルで選択的に使用することができれば望ましいであろう。
【0017】
(発明の概要)
本発明は、サブミクロン集積回路を設計するための改善された方法および装置を提供する。集積回路(IC)設計にタグ識別名が与えられる。タグ識別名は、隣接する形状の近接によるエッジ配置歪みを有するIC設計において、エッジ・フラグメントの特性を定義したものである。タグ識別名によって定義された特性をエッジ・フラグメントが有する場合、そのエッジ・フラグメントにタグが付けられる。タグを有する各エッジ・フラグメントに任意の補助形状が導入される。タグを有するエッジ・フラグメントおよび対応する補助形状に対して、モデルベースのOPCが実行される。
【0018】
本発明の例を添付の図面に示すが、添付の図面は、本発明の範囲を制限するものではない。図面中の同一参照符号は、類似の構成要素を表している。
【0019】
(詳細な説明)
本発明を十分に理解するために、以下の詳細説明の中で多数の特定の詳細が説明されているが、本発明は、これらの特定の説明がなくても実施できること、示されている実施形態に制限されないこと、および様々な代替実施形態の中で実施できることについては、当分野の技術者には理解されよう。その他の実例では、良く知られている方法、手順、構成要素および回路については、詳細に記述されていない。
【0020】
説明されている部品は、当分野の技術者にその働きの本質を伝えるために、当分野の技術者に普通に使用されている用語を用いて表されている。また、説明されている部品は、プログラム命令の実行を通して実行されるオペレーションの観点から表されている。当分野の技術者には良く理解されるように、これらのオペレーションは、記憶、転送および結合することができ、あるいは、例えば電気部品を介して操作することができる電気信号、磁気信号あるいは光信号の形を取ることが多い。
【0021】
様々なオペレーションが、本発明の理解に役立つ形で順次実行される多重分散ステップとして記述されているが、記述されている順序を、その順序でこれらのオペレーションが必ず実行される、すなわち順序依存型であることを暗に含むものと解釈してはならない。最後に、繰り返し使用されている「一実施形態では」という語句は、同一の実施形態の場合もあるが、必ずしも同一の実施形態を指すものではない。
【0022】
本発明は、集積回路(IC)レイアウトを設計するための改善された方法および装置を提供する。レイアウトは、エッジ・フラグメントの多角形から構成されている。特定の特性を有するエッジ・フラグメントを識別し、タグ付けすることができる。例えば、線端を形成するエッジ・フラグメント、あるいは凸コーナを形成するエッジ・フラグメントなど、特に関心のある、すなわち懸念のあるすべてのエッジ・フラグメントにタグを付けることができる。いくつかの実施形態では、このタグ付けにより、タグを有するエッジ・フラグメントを様々な方法で制御することができる。例えば、ユーザは、タグを有するエッジ・フラグメントに様々な種類のOPCを適用することができる。あるいは、ICレイアウト内のどのエッジに特定タグを有するかを観察することができる。また、他のツールが利用できるように、タグを保管することもできる。
【0023】
本発明を使用することにより、通常のモデルベースOPCあるいはルール・ベースOPCに対して、特定の有利な性能を実現することができる。モデルベースOPCは高水準の精度を提供し、優れた歩留り率に貢献しているが、速度が遅くなりがちである。一方、ルール・ベースOPCは速度は速いが、精度に劣ることがしばしばである。本発明によれば、有利な性能を実現することができる。例えば、タグを有するエッジ・フラグメントのみにOPCを選択的に適用することにより、時間を著しく節約することが可能である。タグを有するエッジ・フラグメントの種類に応じて、また、各エッジ・フラグメントに適用されるOPCの種類に応じて、通常のモデルベースOPCと比較した場合の精度の低下を極めて小さくすることができ、あるいは同じ精度を維持することができる。他の実施形態では、線端エッジ・フラグメント用ハンマーヘッドモデルまたは密−孤立エッジ用補助形状モデルなど、タグが付けられる特定の種類のエッジ・フラグメントのための個別化モデルすなわち最適化モデルを利用することにより、速度および精度を改善することができる。さらに他の実施形態では、ルール・ベースとモデルベースを組み合わせた手法を用いることもできる。例えば、ルール・ベース手法をまず試行し、必要に応じてのみモデルベース手法を使用することができる。本発明のその他の利点およびアプリケーションについては、以下の特定実施形態の説明および例から理解されよう。
【0024】
図5は、本発明の一実施形態の環境を示したものである。電子設計自動化(EDA)ツール510は、タグ付け前置プロセッサ530およびタグ付けルーチン550を含んでいる。タグ付け前置プロセッサ530は、以下で考察するように、タグ付けに備えてICデータを均一化し、フラグメント化する。同じく以下で考察するように、タグ付けルーチン550は、フラグメント化されたICデータに対して、1つまたは複数のタグ付けスクリプト580を実行する。
【0025】
図6は、図5に示すEDAツール510によって実行されるプロセスの一実施形態の総合的な流れを示したものである。ステップ610で、EDAツール510は、ICデータ520を受け取る。ICデータ520は、GDSII(図形設計システムII)フォーマットを含むいくつかのフォーマットのうちのいずれかの形を取ることができる。図5に示すように、ICデータ520は、POLY1などの多角形を含んでいる。各多角形は、1組の二次元頂点によって決められる。各頂点対の間には、閉多角形を形成するための線分が含まれている。また、ICデータ520は、PATH1に示すような、多角形に対する様々な省略表現形式が含まれている。各パスは、1組の二次元頂点と幅Wとによって決まる。幅Wの多角形が各頂点対の間の線分に沿って含まれている。その他の省略表現形式は、例えば中心点と半径とによって決まる円等を含むことができる。
【0026】
図7にスキップすると、ここにIC設計データ520に持たせることができるいくつかの形状が示されている。図示されている実施形態の場合、ICデータ520は、単層形状である層0からなる。代替実施形態では、ICデータが多数の層を含むことができることは、当分野の技術者には認識されよう。省略表現形式を用いて、パス701から706、および/またはコンタクト・パッド720を区画することができる。
【0027】
図6に戻り、ステップ620で、タグ付け前置プロセッサ530はICデータ520を予備処理し、フラグメント化されたICデータ540が生成される。任意の数の技法を用いて予備処理ができるが、基本的には2つのステップが必要である。第1のステップは、すべての形状を閉多角形すなわちループに変換することによってデータを均一化するステップである。つまり、すべての省略表現形式が多角形表現形式に置換される。
【0028】
第2の予備処理ステップは、フラグメント化ステップである。フラグメント化には、エッジのより小さい部分、すなわちエッジ・フラグメントを生成するために、追加頂点を挿入することを含む。例えば、頂点は一般的に、頂点間の距離が最大エッジ・フラグメント長以下になるように追加される。また、特定の種類の頂点の近傍に頂点を追加することもできる。例えば、コーナ頂点の近傍に頂点を追加して、2つの短いエッジ・フラグメントでコーナを構成することができる。
【0029】
より多くの頂点を追加するほど、より正確なエッジ配置補正を実行することができるが、より多くのOPC計算を実行しなければならない。つまり、エッジ・フラグメントの細分性が増加すると、OPCの潜在的精度が向上する代わりに速度が低下する。密にされた領域は、まばらな領域より、より複雑なエッジ配置補正を必要とし、したがって、まばらな領域より、密な領域に対して、より多くの頂点を追加しなければならない。
【0030】
次に図8を参照すると、フラグメント化された形状が示されている。図に示されている実施形態では、コーナ頂点の両側に、特定の距離だけ隔てて頂点が追加されている。また、すべてのエッジ・フラグメントが最大エッジ・フラグメント長以下になるように、エッジに沿って一定の間隔で頂点が追加されている。ループ835は、形状の周囲を区画しているため、正ループと呼ぶことができ、また、ループ840は、形状内に開口部を区画しているため、負ループと呼ぶことができる。
【0031】
もう一度図6に戻ると、総合的な流れには、さらに、タグ付けスクリプト580を受け取るステップ630、タグ付けスクリプト580に従ってエッジ・フラグメントにタグを付けるステップ640、タグを有するエッジ・フラグメントに対して、タグ付けスクリプト580に従って機能を実行するステップ650、および、修正ICデータ560を出力するステップ660が含まれている。タグ付けルーチン550によって実行される、タグ付けステップ640および機能実行ステップ650の一実施形態について、図9に照らしてさらに詳細に考察する。修正ICデータ560は様々な形を取ることができ、様々な目的に使用される。図示されている実施形態の場合、以下で考察するように、修正ICデータ560は、OPC補償ICデータ565およびいくつかの追加層からなる継続タグ570を含んでいる。
【0032】
図9は、図6のステップ640および650の一実施形態をさらに詳細に示したものである。ステップ910で、タグ付けルーチン550は、タグ付けスクリプト580から第1のタグ識別名を検索する。タグ識別名は、エッジ・フラグメントに対する1組の特性を定義したもので、例えば、垂直エッジ・フラグメント、水平エッジ・フラグメント、特定の長さを有するエッジ・フラグメント、特定層上のすべてのエッジ・フラグメント、および特定角度のエッジ・フラグメント等のタグ識別名がある。また、タグ識別名は、周囲のエッジ・フラグメントとの関係に基づいてエッジ・フラグメントを定義することもできる。例えば、凸コーナ、凹コーナあるいは線端を形成するエッジ・フラグメント、コーナまたは線端エッジ・フラグメントに隣接するエッジ・フラグメント、他のエッジ・フラグメントと共に特定の角度を形成するエッジ・フラグメント、1つまたは複数の特定種類のエッジ・フラグメントを含む正ループまたは負ループを包含するエッジ・フラグメント、および、特定の領域を有する正ループまたは負ループを包含するエッジ・フラグメント等に対するタグ識別名がある。さらに、タグ識別名は、特定のエッジ配置誤差を有するエッジ・フラグメントを定義することもできる。実際に、あらゆる特性をタグ識別名にすることができる。その場合、タグ識別名を作成することにより、特に関心のある、すなわち懸念のある事実上すべての種類のエッジ・フラグメントを定義することができる。
【0033】
ステップ920で、フラグメント化ICデータからエッジ・フラグメントが検索され、ステップ925で、エッジ・フラグメントが、タグ識別名によって定義された特性と比較される。タグ識別名によって定義された特性をエッジ・フラグメントが有している場合、ステップ930で、その特性に応じてエッジ・フラグメントにタグが付けられる。一実施形態では、タグを有するエッジ・フラグメントを、タグ識別名に従ってラベル付けされたエッジ・フラグメントとして考えることができる。例えば、コーナ・タグ識別名を用いてタグ付けされているエッジ・フラグメントの各々は、コーナ・エッジ・フラグメントとして本質的にラベル付けされている。
【0034】
ステップ940で、タグ付けルーチン550は、タグ識別名と比較するエッジ・フラグメントが他に存在しているかどうかチェックする。エッジ・フラグメントがさらに存在している場合、ステップ950で次のエッジ・フラグメントが検索され、プロセスは、ループのステップ925に戻る。タグ識別名と比較するエッジ・フラグメントがフラグメント化ICデータ中に存在しない場合は、タグ付けルーチン550はステップ960で、タグを有するエッジ・フラグメントに対して、もしあればタグ付けスクリプトによって定義された機能を実行する。
【0035】
機能には、タグ付けされたエッジ・フラグメントに対して、ルール・ベースOPCまたはモデルベースOPC、あるいはその組合せを実行する機能を持たせることができる。その他の機能には、例えば、凸コーナ・タグ識別名にタグ付けされた1組のエッジ・フラグメントと隣接凸コーナタグ識別名にタグ付けされた1組のエッジ・フラグメントとを組み合わせことが含まれる。
【0036】
別法としては、ステップ960において、タグを有するエッジ・フラグメントに何等機能を実行させないことも可能である。
【0037】
図9のステップ970において、タグ識別名がタグ付けスクリプト中にさらに存在する場合、次のタグ識別名がステップ980で検索され、プロセスは、ループのステップ920に戻る。エッジ・フラグメントは、複数のタグ識別名に従ってタグ付けすることができる。例えば、あるエッジ・フラグメントに対して、線端の一部であり、かつ、水平であるものとしてタグ付けすることができる。タグ識別名が存在しない場合、プロセスは終了する。
【0038】
他の実施形態では、図9に示すプロセスは、一度にICレイアウトの一つのウィンドウで操作する。つまり、次のタグ識別名に移行する前に、フラグメント化ICデータ中のすべてのエッジ・フラグメントにタグ識別名を適用するのではなく、ICデータはウィンドウすなわち格子に分割される。次のウィンドウに移行する前に、すべてのタグ識別名が、ウィンドウ内のすべてのエッジ・フラグメントに適用される。
【0039】
任意の数の追加手法を用いて、タグ識別名をエッジ・フラグメントに適用することができる。例えば、エッジ・フラグメントを選択することからプロセスを開始し、次のエッジ・フラグメントに移行する前に、すべてのタグ識別名をそのエッジ・フラグメントに適用することができる。
【0040】
図7および図10から12は、本発明の実施例を示したものである。既に考察したように、図7は、IC設計データ520に持たせることができるいくつかの形状を示している。ICの製造に使用される光源の波長に近い臨界寸法(IC設計における様々な領域の様々な種類の形状のエッジ間の最小距離)を有するIC設計では、隣接するエッジの近接により、製造されるICのエッジ配置が歪むことがある。図10は、光源の波長に近い臨界寸法、または光源の波長未満の臨界寸法を有する図7のIC設計に基づいて製造されたICの一実施形態を示したものである。パス701から705は、最小許容間隔0.3μmで分離されており、したがって、密にパックされていると言える。密にパックされた領域から孤立した領域に延び出ているパス1003は、間隔が密の領域では細く、孤立した領域では太くなっている。同様に、一方のエッジが沿って密にパックされ、かつ、他方のエッジが隔離されているパス1001および1005は、パス1002および1004より太くなっている。
【0041】
図7の隔離されたパス706も、歪んだICを製造することになる。図10において、対応する隔離パス1006は、意図したよりも太く、かつ、短くなっている。つまり、隔離されたエッジのため、意図した線幅より太くなっているばかりでなく、パス1006の端部は、意図したパスの終わりに達していない。これは線端プルバックと呼ばれ、接続性が遮断されることになる。パス1006はパス1003の先端部分と同様、エッジ・フラグメントが隔離されているため、太くなっている。
【0042】
形状720は、いくつかのコンタクト・パッドを含んでいる。コンタクト・パッド720群の外側エッジは隔離されており、その近傍に存在するエッジはないが、内部エッジのいくつかはその間隔が密であり、直ぐ近傍にいくつかのエッジが存在している。パス701から706の場合と同様、コンタクト・パッド720内の隣接するエッジの近接によりエッジ強度勾配が変化し、エッジ配置が歪むことになる。図10では、IC設計におけるエッジが極めて接近し、隣接パッドのエッジが3つ以上ある部分で、コンタクト・パッド1020が重複している。
【0043】
形状730は、頂点が5個の多角形735と頂点が4個の多角形740との実際に2つの多角形である。ここでも、形状730内の近接したエッジ、特にコーナ付近、特に多角形735が多角形740に近接する部分のエッジ配置を歪ませることになる。図10では、形状1030は、多角形735が多角形740に近接している部分で接続性が遮断されている。
【0044】
ユーザは、設計全体にモデルベースOPCまたはルール・ベースOPCを適用する代わりに、1つまたは複数のタグ付けスクリプトをIC設計に適用して、補正の必要が有ると思われるエッジ・フラグメントを選択的に識別することができる。図11は、図7に示すいくつかの形状に適用することができるタグ付けスクリプトの一部を示したものである。タグ付けスクリプトは、必要なエッジ・フラグメントにのみタグが付けられるまで、タグ識別名を用いて、タグを有する1組のエッジ・フラグメントを絞っている。例えば、パス703のエッジ配置歪みに対して、IC設計におけるすべてのエッジ・フラグメントに対してOPCを実行する必要はない。代わりに、他のパスを越えて延長しているパス703の垂直エッジ・フラグメントに対して、OPCを選択的に実行することができる。
【0045】
図11において、まず、IC設計は、それまでに作成されたすべてのタグが消去され、次に、新しいタグ「pathFrag」が作成される。図に示す実施形態では、パス幅Wは0.25μmであり、パス701から705間の最小間隔は0.3μmである。したがって、内側エッジの間が0.25μmの間隔で分離されたすべてのエッジ・フラグメントは、パスエッジ・フラグメントである、と仮定しても差し支えないと思われる。この仮定に基づいて、ライン1112で、パス701から706のすべての垂直エッジ・フラグメントが識別され、タグが付けられる。
【0046】
パスの残りのエッジ・フラグメントにタグを付けるために、ライン1113で、予めpathFragのタグを有するエッジ・フラグメントを含むすべてのループ内のすべてのエッジ・フラグメントにタグが付けられる。したがって、ライン1113で、パス701から706を包含するすべてのエッジ・フラグメントに、「path」のタグが付けられる。
【0047】
パス703に焦点を絞るための次のステップは、パス706を除外することである。パス706は隔離されている。パス706とその周辺のエッジ・フラグメントとの間隔は、最小間隔より大きくなっている。したがって、ライン1114で、予め「path」のタグが付けられ、かつ、最大0.4μmの間隔で外側エッジ間が分離されているエッジ・フラグメントのみに、「densePathEdge」(密パスエッジ)のタグが付けられる。パス706は0.4μmを超えて分離されているためこのステップはパス706を除外する。
【0048】
ライン1114では、パス701から706の密にパックされた垂直エッジ・フラグメントしかタグ付けされないため、ライン1115で、予め「densePathEdge」のタグを有するエッジ・フラグメントを含むすべてのループ内のすべてのエッジ・フラグメントにマークを付けることによって、パス701から705を包含するすべてのエッジ・フラグメントに、「densePath」(密パス)のタグが付けられる。
【0049】
ライン1116で、パス701から705の線端エッジ・フラグメントが除外され、垂直エッジ・フラグメントのみが残される。これらの垂直エッジ・フラグメントに、「densePathNoEnds」(密パス端無し)のタグが付けられる。ライン1117で、予めdensePathNoEndsのタグが付けられ、かつ、最も近くにあるエッジ・フラグメントから1.0μmを超えて分離されているエッジ・フラグメントのみにタグを付けることによって、パス701から705の密にパックされた垂直エッジ・フラグメントが除外される。この場合、パス701および705の外側エッジと、パス703の孤立された垂直エッジのみに、「isoFragOnDensePath」のタグが付けられる。
【0050】
ライン1118では、予めisoFragOnDensePathのタグが付けられ、かつ、最も近くにある外側エッジまで、内側から1.0μmを超えて分離されているエッジ・フラグメントのみにタグを付けることによって、パス701および705の外側エッジが除外される。例えば、isoFragOnDensePathのタグが付けられているパス701のエッジ・フラグメントは、パス701の左側エッジである。パス701の左側エッジの内側からの測定は、パス702に向かって右側への測定を意味している。この場合、最も近くの外側エッジは、パス702の左側エッジである。パス701の左側エッジとパス702の左側エッジとの間の距離は、1.0μm未満である。パス705についても同様である。したがって、残される、「isoDenseFrag」(隔離密フラグ)のタグを有するエッジ・フラグメントは、他のパスを越えて延長しているパス703の垂直エッジ・フラグメントのみである。
【0051】
ライン1119および1120では、隔離−密パス用に最適化されたモデルが、該当するエッジ断面に選択的に適用される。モデルはIC設計をシミュレートし、タグを有するエッジ・フラグメントに対してのみ、エッジ配置誤差を計算することができる。エッジ配置誤差が大き過ぎる場合、モデルは、タグを有する各エッジ・フラグメントに対して、エッジ配置誤差が許容範囲内になるまでエッジ・フラグメントを張り出させ、あるいは凹ませることができる。
【0052】
別法としては、最適化モデルを用いて、補助形状などの任意の形状、任意のサイズ、および、タグを有する各エッジ・フラグメントから任意の距離のダミー形状を導入することができる。例えば、一実施形態では、ダミー形状は、ユーザ定義の任意の長さ、幅および距離を有するユーザ定義長方形である。次に、モデルベースOPCを用いて、タグを有するそれぞれのエッジ・フラグメントから、ダミー形状に対する許容可能な長さ、幅および距離を決定し、それによりエッジ配置誤差を小さくして許容範囲内に収めることができる。
【0053】
例えば、補助形状1210の一実施形態を図12に示す。既に考察した米国特許第5,242,770号に記載されているレベリング・バーとは異なり、補助形状は、ルール・ベース手法におけるような、パスから所定の距離に単純に位置付けされるものではない。代わりに、補助形状を位置付けする必要のあるエッジ・フラグメントに対してのみ、モデルベースOPCが選択的に適用され、シミュレーションの結果に基づいて補助形状の幅が決定される。補正する線幅の変化に対して、モデルを最適化することができる。例えば、汎用モデルベースOPC手法の場合におけるような、エッジ・フラグメントを張り出させ、あるいは凹ませる第1の試行に代わって、線幅変化に対して最適化されたモデルにより、補助形状を直接処理することができる。より複雑なIC設計では、補助形状の距離および幅は、隣接するエッジに応じて、エッジ・フラグメント毎に変化する。
【0054】
図11に戻る。タグ付けスクリプトのライン1111から1120は、殆どすべての種類のエッジ・フラグメントを、IC設計において隔離することができることを立証している。当然、その多くははるかに直接的であるが、任意の数の手法をタグ付けスクリプトに取り入れ、パス703の該当するエッジ・フラグメントを隔離することができる。さらに、構文の様々な個所を変更し、タグ付けスクリプトの1つまたは複数のラインを組み合わせることができる。
【0055】
タグ付けスクリプトのライン1121から1124において、パス706の端部のエッジ・フラグメントが隔離され、最適化モデルが適用されて、図12に示すようなハンマーヘッド1220および1230が追加される。例えば、最適化ハンマーヘッドモデルにはルール・ベース手法を用いることができ、線端エッジ・フラグメントを特定の量だけ単純にバイアスすることができる。より正確なモデルの場合、エッジ配置誤差を計算し、モデルベースOPCを適用する必要があるか否かを決定することもできる。ハンマーヘッドは、線の長さを意図した長さに近づけるために、線端プルバックを補償することを意図したものである。
【0056】
同様のタグ付けスクリプトを作成し、パス701、705および706の隔離エッジに、OPCを選択的に適用することもできる。図12に示すように、モデルベースOPCを用いることにより、補助形状1215および1225が得られる。また、隔離されていない、かつ、密にパックされていないエッジ・フラグメントに補助形状を適用することもできる。例えば、より複雑なIC設計では、密にパックされていない場合でも、隣接するエッジ配置と干渉するのに十分な近さに形状が接近することがある。
【0057】
同様に、コンタクト・パッド720および形状730内の、補正の必要が有ると思われるエッジ・フラグメントのみに、OPCを選択的に適用することができる。例えば、コンタクト・パッド720内の密にパックされ、かつ、隔離されたエッジ・フラグメントに、臨界寸法内の周辺エッジ・フラグメントの数に基づいてタグを付けることができる。形状730の場合は、コーナ・エッジ・フラグメントにタグを付けることができる。次に、ルール・ベースOPCまたはモデルベースOPC、あるいはそれら2つの組合せを、タグを有するエッジに適用することができる。例えば、図12に示すように、形状1250内のコーナ1251部分では、コーナ・エッジ・フラグメントが張り出されている。コーナ1251部分の歪みを補正するためには、所定の外向きバイアスで十分である。しかし、コーナ1252部分のエッジ・フラグメントは凹まされており、所定の外向きバイアスでは歪みが補正されるどころか、歪みがさらに大きくなり、図10の形状1030に示す接続性の遮断が拡大されることになる。この場合、コーナ1252にルール・ベース外向きバイアスが最初に適用されると、コーナ・エッジ・フラグメントに対するエッジ配置誤差を計算しても、ルール・ベースの失敗をカバーすることはできない。このような場合は、モデルベースOPCを限定的に応用することによってのみ、ルール・ベースの失敗を補正することができる。
【0058】
任意の数の代替タグ付けスクリプトが可能である。代替タグ付けスクリプトを用いて、IC設計すなわち領域におけるすべてのエッジ・フラグメントのエッジ配置誤差を計算し、エッジ配置誤差が許容可能範囲外であれば、そのエッジ・フラグメントにタグを付けることができる。タグを有するエッジ・フラグメントに対し、最適OPCを選択的に適用して、IC設計全体を許容範囲内に収めることができる。
【0059】
複数の層の形状をIC設計データに持たせることができる。異なる層に渡って重複する形状もエッジ配置歪みの原因になる。この場合、タグ付けスクリプトによって、層間で重複するエッジ・フラグメントを識別し、対応するOPCを適用することができる。
【0060】
また、タグ付けスクリプトを用いて、特に複雑な領域、あるいは、許容不可エッジ配置誤差を有するエッジを数多く含む領域を識別することもできる。ユーザが手動OPCを実行できるように、あるいは、フラグが立てられた領域全体に自動モデルベースOPCを適用できるように、これらの領域にフラグを立てることができる。
【0061】
さらに、タグ付けスクリプトを用いて、手動で入力された補正または補助形状、あるいは、既存の補正または補助形状を識別することもできる。例えば、エッジの線分および特性の特定シーケンスに基づいて線端上のハンマーヘッドを識別し、タグを付けることができる。この場合、タグを有するハンマーヘッドエッジ・フラグメントに対する自動OPCを不能にし、補正が重複しないようにすることができる。あるいは、既存の補正にタグを振って除去することにより、自動OPCを新規に開始させることができる。
【0062】
他のタグ付けスクリプトを用いて、継続タグとしてタグを保管することができる。例えば、タグ付けされた各エッジ・フラグメントの座標を、IC設計データの他の層中に保管することにより、他のEDAツールが迅速にその1組のタグ付きエッジ・フラグメントを識別することができる。例えば、図5に関連して考察したように、修正ICデータ560は、複数の層からなる継続タグ570を含むことができる。
【0063】
例えば、図13は、層0上の線端を示したものである。層1上のボックスは、層0上のどのエッジ・フラグメントに線端エッジ・フラグメントとしてのタグが付けられているかを示している。ユーザは、ICデータ表示装置の中で層0と層1を重畳させ、タグを有するエッジ・フラグメントをボックスでマークすることができる。
【0064】
タグを有するエッジ・フラグメントを便利に視覚化するだけでなく、継続タグを個別の層上に保管することにより、特定のタグを有するエッジ・フラグメントの数の計数を容易にしている。例えば、層上のタグの数を自動的に計数し、その数をヒストグラムで表すことができる。図14は、隔離−密エッジ・フラグメントおよび線端エッジ・フラグメントに対するヒストグラムの一実施形態を示したものである。例えば、このヒストグラムを用いて、特定の種類のエッジ・フラグメントの数の関数として、IC設計に要するOPC処理時間を予測することができる。
【0065】
図15は、コンピュータ・システムの広範囲に渡るカテゴリを表すことを意図したものである。図15では、プロセッサ1510は、1つまたは複数のマイクロプロセッサを含んでいる。プロセッサ1510は、高速バス1570で一時記憶装置1560に結合されている。高速バス1570は、バス・ブリッジ1580で入出力バス1550に結合されている。固定記憶装置1520、および、表示装置1540、キーボード1530およびマウス1590を含む入出力装置も同様に入出力バス1550に結合されている。特定の実施形態では、1つまたは複数の構成要素を取り除き、あるいは結合し、および/または再配列することができる。それだけでは無いが、他のバスを結合する他のバス・ブリッジ、1つまたは複数のディスク駆動装置、ネットワーク・インタフェース、追加音声/ビデオ・インタフェース、追加記憶装置、追加処理装置等を始めとするいくつかの追加構成要素をバス1550および/または1570のいずれかに結合することもできる。
【0066】
図5に示すようなEDAツール510は、例えば、固定記憶装置1520あるいは一時記憶装置1560に記憶されている一連の機械可読命令すなわちファンクション・コールとして、プロセッサ1510によって実行することができる。あるいは、図16に示すように、EDAツール510の機能を表す機械実行可能命令1620を、CD ROM、ディジタル・ビデオ・ディスクすなわち汎用ディスク(DVD)、あるいは、フロッピ・ディスクまたはテープのよな磁気記憶媒体など、流通記憶媒体1610に記憶させることもできる。ローカルすなわち遠隔サーバから上記命令をダウンロードすることもできる。
【0067】
別法としては、本発明は、任意の数の追加ハードウェア・マシン内で実施することができる。例えば、EDAツール510の機能の一部またはすべてを、1つまたは複数のASIC(特定用途向け集積回路)に付与し、個別構成要素として、あるいは、1つまたは複数の他の構成要素と組み合わせて、図15に示すシステム1500に挿入することができる。
【0068】
以上、ICを設計するための改善された方法および装置について説明したが、前述の説明を読んだ当分野の技術者には、本発明の様々な変更および改変について理解されよう。説明用として示し、記述した特定実施形態が、本発明を制限するものとして考慮されることを意図したものではないことを理解されなければならない。したがって、特定実施形態の詳細の参照は、特許請求の範囲を制限することを意図したものではない。
【図面の簡単な説明】
【図1A】非補償IC設計を示す図である。
【図1B】非補償IC設計を示す他の図である。
【図2A】補償IC設計を示す図である。
【図2B】補償IC設計を示す他の図である。
【図3A】隔離され、密にパックされたエッジによる線幅変化を示す図である。
【図3B】隔離され、密にパックされたエッジによる線幅変化を示す他の図である。
【図4】線幅変化を小さくするための補助形状を示す図である。
【図5】本発明による一実施形態のための環境を示す図である。
【図6】本発明による一実施形態のタグ付けプロセスを示す図である。
【図7】IC設計の一実施形態におけるいくつかの形状を示す図である。
【図8】フラグメント化された形状の一実施形態を示す図である。
【図9】タグ付けスクリプトを実行するためのプロセスの一実施形態を示す図である。
【図10】シリコン中の非補償形状の一実施形態を示す図である。
【図11】タグ付けスクリプト一実施形態を示す図である。
【図12】補償形状の一実施形態を示す図である。
【図13】継続タグの一実施形態を示す図である。
【図14】タグのヒストグラムの一実施形態を示す図である。
【図15】コンピュータ・システムの一実施形態を示す図である。
【図16】機械可読記憶媒体の一実施形態を示す図である。
Claims (27)
- 複数のエッジ・フラグメントに分割された多角形によって表される部分を含むICレイアウトに基づいてICを設計する方法であって、
前記方法は、
(a)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントが複数の所定のタグ識別子のうちの1以上のタグ識別子によって記述される幾何学特性を有しているか否かを決定するステップであって、前記複数の所定のタグ識別子のそれぞれはエッジ・フラグメントの幾何学特性のセットを記述する、ステップと、
(b)ステップ(a)において当該エッジ・フラグメントの幾何学特性を記述する1以上のタグ識別子が当該エッジ・フラグメントに対して決定された場合には、ステップ(a)において決定された当該エッジ・フラグメントの幾何学特性を記述する前記1以上のタグ識別子を用いて、当該エッジ・フラグメントをタグ付けすることにより、当該エッジ・フラグメントを前記1以上のタグ識別子に関連付けるステップと、
(c)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントに関連付けられた前記1以上のタグ識別子に基づいて、
(i)OPCが当該エッジ・フラグメントに対して実行されるべきか否かと、
(ii)ステップ(c)(i)においてOPCが当該エッジ・フラグメントに対して実行されるべきであると決定された場合には、どのタイプのOPCが当該エッジ・フラグメントに対して実行されるべきかと
を決定するステップと、
(d)ステップ(c)(i)および(ii)における決定に従ってOPCを実行するステップと
を包含する、方法。 - タグ付けされたエッジ・フラグメントに対して視覚マーカを生成するステップをさらに包含する、請求項1に記載の方法。
- タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、ヒストグラムを生成するステップをさらに包含する、請求項1に記載の方法。
- 前記ヒストグラムに基づいて、OPC処理時間を推定するステップをさらに包含する、請求項3に記載の方法。
- タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、前記ICレイアウトにおいて存在する補正を識別するステップをさらに包含する、請求項1に記載の方法。
- 前記存在する補正は、手動で入力された補正を含む、請求項5に記載の方法。
- 前記存在する補正は、ラインの端部におけるハンマーの頭を含む、請求項5に記載の方法。
- 前記複数のタグ識別子の中のタグ識別子は、垂直エッジ・フラグメント、水平エッジ・フラグメント、線端エッジ・フラグメント、線端エッジ・フラグメントに隣接するエッジ・フラグメント、凹コーナのエッジ・フラグメント、凸コーナのエッジ・フラグメント、凹コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、凸コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、所定のエッジ配置誤差の許容範囲内のエッジ・フラグメント、隣接するエッジ・フラグメントと所定の角度を形成するエッジ・フラグメント、所定の領域のループを含むエッジ・フラグメント、所定の層上のエッジ・フラグメント、所定の長さのエッジ・フラグメント、前記ICレイアウトの形状の周囲を区画する正ループを含むエッジ・フラグメント、形状内の開口部を区画する負ループを含むエッジ・フラグメントおよび周囲のエッジ・フラグメントと所定の関係を有するエッジ・フラグメントのうちの少なくとも1つを記述する、請求項1に記載の方法。
- ステップ(c)(ii)におけるOPCのタイプは、モデルベースO PCとルールベースOPCとモデルおよびルールベースOPCとからなる群から選択される、請求項1に記載の方法。
- 複数のエッジ・フラグメントに分割された多角形によって表される部分を含むICレイアウトに基づいてICを設計するプログラムを記録した機械可読媒体であって、
前記プログラムは、処理を機械に実行させるように動作可能であり、
前記処理は、
(a)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントが複数の所定のタグ識別子のうちの1以上のタグ識別子によって記述される幾何学特性を有しているか否かを決定するステップであって、前記複数の所定のタグ識別子のそれぞれはエッジ・フラグメントの幾何学特性のセットを記述する、ステップと、
(b)ステップ(a)において当該エッジ・フラグメントの幾何学特性を記述する1以上のタグ識別子が当該エッジ・フラグメントに対して決定された場合には、ステップ(a)において決定された当該エッジ・フラグメントの幾何学特性を記述する前記1以上のタグ識別子を用いて、当該エッジ・フラグメントをタグ付けすることにより、当該エッジ・フラグメントを前記1以上のタグ識別子に関連付けるステップと、
(c)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントに関連付けられた前記1以上のタグ識別子に基づいて、
(i)OPCが当該エッジ・フラグメントに対して実行されるべきか否かと、
(ii)ステップ(c)(i)においてOPCが当該エッジ・フラグメントに対して実行されるべきであると決定された場合には、どのタイプのOPCが当該エッジ・フラグメントに対して実行されるべきかと
を決定するステップと、
(d)ステップ(c)(i)および(ii)における決定に従ってOPCを実行するステップと
を包含する、機械可読媒体。 - 前記処理は、タグ付けされたエッジ・フラグメントに対して視覚マーカを生成するステップをさらに包含する、請求項10に記載の機械可読媒体。
- 前記処理は、タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、ヒストグラムを生成するステップをさらに包含する、請求項10に記載の機械可読媒体。
- 前記処理は、前記ヒストグラムに基づいて、OPC処理時間を推定するステップをさらに包含する、請求項12に記載の機械可読媒体。
- 前記処理は、タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、前記ICレイアウトにおいて存在する補正を識別するステップをさらに包含する、請求項10に記載の機械可読媒体。
- 前記存在する補正は、手動で入力された補正を含む、請求項14に記載の機械可読媒体。
- 前記存在する補正は、ラインの端部におけるハンマーの頭を含む、請求項14に記載の機械可読媒体。
- 前記複数のタグ識別子の中のタグ識別子は、垂直エッジ・フラグメント、水平エッジ・フラグメント、線端エッジ・フラグメント、線端エッジ・フラグメントに隣接するエッジ・フラグメント、凹コーナのエッジ・フラグメント、凸コーナのエッジ・フラグメント、凹コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、凸コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、所定のエッジ配置誤差の許容範囲内のエッジ・フラグメント、隣接するエッジ・フラグメントと所定の角度を形成するエッジ・フラグメント、所定の領域のループを含むエッジ・フラグメント、所定の層上のエッジ・フラグメント、所定の長さのエッジ・フラグメント、前記ICレイアウトの形状の周囲を区画する正ループを含むエッジ・フラグメント、形状内の開口部を区画する負ループを含むエッジ・フラグメントおよび周囲のエッジ・フラグメントと所定の関 係を有するエッジ・フラグメントのうちの少なくとも1つを記述する、請求項10に記載の機械可読媒体。
- ステップ(c)(ii)におけるOPCのタイプは、モデルベースOPCとルールベースOPCとモデルおよびルールベースOPCとからなる群から選択される、請求項10に記載の機械可読媒体。
- 複数のエッジ・フラグメントに分割された多角形によって表される部分を含むICレイアウトに基づいてICを設計する装置であって、
前記装置は、処理を実行するように設計された特定用途向け集積回路(ASIC)を含み、
前記処理は、
(a)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントが複数の所定のタグ識別子のうちの1以上のタグ識別子によって記述される幾何学特性を有しているか否かを決定するステップであって、前記複数の所定のタグ識別子のそれぞれはエッジ・フラグメントの幾何学特性のセットを記述する、ステップと、
(b)ステップ(a)において当該エッジ・フラグメントの幾何学特性を記述する1以上のタグ識別子が当該エッジ・フラグメントに対して決定された場合には、ステップ(a)において決定された当該エッジ・フラグメントの幾何学特性を記述する前記1以上のタグ識別子を用いて、当該エッジ・フラグメントをタグ付けすることにより、当該エッジ・フラグメントを前記1以上のタグ識別子に関連付けるステップと、
(c)前記複数のエッジ・フラグメントの少なくとも1つに対して、当該エッジ・フラグメントに関連付けられた前記1以上のタグ識別子に基づいて、
(i)OPCが当該エッジ・フラグメントに対して実行されるべきか否かと、
(ii)ステップ(c)(i)においてOPCが当該エッジ・フラグメントに対して実行されるべきであると決定された場合には、どのタイプのOPCが当該エッジ・フラグメントに対して実行されるべきかと
を決定するステップと、
(d)ステップ(c)(i)および(ii)における決定に従ってOPCを実行するステップと
を包含する、装置。 - 前記処理は、タグ付けされたエッジ・フラグメントに対して視覚マーカを生成するステップをさらに包含する、請求項19に記載の装置。
- 前記処理は、タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、ヒストグラムを生成するステップをさらに包含する、請求項19に記載の装置。
- 前記処理は、前記ヒストグラムに基づいて、OPC処理時間を推定するステップをさらに包含する、請求項21に記載の装置。
- 前記処理は、タグ付けされたエッジ・フラグメントに関連付けられた1以上のタグ識別子に基づいて、前記ICレイアウトにおいて存在する補正を識別するステップをさらに包含する、請求項19に記載の装置。
- 前記存在する補正は、手動で入力された補正を含む、請求項23に記載の装置。
- 前記存在する補正は、ラインの端部におけるハンマーの頭を含む、請求項23に記載の装置。
- 前記複数のタグ識別子の中のタグ識別子は、垂直エッジ・フラグメント、水平エッジ・フラグメント、線端エッジ・フラグメント、線端エッジ・フラグメントに隣接するエッジ・フラグメント、凹コーナのエッジ・フラグメント、凸コーナのエッジ・フラグメント、凹コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、凸コーナのエッジ・フラグメントに隣接するエッジ・フラグメント、所定のエッジ配置誤差の許容範囲内のエッジ・フラグメント、隣接するエッジ・フラグメントと所定の角度を形成するエッジ・フラグメント、所定の領域のループを含むエッジ・フラグメント、所定 の層上のエッジ・フラグメント、所定の長さのエッジ・フラグメント、前記ICレイアウトの形状の周囲を区画する正ループを含むエッジ・フラグメント、形状内の開口部を区画する負ループを含むエッジ・フラグメントおよび周囲のエッジ・フラグメントと所定の関係を有するエッジ・フラグメントのうちの少なくとも1つを記述する、請求項19に記載の装置。
- ステップ(c)(ii)におけるOPCのタイプは、モデルベースOPCとルールベースOPCとモデルおよびルールベースOPCとからなる群から選択される、請求項19に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/302,557 | 1999-04-30 | ||
US09/302,557 US6249904B1 (en) | 1999-04-30 | 1999-04-30 | Method and apparatus for submicron IC design using edge fragment tagging to correct edge placement distortion |
PCT/US2000/006631 WO2000067076A1 (en) | 1999-04-30 | 2000-03-13 | Improved method and apparatus for submicron ic design using edge fragment tagging to correct edge placement distortion |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004119603A Division JP4104574B2 (ja) | 1999-04-30 | 2004-04-14 | エッジ・フラグメントのタグ付けを使用してエッジ配置歪みを補正するサブミクロンic設計のための改善された方法および装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002543471A JP2002543471A (ja) | 2002-12-17 |
JP3603027B2 JP3603027B2 (ja) | 2004-12-15 |
JP3603027B6 true JP3603027B6 (ja) | 2005-04-06 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4104574B2 (ja) | エッジ・フラグメントのタグ付けを使用してエッジ配置歪みを補正するサブミクロンic設計のための改善された方法および装置 | |
US7024655B2 (en) | Mixed-mode optical proximity correction | |
US7318214B1 (en) | System and method for reducing patterning variability in integrated circuit manufacturing through mask layout corrections | |
US7367009B2 (en) | Convergence technique for model-based optical and process correction | |
US6643616B1 (en) | Integrated device structure prediction based on model curvature | |
KR100473197B1 (ko) | 집적회로를 위한 위상 시프트 및 트림 마스크를 결정하는방법 및 장치 | |
US6560766B2 (en) | Method and apparatus for analyzing a layout using an instance-based representation | |
US7624369B2 (en) | Closed-loop design for manufacturability process | |
US6952818B2 (en) | Method and system for optical proximity correction | |
US6792592B2 (en) | Considering mask writer properties during the optical proximity correction process | |
US20050216877A1 (en) | Method and system for context-specific mask writing | |
US20090007053A1 (en) | Method of Manufacturing Mask for Semiconductor Device | |
US6544699B1 (en) | Method to improve accuracy of model-based optical proximity correction | |
US7562337B2 (en) | OPC verification using auto-windowed regions | |
US10877380B1 (en) | Using inverse lithography technology in a method of mask data preparation for generating integrated circuit | |
US8601406B2 (en) | Method of creating photo mask layout, computer readable recording medium storing programmed instructions for executing the method, and mask imaging system | |
TWI398906B (zh) | 用於半導體裝置之資料產生方法、及電子束曝光系統 | |
US20030061587A1 (en) | Method and apparatus for visualizing optical proximity correction process information and output | |
US8286107B2 (en) | Methods and systems for process compensation technique acceleration | |
JP2004302263A (ja) | マスクパターン補正方法およびフォトマスク | |
US20080250374A1 (en) | Method of Making an Integrated Circuit | |
US7251806B2 (en) | Model-based two-dimensional interpretation filtering | |
JP2004279950A (ja) | フォトマスクとその製造方法および半導体集積回路とその製造方法 | |
JP3603027B6 (ja) | エッジ・フラグメントのタグ付けを使用してエッジ配置歪みを補正するサブミクロンic設計のための改善された方法および装置 | |
JP2002107902A (ja) | レイアウトパターンデータ補正装置,補正方法及び半導体デバイスの製造方法並びに記録媒体 |