(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-15
(54)【発明の名称】電子設計自動化のためのインタラクティブコンパクションツール
(51)【国際特許分類】
G06F 30/39 20200101AFI20241108BHJP
G06F 30/27 20200101ALI20241108BHJP
H01L 21/82 20060101ALI20241108BHJP
G06F 119/18 20200101ALN20241108BHJP
【FI】
G06F30/39
G06F30/27
H01L21/82 C
G06F119:18
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024531451
(86)(22)【出願日】2022-11-27
(85)【翻訳文提出日】2024-07-23
(86)【国際出願番号】 US2022051028
(87)【国際公開番号】W WO2023097068
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-11-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-11-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】509142184
【氏名又は名称】ディー・ツー・エス・インコーポレイテッド
【氏名又は名称原語表記】D2S, INC.
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】オリオーダン、ドナルド
(72)【発明者】
【氏名】藤村 晶
(72)【発明者】
【氏名】ジャナック、ジョージ
【テーマコード(参考)】
5B146
5F064
【Fターム(参考)】
5B146AA22
5B146DC03
5B146DE12
5B146GC11
5F064EE05
5F064HH09
5F064HH10
5F064HH20
(57)【要約】
機械トレーニング済みネットワークによって生成された予測製造ウェハ輪郭に関する予測によって駆動される回路レイアウトの製造対応の編集のための方法。本方法は、設計編集に対応する予測される製造ウェハ輪郭が編集自体の数秒以内に提示される、インタラクティブ編集タイムフレームにおける高速編集ループを可能にする。いくつかの実施形態において、ウェハ輪郭は、機械トレーニング済みネットワークによって決定されるように、マスクOPC/ILT及びリソグラフィ効果を考慮に入れる。
【特許請求の範囲】
【請求項1】
集積回路(IC)設計レイアウトを編集するための方法であって
設計編集動作の第1のセットによって生成された設計レイアウトであって、複数のコンポーネントを含む設計レイアウトを受信することと、
機械トレーニング済みネットワークを使用して、各コンポーネントの複数の輪郭であって、前記コンポーネントの複数の予測製造形状を表す、各コンポーネントの複数の輪郭を生成することであって、各コンポーネントの前記複数の輪郭は、製造プロセスパラメータの第1のバリエーションに対する前記コンポーネントの第1の予測形状に対応する1つ以上の輪郭の第1のセットと、前記製造プロセスパラメータの第2のバリエーションに対する前記コンポーネントの第2の予測形状に対応する1つ以上の輪郭の第2のセットと、を含み、前記製造プロセスパラメータは前記設計レイアウトからICを製造するために使用される製造プロセスと関連付けられていることと、
設計編集動作の第2のセットを実行すべく、前記複数の輪郭形状を使用することと、
を含む方法。
【請求項2】
前記機械トレーニング済みネットワークを使用することは、前記設計レイアウトを使用することによって製造プロセスが実行された後の前記設計レイアウトを表す画像のセットを生成するために前記機械トレーニング済みネットワークを使用することを含み、全体的なプロセスにおける前記製造プロセスの部分は、前記設計レイアウトに基づいて半導体ダイを製造するために使用されるものである、請求項1に記載の方法。
【請求項3】
前記複数の輪郭を生成するために、前記機械トレーニング済みネットワークによって生成された前記画像のセットに対して画像分析を実行することを更に含む、請求項2に記載の方法。
【請求項4】
前記機械トレーニング済みネットワークがニューラルネットワークである、請求項1に記載の方法。
【請求項5】
前記機械トレーニング済みネットワークは、前記設計レイアウトに基づいて半導体ダイを製造するために使用される製造プロセスのデジタルツインとして機能し、前記製造プロセスパラメータは、前記製造プロセスに関連付けられたパラメータである、請求項1に記載の方法。
【請求項6】
前記設計レイアウトが第1の設計レイアウトであり、前記機械トレーニング済みネットワークが、前記第1の設計レイアウトに対して前記製造プロセスを実行した後に生成される設計のデジタルツインである第2の設計レイアウトを生成する、請求項5に記載の方法。
【請求項7】
前記製造プロセスがマスク作製プロセスであり、前記パラメータがマスク作製プロセス中に使用されるドーズ量に関連する、請求項1に記載の方法。
【請求項8】
前記製造プロセスがウェハシミュレーションプロセスであり、前記パラメータが、前記ウェハ生産プロセス中に使用される焦点深度及び露光強度のうちの少なくとも1つに関連する、請求項1に記載の方法。
【請求項9】
各コンポーネントの前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する第1の輪郭と、前記製造プロセスパラメータの最小バリエーションに関連する第2の輪郭とを含む、請求項1に記載の方法。
【請求項10】
各コンポーネントの前記複数の輪郭が、前記製造プロセスパラメータの公称バリエーションに関連する第3の輪郭を更に含む、請求項9に記載の方法。
【請求項11】
各コンポーネントの前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する第1の輪郭と、前記製造プロセスパラメータの公称バリエーションに関連する第2の輪郭とを含む、請求項1に記載の方法。
【請求項12】
各コンポーネントの前記複数の輪郭形状を前記コンポーネントと共に前記設計レイアウト上に重ね合わせる表示を生成することを更に含む、請求項1に記載の方法。
【請求項13】
前記第1のセット及び前記第2のセットの編集動作が、コンパクション動作である、請求項1に記載の方法。
【請求項14】
前記第1のセット及び前記第2のセットの編集動作が、ルーティング動作である、請求項1に記載の方法。
【請求項15】
前記予測形状が、ウェハシミュレーション動作後の前記コンポーネントの形状を含む、請求項1に記載の方法。
【請求項16】
前記予測形状が、前記設計レイアウトを使用してICが製造された後の前記コンポーネントの形状を含む、請求項1に記載の方法。
【請求項17】
複数のコンポーネントを含む集積回路(IC)設計レイアウトをコンパクションするための方法であって、
前記設計レイアウトに対して反復的に、
前記設計レイアウトをコンパクションするためにコンパクション動作を実行することと、
機械トレーニング済みネットワークを使用して、ルートの期待製造形状を生成することと、
前記期待製造形状を使用して、別のコンパクション動作が実行されるべきかどうかを評価することと、
を含む方法。
【請求項18】
前記ルートの前記期待製造形状が、前記設計レイアウトからICを生産するために一連の製造動作が実行された後の前記ルートの形状を表す、請求項17に記載の方法。
【請求項19】
前記期待製造形状を使用することが、生成された前記期待製造形状に基づいて前記設計レイアウトに対して設計ルールチェック(DRC)を実行することを含む、請求項17に記載の方法。
【請求項20】
前記機械トレーニング済みネットワークを使用することが、前記機械トレーニング済みネットワークを使用して、各ルートについてのマルチ輪郭表示であって、前記ルートについて予測製造形状の範囲を表し、前記IC設計レイアウトからICを生産するために使用される製造プロセスに関連付けられたパラメータの複数のバリエーションに対応する複数の輪郭を有する、マルチ輪郭表示を生成することを含む、請求項17に記載の方法。
【請求項21】
機械トレーニング済みネットワークを使用して前記マルチ輪郭表示を生成することを更に含み、前記複数の輪郭は、前記製造プロセスパラメータの第1のバリエーションに対応する輪郭の第1のセットと、前記製造プロセスパラメータの第2のバリエーションに対応する輪郭の第2のセットとを含む、請求項20に記載の方法。
【請求項22】
前記機械トレーニング済みネットワークを使用することが、前記機械トレーニング済みネットワークを使用して、前記設計レイアウトに基づいて半導体ダイを製造するために前記設計レイアウトを使用して製造プロセスが実行された後の前記設計レイアウトを表す複数のピクセルベースの画像を生成することを含み、前記方法は、各画像の前記ピクセルベースの定義から、各コンポーネントの複数の輪郭を生成することを更に含む、請求項20に記載の方法。
【請求項23】
前記機械トレーニング済みネットワークがニューラルネットワークである、請求項20に記載の方法。
【請求項24】
前記製造プロセスがマスク作製プロセスであり、前記パラメータがマスク作製プロセス中に使用されるドーズ量に関連する、請求項20に記載の方法。
【請求項25】
前記製造プロセスがウェハ生産プロセスであり、前記パラメータが、前記ウェハ生産プロセス中に使用される焦点深度及び露光強度のうちの1つに関連する、請求項20に記載の方法。
【請求項26】
前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する輪郭の第1のセットと、前記製造プロセスパラメータの最小バリエーションに関連する輪郭の第2のセットとを含む、請求項20に記載の方法。
【請求項27】
前記複数の輪郭が、前記製造プロセスパラメータの公称バリエーションに関連する輪郭の第3のセットを更に含む、請求項26に記載の方法。
【請求項28】
前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する輪郭の第1のセットと、前記製造プロセスパラメータの公称バリエーションに関連する輪郭の第2のセットとを含む、請求項17に記載の方法。
【請求項29】
集積回路(IC)設計レイアウトをコンパクションする方法であって、
グラフィカルユーザインターフェース(GUI)において、
前記IC設計レイアウトの少なくとも一部を表示するための第1の表示領域を提示することと、
前記IC設計レイアウトに適用されるべきコンパクションの量を指定するためにコンパクションパラメータ制御のセットを提示することと、
前記IC設計レイアウトの複数のコンポーネントの各々についてマルチ輪郭表示を指示する輪郭制御を提示することであって、各コンポーネントについての各マルチ輪郭表示は、前記コンポーネントについての予測製造形状の範囲を表し、前記IC設計レイアウトからICを生産するために使用される製造プロセスに関連付けられたパラメータの複数のバリエーションに対応する複数の輪郭を有する、提示することと、
を含む方法。
【請求項30】
前記第1の表示領域にマルチ輪郭表示を提示することを更に含む、請求項29に記載の方法。
【請求項31】
マルチ輪郭表示を提示することが、各コンポーネントの前記マルチ輪郭表示を前記コンポーネントの表示の上に重ね合わせることを含み、前記コンポーネントの前記表示は、(i)IC設計ツールによって生成され、(ii)前記製造プロセスに関連付けられたパラメータのバリエーションを考慮しない、請求項30に記載の方法。
【請求項32】
前記コンパクションパラメータ制御の前記セットを介して受信した修正されたコンパクションパラメータに応答して、前記IC設計レイアウトに対してコンパクション動作を実行することと、
前記コンパクション動作の結果を前記第1の表示領域に表示することと、
を更に含む、請求項31に記載の方法。
【請求項33】
前記コンポーネントが、前記IC設計レイアウト内のルートを含み、複数のマルチ輪郭表示が、前記ルートに基づいて前記IC上に生成されたワイヤの予測製造形状の複数の範囲を含む、請求項29に記載の方法。
【請求項34】
機械トレーニング済みネットワークを使用して前記マルチ輪郭表示を生成することを更に含み、前記複数の輪郭は、前記製造プロセスパラメータの第1のバリエーションに対応する輪郭の第1のセットと、前記製造プロセスパラメータの第2のバリエーションに対応する輪郭の第2のセットとを含む、請求項29に記載の方法。
【請求項35】
前記機械トレーニング済みネットワークを使用することが、前記機械トレーニング済みネットワークを使用して、前記設計レイアウトに基づいて半導体ダイを製造するために前記設計レイアウトを使用して製造プロセスが実行された後の前記設計レイアウトを表す複数のピクセルベースの画像を生成することを含み、前記方法は、各画像の前記ピクセルベースの定義から、各コンポーネントの複数の輪郭を生成することを更に含む、請求項29に記載の方法。
【請求項36】
前記機械トレーニング済みネットワークがニューラルネットワークである、請求項29に記載の方法。
【請求項37】
前記製造プロセスがマスク作製プロセスであり、前記パラメータがマスク作製プロセス中に使用されるドーズ量に関連する、請求項29に記載の方法。
【請求項38】
前記製造プロセスがウェハ生産プロセスであり、前記パラメータが、前記ウェハ生産プロセス中に使用される焦点深度及び露光強度のうちの1つに関連する、請求項29に記載の方法。
【請求項39】
前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する輪郭の第1のセットと、前記製造プロセスパラメータの最小バリエーションに関連する輪郭の第2のセットとを含む、請求項29に記載の方法。
【請求項40】
前記複数の輪郭が、前記製造プロセスパラメータの公称バリエーションに関連する輪郭の第3のセットを更に含む、請求項39に記載の方法。
【請求項41】
前記複数の輪郭が、前記製造プロセスパラメータの最大バリエーションに関連する輪郭の第1のセットと、前記製造プロセスパラメータの公称バリエーションに関連する輪郭の第2のセットとを含む、請求項29に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
電子工学において、設計ルールは、回路基板、半導体デバイス、及び集積回路(IC)設計者に課される幾何学的制約であり、それらの設計が適切に、確実に機能し、許容可能な歩留まりで生産され得ることを確実にする。生産のための設計ルールは、設計意図を実現するためのプロセスの能力に基づいてプロセスエンジニアによって開発される。電子設計自動化(EDA:Electronic Design Automation)は、設計者が設計ルールに違反しないことを保証するために広く使用されている。これは設計ルールチェック(DRC:Design Rule Checking)と呼ばれるプロセスである。DRCは、設計上の物理的検証サインオフ中の主要なステップであり、LVS(レイアウト対回路図)チェック、XORチェック、ERC(電気ルールチェック(electrical rule check))、及びアンテナチェックも含む。設計ルール及びDRCの重要性は、ナノスケールジオメトリを有するICに対して、及びより小さなジオメトリプロセスノードにおける高度なプロセスに対して最大となる。
【0002】
新しいプロセスジオメトリにおけるバリエーション、エッジ配置誤差、及び様々な他の問題は、チップメーカ及びEDAベンダに、チップが製造可能であることを保証するために、ますます複雑になり、時には相互接続された設計ルールの増大する量に直面することを強いる。同様に困難なことは、異なる回路レイアウト多角形が互いに影響を及ぼすことであり、これはルール数の大幅な増加につながっている。特に、より小さなジオメトリプロセス(例えば、現在28nm以下)では、多くのファブでも、歩留まりを改善するために、より制限されたルールの使用が主張される。
【0003】
ルールの数は、それらの全てを手動で追跡することがもはや不可能である点まで増加しており、極端な設計ルールの肥大化をもたらす。これは、必要とされるチェックの数を増加させ、デバッグをより困難にする。更に、いくつかのルールは、他のルールに依存しており、これは、いくつかのプロセスにおいては、いくつかのファウンドリにとって増大している問題である。
【0004】
汎用IC設計ルールは、ICレイアウト中にどの多角形が他の多角形に隣接するかが先験的に知られていないので、多種多様な設計に対応するために、本質的にいくぶん悲観的/保守的でなければならず、したがって、ルールは、ほぼ全ての可能性に対応することができなければならない。
【0005】
一方、標準セルの設計者(例えば、SRAM設計者)は、それらの設計の極端な規則性(例えば、各SRAMセルが、メモリアレイの周辺で同一のセル又はほぼ同一のダミーセルによって全方向に囲まれる)に起因して、従来、「DRC免除」を利用することができた。この規則性は、どの多角形が他の多角形に隣接するかが先験的に知られていることを意味し、したがって、ルールをいくらか「緩和」することができ、制限ルールによって許容されるものと比較して多角形のより密なパッキングを可能にする。セルをタイトにパッキングすることは、それが何度も繰り返されるときにより意味があり、したがって、これらの免除は、しばしば、設計者とファウンドリ/ファブとの間で交渉される。ビットセル(又は、標準セルライブラリのセルなど、高度に反復的に使用される任意の他のタイプのセル)面積の非常に小さな減少であっても、チップ密度の格別に大きな改善及びチップレベルでの面積減少をもたらすことができる。従来、他の設計面積においても、規則的に構造化された設計/ファブリックと共にDRC免除を使用して、実装密度の改善及び/又は製造歩留まりの改善をもたらす努力がなされてきた。ここで、設計ファブリックによって強制された規則性は、設計ルール制約のいくらかの緩和をもたらした。しかしながら、この手法は、設計ファブリックに課されるかなりの規則性を必要とし、したがって設計及びレイアウト技術者にとっての選択肢が減少するので、いくぶん柔軟性がない。
【0006】
今日のレイアウト及び歩留まりエンジニアが直面する更なる問題は、リソグラフィホットスポットの問題である。リソグラフィホットスポット(以下、「ホットスポット」)は、設計レイアウト内の特定のパターンの不十分な印刷適性に起因する致命的なピンチング(断線)又はブリッジング(短絡)エラーの影響を確率的に受けやすい設計内の位置である。ホットスポットを見つける1つの方法は、レイアウト上でリソグラフィシミュレーションを実行することである。しかし、リソグラフィシミュレーションは、フルチップ設計には計算コストが高すぎる。更に、より小さいジオメトリプロセスでは、レイアウトは、リソグラフィシミュレーションが実行され得る前に、多重パターニングのために着色され、OPC補正されなければならず、追加の計算費用がかかる。
【0007】
光近接効果補正は、回折又はプロセス効果による画像誤差を補償するために一般的に使用されるフォトリソグラフィ向上技法である。OPCの必要性は、主に半導体デバイスの製造において見られ、シリコンウェハ上のエッチングされた画像への処理後に、元の設計のエッジ配置の完全性を維持するための光の制限に起因する。これらの投影された画像は、設計されたものよりも狭い又は広い線幅などの不規則性を伴って現れ、結像に使用されるフォトマスク上のパターンを変更することによって補償することができる。丸みを帯びたコーナーなどの他の歪みは、光学結像ツールの解像度によって引き起こされ、補償することがより困難である。そのような歪みは、補正されない場合、製造されているものの電気的特性を著しく変化させる可能性がある。光近接効果補正は、エッジを移動させるか、又はフォトマスク上に書き込まれたパターンに余分な多角形を追加することによって、これらの誤差を補正する。これは、フィーチャ間の幅及び間隔に基づく事前計算されたルックアップテーブル(ルールベースOPCとして知られている)によって、又はコンパクトなモデルを使用して最終パターンを動的にシミュレートし、それによって、典型的にはセクションに分割されたマスクパターンの移動を駆動して最良の解を見つけること(これはモデルベースOPCとして知られている)によって駆動され得る。その目的は、設計者によって描かれた元のレイアウトを半導体ウェハ上に可能な限り再現することである。
【0008】
OPCの最も目に見える利点は、異なる環境の領域におけるコンタクト間に見られる面積差、異なる密度の領域におけるフィーチャ間に見られる線幅差(例えば、アレイの中心対エッジ、又はネスト化線対孤立線)、及び線端短縮(例えば、フィールド酸化物上のゲートオーバーラップ)を補正することである。これらは、SRAF(解像可能な線に隣接して配置されるサブ解像度アシストフィーチャ)などの解像度向上技術とともに、フィーチャサイズ調整と合わせて使用されてもよい。加えて、「ドッグイヤー」(セリフ又はハンマーヘッド)フィーチャが、設計において線端に生成されてもよい。OPCは、フォトマスク製造にコストの影響を及ぼし、それによって、可変成形ビーム(VSB:Variable-Shaped Beam)マスクライタの場合、マスク書込み時間は、マスク形状及びデータファイルの複雑さに関連し、同様に、より微細なエッジ制御がより小さいスポットサイズを必要とするので、欠陥についてのマスク検査はより長くかかる。マルチビームマスクライタの場合、書込み時間はマスク形状の複雑さとは無関係である。
【0009】
最先端技術では、OPC補正のためにILT(Inverse Lithography Technology、逆リソグラフィ技術)などの高度な技法が必要とされ、更に多くの計算費用が追加される(ILTツールは、CPU及びGPU集約的であることで悪名高い)。ILTは、曲線状又は区分的多角形マスク形状を生成してもよく、又はILTは、特にVSBマスクライタ上での書込みを対象とする軸平行直交形状を生成するために「マンハッタン化」されてもよい。
【0010】
候補レイアウト修正が期待される改善につながるかどうかを調査するために、リソグラフィシミュレーションが実行される前にマスクがOPC補正される。最も重要な層及びパターンに対して、OPCは曲線ILTの形態であり、これはより計算コストが高い。ターンアラウンドタイムは重要なビジネス成功要因であるので、リソグラフィで最も性能の悪い領域に対しては、より時間のかかる技法が利用されることが多い。OPC又はILTのプロセス中、これらは一般にホットスポット又はリソグラフィホットスポットと呼ばれるが、本出願では、いずれの用語も、ILTによって修正されたもの、更にはフルチップ曲線ILTによって修正されたものも含め、任意のOPCによって行うことができる最良のものの後でも残る問題領域を指すために使用される。今日のプロセスノードに対する任意の種類のOPC及びリソグラフィシミュレーションの計算コストは、ホットスポット修正候補ソリューションに関するフィードバックを得る際に大きな遅延が存在することを意味する。これらのコストは、真にインタラクティブな方法でそのような修正を実行する能力を排除している。
【発明の概要】
【0011】
いくつかの実施形態は、設計プロセス中に、設計コンポーネントの予測される製造輪郭を利用して設計決定を行うEDA方法を提供する。いくつかの実施形態では、予測される製造輪郭は、編集自体の短時間(例えば、数秒)内に設計編集に対応する複数の製造ウェハ輪郭を生成する機械トレーニング済み(例えば、トレーニング済みニューラルネットワーク)によって生成される。いくつかの実施形態における機械トレーニング済みネットワークの使用は、インタラクティブ編集タイムフレームにおける高速編集ループを可能にする。以下の説明において、機械トレーニング済みネットワークは、設計のためのマスクのセット、又はマスクのセットを使用することによって生産されるウェハ又はICダイを生産する製造プロセスの「デジタルツイン」と呼ばれる。機械トレーニング済みネットワークによって生成される予測される製造ウェハ輪郭は、マスクのセットによって生成される、又はICダイ/ウェハ上に生成される設計の「デジタルツイン」とも呼ばれる。
【0012】
いくつかの実施形態の方法は、処理時間を加速するために、事前計算技法を使用することによって、例えば、トレーニング済みニューラルネットワークを使用することによって、製造ルール適合性を予測する。いくつかの実施形態において、本方法は、設計者が自動又は手動で駆動されるコンパクション編集のために予測されるウェハ輪郭を迅速に見ることを可能にするコンパクタを実装するために使用される。これに加えて、又はこれに代えて、いくつかの実施形態の方法は、予測されるウェハ輪郭によって駆動される製造ルールによって駆動されるレイアウトの高速自動詳細ルーティングを可能にする。また、いくつかの実施形態におけるデジタルツイン推論ウェハ輪郭は、カラーリング、マスクOPC/ILT、及びリソグラフィ効果を考慮に入れる(例えば、トレーニング済みニューラルネットワークを使用することによって)。これらの方法は、各反復を迅速に評価することによってEDAツールの反復最適化を加速し、それらのそれぞれの設計段階の各々における製造考慮事項へのより大きな洞察を提供する。
【0013】
いくつかの実施形態は、可能性としてはニューラルネットワークによって行われる、事前計算された評価のためにデータをセットアップする問題に関連する異なるタスクを実行し、GPU加速とともに同時実行フローを使用してその結果を後処理することによって、インタラクティブで反復的なタイムフレームを達成するために高度の同時性を活用するEDAアーキテクチャを提供する。いくつかの実施形態のインタラクティブレイアウト設計方法の高度な適用は、いくつか例を挙げると、バスルートコンパクション及びインタラクティブリソグラフィホットスポット修復を含む。いくつかの実施形態の方法は、最良の曲線ILTソリューションであっても製造プロセス中に解決することができないレベルまで、設計レベルのホットスポットを低減する。
【0014】
いくつかの実施形態の方法は、インタラクティブレイアウト設計プロセスで使用され、1つ以上のEDAツールが、ユーザ主導型編集の結果を設計者に迅速に提示して、設計者から追加の編集又は命令を受信する。いくつかの実施形態のインタラクティブ設計アーキテクチャは、設計者が実行したレイアウト編集と、製造されたシリコンウォータ輪郭の後続のOPC/ILT対応の視覚化との間の遅延を大幅に最小化し、タイトなインタラクティブフィードバックループ及びホットスポット固定プロセスにおける大幅に改善された生産性を可能にする。
【0015】
また、インタラクティブカスタムIC設計の場合、いくつかの実施形態は、設計レイアウト時間中にDRC免除の概念及び適用を任意の設計シナリオに(例えば、任意のカスタムIC設計に)拡張する新しいEDA方法を提供する。これらの方法は、レイアウト設計者用の設計ルールを効果的に単純化し、結果として得られる設計歩留まり及び製造性を改善する。いくつかの実施形態のEDA方法は、レイアウトの柔軟性を損なうことなく、すなわち、レイアウト設計者に少数の所定のレイアウトテンプレートを使用することを強いることなく、カスタムIC設計に対するDRC免除を提供する。
【0016】
いくつかの実施形態はまた、設計者に「WYSIWYG」(What You See Is What You Get)パラダイムを提示するために、機械学習プロセス(参照することによって本明細書に援用される、米国特許出願第16/949,270号明細書に開示される深層ニューラルネットワークプロセスなど)を使用する。これらの実施形態は、期待される製造シリコン結果をリアルタイムで可視化しながら、インタラクティブ設計更新を可能にする。いくつかの実施形態は、設計者によって実行されるレイアウト編集と、製造シリコンウォータ輪郭の視覚化との間の遅延を最小限に抑え、DRC免除設計コンパクションにおけるタイトなフィードバックループを可能にするアーキテクチャを提供する。いくつかの実施形態の方法は、自動レイアウト設計及び/又は合成を含む他の形態のレイアウト設計において使用される。
【0017】
ニューラルネットワーキングは統計的技法であるため、本明細書に記載されるこれらの実施形態に対して、おそらくはニューラルネットワーキング手法による、ニューラルネットワークの使用は有用である。ニューラルネットワーキングは、出力中にいくつかの誤差を含み得るが、ニューラルネットワーキング技法のいくつかは、最悪の出力が極端に悪くならないようにして誤差を含む。推定目的のためにニューラルネットワーキング方法のみを使用する実施形態では、出力の統計的性質は、それらが実行するタスクにとって十分である。
【0018】
ニューラルネットワーキングベースの方法の非常に高速の実行時間は、従来数週間の計算を要し得るプロセスが、ここで、ほんの数秒で適度に正確に近似/推定されることを可能にする。これらの高速の実行時間は、特に、様々なカラーリング可能性のモンテカルロ解析、様々な近傍可能性のモンテカルロ解析、OPC/ILT、MPC、マスクシミュレーション、及びウェハシミュレーションなどの特に長い連鎖の構築的及びシミュレーションベースの処理を実行するために画像間変換のシーケンスを連鎖させるときに、完了するのに数週間又は数日かかることが多いシミュレーションベースの解析とは全く対照的である。ニューラルネットワーキングベースの方法は、それらの予測を改善するために様々なタイプのより複雑な分析(モンテカルロ解析など)を考慮するときに、高速の実行時間を更に提供する。これは、より複雑な分析を説明するために必要とされる時間が、ニューラルネットワークのトレーニング時間に完全に又はほとんど包含され得るためであり、これは、これらのネットワークがそれらの高速の実行時動作を継続することを可能にする。いくつかの実施形態はニューラルネットワークを使用するが、当業者は、他の実施形態が他のタイプの機械トレーニング済みネットワーク又はプロセスを使用することを理解するであろう。
【0019】
上記の「発明の概要」は、本発明のいくつかの実施形態の簡単な紹介として役立つことを意図している。それは、本明細書に開示される全ての発明の主題の紹介又は概要であることを意図したものではない。以下の「発明を実施するための形態」、及び「発明を実施するための形態」で参照される「図面」は、「発明の概要」で説明される実施形態だけでなく他の実施形態も更に説明する。したがって、本明細書によって説明される全ての実施形態を理解するためには、「発明の概要」、「発明を実施するための形態」、「図面」、及び「特許請求の範囲」を十分に考察する必要がある。更に、特許請求される主題は、「発明の概要」、「発明を実施するための形態」、及び「図面」における例示的な詳細によって限定されるものではない。
【0020】
本発明の新規な特徴を、添付の特許請求の範囲に記載する。しかしながら、説明の目的ために、本発明のいくつかの実施形態を以下の図に記載する。
【図面の簡単な説明】
【0021】
【
図1】インタラクティブICレイアウト編集ツールのユーザインターフェースの例を示す。
【
図2】いくつかの実施形態のインタラクティブ編集プロセスを概念的に示す。
【
図3】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図4】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図5】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図6】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図7】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図8】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図9】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図10】いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。
【
図11A】CAD(コンピュータ支援設計)データ入力から製造形状を推論するためのニューラルネットワークの使用を示す。
【
図11B】U-Netモデルアーキテクチャの例を示す。
【
図11C】ユーザ描画レイアウトを表すラスタ化された画像タイルから製造されたウェハ空間画像を予測するための、いくつかの実施形態における着想されたU-Netモデルアーキテクチャの使用を示す。
【
図11D】D型フリップフロップ(DFF)標準セル内の金属層のうちの1つに対する所望の印刷された金属に対応するラスタ化された画像の例を示す。
【
図11E】対応する製造出力(アセンブルされたタイル集合)の例を示す。
【
図11F】各々が異なる製造パラメータ(MP)に対応する異なるプロセスコーナー(PC)のための出力を生成するようにトレーニング済み複数のネットワークを示す。
【
図11G】再アセンブルされたタイルが3つの異なる一意のプロセス条件下でDFF設計の製造形状を表す画像を表す、推論された出力の一例を示す。
【
図11H】受信した入力設計サンプルを前提として出力サンプルを生成することができる全体的なシミュレーションのプロセスを示す。
【
図11I】これらの入力がマスク及びウェハプロセスシミュレーションステップに提供されるデータフロー図の一例を示す。
【
図12】
図2のプロセスのより詳細な表現であるプロセスを示す。
【
図13】いくつかの実施形態における計算動作に関する更なる詳細を示す。
【
図14】推論として知られる動作において、バイアスアップされたマスク形状を表す画像タイルを受信し、対応するシリコンウェハ輪郭を表す画像タイルを生成するニューラルネットワークの例を示す。
【
図15】ニューラルネットワークを活用することによって輪郭を生成するための動作の全てを組み込む全体的なプロセスの一例を示す。
【
図16】
図15のプロセスとはいくらか異なってサブ動作を分割するプロセスを示す。
【
図17】レイアウトエディタ、製造ソフトウェアサーバプロセス、及びニューラルネットワークソフトウェアサーバプロセスの動作及び通信を改善することによって、インタラクティブ編集プロセスのスループットタイムを大幅に改善する、新規なソフトウェアアーキテクチャの使用を示す。
【
図18】複数のソフトウェアサーバが同時に実行され、1つがプロセス条件の各組み合わせ専用である、1つのそのような実施形態を示す。
【
図19】1つのレイアウト編集サーバが複数の製造ソフトウェアプロセスサーバ及び単一のニューラルネットワーキングソフトウェアサーバとともに動作する実施形態を示す。
【
図20】1つのレイアウト編集サーバが1つの製造ソフトウェアプロセスサーバ及び複数のニューラルネットワーキングソフトウェアサーバとともに動作する別の実施形態を示す。
【
図21】1つのレイアウト編集サーバが複数の製造ソフトウェアプロセスサーバ及び1つのニューラルネットワーキングプロセスサーバとともに動作する別の実施形態を示し、ニューラルネットワークは、1つではなく複数の出力を、対象のプロセス条件の各々に対して1つずつ同時に生成する。
【
図22A】一度に複数の出力を生成する単一のニューラルネットワークを実行するニューラルネットワーキングソフトウェアサーバを示し、各出力は、対象となる異なるプロセス条件に対応する。
【
図22B】ユーザがどのモデルを使用するかを選択することを可能にするグラフィカルユーザインターフェースを示す。
【
図23】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図24】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図25】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図26】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図27】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図28】本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。
【
図29】いくつかの実施形態におけるインタラクティブコンパクションツールのグラフィカルユーザインターフェースを示す。
【
図30】ユーザが
図29のユーザインターフェースを介してインタラクティブコンパクション動作を要求したときにレイアウトエディタが実行するプロセスを示す。
【
図31】
図29のインタラクティブコンパクションツールの数回の使用と、それに続く、結果として生じる輪郭の数回の検査の後に生じるコンパクションされたバスルート設計を示す。
【
図32】最終的なコンパクションされた設計のための予測される輪郭を有する予測される製造設計を示す。
【
図34】いくつかの実施形態のレイアウトエディタの自動コンパクションツールによって自動コンパクションされる設計を示す。
【
図36】X及びY方向の両方において多角形間の6ナノメートルの空間を除去することによって、設計を手動でコンパクションするための単純な試みを通して生成される、コンパクションされた設計を示す。
【
図37】
図36の単純にコンパクションされた設計と同様であるが、
図36の設計における曲線DRC違反を有する予測される製造シリコン輪郭を示すコンパクションされた設計を示す。
【
図39】いくつかの実施形態の自動コンパクションツールのためのUIを示す。
【
図40】いくつかの実施形態の自動コンパクタが実行するプロセスを示す。
【
図41】
図34の設計を自動コンパクションするためにSHGOオプティマイザの1回の実行によって生成された自動コンパクションソリューションに対応する製造シリコン輪郭を、コスト関数の特定の定式化及び特定の初期探索空間とともに示す。
【
図42】DRC違反マーカ多角形の拡大図を提示する。
【
図43】
図34の設計を自動コンパクションするためにSHGOオプティマイザの1回の実行によって生成された別の自動コンパクションソリューションに対応する製造シリコン輪郭を示す。
【
図44】設計の歩留まり制限部分を手動で修正するために使用されるインタラクティブ編集プロセスを示す。
【
図45】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図46】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図47】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図48】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図49】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図50】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図51】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図52】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図53】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図54】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図55】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図56】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図57】歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
【
図58】いくつかの実施形態が、IC設計又はIC設計の一部の入力形状のためのマルチ輪郭出力形状を生成するように1つ以上のニューラルネットワークをトレーニングするためのトレーニングデータを生成するために使用するプロセスを示す。
【
図59】本発明のいくつかの実施形態が実装されるコンピュータシステムを概念的に示す。
【発明を実施するための形態】
【0022】
本発明の以下の詳細な説明では、本発明の多数の詳細事項、例、及び実施形態が記載され、説明される。しかしながら、本発明が記載された実施形態に限定されないこと、及び本発明が説明された特定の詳細事項及び例のいくつかを伴わずに実施され得ることは、当業者には明らかであろう。
【0023】
いくつかの実施形態は、ニューラルネットワークなどの機械トレーニング済みプロセスを通して回路レイアウトのために生成されるデジタルツインによって指定されるような製造ウェハ輪郭の知識によって駆動される回路レイアウト編集のためのシステム及び方法を提供する。そのようなシステム及び方法は、以下では、デジタルツインガイド式回路レイアウトシステム及び方法と呼ばれる。いくつかの実施形態では、これらのシステム及び方法は、インタラクティブ編集ツールにおいて使用されて、設計編集に対応する製造ウェハ輪郭が編集自体の数秒以内に提示されるインタラクティブ編集タイムフレームにおいて高速編集ループを提供する。いくつかの実施形態では、ウェハ輪郭は、マスクOPC/ILT及びリソグラフィ効果を考慮に入れる(例えば、これらの効果を考慮するためにトレーニングされたニューラルネットワークを使用することによって)。
【0024】
いくつかの実施形態では、機械トレーニング済みネットワーク又はプロセスは、設計決定を行うことを容易にするために、設計コンポーネントの複数の予測される製造輪郭を生成する。いくつかの実施形態において生成される異なる製造輪郭は、マスクバリエーションを説明するための異なるドーズ量、又はウェハ製造バリエーションに対する異なる焦点深度及び露光強度などの異なる製造プロセスバリエーションに対応する。以下の説明では、機械トレーニング済みネットワーク又はプロセスは、設計のためのマスクのセット、又はマスクのセットを使用することによって生成されるウェハ若しくはICダイを生成する製造プロセスの「デジタルツイン」と呼ばれる。機械トレーニング済みネットワークによって生成される予測される製造ウェハ輪郭は、マスクのセットによって生成される、又はICダイ/ウェハ上に生成される設計の「デジタルツイン」とも呼ばれる。
【0025】
いくつかの実施形態の設計システムのアーキテクチャは、GPU加速と共に同時実行フローを使用して、ニューラルネットワークのためのデータをセットアップする問題に関連する異なるタスクを実行し、その結果を後処理することによって、インタラクティブタイムフレームを達成するために高度の同時性を使用する。いくつかの実施形態のインタラクティブレイアウト設計方法の高度な適用は、いくつか例を挙げると、バスルートコンパクション及びインタラクティブリソグラフィホットスポット修復を含む。
【0026】
いくつかの実施形態は、デジタルツインガイド式のインタラクティブルーティング及び/又はコンパクション方法を提供する。いくつかの実施形態において、製造プロセスのデジタルツインは、製造後に現れる詳細なシリコン輪郭に関する情報を提供するために活用され、この情報は、その後、回路設計及びレイアウトの様々なファセットを導く。いくつかの例がインタラクティブレイアウト設計の文脈で以下に提示されるが、いくつかの実施形態のシステム及び方法は、レイアウト合成、自動配置、ルーティング、及びコンパクションなどを含む他の形式のレイアウト設計に等しく適用可能である。
【0027】
また、製造対応のデジタルツイン技術の深層学習ベースの実装に関して、いくつかの実施形態が以下に説明される。しかしながら、当業者は、いくつかの実施形態が深層学習ベースのデジタルツインに限定されず、むしろ、他の形態のデジタルツイン、例えば、浅層学習に基づくもの、ニューラルネットワークに限定されない他の計算手法、及び/又は他の形態の事前計算も包含することを理解するであろう。
【0028】
図1は、インタラクティブICレイアウト編集ツールのユーザインターフェース100の一例を示す。そのようなツールの商用例には、シノプシス社(Synopsys Inc.)製のカスタムコンパイラ(Custom Compiler)、及びケイデンス・デザイン・システムズ社(Cadence Design Systems Inc.)製のVirtuosoが含まれる。カスタム又はフルカスタムIC設計プロセスは、必要とされる機能のために特別に作成される固有のビルディングブロックを使用する。同じツールの多くは、セミカスタム又はASIC設計プロセスで使用されるカスタムIC設計プロセスで使用される。違いは、アセンブルされるビルディングブロックが、多くの場合、特定の能力を提供するためにカスタムビルドされることである。ICレイアウトエディタは、この種の設計プロセスにとって重要なツールである。
【0029】
これらのデバイスをアセンブルするために使用される方法は、開発されるIC又はブロックの固有の要件に適合するように異なることもできる。最先端設計の重要なコンポーネントは、上記のようなカスタムIC設計プロセス及びツールを使用して設計されることが多い。例としては、SRAMビットセル、標準セルライブラリのセル、及びアナログ/RF設計セルを挙げることができる。1つの使用モデルは、設計者がブロック、トランジスタなどを表す多角形又は多角形集合をレイアウト内に配置し、ワイヤを引いてそれらを互いに接続するインタラクティブ設計である。
【0030】
いくつかの実施形態のインタラクティブICレイアウト編集ツールでは、自動化も存在し、例えば、ローカルルーティングツールがルーティングの完了を助けることができる。とりわけ、これらのツールは、ユーザ設計が編集されるキャンバス領域、種々のプロセス層が編集及び/又は表示のために選択されることを可能にする層セレクタウィンドウ、並びに種々のレイアウト設計編集を実行するための種々のメニュー、ツールバー、及びバインドキーアクションを、典型的には幾何学的座標をグラフィカルに指定するためのマウス入力と併せて提示する。そのようなツールはまた、単一のセルの編集に限定されず、階層レイアウト(セル内に配置されたセル)の編集及びアセンブリも可能にする。
【0031】
これらのツールは、そのセルが最終的に使用されるコンテキストなしに、一度に単一のセルを編集するために使用されることが一般的である。また、これらのセルを使用して、セルが配置されている別のより大きなセルのコンテキストでセルを編集することも一般的である。これらの後者の形式の編集動作は、「その場編集」として知られており、この場合、編集者は、編集中のセルの内容だけでなく、周囲のコンテキスト(すなわち、編集中のセルの「上」又は横の階層のコンテキスト)も表示する。その場編集コンテキストでは、ユーザ及びツールは、編集されているセルを囲むコンテキストを認識しており、これは、特定の動作を非常に容易にすることができる。
【0032】
いくつかの実施形態では、ツール/ユーザは、周囲のコンテキストを伴わずに、単独でセルを編集してもよく、これは、本文書では、「コンテキストフリー」編集と称される。他の実施形態では、ツール/ユーザは、周囲コンテキストが利用可能であり得るその場編集パラダイムを使用して、セルを編集していてもよい。いくつかの実施形態は、コンテキストフリーパラダイムとその場編集パラダイムの両方をサポートする。編集中のセルをラスタ化するとき、その場編集パラダイムの使用によりコンテキストがすでに利用可能である場合、いくつかの実施形態におけるラスタ化プロセスは、編集中のセルだけでなく、周囲のコンテキストの一部又は全部も含むように拡張することができる。ラスタ化は、幾何学的/ベクトルグラフィックスフォーマット(形状)で記述された画像を取得し、それをラスタ画像(一緒に表示されると、形状を介して表された画像を作成する一連のピクセル、ドット、又はライン)に変換するプロセスである。拡張部分は、編集中の設計セルの輪郭に影響を及ぼす周囲コンテキストの領域のみを含むことができる。いくつかの実施形態では、編集中のセルから離れすぎている(したがって、その製造輪郭に影響を及ぼさない)周囲コンテキストの領域は、拡張部分から除外される。いくつかの実施形態では、リソグラフィ範囲寸法は、既知の固定量に設定することができ、又はユーザによって指定することができる。
【0033】
セルが編集ツール内でコンテキストフリーパラダイムで編集されているとき、コンテキストはセルに対して推測されてもよく、すなわち、セルが最終的に配置される環境の周囲コンテキストについてなされる特定の仮定が行われてもよい。例えば、メモリビットセルの場合、本方法は、編集中のセルが、おそらく同じ向き又は異なる向き(例えば、X又はYにおける鏡像)を有する類似のセルによって囲まれていると仮定することができる。標準セルライブラリを形成し、最終的に行に配置されルーティングされる標準セルの場合、本方法は、編集中のセルが、可能な有効な向きのいずれかで、それ自体の他のインスタンス、又は標準セルライブラリ内の他のセルのインスタンスによって囲まれていると仮定することができる。
【0034】
この場合、セルがラスタ化されるとき、それらの様々なコンテキストによって囲まれたセルのコピーも同時にラスタ化され、編集されているセルに対して異なる近傍を効果的に合成する。いくつかの実施形態はまた、これらの異なる近傍にわたって予測されるウェハ輪郭を組み合わせる(効果的に重ね合わせる)、すなわち、近傍誘発バリエーションを効果的に予測し、考慮に入れる。いくつかの実施形態において提示され、結果として得られる計算において使用される輪郭は、統計的に決定されるか、又は単に最も極端な可能性(最も大きい可能性のある「外側」輪郭及び最も小さい可能性のある「内側」輪郭)として取られる。内側/公称/輪郭についても、以下で更に詳細に説明する。
【0035】
説明を簡単にするために、以下で説明され、添付の図面によって示されるいくつかの例は、編集された設計が、上記のようなコンテキストの推論なしに、コンテキストフリー方式で編集されているかのように提示される。しかしながら、当業者であれば、本発明の実施形態は、これらの実施形態がコンテキストフリーパラダイム及びその場編集パラダイムに等しく適用可能であるため、その場編集パラダイムに拡張されることを理解するであろう。
【0036】
図2は、いくつかの実施形態のインタラクティブ編集プロセス200を概念的に示す。このインタラクティブプロセスは、設計者がインタラクティブ設計ツールを介して見られ、生成され、及び/又は編集される設計の品質を評価することを可能にするために、設計要素輪郭に関する製造対応の予測を設計者に提供する。示されるように、プロセス200は、3つの動作の1つ以上の反復を伴う。これらの動作は、(1)設計者が手動編集動作を実行すること(205において)、(2)インタラクティブツールが、製造後にシリコン上に現れるウェハ輪郭の表現の迅速な視覚化を提供すること(210において)、及び(3)設計者が編集に満足したかどうかを設計者が評価すること(215において)である。設計者が満足した場合、プロセスは終了する。そうでない場合、プロセスは、設計者が別の手動編集を実行するために205に戻り、その後、集積回路が製造されると、予測されるウェハ輪郭の別の迅速な視覚化表現が続く。
【0037】
いくつかの実施形態では、プロセス200は、インタラクティブDRC免除使用モデルを採用するインタラクティブ設計ツールによって使用されて、設計者が205で様々な手動編集を行うことを可能にする。また、いくつかの実施形態では、手動編集は、いくつかの自動化ツール動作を用いて促進される。加えて、いくつかの実施形態における迅速な視覚化表現は、手動編集動作の数秒以内に生成され、ユーザが輪郭情報を迅速に同化し、後続の輪郭駆動型編集をリアルタイムで行うことを可能にする。
【0038】
いくつかの実施形態における視覚化表現は、OPC/ILTマスク補正及びリソグラフィ効果を小さなプロセスジオメトリで考慮に入れることによって、シリコンが製造された後にシリコンを正確に表すことを意図している。このような視覚化によって、ユーザは、輪郭を視覚的に検査し、観察された輪郭に応じて、いくつかの形状を互いに近づけたり離したりするなど、次の編集動作を行うことを決定することができる。シリコンウェハ輪郭が十分に迅速に決定されレンダリングされない場合、インタラクティブ使用モデルパラダイムは失敗し、スループットが低下する。生産性が低下した結果、最終的なレイアウトが最適になる可能性は低い。
【0039】
図3~
図10は、いくつかの実施形態のインタラクティブ設計ツールによって提供されるインタラクティブ設計プロセスを示す。このプロセスは、設計者のツールとのインタラクションの様々な段階を提示する様々なユーザインターフェース段階として提示される。
図3は、金属層1上のDフリップフロップ(DFF)標準セル設計302のためのいくつかのIC設計コンポーネントを表示するものとして、インタラクティブ設計ツールのユーザインターフェース100を示す。これらのコンポーネントは、セル302の上部及び底部における長い水平電力レール315とともに、いくつかのマンハッタンルート(例えば、E字形ルート305、F字形ルート310など)を含む。
【0040】
図4は、ダブルパターニング技法(DPT)を使用して2つのカラーマスクに分離された後の設計302を示す。2つのカラーマスクは、赤色マスクコンポーネント405及び青色マスクコンポーネント410である。これらのカラーマスクは、異なるグレーの陰影で図に示され、異なる点描パターンを使用し、一方は赤色マスクに対して左から右へのクロスハッチングを有し、他方は青色マスクに対して右から左へのクロスハッチングを有する。
【0041】
ウェハ層を複数のマスク層に分離するこのプロセスは、一般に「カラーリング」と呼ばれる。様々な金属形状は、フィーチャ密度を高めるために2つのカラーマスクに分離され、これは、フィーチャ密度を高めるためのフォトリソグラフィのために開発されたICを製造するための技術のクラスであるマルチプルパターニングとして知られるプロセスである。今日、10nm及び7nmノード半導体プロセス及びそれを超えるものには、複数のパターニングが必要である。前提は、単一のリソグラフィ露光が十分な解像度を提供するのに十分でない場合があるということである。したがって、追加の露光が必要になるか、さもなければ、エッチングされたフィーチャ側壁を使用して(スペーサを使用して)パターンを位置決めすることが必要になる。
【0042】
設計ルールを押し通そうとするユーザは、とりわけ、形状の製造性、上下の層上の形状に接続する能力を維持しながら、これらの形状を互いに近づけようとする。本発明のいくつかの実施形態の恩恵がなければ、標準的な制限された設計ルールは、通常、ユーザを悲観的なスペーシングルールを採用するように制約する。しかしながら、いくつかの実施形態のDRC免除特徴によって、ユーザは、悲観さの一部を除去し、制限された設計ルールによって許容される最小値未満に間隔をコンパクションすることができる。
【0043】
図5は、いくつかの実施形態のインタラクティブ設計ツールの検証ツール500の選択を示す。このツールは、設計者が1つ以上の半導体層を選択し、プロセスバリエーションにわたって製造されたシリコン形状の輪郭の視覚化を提示するようにツールに指示することを可能にする。この例では、設計者は、メタル1の2つのカラーマスク520を選択し、UIコントロール550(例えば、UIボタン)を選択する(例えば、クリックする)ことによって視覚化を提示するようにツールに指示している。
【0044】
図6は、設計302が製造された後にどのように見えるかの予測を表す予測設計602を示す。以下では、このような設計を予測製造設計と呼ぶ。いくつかの実施形態におけるインタラクティブ設計ツールは、EDA設計を入力として取り、入力設計の予測形状を表す予測製造設計を出力として生成するようにトレーニングされた機械トレーニング済みネットワーク(例えば、ニューラルネットワーク)を使用することによって、この設計を生成する。機械トレーニング済みネットワークは、いくつかの実施形態では、ネットワークの機械トレーニング可能パラメータ(例えば、ニューラルネットワークの重み値)をトレーニングするために、既知の出力設計(例えば、マスク作成又はマスクシミュレーション後の出力設計)とともに既知の入力設計(例えば、カラーリング後の入力設計)を使用する学習プロセスを通してトレーニングされる。
【0045】
示されるように、予測設計602は、
図5において選択された層の形状についてのウェハ輪郭の詳細な画像(プロセスバリエーションにわたる)を含む。インタラクティブ設計ツールは、この詳細な画像を生成するために機械トレーニング済みネットワーク(例えば、ニューラルネットワーク)を使用するので、この詳細な画像を非常に迅速に提示する。
図6では、生成されたシリコンウェハ輪郭は、元の設計レイアウトコンポーネントと共に設計上に重ね合わされ、その結果、それらは設計の完全なコンテキストで見ることができる。インタラクティブ編集が迅速に実行されることを可能にするために、この情報を迅速に(数秒以内に)ユーザに提示することは非常に有利である。
【0046】
以下で説明される他の図に示されるいくつかの他の例もまた、設計レイアウト内のそれらの対応するコンポーネントとともに、設計レイアウト上に重ねられた機械生成予測輪郭を示す。当業者は、他の実施形態が、それらの対応するレイアウトコンポーネントとともに設計レイアウト上に重ね合わされた予測輪郭を描画せず、むしろ予測輪郭形状のみを描画することを理解するであろう。
【0047】
図6及び以下に説明する他の例では、各コンポーネントの予測製造形状は、複数の輪郭で描かれている(すなわち、曲線セグメントの複数のセットを有する複数の形状として描かれている)。各コンポーネントの各輪郭は、特定の製造プロセスバリエーションに対するそのコンポーネントの予測される形状を表す。上述したように、いくつかの実施形態のインタラクティブ設計ツールは、ある範囲のプロセスバリエーションにわたって設計の選択された部分の各コンポーネントについてある範囲の予測形状を生成するようにトレーニングされた機械トレーニング済みネットワーク(例えば、ニューラルネットワーク)を使用する。例えば、いくつかの実施形態では、インタラクティブ設計ツールは、設計者に、公称製造プロセスウェハ輪郭だけでなく、最大及び最小製造プロセスバリエーションを反映する外側(最大)及び内側(最小)輪郭に対応するものも提示する。
【0048】
この例では、2つのルーラー605及び610は、初期設計のサイズが、X方向に約1.7ミクロン(マイクロメートル)、Y方向に0.55ミクロン(マイクロメートル)であることを示す。
図7は、UI100のズームレベルの変化を示し、これは、設計者が、予測製造設計602の輪郭をより詳細に検査し、製造輪郭の幅及び製造輪郭間の間隔を決定することを可能にする測定ルーラーを挿入するために行うものである。
【0049】
図8は、ルーラー配置動作の結果の例を示す。ここで、ユーザは、ルーラー動作を介して、2つの特定の金属1のピース間の(製造後の)最大可能間隔を迅速に決定している。ルーラー805によって示されるように、この間隔は、内側ウェハカウンタ間で0.037901629ミクロン(マイクロメートル)、すなわち約38nmであると識別される。設計者はまた、例えば、矢印810によって示されるように外側の製造輪郭の間にルーラーを配置することによって、可能な限り最小の間隔を決定することを望む場合がある。
【0050】
設計者は、輪郭が正確であり、OPC/ILTマスク補正及び今日の小ジオメトリプロセスノードの製造(リソグラフィ)現実/非理想性を十分に反映しており、理想的には設計コンテキスト(同じ層上の隣接する形状)を考慮に入れるときに、例えばDRC免除設計シナリオにおいて、設計ルールを超えるようにいくつかの編集を実行することを決定することができる。例えば、設計者は、直線的な金属形状間の間隔を更に減少させ、対応して製造される輪郭を再計算/視覚化することを決定することができる。形状が互いにより近くに押されるにつれて、結果として生じる輪郭に対する影響が増大し、輪郭の形状及び間隔が著しく変化するが、これらの結果は、本発明のいくつかの実施形態の製造対応の設計パラダイムによって容易に決定及び視覚化することができる。
【0051】
要点を説明すると、設計をコンパクションしようとする極端で単純な最初の試みは、設計全体を対象として、設計全体を何らかの倍率で縮小することであり得る。
図9は、0.75倍で設計をスケーリングする単純な試みの結果を示す。この例では、第2の対のルーラー905及び910が配置されており(元のルーラー605及び610も保持されている)、収縮設計の寸法を示している。新しい設計は、X寸法が1.29ミクロン(以前の設計の1.7ミクロン(マイクロメートル)より小さい)であり、Y寸法が0.4ミクロン(マイクロメートル)(以前の設計の0.56ミクロン(マイクロメートル)より小さい)である。
【0052】
図10は、1つのプロセスコーナー(内側輪郭)における電力レールのピンチングを示す4つの円で囲まれた領域1002~1008を有する、単純に縮小された設計上のズームを示す。隣接する形状の対の外側輪郭間の距離は、ここでは妥当であり得るが、円で囲まれた領域は、これが、電力レール上の著しい金属ピンチという代償を払って得られたことを示し、これは、歩留まり及び/又は長期信頼性の問題につながる。
【0053】
設計者が、グローバル設計シュリンクなどの編集を実行した後、ほぼ瞬時にそのような輪郭を見ることができる場合、設計者は、迅速にシュリンクを取り消し、設計をより製造可能にするための他の手段を探すことができる。例えば、ユーザは、余分なマージンを提供するために電力レールに幅を加えることを選択することができる。別の例として、全ての近傍下でのその歩留まりをより扱いやすくするためにセルのサイズを拡大する選択を行うことができる。あるいは、創造的操作の後に、設計を縮小し、更に製造性を改善することが可能であり得る。そのような動作及び決定は、予測される製造輪郭を決定及び提示するためのフィードバックループが十分に迅速である場合、例えば、5秒以内又はそれ未満である場合にのみ、インタラクティブに実行され得る。
【0054】
いくつかの実施形態は、参照により本明細書に援用される米国特許出願第16/949,270号明細書に記載されているニューラルネットワークモデルを使用する。これらのモデルにより、ユーザが編集したレイアウト設計を表す画像を入力として提示することができ、結果として得られるシリコンウェハ輪郭を出力として生成することができる。
図11Aは、CAD(コンピュータ支援設計)データ入力から製造形状を推論するためのニューラルネットワーク1100の使用を示す。このニューラルネットワークは、先に援用された特許出願に記載されている。ニューラルネットワークが最新のGPUアーキテクチャ上で実行されるとき、推論時間は、比較的大きい設計の場合であっても、インタラクティブタイムフレーム(すなわち、数秒以内)に低減され得る。いくつかの実施形態はニューラルネットワークを使用するが、他の実施形態は他の機械学習プロセスを使用して、設計が製造された後に結果として生じる最終的な形状に関する予測を定式化する。
【0055】
入力画像が大きすぎて一度に処理することができない場合、(重なり合う)画像タイルの集合に分割することができる。次いで、より小さいタイルの各々は、ネットワークによって処理されてもよく、出力タイルが集められ、最終的な出力画像に再アセンブルされてもよい。いくつかの実施形態では、元のU-Netモデルアーキテクチャによって着想されたニューラルネットワークアーキテクチャが使用される。
図11Bは、U-Netモデルアーキテクチャの例を示す。U-Netモデルアーキテクチャ1102において、各影付きボックス1104は、マルチチャネル特徴マップに対応する。チャネル数はボックスの上部に示されている。x-yサイズは、ボックスの左下エッジに提供される。白いボックス1106は、コピーされた特徴マップを表す。矢印は異なる動作を示す。最終層では、各64成分特徴ベクトルを所望の数のクラスにマッピングするために、1×1畳み込みが使用される。合計で、元のネットワークは23個の畳み込み層を有する。
【0056】
アーキテクチャは、本質的にエンコーダ-デコーダネットワークであり、符号化側(左側)及びボトルネック層(下)が入力画像の低次元符号化を学習するためにモデルを導く。次に、右側のデコーダネットワークは、画像のその低次元表現を復号して最大出力解像度に戻し、両側が協働して、トレーニング中に入力画像から出力画像への変換を学習する。コピー及びクロップ動作は、ネットワークのエンコーダ側からデコーダ側に追加情報を提供してx,y空間における情報の局所化を助けるスキップ接続として機能する。
【0057】
いくつかの実施形態では、ニューラルネットワークへの入力は、設計意図、すなわち、「理想的な」(しかし現実的ではない)製造プロセスを仮定して製造されることが意図されるものを表す入力画像(からのタイル)を表す。いくつかの実施形態では、出力画像は、現実的な製造プロセスによって実際に製造されるものを表し、鋭いコーナーは丸められ、ビア又は小さな正方形として描かれた金属形状は円又は楕円などとして製造される。半導体製造画像データでCNNをトレーニングした後、ネットワークモデル重みは、製造プロセス全体を反映する出力画像を生成するように調整される。
【0058】
図11Cは、ユーザ描画レイアウトを表すラスタ化された画像タイルから製造されたウェハ空間画像を予測するための、いくつかの実施形態における着想されたU-Netモデルアーキテクチャ1102の使用を示す。
図11Dは、D型フリップフロップ(DFF)標準セル内の金属層のうちの1つに対する所望の印刷された金属に対応するラスタ化された画像の例を示す。白いピクセルは、金属がシリコン基板上に製造されることが意図されている場所を示す。逆に、黒いピクセルは、金属が製造されることが意図されていない場所を示す。
【0059】
いくつかの実施形態では、元のU-Netアーキテクチャに対するいくつかの修正が、製造される半導体集積回路形状を反映する出力画像の作成を容易にするために実行された。一変形例は、U-Netの最終出力層を、シグモイド活性化関数の使用から線形活性化関数の使用に変更することを伴う。この修正により、U-Netは、0.0から1.0まで連続的に変化する浮動小数点値を含むグレースケールピクセル値を有する画像を生成することができ、これは半導体ウェハ露光画像をより反映している。
【0060】
いくつかの実施形態では、半導体製造用途のために、U-Netアーキテクチャが、上記で説明されるように使用されるが、フィルタの初期数を64から32に低減し、各最大プーリング動作後にフィルタ倍増を継続する。これは、半導体製造用途のための十分なレベルの精度を維持しながら、ネットワークのためのトレーニング可能なパラメータの全体数を大幅に低減する効果を有する。いくつかの実施形態では、異なる入力及び出力タイルサイズ、例えば、256×256(128×128の内側コアタイルを伴う)が使用される。別の実施形態では、ネットワークは、精度のために必要に応じて、層のうちのいくつかを除去することによって(より短い「U」深さ)、又は追加の層を追加することによって(より深い「U」)、更に変更され得る。別の実施形態では、各ダウンサンプリング(最大プーリング)又はアップサンプリング畳み込みの後に、フィルタの数を倍増させるのではなく、異なる比が使用され得る。一実施形態では、固定比(2.0など)を各層で使用することができ、代替実施形態では、異なる層固有の比を各層で使用することができる。例えば、比率は、「U」字形状の底部ボトルネック層より低くなり、底部ボトルネック層に近づくにつれて徐々に増加し、その後、ボトルネック層から離れて出力に向かって上昇するにつれて再び対応して減少してもよい。これらの比及び他のネットワークパラメータは、トレーニング段階中にハイパーパラメータ探索の一部として調整され得る。一実施形態において、調整は、異なる製造プロセスごとに、及び/又は製造プロセスにおける異なる層ごとに繰り返されてもよい。
【0061】
いくつかの実施形態では、ネットワークは、単一の入力及び単一の出力を有し、プロセス条件の単一のセットに対応する製造出力画像(すなわち、一意のプロセスコーナー)を表す。ネットワークへの入力は、CADデータに対応する画像(回路設計者によって描かれたCAD画像からのタイル)からなり、出力は、プロセス条件のその一意のセットに対してそれに応じて製造されたシリコンに対応する画像からなる。所望のDFF回路金属層を表す再アセンブルされたタイル集合の例が
図11Dに示されている。
【0062】
図11Eは、対応する製造出力(アセンブルされたタイル集合)の例を示す。図示されたように、各白いピクセルは、製造されたシリコンウェハ上に金属が存在する領域を示し、各黒いピクセルは、金属が存在しない領域を示す。しかしながら、ピクセル値は実際にはグレースケール化され、実数値であり、多角形の「エッジ」におけるいくつかのピクセル値は値0と1.0との間にある。この画像は、上述したように、単一入力、単一出力、完全にトレーニングされた深層畳み込みニューラルネットワークによって生成されたタイルを再アセンブルすることによって生成される。
【0063】
プロセスバリエーション、すなわちプロセス条件の複数のセットの場合に対処するために、いくつかの実施形態では、単一出力ネットワークの複数のコピー、すなわちプロセス条件(製造パラメータ値)の、プロセス条件(製造パラメータ値)の一意のセットごとに1つのネットワークが生成されてもよく、これらの単一出力ネットワークのそれぞれが並列にトレーニングされてもよい。
図11Fは、各々が異なる製造パラメータ(MP)に対応する異なるプロセスコーナー(PC)のための出力1110を生成するようにトレーニングされた複数のネットワーク(1108)を示す。トレーニング後、これらのネットワークの各々は、所与のCADデータ入力画像について、プロセス条件のその一意のセット、すなわち、その特定のプロセスコーナーについての出力を推論するために使用され得る。
【0064】
図11Gは、再アセンブルされたタイルが3つの異なる一意のプロセス条件下でDFF設計の製造形状を表す画像を表す、推論された出力の一例を示す。一見類似しているが、より詳細に検査すると、3つの画像が異なることが明らかである。例えば、異なる量の「コーナーの丸み付け」が各々において明らかである。一番上の画像1112の形状は、先に示された画像から描かれた直線CAD形状に「最も近い」。一番下の画像1116の形状は、おそらく最も遠く離れており、コーナーが丸くなり、形状が狭くなる程度がより大きい。中央の画像1114は、これら両極の間のどこかにある。この例では、簡潔にするために半導体製造プロセス条件の代表として3つの例のみを示したが、より包括的なセットは、マスク及びウェハ製造における異なる極端を表す追加のプロセスパラメータを含むことができる。
【0065】
いくつかの実施形態では、このプロセスコーナー毎の推論は、(例えば、単一のGPUを使用して)連続的に行われてもよく、他の実施形態では、このコーナー毎の推論は、(複数のGPUを使用して)並列に行われてもよい。好ましい実施形態では、異なるプロセスコーナーにおける出力は、
図22に示されるように、単一の多出力GPUによって推測されてもよい。
【0066】
ニューラルネットワークが出力画像を生成できるようにするために、ネットワークは、最初にトレーニングされなければならない。トレーニングは、ネットワークを入力/出力画像サンプルの大きな集合にさらすことによって実行され、各サンプルは、入力画像(IC設計の一部を反映する)と、1つ以上の出力画像(その入力が与えられた場合に応答して製造されるものを反映する)とを含む。サンプルを得るために、いくつかの入力設計が選択又は生成され得る。対応する出力画像は、数値計算を含む詳細なシミュレーションのプロセスを介して入力設計から生成され得る。各入力サンプルに対して、公称プロセス条件を反映する単一の出力サンプルを生成することができる。あるいは、異なる製造プロセス条件を反映して、複数の出力サンプルが生成され得る。入力及び出力トレーニングデータを生成する(すなわち、トレーニング入力データからトレーニング出力データを生成する)ための例示的プロセスは、
図11H、
図11I、及び
図58を参照して以下に説明される。
【0067】
異なる製造条件は、実質的に異なる製造ウェハ形状をもたらし得る。異なる可能性がある製造パラメータ(MP)は、カラーリングツール及びパラメータ、光源及びウェハプロセスモデルパラメータを含むOPT/ILTツール及びパラメータ、マスクプロセスモデルパラメータを含むMPCツール及びパラメータ、フラクチャリングツール及びパラメータ、マスク書き込みツール及びパラメータ、マスク処理パラメータ、並びに光源及びウェハ処理パラメータを含むウェハプロセス及びパラメータを含む。これらのパラメータはいくらか相互依存しており、集合的に高次元空間を形成するが、半導体製造の技術分野では、これをより低次元の空間に縮小しようと試みることが一般的である。マスク製造に関連するパラメータは、ドーズ量マージンバリエーションによって表される単一の次元に集合的に低減され、それらはウェハ製造に関連する2つの主要な次元、すなわち、ドーズ量マージンバリエーション及び焦点深度バリエーションに低減される。したがって、パラメータの元の(大きい)セットによって導入される総分散の大部分は、独立パラメータのこのはるかに小さいセットにおけるバリエーションによって表すことができる。
【0068】
図11Hは、いくつかの実施形態において、受信した入力設計トレーニングサンプルに対する出力トレーニングサンプルを生成するために使用されるシミュレーションプロセス1120を示す。いくつかの実施形態では、入力サンプルはIC設計全体であり、他の実施形態では、入力サンプルはいくつかの実施形態におけるIC設計の一部である。
【0069】
示されるように、プロセス1120は、(1122において)入力サンプルを複数のマスク層に分離するカラーリング動作を実行することによって開始する。カラーリング動作において、レチクル層上の入力サンプルの各特徴は、特定のマスク層への特徴の割り当てを反映するようにカラーリングされる。カラー化動作の後、プロセス1120は、(1124において)光近接効果補正(OPC)動作を実行して、マスク設計の1つ以上の可能なセットを生成し、マスク設計の各セットは入力サンプルに対応する。
【0070】
入力サンプルに対して、いくつかの実施形態における生成されたマスク設計は、バリエーションを伴う公称マスク設計を含む。いくつかの実施形態では、1124で生成された可能なマスク設計を組み合わせて、バリエーションを伴う公称マスク設計を作成することができる。従来、公称マスク設計は、1.0などの公称ドーズ量を使用し、0.5などの閾値でマスク設計の公称輪郭を計算して決定することができる。いくつかの実施形態では、マスク設計の公称輪郭は、いくつかの可能なマスク設計から計算される。いくつかの実施形態では、OPC動作は、ILT(逆リソグラフィ技術)動作を含む。いくつかの実施形態におけるILT動作は、理想的な曲線ILTパターンを生成し、一方、他の実施形態では、ILT動作は、曲線パターンを直線化する。
【0071】
プロセス1120は、(1126において)マスクシミュレーション動作を実行して、マスクデータ準備(MDP)を生成し、これは、マスクライタのためのマスク設計を準備する。いくつかの実施形態におけるこの動作は、データを台形、長方形、又は三角形に「分割」することを含む。この動作は、いくつかの実施形態では、マスクプロセス補正(MPC)を含み、これは、形状を幾何学的に修正し、及び/又は形状にドーズ量を割り当てて、マスク上の結果として得られる形状を所望の形状に近づける。MDPは、可能なマスク設計又はMPCの結果を入力として使用することができる。MPCは、フラクチャリング又は他のMDP動作の一部として実行され得る。
【0072】
マスクシミュレーションの後、プロセス1120は、(1128において)生成されたマスクを使用することから生じる可能性のあるICパターンを計算するウェハシミュレーション動作を実行する。いくつかの実施形態では、(1128における)ウェハシミュレーション動作は、計算されたマスク画像を使用するリソグラフィシミュレーションを含む。1128における動作は、複数のマスク画像から基板上のいくつかの可能なパターンを計算する。
【0073】
入力サンプルに対して、いくつかの実施形態における生成されたICパターンは、出力パターン又は出力パターンの範囲を表す(生成された形状が、プロセスバリエーション及び製造パラメータバリエーションを考慮するために複数の輪郭を有する場合)。入力サンプル及び生成された出力パターンは、いくつかの実施形態では、機械トレーニング済みニューラルネットワークをトレーニングするために使用される既知の出力を有する既知の入力を表す。トレーニングされると、ニューラルネットワークはその後、上述の方法でコンパクション動作を支援するためにコンパクション中に使用することができる。
【0074】
当業者であれば、プロセス1120は、図示されたものよりも多少多くても少なくてもよいことを理解するであろう。典型的には、マスクプロセスシミュレーションソフトウェアは、パラメータ化され得る、すなわち、マスクプロセス(例えば、露光線量バリエーション)パラメータ値のセットの下でマスクプロセスシミュレーションを実行するように指示され得る。同様に、ウェハシミュレーションソフトウェアは、パラメータ化することができ、すなわち、ウェハプロセス(例えば、露光線量バリエーション及び焦点深度バリエーション)パラメータ値のセットの下でウェハプロセスシミュレーションを実行するように指示され得る。
【0075】
図11Iは、入力トレーニングデータから出力トレーニングデータを生成するために使用されるシミュレーションプロセスへの入力として、製造パラメータにおけるこれらのプロセスバリエーション(例えば、露光線量バリエーション及び焦点深度バリエーション)を供給する例を示す。
図11Iに示されるプロセス1140は、露光線量バリエーションがマスクプロセスシミュレーション1126に提供され、露光線量及び焦点深度バリエーションがウェハプロセスシミュレーション1128に提供されることを除いて、
図11Hのプロセス1120と同様である。
【0076】
それに応答して、
図11Iにおけるマスクプロセスシミュレーション動作1126は、様々なマスクプロセスバリエーション(露光線量バリエーション)の下でのマスクの製造を表すいくつかの画像ファイルを生成することができる。いくつかの実施形態では、これは、公称値で生成されたマスク(露光線量パラメータが公称値)、及びいくつかの極端なコーナー条件(いくつかの「極端な」値、例えば、公称値の+/-10%などのいくつかのパーセンテージにおける露光線量パラメータ)を表すいくつかのマスクファイルである。真のマスク製造プロセスの極端を表すパーセンテージ値が指定されてもよく、又は他の限界、例えば、1シグマ、2シグマ、又は3シグマ値などの統計的限界を表すパーセンテージ値が指定されてもよい。
【0077】
こうして(シミュレーションによって決定されるように)生成された製造マスク画像の各々に対して、次いで、
図11Iのウェハプロセスシミュレーション動作1128を実行することができる。マスクプロセスシミュレーション動作に関して、ウェハプロセスシミュレーション動作1128は、様々なウェハプロセスバリエーション(焦点深度バリエーションに加えて露光線量バリエーション)の下でシリコンウェハ層を製造するためにマスクを使用することを表す複数のウェハ画像を生成する。いくつかの実施形態では、これは、公称値で生成されたウェハ表面(焦点深度が公称値であることに加えて、露光線量パラメータが公称値)、及びいくつかの極端なコーナー条件(いくつかの「極端な」値、例えば、公称値の+/-10%などのあるパーセンテージでの露光線量+焦点深度パラメータ)を表す、いくつかのウェハ画像ファイルである。真のウェハ製造プロセスの極端を表すパーセンテージ値が指定されてもよく、又は他の限界、例えば、1シグマ、2シグマ、又は3シグマ値などの統計的限界を表すパーセンテージ値が指定されてもよい。
【0078】
いくつかの実施形態では、マスク及びウェハ製造パラメータ分布は、同時分布として取られてもよく、パーセンテージ値は、1シグマ、2シグマ又は3シグマ同時確率限界を反映するように選択されてもよい。(確率空間上で定義されるランダム変数X、Y、...が与えられると、X、Y、...に対する同時確率分布は、X、Y、...の各々が、その変数に対して指定された値の任意の特定の範囲又は離散集合内に入る確率を与える確率分布である。2つのランダム変数のみの場合、これは二変量分布と呼ばれるが、当業者によく知られているように、概念は任意の数のランダム変数に一般化され、多変量分布を与える)。いくつかの実施形態では、独立パラメータがそれらの分布又は同時確率分布からランダムに引き出されるモンテカルロシミュレーションが行われてもよい。
【0079】
したがって、このようにして生成されたウェハ画像の集合は、極限又は+/-Nシグマ値における製造プロセスバリエーションを反映している。この画像の集合は、次いで、対応する+/-Nシグマ値でのプロセスパラメータを反映して、公称画像、(ピクセル単位の)最小画像、及び(ピクセル単位の)最大画像に更に集約され得る。プロセスは、Nの異なる値、例えばN=1,2,3に対して繰り返されてもよい。
【0080】
このプロセスの結果として、設計の一部を反映する任意の入力設計マスクが与えられると、シミュレーションプロセスは、公称プロセス値において、及び絶対限界値、又は1、2、若しくは3シグマなどの統計値を反映する極端な値において、製造プロセス全体を反映する複数の画像を生成する。これらの出力の各々は、公称、最小又は最大などのプロセス条件の「セット」と呼ばれる。
【0081】
異なる統計的ニューラルネットワークモデルが、次いで、様々なNシグマレベルにおける公称値、最小値、及び最大値に対応する画像セットにニューラルネットワークをさらすことによって、トレーニングされ得る。トレーニングの終わりに、これらのニューラルネットワークの各々は、統計的Nシグマ値を反映する、すなわち、対応するNシグマ値での製造における分散を反映する画像を生成することができる。
【0082】
図11Gは、タイトに制御されたプロセスのために生成された公称、最小、及び最大画像を示し、バリエーションは、公称条件と比較して比較的小さい。バリエーションは小さいが、0ではない。しかしながら、現代の小ジオメトリナノメートル時代プロセスのための対応する画像は、
図11Gに示されるものよりもはるかに大きい画像バリエーションを呈し、これらのより大きいバリエーションは、種々の回路設計用途の文脈において、本開示における付加的な図によって例証されるであろう。
【0083】
図11Iのプロセスは、長い時間を要する場合があるが、それはパラメータバリエーションが知られている製造プロセスごとに1回実行する必要があるだけである。しかしながら、製造プロセスで製造されることが意図された設計ごとに1回実行される必要はなく、したがって、モデルをトレーニングするためのデータを生成する計算コストは、多くの設計全体の中で償却され得る。
【0084】
ここで設計コンパクションに関する議論に戻ると、予測される形状を生成するプロセスを加速するために、いくつかの実施形態は、
図11Aに関して以前に説明されたものに加えて追加の動作を行う。これらの追加の動作が必要とされるのは、迅速なニューラルネットワーク推論プロセスを用いても、問題をセットアップし、データをニューラルネットワークに送り、その後、ニューラルネットワークによって生成された結果をレイアウトエディタで提示可能にするために後処理することに伴う様々なオーバーヘッドが、プロセス全体を大幅に長くするからである。いくつかの実施形態は、セットアップコストの除去又は大幅な低減に向けて調整され、米国特許出願第16/949,270号明細書に説明されるようなニューラルネットワークが、真にインタラクティブなタイムフレーム(秒以下)において、タイトなインタラクティブ(編集、視覚化、編集、視覚化...)ループにおいて、インタラクティブレイアウトエディタと併せて使用されることを可能にする。その結果、回路レイアウト設計者は、様々な異なる潜在的なレイアウト修正ソリューションを列挙し、非常に迅速に評価することができ、最良のソリューションを迅速に決定し、採用することが可能になる。
【0085】
図12は、
図2のプロセス200のより詳細な表現であるプロセス1200を示す。プロセス1200は、視覚化動作210が、(1)選択された設計部分内の各コンポーネントのシリコン輪郭を計算する計算動作1202と、(2)計算されたシリコン輪郭の視覚化を表示する提示動作1204との、2つのサブ動作から構成されることを示す。
【0086】
いくつかの実施形態では、レイアウトエディタ内でシリコンウェハ輪郭を提示可能にする形式でシリコンウェハ輪郭を計算するために、かなり余分な計算動作が必要とされる。
図13は、いくつかの実施形態における計算動作1202に関する更なる詳細を示す。この図は、輪郭を計算するために、レイアウトエディタからのデータが、ニューラルネットワークによる消費に適した形式になるように最初に準備されなければならず、ニューラルネットワークがその処理を実行しなければならず、次いでニューラルネットワークからの出力が、インタラクティブ層エディタツール内でのレンダリングに適した形式に後処理されなければならないことを示す。
【0087】
具体的には、
図13は、シリコン輪郭を計算することが、追加の(1)ニューラルネットワークによる消費に適した形式になるようにデータを前処理するバイアス動作1302と、それに続く、(2)選択された設計部分内の各コンポーネントのシリコン輪郭を生成するためにニューラルネットワークを使用する計算動作1304と、次いで、(3)インタラクティブ層エディタツール内でのレンダリングに適した形式になるようにデータを後処理するエッチダウン輪郭動作1306とを更に必要とすることを示す。いくつかの実施形態では、バイアスをかけることは、設計におけるコンポーネント形状のサイズを増加させ(例えば、形状を製造しやすくするために)、その一方で、エッチング動作は、設計におけるコンポーネント形状のサイズを削減する。
【0088】
高度な小ジオメトリプロセスノードにおける半導体製造の一部として、ICレイアウトデータベース内の形状は、マスク作成の前に、形状を拡大し、製造するのにより現実的なターゲットウェハ形状を生成する(90度のコーナーは実際には製造することが不可能であるため)コーナー丸めとともに、サイズアップ又は「バイアスアップ」動作において前処理される。ジオメトリ領域において実行されるバイアスアップ動作の例は、全ての多角形の全てのエッジを計算し、次いで、全てのエッジをある長さだけ増加させることである。サイジングは、通常、レチクルスケーリングが適用される前に、描画寸法(1X)で指定される。サイジングは、通常、「辺毎」に適用され、これは、多角形の各エッジが多角形の内部又は外部に向かって移動する距離を意味する。例えば、一辺当たり-0.125μmのサイジングが行われる一辺当たり1.25μmの正方形は、一辺当たり1.00μmまで正方形が縮小し、X及びY寸法の両方において合計-0.25μmの縮小となる。
【0089】
マスクは、対応するバイアスアップ形状のコーナーが丸められたバージョンに対して生成され、OPC(Optical Proximity Correction、光近接効果補正)として知られるプロセスを使用して、シリコンウェハ上への印刷において最良の忠実度を保証するように最適化される。高度なプロセスノードでは、最良の印刷適性を達成するために、ILT(逆リソグラフィ)として知られる高度な形態のOPCが実行されることが多い。ILTは時にマンハッタン化された形状を生成し、時に曲線形状を生成する。ILTは、(1)ウェハ製造、及びおそらくマスク製造も、所望のターゲット形状からシステム的にどのように逸脱し得るかを予測し、(2)それらを補償する、シミュレーション又はエミュレーションを含む、非常に計算的に要求の厳しいプロセスである。これらの動作後に最終的なシリコン輪郭を決定するために、いくつかの実施形態は、複数のパターニングが実行されるときに、これらのステップの全てを各カラーマスクの計算に反映する。例えば、
図4では、2つのカラーマスクが含まれる。
【0090】
いくつかの実施形態は、レイアウト編集ツール自体の中で評価されるバイアスアップ及びエッチングプロセスのための単純なモデルを採用し、例えば、ウェハエッチングプロセスは、いくつかの実施形態では、バイアスアップモデルを補完するバイアスダウン動作である一定エッチングとしてモデル化される。より複雑なモデルが必要とされる場合、いくつかの実施形態は、バイアスアップ及び/又はエッチングモデリングを実行するために、製造シミュレーションソフトウェア及び付随するハードウェアを使用する。他の実施形態は、極紫外線リソグラフィ(EUV)製造と共に使用される。これらの実施形態では、バイアス及びエッチングステップは省略されるか、又はパススルー動作として実施される。
【0091】
(1302において)バイアスアップされたマスク形状を生成した後、プロセス1300は(1304において)ウェハ上輪郭を計算する。前述したように、いくつかの実施形態では、これらのステップを実行するために製造計算ソフトウェアが使用されるが、そのようなソフトウェアは、計算コストがいくらか高く、GPUサポートがあってもインタラクティブ使用モデルにとって理想的ではない動作タイムラインを有する。したがって、いくつかの実施形態は、そのような計算ソフトウェアの代わりに機械トレーニング済みプロセス(例えば、機械トレーニング済みニューラルネットワーク又は他の機械トレーニング済みネットワーク)を使用して、ウェハ輪郭決定ステップを実行する。上述したように、米国特許出願第16/949,270号に記載されているようなトレーニング済みニューラルネットワークは、ニューラルネットワーク推論動作がGPUデバイス上で実行されるとき、輪郭決定ステップの性能を大幅に改善するために使用され得る。
【0092】
ニューラルネットワークがその処理を実行することを可能にするために、バイアスアップされたマスクデータは、その幾何学的形態(ジオメトリ領域におけるエッジ及びポイントアレイ)からラスタ領域に変換される、すなわち、ピクセル画像フォーマットに変換される必要がある。多角形のラスタ化は、特に電子設計自動化(EDA)産業、及び一般に多くの他の産業において広く使用されている幾何学的データ処理の基本的な技法である。EDAにおける多角形のセット(例えば、集積回路の物理的設計を画定する形状)は、通常、頂点のアレイとしてGDSII又はOASISフォーマットで表され、ラスタ化プロセスは、グリッド上のグレースケールピクセルによってそれらを表すことを求める。いくつかの実施形態は、スプラインなどの技法を使用する高分解能曲線フォーマットを使用する。いくつかのフォーマットは、データサイズ及び伝送時間を最小限にするために、圧縮された方法でピクセルドーズ量データを表す。異なる実施形態は、形状を表現するために異なる方法を使用するが、実施形態の多くは、可能な限りコンパクトでありながら、精度への影響が最も少ない伝送機構を使用する。
【0093】
ニューラルネットワークがラスタ領域のデータを受信すると、データを処理し、製造シリコン輪郭のラスタ画像を出力として生成する。ラスタ画像がニューラルネットワークモデルとともにGPUメモリに収まることを可能にするために、画像は、米国特許出願第16/949,270号明細書に概説されるように、より小さい画像タイルに分割される必要がある。
図14は、推論として知られる動作において、バイアスアップされたマスク形状を表す画像タイルを受信し、対応するシリコンウェハ輪郭を表す画像タイルを生成するニューラルネットワーク1400の例を示す。
【0094】
プロセス1300は、いくつかの実施形態では、後処理を実行して、ニューラルネットワークによって生成された(推測された)出力タイルを、製造された設計の最終的なフルサイズのラスタ画像にステッチする。いくつかの実施形態では、プロセス1300は、ラスタ画像を、ラスタ領域で動作しないレイアウト編集ツールでのレンダリングに適した幾何学的画像に変換するために、追加の後処理動作も実行する。後処理のこの最後の形態は、「輪郭形成」として知られており、TrueMask(登録商標)DSなどの製造用コンピュータソフトウェア及び/又はハードウェアによって実行され得る。
【0095】
図15は、ニューラルネットワークを活用することによって輪郭を生成するために上述の動作の全てを組み込む全体的なプロセス1500の一例を示す。このプロセス1500は、いくつかの異なるプロセスによって実行され、これらのプロセスは、各動作の隣に配置されたテキスト凡例によって識別される。これらのプロセスは、レイアウト編集ソフトウェアプロセス、製造ソフトウェアプロセス、及び深層学習ソフトウェアプロセスである。図示されるように、レイアウト編集ソフトウェアは、最初に設計のコピーを保存する(1505)。
【0096】
次に、1510において、製造ソフトウェアプロセスが起動し、ライセンスを取得し、カラーのうちの1つについて設計コンポーネントをバイアスアップし、設計をラスタ化されたフォーマットに変換し、タイルをタイルアップする。1515において、深層学習ソフトウェアプロセスは、起動し、そのニューラルネットワークをその重みとともにロードし、入力のタイルを反復的に読み出して処理し、予測される出力設計を生成し、次いで、処理されたタイルについて生成する出力をステッチしてつなげる。いくつかの実施形態では、ニューラルネットワークは、N(例えば、3)個の異なるプロセスバリエーションに対してN(例えば、3)個の異なる予測出力設計を生成し、各予測出力設計は、各プロセスバリエーションに対するコンポーネント輪郭を導出するために処理されなければならないピクセル値に関して表される。1つのニューラルネットワークの代わりに、他の実施形態は、N個のニューラルネットワークを使用し、各ニューラルネットワークは、N個の異なるプロセスバリエーションのうちの1つに対してN個の異なる予測出力設計のうちの1つを生成する。
【0097】
1520において、製造ソフトウェアプロセスは、(1)再び起動し、(2)ニューラルネットワークによって生成される各予測出力設計におけるピクセル値を分析して、予測出力設計のコンポーネント輪郭(例えば、公称輪郭、最大輪郭及び最小輪郭)を生成し、次いで、(3)予測輪郭設計をエッチダウンする。1525において、製造ソフトウェアプロセスは、全てのカラーについて設計コンポーネントを処理したかどうかを判定する。そうであれば、終了する。そうでない場合、1510に戻り、別のカラーのコンポーネントの別のセットに対してその動作を繰り返す。
【0098】
他の実施形態は、プロセス1500のサブ動作を別様に分割する。
図16は、これらのサブ動作をプロセス1500とはいくらか異なって分割するプロセス1600を示す。プロセス1600において、バイアス及びエッチングサブ動作は、製造ソフトウェアプロセスの代わりにレイアウト編集ソフトウェアによって実行される。具体的には、レイアウト編集ソフトウェアは、1505でバイアス動作を実行し、1605でエッチング動作を実行する。
【0099】
製造ソフトウェアプロセスの起動時間及びライセンス取得、並びにニューラルネットワークプロセスの起動時間及びネットワークロードアップ時間によって、プロセス1500の全体的な速度に遅延が加わる。ニューラルネットワークの推論作業(モデルがロードされ、その入力が利用可能になると、その出力を生成するのにかかる時間)は、非常に短くあり得る(多くの場合、1秒未満のオーダーである)。しかしながら、その入力を準備するために製造ソフトウェアプロセスを開始すること(ライセンスを取得すること、ラスタ化及びタイリングステップを実行すること)、及びネットワーク生成された出力をレイアウトツールにおけるレンダリングに適した形式に変換すること(製造輪郭画像をタイルから再構築すること、ラスタ領域からジオメトリ領域へのライセンス及び輪郭形成を取得すること、及びエッチングステップをシミュレートすること)に関連する様々なオーバーヘッドが存在する。
【0100】
これらのオーバーヘッドに関連する時間遅延は、場合によっては許容できない。更に、ラスタ化、タイリング、ニューラルネットワーク推論、再構築、輪郭動作ステップは、カラーマスクごとに1回実行される必要がある。また、上述したように、いくつかの実施形態は、公称製造プロセスウェハ輪郭だけでなく、製造プロセスバリエーションを反映する外側(最大)及び内側(最小)輪郭に対応するものもユーザに提示する。
【0101】
更に、2つのカラーマスクが含まれ(ダブルパターニング)、3つのプロセス条件(公称、最大及び最小)が各マスクについて考慮される場合、合計6セットの輪郭決定動作が実行されなければならない。製造ソフトウェアプロセスのみが起動してそのライセンスを取得するのに3秒かかる場合、これは18秒の最小オーバーヘッドを必要とする。ニューラルネットワークソフトウェアが起動し、そのライブラリ、ニューラルネットワークモデル及びニューラルネットワーク重みをロードするのに更に20~40秒かかる場合、更に120~240((20~40)*6)秒のオーバーヘッドが追加される。
【0102】
したがって、必要なときに必要なプロセスを起動し、それぞれが
図15又は
図16のプロセス1500又は1600によって順次終了するのを待つ順次データ処理フローは、いくつかの実施形態では使用されない。その代わりに、いくつかの実施形態は、レイアウトエディタ、製造ソフトウェアサーバプロセス、及びニューラルネットワークソフトウェアサーバプロセスの動作及び通信を改善することによって、インタラクティブ編集プロセスのスループットタイムを大幅に改善する、
図17の新規ソフトウェアアーキテクチャ1700を使用する。
【0103】
この例では、データフローは、3つの並列独立実行シーケンス(以下でフローと呼ぶ)を可能にするように修正されている。いくつかの実施形態では、これらは複数の実行スレッドにマッピングされてもよく、他の実施形態では、複数の協働オペレーティングシステムプロセスにマッピングされる。例えば、
図17によって示される例、並びに
図18~
図21に示される他の例では、独立実行シーケンスは、(1)1つのプロセスの別々のスレッド、(2)別々のプロセス、及び(3)2つ以上のプロセスの別々の1つ以上のスレッドである。複数のGPUリソースを利用するために、複数のオペレーティングシステムプロセスが必要とされ得る。
【0104】
図17において、第1の実行フロー1702は、ユーザが編集を実行し、結果を視覚化するレイアウトエディタソフトウェアを表す。いくつかの実施形態において、レイアウト編集ソフトウェアプロセスは、非GPU対応システム上で実行される。第2のフロー1704は、製造ソフトウェアプロセスサーバを表す。このサーバは、ラスタ化及びタイリング動作を実行し、また、ニューラルネットワーキングソフトウェアサーバによって生成されたラスタ画像が、レイアウト編集ソフトウェアにおけるレンダリングのためにジオメトリ領域に変換し戻される輪郭動作も実行する。いくつかの実施形態では、製造ソフトウェアプロセスサーバは、例えば、
図5に示される検証ツール500が設計者によって選択されるときに、レイアウトエディタソフトウェアによって事前起動される。
【0105】
第3の同時実行フロー1706は、トレーニング済みニューラルネットワークを含むニューラルネットワーキングソフトウェア自体であり、製造ソフトウェアサーバによって生成されたラスタ化されタイル化された画像からウェハ輪郭を推測する役割を果たす。要求される性能を達成するために、このプロセスは、GPU対応システム上で実行される。いくつかの実施形態では、ニューラルネットワーキングソフトウェアプロセスは、例えば、
図5に示される検証ツールが設計者によって選択されたときに、レイアウトエディタソフトウェアによって起動される。
【0106】
図17に示されるように、ニューラルネットワーキングソフトウェアサーバプロセスは、ニューラルネットワークによって生成された出力タイルを取得し、それらを再アセンブルしてフルサイズラスタ画像を再構築する。代替実施形態では、この再構築プロセスは、ニューラルネットワーキングソフトウェアサーバから製造ソフトウェアプロセスサーバに移動されている。
【0107】
いくつかの実施形態では、3つのプロセス1702、1704、及び1706は、(例えば、レイアウトエディタを起動するために使用されるラッパースクリプトによって)同時に起動される。更なる実施形態では、製造ソフトウェアサーバプロセス1704及びニューラルネットワーキングソフトウェアサーバプロセス1706は、サーバとして動作し、それらが初期化プロセスを終了すると、命令がネットワークソケット(例えば、インターネットソケット)を介して到着するのを待つ。したがって、レイアウトエディタソフトウェアがそのライセンスを取得し、ICレイアウト設計をロードしている間に、製造ソフトウェアサーバも同様に起動し、そのライセンスを取得することができ、ニューラルネットワーキングソフトウェアサーバも同様に、ニューラルネットワークモデルをロードし、ニューラルネットワークの重みを設定する比較的長いステップを含むその初期化を行うことができる。これらの3つのプロセスは、
図15に示されるように連続してではなく、それらの初期化を同時に実行しているので、これらの初期化時間は、ユーザがインタラクティブ編集を実行した後に設計を処理し輪郭をレンダリングするための内部ループ時間から除去され、したがって、いくつかの実施形態のインタラクティブ編集ツールの編集、計算、及び視覚化動作の各反復におけるターンアラウンド時間を大幅に改善する。したがって、
図17のアーキテクチャでは、3つの主要プロセスのための初期化時間は、インタラクティブ編集ループの前に前もって移動されており、したがって、編集、計算、視覚化ループにおける各ユーザ編集の後に実行される計算ステップから除去される。
【0108】
図17及び以下で説明する他のシーケンス図では、かなりのGPU時間又はGPU時間を消費するサブプロセスの周りにボックスが描かれている。破線の垂直矢印線は、対応するソフトウェアプロセスがユーザからの入力又は関与する他のプロセスのうちの1つを待つ本質的にアイドル時間の期間を表す。水平矢印線は、1つのプロセスから別のプロセスへのデータ転送を表す。いくつかの実施形態におけるプロセス間の通信は、インターネット/ネットワークソケット通信である。また、いくつかの実施形態では、左から右に流れる水平矢印線は、実行されるべきサービスに対するクライアント側のソケットベースの要求を表す。一方、右から左に流れる水平矢印線は、サービスが実行され、結果が利用可能であることを示すサーバ側のソケットベースの応答を表す。サーバが生成した結果は、例えば、ネットワーク化されたディスクファイルに格納されてもよく、その後、クライアントによってアクセスされてもよい。サーバ応答を受信した後、レイアウトエディタクライアントは、追加の処理を実行し、サーバプロセスによる消費のためにファイルの別のセットを準備し、別のサービス要求を開始し、応答を待ち、及び/又はサーバ側サービスの結果を表すファイルを消費することができる。
【0109】
図17において、製造ソフトウェアサーバ1704は、それが初期化され、そのライセンスを取得した後などに、ソケット通信をリッスンし、受け入れ始める。同様に、ニューラルネットワーキングソフトウェアサーバ1706は、それが初期化され、ニューラルネットワークモデル及び重みをロードした後に、ソケット通信をリッスンし、受け入れ始める。いくつかの実施形態では、3つのプロセス1702、1704、及び1706は、同じマシン上で、又は別個のネットワーク化されたマシン上で実行することができる。理想的には、ニューラルネットワーキングソフトウェアプロセス1706は、GPUハードウェアサポートを有するマシン上で実行され、ニューラルネットワーク推論中の最大スループットを可能にする。
【0110】
ユーザがレイアウト編集ソフトウェアを使用し、レイアウト編集を実行し、製造輪郭を見ることを要求した後、レイアウトソフトウェア1702は、設計のコピー(最新の編集を反映する)を保存し、形状が製造を反映するように適切にバイアスアップされていることを確実にし、次いで、ニューラルネットワークによるニューラルネットワーキング推論のために設計を準備するために、設計をラスタ化及びタイル化するようにクライアント要求を製造ソフトウェアサーバ1704に送信する。他の実施形態では、バイアスアッププロセスは、レイアウト編集ソフトウェアクライアント1702ではなく製造プロセスサーバ1704によって実行される。製造プロセスサーバが、ソケット応答を介して、データが深層学習推論の準備ができていることを示すと、いくつかの実施形態におけるレイアウトエディタは、ソケットベースのクライアント要求をニューラルネットワーキングソフトウェアサーバに送信し、ラスタ化され、バイアスアップされた設計を表すデータタイルファイルの場所を通知し、輪郭が計算されることを要求する。
【0111】
それに応答して、ニューラルネットワーキングソフトウェアサーバ1706は、画像タイル内のデータをロードし、トレーニング済みニューラルネットワークを使用して、ラスタ空間内のシリコンウェハ形状を表す出力画像タイルを生成する推論動作を迅速に実行する。いくつかの実施形態では、次に、ニューラルネットワーキングソフトウェアサーバは、データが利用可能であることを示すメッセージをクライアントに応答する前に、これらのタイルを再アセンブルして、ラスタ空間におけるシリコンウェハ形状のより大きい画像を形成する。他の実施形態では、ニューラルネットワーキングソフトウェアサーバ1706は、タイルを再アセンブルせず、タイルが計算されるとすぐに応答する。これらの実施形態のいくつかにおける画像再構築は、レイアウト編集ソフトウェア1702による別個のクライアント要求(図示せず)を介して、製造ソフトウェアサーバ1704によって実行される。
【0112】
シリコンウェハ形状の再構築されたラスタ画像が利用可能になると、ラスタ領域からジオメトリ領域に変換する必要があり、すなわち、レイアウトエディタでレンダリングするのに適した形式に変換して戻す必要がある。いくつかの実施形態では、この動作は、レイアウトエディタクライアント1702からの要求に応答して製造ソフトウェアサーバ1704によって実行される。この動作は、再構築されたラスタ領域画像内の様々なピクセル値を検査することと、例えば、マーチングスクエアアルゴリズムを使用することによって輪郭を含む幾何学的データベースを生成することとを含む。
【0113】
上述の一連の動作は、対象となる各プロセス条件(例えば、公称プロセスコーナー、外側輪郭及び内側輪郭にそれぞれ対応する最大コーナー及び最小コーナー)に対して実行される必要があり、更に、複数パターン分解動作を介して生成された各カラーマスクに対して繰り返される必要があり、これは、いくつかの実施形態では、ユーザ編集の前に又はユーザ編集と併せてレイアウトエディタによって実行される。いくつかの実施形態では、シーケンスは、カラーマスクと対象のプロセス条件との各組み合わせに対して1回、単に連続的に繰り返される。例えば、
図4に示されるように2つのカラーマスクが含まれ、決定されるべき3つの対象の輪郭(公称、最大/外側、及び最小/内側)がある場合、上記のシーケンスは6回繰り返される必要がある。
【0114】
上述したように、設計は、コンテキストフリーパラダイムにおいて、又は周囲のコンテキストが既知であるその場編集パラダイムにおいて編集され得る。その場編集パラダイムでは、輪郭生成動作は、周囲コンテキスト無しか、一部、又は全てを含むように設計を拡張することができる。コンテキストフリーパラダイム(例えば、標準セル又はメモリビットセルのコンテキストフリースタンドアロン編集など)では、輪郭生成プロセスは、コンテキストを推論するために設計を拡張し得る。
【0115】
例えば、標準セル編集シナリオでは、推論されたコンテキストは、分析されているセルを取り囲む、標準セルの他のコピー又は他の標準セルの、それらの様々な正当な向きでの配置を含み得る。メモリビットセルのシナリオでは、推論されたコンテキストは、編集中のセルの他のコピーの配置、及び/又はダミーセルを含む可能性が高く、ダミーセルは、様々な正当な向きで周辺に配置されることが多い。対応する動作は、計算された輪郭がエッチングされた後に行われてもよく、編集中のセルの最終的な輪郭が決定されることを可能にする。ここで、編集中のセルの各インスタンスに対する内側輪郭及び外側輪郭(異なる推測された近傍に起因して変化する)は、プロセスバリエーションに加えて、設計近傍誘発バリエーションを考慮に入れる最終的な内側/外側輪郭を生成するために集約される。しかし、これらの推論されたコンテキストステップは、説明を簡単にするために図に示されていない。
【0116】
スループットを更に改善するために、いくつかの実施形態は、複数の製造ソフトウェアサーバが複数のニューラルネットワーキングソフトウェアサーバとともに展開される異なるアーキテクチャを使用する。これにより、同時性/並列性が向上し、全体的な処理「ウォールクロック」時間(実経過時間)が短縮される。
図18は、複数のソフトウェアサーバが同時に実行され、1つがプロセス条件の各組み合わせ専用である、1つのそのような実施形態を示す。この手法の下では、(1)第1のニューラルネットワーキングサーバは、「第1のカラーマスク、公称プロセス条件」の組み合わせに対するウェハ輪郭の推論に使用することができ、(2)第2のサーバは、「第2のカラーマスク、公称プロセス条件」の組み合わせに使用することができ、(3)第3のサーバは、「第1のカラーマスク、最大プロセス条件」の組み合わせに使用することができ、以下同様である。
【0117】
いくつかの実施形態は、評価すべきカラーマスク及びプロセス条件対の一意の組み合わせと同じ数のニューラルネットワーキングソフトウェアサーバを使用する。各ニューラルネットワーキングソフトウェアには専用のGPUが割り当てられる。いくつかの実施形態では、サーバは再び同時に動作し、各サーバは、1つのカラーマスク及びプロセス条件の組み合わせについてウェハ輪郭を計算する役割を果たす。他の実施形態では、サーバの数は、プロセスコーナー条件の数に一致するように低減され、その結果、各ニューラルネットワーキングソフトウェアサーバは、各カラーマスクに対して1つずつ、複数の推論サイクルを実行する。更に他の実施形態では、ニューラルネットワーキングソフトウェアサーバの数は、カラーマスクの数(この例では2つ)に一致し、それぞれが、対象のプロセス条件ごとに1つずつ、複数の推論を実行する役割を果たす。
【0118】
いくつかの実施形態では、同時に動作する複数の製造ソフトウェアサーバが、カラーマスク及びプロセス条件の組み合わせの各々に対してラスタ化、タイリング、及び輪郭形成動作を実行する。例えば、いくつかの実施形態では、(1)第1の製造ソフトウェアサーバが、第1のカラーマスク及び公称プロセス条件の組み合わせのためのラスタ化、タイリング、及び輪郭形成動作のために使用され、(2)第2の製造ソフトウェアサーバが、第2のカラーマスク、公称プロセス条件の組み合わせのために使用され、(3)第3の製造ソフトウェアサーバが、第1のカラーマスク、最大プロセス条件の組み合わせのために使用され、以下同様である。
【0119】
いくつかの実施形態では、評価すべきカラーマスク及びプロセス条件対の一意の組み合わせと同じ数の製造ソフトウェアサーバが存在する。いくつかの実施形態におけるサーバは、同時に動作し、各サーバは、1つのカラーマスク及びプロセス条件の組み合わせに対するラスタ化、タイリング、及び輪郭形成動作の役割を果たす。他の実施形態では、サーバの数は、プロセスコーナー条件の数に一致するように低減され、その結果、各製造ソフトウェアサーバは、カラーマスクごとに1つずつ、複数のラスタ化、タイリング、及び輪郭形成動作を実行する。更に他の実施形態では、製造ソフトウェアサーバの数は、カラーマスクの数(例えば、2つ)に一致し、それぞれが、対象のプロセス条件ごとに1つずつ、複数のラスタ化、タイリング、及び輪郭形成動作を実行する役割を果たす。
【0120】
図19は、1つのレイアウト編集サーバが複数の製造ソフトウェアプロセスサーバ及び単一のニューラルネットワーキングソフトウェアサーバとともに動作する実施形態を示す。この実施形態における単一のニューラルネットワーキングサーバは、各カラーマスク及びプロセス条件の組み合わせに対する出力を順次生成する。
【0121】
図20は、1つのレイアウト編集サーバが1つの製造ソフトウェアプロセスサーバ及び複数のニューラルネットワーキングソフトウェアサーバとともに動作する別の実施形態を示す。単一の製造ソフトウェアプロセスサーバは、対象のカラーマスク及びプロセス条件の組み合わせごとに1つずつ、複数のラスタ化、タイリング、及び輪郭形成動作を連続的に実行する。この例では、各ニューラルネットワーキングソフトウェアプロセスは、1つのカラーマスク及びプロセス条件に対する推論動作を実行し、異なるニューラルネットワーキングソフトウェアプロセスは、異なるカラーマスク及びプロセス条件に対する異なる推論動作を並行して実行する。
【0122】
図21は、1つのレイアウト編集サーバが複数の製造ソフトウェアプロセスサーバ及び1つのニューラルネットワーキングプロセスサーバとともに動作する別の実施形態を示し、ニューラルネットワークは、1つではなく複数の出力を、対象のプロセス条件の各々に対して1つずつ同時に生成する。このモデルはまた、複数のニューラルネットワーキングプロセスサーバを使用するいくつかの実施形態において使用され、各ニューラルネットワークは、1つではなく複数の出力を同時に生成し、対象のプロセス条件の各々に対して1つである。これらの実施形態及び
図21の実施形態では、GPUデバイスの極端な並列性が非常に高速な推論時間、例えば、単一出力の場合と本質的に同じ時間量を提供するために高度に活用され得るので、各ニューラルネットワーキングソフトウェアは専用GPUを割り当てられる。
【0123】
図22Aは、一度に複数の出力を生成する単一のニューラルネットワークを実行するニューラルネットワーキングソフトウェアサーバを示し、各出力は、対象となる異なるプロセス条件に対応する。ここで、ニューラルネットワークは、内側(最小)輪郭、公称輪郭、及び外側(最大)輪郭を計算するようにトレーニングされており、すなわち、内側輪郭及び外側輪郭は、製造プロセス全体の極端に関する。これらの輪郭は、特定の層/カラーマスクの組み合わせに対するラスタ化されたレイアウト設計を表す単一チャネル入力画像が与えられた場合に、ニューラルネットワークによって3チャネル出力画像から生成される。
【0124】
一実施形態では、
図11Hに関する議論に関して説明されるように、ネットワークは、1シグマ、2シグマ、又は3シグマプロセス限界等の統計的限界に対応する画像を生成するようにトレーニングされ得る。ここで、ネットワークによって生成された画像から導出される内側/外側輪郭は、対応するシグマの値に対応する。
図22Bは、ユーザがどのモデルを使用するかを選択することを可能にするグラフィカルユーザインターフェース2220を示す。「プロセスの極端」ラジオボタン2222が選択されると、最小値/最大値は製造プロセスの極端に対応する。しかしながら、「統計的限界」ラジオボタン2224が選択された場合、ユーザは、(Nシグマ限界に関して)プロセスバリエーションのどれだけが反映されるべきかを反映して、利用可能なモデルから選択することになる。
【0125】
図23~
図28は、本発明のいくつかの実施形態に従って実装されるインタラクティブ設計のより詳細な例を示す。これらの画像に示される輪郭は、製造プロセスの極端に関するものであり、種々のNシグマ限界に対応する異なる輪郭が、代わりに、
図22Bのユーザインターフェースを介して構成され得ることが、当業者によって理解されるであろう。この例では、64ビットバス2300は、
図23に示されるレイアウトエディタ表示に示されるように、バスが上から下に縦断する中で、ルーティンググリッド1つ分、左にジョグする。
図24は、レイアウトエディタに表示される初期設計の左上部分の拡大図を示す。この図はまた、40nmの最小幅及び最小間隔ルールに従う設計を示すように描かれたいくつかのルーラー2405を示す。それはまた、異なるカラーマスクを示す交互の斜めの点描方向(例えば、上から下かつ左から右へ、又は上から下かつ右から左への方向)を有する2つのカラーマスク(例えば、紫色及びシアン色)を示す。
【0126】
この例では、設計者は、ルーティングトラック自体の幅を維持しながら、ルート間のスペースをコンパクションすることを望む。
図23において、設計者は、破線で囲まれた輪郭UIボタン550を選択して、プロセスバリエーションにわたって製造ウェハ輪郭を計算するようにレイアウトエディタに指示する。それに応答して、レイアウトエディタは、これらの輪郭を計算するために1つ以上の製造ソフトウェアサーバ及び1つ以上のニューラルネットワークソフトウェアサーバと協働し、次いで、
図25に示されるように、プロセスバリエーションにわたって製造されるときの予測バス2500の設計輪郭の高所(ズームアウトされた)ビューを設計者に提示する。
図26は、次に、設計者がズーム動作を実行して、予測バス2500の最小輪郭、公称輪郭及び最大輪郭を示す生成された輪郭の3つのセットを見た後のバスの左上コーナーを示す。
【0127】
図25及び
図26の設計を見ると、ユーザは、製造輪郭が十分に良好に表現されていること、及びルート形状間の空間の一部を絞り、制限された設計ルールを「超えて押し出す」ことによって、設計面積のいくらかの余分な縮小が達成可能であることを判断する。特に、ルートは、水平(X)次元及び垂直(Y)次元の両方において互いにより近くに移動され得る。例えば、
図27に示されるように、設計者は、ルート間の水平間隔が40nmから38nmに低減され、対角間隔が52nmから48nmに効果的に低減されるように、ルートを移動させてもよい。これは、形状を垂直方向に移動させ、全てが水平方向に整列するように上部を切り取ることによって達成することができる。新しい寸法は、この図ではルーラー2705及び2710によって示されている。
【0128】
図27に示される設計間隔を得るために一連の編集を実行した後、ユーザは、再び破線で囲まれた輪郭ボタン550を選択して、レイアウトエディタに、コンパクションされた設計におけるバスラインの異なる予測され製造輪郭を生成するための一連の動作(
図12~
図22を参照して上述したものなど)を開始するように指示することによって、この収縮設計のための製造シリコンウェハ輪郭が許容可能であるかどうかを迅速に判定することができる。
【0129】
結果として生じる輪郭は迅速に現れる。
図28は、コンパクションされた設計2800の左上コーナーのこれらの輪郭を示す。設計者は、この位置にズームして、いくつかの対象位置における外側輪郭間の間隔を調べた。この間隔は、ルーラー2805によって示され、これは、いくつかの実施形態では、自動表示ルーラーであり、他の実施形態では、ユーザ選択ルーラーであり、更に他の実施形態では、自動表示ルーラー及びユーザ選択ルーラーの両方である。これらのルーラーによって示されるように、間隔は、位置に応じて29nm~33nmの範囲である。
【0130】
ユーザは、対応して配置されたルーラーが、ワイヤが互いに接近していることを示すまで、設計ルールを押し進めながら、設計をコンパクションし続けることができ、それでもなお、歩留りの観点から快適であるように、外側輪郭間に十分な空間を有する。ユーザは、例えば、輪郭が水平方向及び対角線方向の両方において等距離であると判定されたときに、編集ループを終了することもできる。ここでは示されていない追加のツール及びルーラーが、等距離を判定する目的で配備されてもよい。
【0131】
いくつかの実施形態のインタラクティブレイアウトエディタは、X及びY方向にルートを移動させるインタラクティブコンパクションツールを含み、ユーザがデルタX及びデルタY空間削減値を指定する場合、ルート間の水平空間及び垂直空間を圧縮(又は拡張)し、負の値は空間を拡張する。このツールは、元の位置合わせを維持するために、各圧縮/拡張動作の後に、必要に応じて垂直方向に結果として生じるワイヤを切り取ることができる。
【0132】
図29は、いくつかの実施形態におけるこのインタラクティブコンパクションツールのグラフィカルユーザインターフェース2900を示す。図示のように、ユーザインターフェースは、(1)ユーザがX方向及びY方向のスペース削減量(ナノメートル単位)を指定することを可能にする1セットの寸法制御2905と、(2)ユーザがコンパクション動作を実行することを可能にするコンパクションボタン2910と、(3)インタラクティブコンパクション動作から得られる輪郭を計算し、これらの輪郭をレイアウト上に重ね合わせて表示するようにレイアウトエディタに指示する自動輪郭チェックボックス2915とを有する。
【0133】
このツールを介して、レイアウトエディタは、ユーザが指定したX値及びY値に従って形状をX方向及びY方向に必要な量だけ移動させてそれらの間の空間を圧縮/拡張するだけでなく、斜めのジョグを依然として収容しながら垂直方向に必要なだけ短く又は長くなるようにワイヤをトリミング又は拡張する。自動輪郭チェックボックスがチェックされると(
図29のように)、コンパクション動作はまた、インタラクティブコンパクション動作から生じる輪郭を迅速に決定し、それらをレイアウト上に重ね合わせて表示する。所与のサイズ及び複雑さの設計であっても、プロセスバリエーションにわたって製造ウェハ輪郭をほんの数秒で決定し表示することができるので、迅速な表示が今や可能である。
【0134】
図30は、ユーザがユーザインターフェース2900を介してインタラクティブコンパクション動作を要求したときにレイアウトエディタが実行するプロセス3000を示す。示されるように、プロセス3000は、設計をコンパクションすること(3005において)、シリコン輪郭の視覚化を生成すること(3010において)、及び次いで設計が更にコンパクションされるべきかどうかを判定すること(3015において)である3つの動作の1つ以上の反復を実行する。プロセスが(3015において)設計をそれ以上コンパクションすべきでないと判定した場合、プロセスは(3020において)設計がコンパクションされ過ぎているか否かを判定する。そうである場合、プロセスは、1つ以上の以前のコンパクションを逆にし、3005~3015までのその以前の反復において識別したコンパクションソリューションのうちの1つを選択する。そうでない場合、プロセスは(3025において)その最後に識別されたコンパクションソリューションを選択し、終了する。
【0135】
図31は、
図29のインタラクティブコンパクションツールの数回の使用と、それに続く、結果として生じる輪郭の数回の検査の後に生じるコンパクションされたバスルート設計3100を示す。この設計では、レイアウトエディタは、いくつかのルーラー3105を表示して、コンパクションされた設計のサイズを元の設計2300と対比する。
【0136】
図32は、最終的なコンパクションされた設計のための予測される輪郭を有する予測される製造設計3200を示す。表示される輪郭は、いくつかのプロセスバリエーションに沿って画定される。図示のように、設計面積は、元のコンパクションされていない設計と比較してかなりの量(約23%)だけ縮小されている。
図33は、設計3200の左上コーナーの拡大
図3300を示す。示されるように、いくつかの測定は、最終的なコンパクションされた形状の外側輪郭間の縮小された空間を示す。また、示されるように、形状間に明らかな有意なブリッジングは存在せず、このレベルの間隔であっても形状の明らかなピンチング(狭窄)も存在しない。
【0137】
いくつかの実施形態では、ユーザは、設計をインタラクティブにコンパクションし、結果として生じる輪郭を視覚化し、輪郭を測定するなどして、設計がコンパクションされすぎたと判定されるまで
図30のプロセス3000を繰り返すようインタラクティブレイアウトエディタに指示することができる。この時点で、(例えば、X及びY空間縮小値に負の値を指定し、最後に「コンパクション」ボタンを1回クリックすることによって)設計を再拡張することができる。あるいは、「元に戻す」編集動作を使用して同じ目標を達成することができ、その結果、可能な限りコンパクションされた設計が得られる。
【0138】
いくつかの実施形態は、マルチゴールオプティマイザを活用して設計をコンパクションする自動コンパクションツールを提供する。これらの実施形態のいくつかにおいて、オプティマイザの目標は、(1)設計面積を最小化すること、及び(2)DRC違反を最小化することを含む。いくつかの実施形態の自動コンパクタは、DRC違反を導入することなく設計面積を最小化する。これに加えて、又はこれに代えて、いくつかの実施形態の自動コンパクタは、回路配線遅延に影響する、最も顕著には抵抗及びキャパシタンスといった寄生成分を最適化するか、又はこれらによって制約されながら、曲線状に製造されたシリコン形状間の製造性違反を最小限に抑える。
【0139】
上述のバスルートの例では、自動コンパクタのオプティマイザは、いくつかの実施形態において、曲線の製造性の問題を導入することなく設計を最もよく圧縮するX、Y値を識別するために設計空間を探索するように構成される。いくつかの実施形態のオプティマイザは、コスト関数値が最小化されるまで、利用可能な探索空間(いくつかの実施形態では、制約のセットを通して定義される)内で、入力変数(この例では、X及びY空間縮小値)を変化させて、コスト関数を最小化しようと試みる。いくつかの実施形態では、コスト関数は、コンパクションされた設計の面積と、コンパクションされた設計の曲線の製造性クリーン度に関連する値との両方の組み合わせである。
【0140】
いくつかの実施形態における製造性クリーン度は、DRCクリーン度として表現されるか、又は製造輪郭及びそれらの統計的バリエーションを示すシミュレート又はエミュレートされた曲線輪郭の曲線DRCであるか、又は製造性の低い設計よりも製造性の高い設計を示す任意の他の尺度である。いくつかの実施形態では、製造性クリーン度値は、曲線DRCマーカ多角形の面積の関数であり、組み合わされた曲線DRC誤差の面積が大きいほどコストが高くなる。一方、いくつかの実施形態における製造クリーン度値は、曲線DRCマーカ多角形の数の関数である。他の実施形態では、DRCクリーン度値は、曲線DRCマーカ多角形の数と、曲線DRCマーカ多角形の結合面積との両方の関数である。いくつかの実施形態における曲線DRCマーカ多角形は、(従来のDRCの場合のように)描かれたレイアウトのエッジの関数であるのではなく、製造されたシリコン形状に対応する曲線多角形のエッジの関数である。この文脈におけるDRCクリーン度は、曲線状の製造設計輪郭がどれだけクリーンであるかの尺度である。これらの関数は、線形、二乗、又は任意の他の関数であってもよい。輪郭がクリーンでないほど(すなわち、曲線DRC違反の量が大きいほど)、コスト関数に加えられるペナルティは大きくなる。
【0141】
図34は、いくつかの実施形態のレイアウトエディタの自動コンパクションツールによって自動コンパクションされる設計3400を示す。ルーラー3405は、この設計のY寸法の表示を提供する。この例では、わずかに異なる製造プロセスが使用され、これは、以前に見られたものとはいくらか異なる輪郭をもたらす。元の設計に対応する製造輪郭は、
図35に示される通りである。いくつかの対象位置における外側輪郭間の間隔のスケールの表示を提供するために、いくつかのルーラー3505がこの図に示されている。
【0142】
図36は、X方向及びY方向の両方において多角形間の6ナノメートルの空間を除去することによって、設計を手動でコンパクションしようとする単純な試みを通して生成される、コンパクションされた設計3600を示す。図示されるように、コンパクションされたデザインの右下コーナーの位置を、元のコンパクションされていないデザインの横に元々配置されていたルーラー3405と比較すると、デザインは実際に、ある量だけコンパクションされている。
【0143】
図37は、
図36の単純にコンパクションされた設計3700と同様であるが、設計3600における曲線DRC違反を有する予測される製造シリコン輪郭を示すコンパクションされた設計3600を示す。輪郭及び違反は、いくつかの実施形態では、異なる色、例えば、輪郭に対して赤色、違反に対して青色で示される。
図37では、白黒の図面で丸で囲まれたいくつかの色付きの場所(例えば、青色の場所)が、DRC違反を識別する。この例では、曲線DRCルールチェックは、25nmの曲線最小間隔チェックを含む。この量未満である製造シリコン輪郭間の観察された間隔は、違反としてフラグ付けされる。多数の曲線DRC違反多角形が図に示されている。
【0144】
図38は、
図37のコンパクションされた設計3700の拡大図を示す。
図38の図は、
図37の設計3700の左上部分に対応する輪郭3820及びDRC違反マーカ多角形3825を示す。スケールを示すために、ルーラー3805も示されている。違反マーカ多角形は、識別された違反をより詳細に示す。これらの多角形は、外側輪郭エッジが互いに25nm以内である場所を示す。マーカのうちの1つ3825aは、23.3nm(0.0233μm)の間隔を示すルーラーと共に示されている。このルーラーは、いくつかの実施形態では、マーカ3825aを更に調査するための設計者の入力に応答して表示されるが、他の実施形態では、ツールによって自動的に表示される。更に他の実施形態では、ツールは、ルーラーの一部又は全部を自動的に表示し、同時に、設計者が違反マーカ多角形の寸法を指定するルーラーの表示を呼び出すことも可能にする。
【0145】
いくつかの実施形態の目標は、曲線DRC違反を最小限に抑えながら、設計を可能な限り自動的にコンパクションすることができることである。この目標を達成するために、いくつかの実施形態は、ブラックボックス最適化プロセスを、(1)コンパクションされた設計の面積、及び(2)曲線DRCマーカ違反多角形の組み合わされた面積の両方を含むコスト関数と組み合わせる。これにより、オプティマイザは、例えば、製造シリコンウェハ輪郭間の間隔を設計ルール最小値よりも大きく保ちながら、最小可能設計面積をもたらすコンパクション解を見つけることができる。
【0146】
ブラックボックス最適化プロセスは、コスト関数評価関数だけを必要とし、任意選択で、場合によっては、探索空間を画定する境界を必要とする。これらのプロセスは、多次元空間におけるコスト関数の全体的な形状を決定しようと試みるために、探索パラメータ空間における様々な試行点において複数のコスト関数評価を実行する。結果はしばしば、大域的最小値を達成しようと試みるために、最低コスト点の近傍でローカルオプティマイザを実行することと組み合わされる。
【0147】
いくつかの実施形態は、有望な最近公開されたグローバル最適化(GO)アルゴリズムである単体相同性グローバル最適化(SHGO)アルゴリズムを使用する。例えばhttps://stefan-endres.github.io/shgo/である。アルゴリズムのソフトウェア実装は、最先端の市販のオープンソース最適化ソフトウェアと比較した場合、非常に競争力があることが示されている。他の実施形態は、他の最適化プロセスを使用する。(例えば、差分進化最適化プロセスであり、例えば、https://en.wikipedia.org/wiki/Differential_evolutionである。)
図39は、いくつかの実施形態の自動コンパクションツールのためのUIを示す。このUI3900を通じて、設計者は、自動コンパクション最適化のためのソリューション空間を探索するための探索空間パラメータを設定することができる。X min、X maxフィールド3902及び3904は、ユーザがX空間縮小パラメータの可能な値の範囲を指定することを可能にし、Y min、Y maxフィールド3906及び3908は、ユーザがY空間縮小パラメータの可能な値の範囲を指定することを可能にする。自動コンパクションボタン3910は、ユーザがレイアウトエディタで編集中の現在の設計上でオプティマイザを起動することを可能にする。
【0148】
図40は、いくつかの実施形態の自動コンパクタが実行するプロセス4000を示す。示されるように、プロセス4000は、(4005において)ユーザ指定の探索空間境界内の潜在的なコンパクションソリューションを識別する。プロセス4000は(4010において)、識別されたコンパクションソリューションを使用して、設計を適切な量だけコンパクションし、次いで、ニューラルネットワークを使用して、生成されたコンパクションされた設計のための製造ウェハ輪郭を生成する。
【0149】
4015において、曲線DRCツールはまた、例えば製造された形状間の間隔を決定するために、曲線ウェハ輪郭形状上で実行され、間隔が設計ルールに違反することが見出された場合にはいつでも、マーカ多角形を生成する。いくつかの実施形態では、コンパクションされた設計及び任意のDRCマーカ多角形の両方の面積は、過剰な面積又はDRC違反にペナルティを科すコスト関数において組み合わされ、プロセスは、その最適化サブプロセスを実行して、このコスト関数値を最小化する。
【0150】
次に、4020において、プロセス4000は、この反復又は前の反復においてコンパクションに対する満足のいくソリューションを見つけたときに終了すべきかどうかを判定する。異なる実施形態では、プロセス4000は、異なる基準を使用して、ソリューション空間の探索をいつ停止すべきかを判定する。基準は、プロセス4000が使用する最適化サブプロセスのタイプに依存する。
【0151】
プロセス4000は、満足のいくソリューションを見つけたので終了すべきであると(4020において)判定すると、終了する。そうではなく、プロセス4000がその探索を(4020において)終了すべきではないと判定した場合、プロセスは4005に戻って別の潜在的なコンパクションソリューションを識別し、次いでこのソリューションについてその動作4010及び4015を繰り返す。各潜在的なソリューションについて、プロセスは、解に基づいてコンパクションを生成し、このコンパクションのためのウェハ輪郭を生成し、曲線DRCルールを適用し、コスト関数を再計算して、識別されたコンパクションソリューションから生じるコンパクションを評価する。
【0152】
いくつかのそのような反復の後、オプティマイザは、問題に対する良好なソリューション、すなわち、DRC違反がほとんど又は全くない、低コスト関数値に対応する入力パラメータ値(この特定の実験におけるX及びY空間低減値)のセットを見つけることができる。そのような時点で、プロセスは終了すべきであると判定し(4020)、その最良の識別されたソリューションを満足のいくソリューションとして選択し、終了する。いくつかの実施形態では、プロセス4000は、指定された最大反復回数に達した後、又は他の終了条件に達した後に終了する。いくつかの実施形態におけるプロセス4000は、100~200回の反復を実行し、各反復は、製造ウェハ輪郭値を生成するためにトレーニングされたニューラルネットワークの使用のおかげで数秒しかかからず、10分のオーダーで設計の自動コンパクションを完了する。
【0153】
いくつかの実施形態の自動コンパクションツールは、例えば、評価点の最大数、又は初期探索グリッドのサイズ等を指定することによって、ユーザがオプティマイザを更に構成することを可能にするための追加のユーザインターフェース制御を有する。いくつかの実施形態では、このUIは、追加の適切なオプティマイザへの1つ以上のインターフェースと、ユーザが適切なオプティマイザのリストから選択できるようにするインターフェースも提供する。
【0154】
図41は、
図34の設計を自動コンパクションするためにSHGOオプティマイザの1回の実行によって生成された自動コンパクションソリューションに対応する製造シリコン輪郭を、コスト関数の特定の定式化及び特定の初期探索空間とともに示す。示されるように、この自動コンパクションは、輪郭を示すために使用される色(例えば、赤色)とは異なる色(例えば、青色)によって識別される、単一の小さいDRC違反マーカ多角形4120によって識別される単一のDRC違反をもたらした。
図41の白黒図を説明するために、円4110を使用して、DRC違反多角形マーカ4120の位置を強調表示する。
【0155】
図42は、DRC違反マーカ多角形4120の拡大図を提示する。示されるように、DRC多角形は、ルーラー4205によって示されるように、24.169107nmの幅を有する。オプティマイザのコスト関数におけるDRCエリア項により高い重み付けを適用することは、このDRC違反を排除する。代替として、設計者は、手動調整動作を通じて、又は自動コンパクション動作のための代替値を提供することによって、この違反を排除する。
【0156】
図43は、
図34の設計を自動コンパクションするためにSHGOオプティマイザの1回の実行によって生成された別の自動コンパクションソリューションに対応する製造シリコン輪郭を示す。この他のソリューションは、異なる初期探索空間(例えば、X及びY空間コンパクション値がX=2.64nm及びY=5.92nmであった)を用いて識別され、DRC誤差が無い。この例では、設計は、全体的なY寸法が4.62μmから4.25μmに低減され、一方、X寸法が対応してコンパクションされるように、成功裏にコンパクションされた(ルーラーは図示せず)。また、この例では、自動コンパクタは、任意の25nm曲線間隔DRC誤差を識別するために、任意のDRC違反多角形を生成しなかった。
【0157】
いくつかの実施形態では、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用して、設計の歩留まり制限部分(リソグラフィホットスポット)を手動で修正することができる。このプロセスは、既知の又は疑わしいホットスポット位置について輪郭を検査することから始まる。その後、設計は反復的に修正され、結果として生じる輪郭が視覚化され検査される。いくつかの潜在的な候補編集は、製造設計輪郭に対するそれらの結果として生じる影響とともに、このようにして迅速に評価することができる。
【0158】
図44は、設計の歩留まり制限部分を手動で修正するために使用されるインタラクティブ編集プロセス4400を示す。図示のように、設計者は、編集動作を実行する(4405)、すなわち、編集動作を実行するようにツールに指示する。そのような動作の例には、セルのフリップ若しくはシフトを実行すること、又は設計の歩留まり制限部分を(個々の多角形編集を介して)修正することが含まれる。プロセス4400は(4410において)、設計者の入力に基づいて設計を修正し、設計の関連付けられた予測される製造輪郭を有する結果として生じる設計の視覚化を提供する。設計者は(4415において)設計をレビューし、設計が更に編集されるべきかどうかを判定する。そうである場合、プロセスは、設計者が別の設計を実行するときに4405に戻る。そうでない場合、プロセスは終了する。
【0159】
図45~
図57は、歩留まり制限部分を手動で修正するために、ニューラルネットワーク対応のインタラクティブレイアウト編集システムを使用する例を示す。
図45は、歩留まりの問題に関連すると判定された、デジタル論理のためのいくつかの配置された標準セルを含むカスタム設計の一部を示す。中央のボックスで囲まれた領域4550は、トレーニング済みニューラルネットワークによって決定された、(セル間ルーティングが除去された)設計の歩留まり制限部分に関連する輪郭を示す。この例では、内側輪郭及び外側輪郭のみが示されており、明確にするために公称輪郭は省略されている。
【0160】
図46は、設計4600自体の対応する部分を示す。ボックスで囲まれた領域4550は、
図46の領域4650に対応する。この領域4650は、背中合わせの「E」字形多角形を有する2つの特定の対称セル4605及び4610の当接部にある。
図47は、問題のある領域をより詳細に示すために、セル境界における問題のある領域4650の拡大図を示す。ここで、セル境界における背中合わせの「E」形状の多角形は、互いに近接して配置されていることが分かる。このような配置は、例えば、カラーリングの衝突によって起こり得る。
【0161】
図48は、トレーニング済みニューラルネットワークによって迅速に決定された製造されたウェハ輪郭の対応する拡大図を示す。この図では、3つの領域4805、4810、及び4815が円で囲まれており、ニューラルネットワークによって決定された外側製造輪郭がほぼブリッジングしているに等しい。
【0162】
元のレイアウトを作成するために使用されるツール及び方法論、並びに関与する層及びセルの性質などに応じて、そのようなホットスポットを修復するために様々な手法が選択され得る元のレイアウトが、例えば配置及びルーティングツールを用いて作成された場合、設計の部分を徐々に再ルーティングするようにツールに命令することが可能であり得る。しかしながら、この手法は、回路タイミングを変化させるように十分に劇的な変化をもたらす可能性があり、したがって、最後の手段としてのみ行われるべきである。不良な配置を含む設計(
図46に示す設計など)に対する再ルーティングでさえ、主に配置依存であるホットスポットを修正することができない可能性がある。プレーサを再実行することもまた、
図45に示される問題を解決するための方法であり得るが、再び、新しく再配置された設計を再ルーティングする必要性につながり、再びタイミングの課題につながり得る。
【0163】
セルのフリッピング及びシフティング、又はインタラクティブエディタにおいて実行されるような個々の多角形に対する外科的変更などのホットスポット修復のより局所化された形態は、ホットスポットを固定すること、並びにタイミング及び/又は寄生に対する最小限の変更を行うことの両方で、より良好なソリューションをもたらすことができる。いくつかの実施形態のインタラクティブ編集ツールは、そのような局所化された修復ソリューションをサポートするように設計される。レイアウト設計者は、ホットスポットを修復するために手動/インタラクティブなローカライズされた編集を実行することができる。例えば、実行される編集は、問題となっているセル及び/又はそれらの隣接セルのインスタンスを編集すること、例えば問題となっているセルインスタンスをインタラクティブに更に離すこと、セルインスタンスをフリップすること、又は他の編集(手動多角形編集と組み合わされたセル再マスタリングなど)を実行することを含むことができる。
【0164】
これらの編集に続いて、例えば
図5及び
図6を参照して上述した検証ツールウィンドウの輪郭ボタンを使用して、トレーニング済みニューラルネットワークを介して輪郭抽出を再実行することによって、予測される製造輪郭がツールによって生成される。ホットスポットを修正するタスクを課されたエンジニアは、例えば、セル間隔を徐々に増加させ、輪郭抽出を迅速に再実行し、ニューラルネットワークによって決定された輪郭が十分に離れてブリッジングがもはや問題にならなくなるまで、タイトな編集、視覚化、編集、視覚化のループを継続することができる。
【0165】
代替として、
図49に示されるように、設計者は、セルライブラリから所定のスペーサセル4905を挿入してもよい(例えば、標準セルライブラリは、通常、とりわけ、このような目的のために、1つ以上のスペーサセルを含む)。ここで、スペーサセルは、ウェル領域及びパワーレール領域以外に何も含まない狭いセルである。このセルは、2つの問題となっているセルインスタンスの間にユーザによって挿入されており、したがって、2つの背中合わせの「E」字形多角形を中心に向かって分離している。
【0166】
図50は、編集ツールのトレーニング済みニューラルネットワークによって決定された、新しい輪郭に関して編集ツールが提供する迅速なフィードバックを示す。スペーサセルのおかげで、中心に向かう2つの背中合わせの「E」字形多角形の輪郭は、製造性の観点から、より良好に挙動する。
図51は、スペーサセルの拡大図を示し、
図52は、スペーサセルの近傍におけるニューラルネットワークによって決定された製造ウェハ輪郭の拡大図を示す。明らかに、このシナリオでは、対応する設計形状間の間隔が大きいため、外側輪郭が互いに短絡する可能性はもはやない。
【0167】
ユーザは、セルインスタンスを接続するセル間ルーティングをインタラクティブに再加工し、したがって、ホットスポットが除去された状態で完全な接続性を再確立することができる。
図44に示されるように、全体的なインタラクティブホットスポット修正フローは、
図17~
図21を参照して説明されるアーキテクチャとともに、輪郭予測のためのトレーニング済みニューラルネットワークの使用を介して、ユーザインタラクションタイムフレーム(数秒以下の編集及び視覚化サイクル)において再び可能にされ、対象のプロセス条件及びそれらの付随する説明ごとに1つであり、最大同時実行数及び起動オーバーヘッドの償却を可能にする。
【0168】
図46の設計の場合、設計者は、
図53に示すように、単に2つのセルインスタンスの右端をインタラクティブにフリップすることによって、別のホットスポット修正ソリューションを試みることを望む場合がある。ここで、最も右のセルインスタンスのフリップは、以前は2つの背中合わせの「E」形状だったのが、それぞれ、「E」形状及び「C」形状へと効果的に置換されることを意味する(最も右のセルインスタンス4610内の「E」形状は、図の右端に移動されている)。
【0169】
図54は、いくつかの実施形態において編集ツールが提供する、結果として生じる輪郭に対する即時フィードバックを示す。このフィードバックは、このような最も右のセルインスタンスの単純なセルフリップが、余分なスペースを導入することなく問題を解決するのに十分であり得ることを示す。
図54内の矢印は、
図45及び
図48内の背中合わせの「E」形状間に存在する空間よりも大きい、「E」形状5405と「C」形状5410との間の空間を識別する。
【0170】
図55は、
図53の2つのセルインスタンス間の領域の拡大図を示し、
図56は、2つのセルインスタンス間の領域における対応する輪郭の拡大図を示す。
図56内の矢印は、最も左のセル上の後方「E」形状と最も右のセル上の「C」形状との間の外側輪郭の明確な分離を示す。しかしながら、一番右のセルがフリップされているので、新しいホットスポットが、そのセルと右隣のセルとの間に導入されている可能性があると考えられる。
図57は、右端の隣接セルの多角形を見るために、ビューをズームアウトすることによって、これがどのように迅速にチェックされ得るかを示す。
図57に示されるように、セル境界5705は、この例では問題がない。
【0171】
上述したように、異なる実施形態は、異なるタイプの機械トレーニング済みネットワークを使用し、これらのネットワークを異なるようにトレーニングする。例えば、上述したように、いくつかの実施形態における機械トレーニング済みネットワークはニューラルネットワークである。いくつかの実施形態は、ニューラルネットワークの構成可能パラメータ(例えば、重み値)をトレーニングするために、既知の出力データセットとともに多くの入力データセットを使用することによって、現在の物理設計レイアウトから予測される物理設計レイアウトを生成するようにニューラルネットワークをトレーニングする。いくつかの実施形態では、入力/出力セットは、特定のIC製造プロセス(例えば、Xnm設計)のためのIC設計の部分であり、入力部分は、物理設計ツールによって生成される物理設計の部分であり、出力部分は、物理設計部分のために生成される対応するウェハシミュレーション部分又は回路部分である。そのような手法のいくつかの例は、例えば、
図11H及び
図11Iを参照することによって、上で説明された。そのような手法の別のより詳細な例は、
図58を参照することによって以下に説明されるであろう。
【0172】
いくつかの実施形態は、(1)1つ以上の製造パラメータ(ドーズ量及び焦点深度等)における製造バリエーション及び/又は(2)学習プロセスのために使用される入力の一部である入力コンポーネントパターンに隣接する異なる可能なコンポーネントを説明する近傍バリエーションを説明する学習プロセスを通して、機械トレーニング済みニューラルネットワークを置く。ニューラルネットワークをトレーニングするために、いくつかの実施形態は、ニューラルネットワークを介して各既知の入力を供給して予測出力を生成し、次いで、この予測出力を入力の既知の出力と比較して、1つ以上の誤差値のセットを識別する。既知の入力/出力のグループに対する誤差値は、次いで、損失関数を計算するために使用され、次いで、損失関数は、ニューラルネットワークを通して逆伝搬され、ニューラルネットワークの構成可能パラメータ(例えば、重み値)をトレーニングする。多数の既知の入力/出力を処理することによってトレーニングされると、ニューラルネットワークは、次いで、例えば、上述の実施形態を参照して説明された上述の動作のいずれかに従って、コンパクション動作を容易にするために使用され得る。
【0173】
図58は、いくつかの実施形態が、IC設計又はIC設計の一部の入力形状のためのマルチ輪郭出力形状を生成するように1つ以上のニューラルネットワークをトレーニングするためのトレーニングデータを生成するために使用するプロセス5800を示す。トレーニングデータは、既知の入力IC設計部分と、プロセス5800によって生成されたシミュレートされた出力IC設計部分とを含む。このプロセスは、製造プロセスをシミュレートし、実際に製造されたウェハ形状のデジタルツインである予測製造ウェハ形状を生成するので、デジタルツインプロセスと呼ばれる。
【0174】
プロセス5800は、最初に、1つ以上の予測出力パターンを生成する必要がある入力パターンとして、集積回路のサンプル物理設計の一部を選択する(5805において)。いくつかの実施形態では、プロセス5800は、複数の異なるサンプル物理設計を使用し、そこから5805においてサンプル入力パターンを抽出する。抽出された入力パターンは、基板(シリコンウェハなど)上にICを製造するために使用されていてもされていなくてもよい、以前に定義された物理設計の一部である。このパターンは、回路コンポーネント(論理ゲート、トランジスタ、金属層、及びICの物理的設計において見出される必要がある他のアイテムなど)の製造可能な形状を含むことができる。物理的設計は、直線、区分的直線、部分的曲線、又は完全曲線であってもよい。曲線パターン(各々が少なくとも1つの曲線セグメントを有する)は、非常に計算集約的であり、したがって、複数の製造段階からのバリエーションの累積効果を計算することによってパターンを最適化することができることは、曲線パターンにとって非常に貴重である。
【0175】
5810において、選択された物理設計入力パターンに適用可能な場合、プロセス5800は、5805において選択された物理設計入力パターンに隣接するいくつかの可能な近傍パターンを生成する。いくつかの実施形態では、5810において選択された物理設計パターンは、1つ以上の後続のIC設計において使用されてもよく、これらの後続のIC設計における異なる隣接パターンで終了してもよい。いくつかの実施形態は、いくつかの可能なソリューションを列挙するモンテカルロ技法を使用することによって近傍バリエーションを合成する。
【0176】
いくつかの実施形態では、5810において選択された物理設計パターンは、その合成された近傍バリエーションの各々とともに、プロセス5800が機械トレーニング済みネットワークのトレーニングプロセス(学習プロセスとも呼ばれる)のための異なる出力を生成する異なる入力を表す。他の実施形態では、選択された物理設計入力は、ただ1つの入力データであり、その近傍バリエーションは、プロセス5800の後続のシミュレーション動作中に輪郭バリエーションを識別するためだけに使用される。
【0177】
そのような近傍バリエーションを識別することが有用である1つの例は、入力パターンが標準セル設計の一部である場合であり、この標準セル設計は、それが最終的に最終的になる可能性がある全ての可能な近傍にランダムに配置することができ、すなわち、後続の回路設計において囲まれる可能性が高い様々な近傍セルによって囲まれることができる。いくつかの実施形態では、物理設計パターンの選択された部分は、物理的設計パターンのインスタンスであり、生成された近傍パターンは、このインスタンスの可能な近傍を含む。したがって、対象セルのインスタンスは、その様々な正当な向きにおいて、様々な隣接セルの様々な向きと並んで配置され、それらの様々な隣接セルのインスタンスは、上/下、左又は右に配置され、配置に様々なオフセットがある。いくつかの実施形態では、選択された入力パターンは、いくつかの標準セルを含む標準セル設計の設計全体であり、可能な近傍は、標準セルの全ての正当な向きを含む。
【0178】
5815において、プロセスは、入力パターン(例えば、5805において選択されたパターン、又は選択されたパターンに対して5810において生成されたパターン)を複数のマスク層に分離するカラーリング動作を実行する。カラーリング動作において、レチクル層上の入力パターンの各特徴は、特定のマスク層への特徴の割り当てを反映するようにカラーリングされる。カラー化動作の後、プロセス5800は、(5820において)光近接効果補正(OPC)動作を実行して、マスク設計の1つ以上の可能なセットを生成し、マスク設計の各セットは、5805において選択された入力パターン又は5810において生成された可能な近傍に対応する。
【0179】
選択された入力パターンに対して、いくつかの実施形態における生成されたマスク設計は、バリエーションを伴う公称マスク設計を含む。いくつかの実施形態では、5820で生成された可能なマスク設計を組み合わせて、バリエーションを伴う公称マスク設計を作成することができる。従来、公称マスク設計は、1.0などの公称ドーズ量を使用し、0.5などの閾値でマスク設計の公称輪郭を計算して決定することができる。いくつかの実施形態では、マスク設計の公称輪郭は、いくつかの可能なマスク設計から計算される。バリエーションは、5810において生成された全ての可能な近傍について計算され得る。
【0180】
いくつかの実施形態では、OPC動作は、ILT(逆リソグラフィ技術)動作を含む。いくつかの実施形態におけるILT動作は、理想的な曲線ILTパターンを生成し、一方、他の実施形態では、ILT動作は、曲線パターンを直線化する。同じ物理的設計パターンに対するOPCフィーチャ又はILTパターンは、近傍から近傍へと変化する。いくつかの実施形態は、多くの可能な近傍の各々におけるいくつかの可能なマスク設計からマスク画像のいくつかの可能なセットを計算する。いくつかの実施形態では、公称マスク設計は、多くの可能な近傍における計算されたOPCフィーチャ又はILTパターンから計算される。
【0181】
プロセス5800は、(5825において)マスクシミュレーション動作を実行して、マスクデータ準備(MDP)を生成し、これは、マスクライタのためのマスク設計を準備する。いくつかの実施形態におけるこの動作は、データを台形、長方形、又は三角形に「分割」することを含む。この動作は、いくつかの実施形態では、マスクプロセス補正(MPC)を含み、これは、形状を幾何学的に修正し、及び/又は形状にドーズ量を割り当てて、マスク上の結果として得られる形状を所望の形状に近づける。MDPは、可能なマスク設計又はMPCの結果を入力として使用することができる。MPCは、フラクチャリング又は他のMDP動作の一部として実行され得る。他の補正もまた、フラクチャリング又は他のMDP演算の一部として実行されてもよく、可能な補正は、前方散乱、レジスト拡散、クーロン効果、エッチング、後方散乱、フォギング、ローディング、レジスト帯電、及びEUV中域散乱を含む。ピクセルレベルドーズ量補正(PLDC)は、マスクシミュレーション動作中に適用されてもよい。他の実施形態では、VSB(可変成形ビーム)ショットリスト又はマルチビームの露光情報を生成して、可能なマスク設計からいくつかの可能なマスク画像を生成することができる。いくつかの実施形態において、VSBショットのセットは、複数の計算されたマスクパターンにおける計算されたマスクパターンに対して生成される。いくつかの実施形態では、MPC及び/又はMDPは、可能なマスク設計に対して実行されてもよい。
【0182】
いくつかの実施形態では、マスクシミュレーション動作は、荷電粒子ビームシミュレーションを使用することによっていくつかの可能なマスク画像を計算する。シミュレートされ得る効果は、前方散乱、後方散乱、レジスト拡散、クーロン効果、フォギング、ローディング、及びレジスト帯電を含む。いくつかの実施形態におけるマスクシミュレーションは、様々な露光後プロセスの影響が計算されるマスクプロセスシミュレーションも含む。これらの露光後プロセスは、レジストベーキング、レジスト現像及びエッチングを含むことができる。荷電粒子ビームシミュレーションが任意の所与の層上のマスクに対して実行されるとき、シミュレーションは、マスク自体に対する製造性輪郭を確立するために、ある範囲のプロセスバリエーションにわたって実行され得る。輪郭は、公称輪郭から拡張してもよく、公称輪郭は、特定のレジスト閾値、例えば、0.5の閾値で生成されるパターンに基づいてもよい。いくつかの実施形態では、露光ドーズ量の所与の百分率差、例えば+/-10%ドーズ量バリエーションを計算することにより、ビューポートに表示するためのバリエーションを伴うマスク画像が作成される。これらのバリエーションは、公称輪郭を囲むプロセスバリエーションバンドの上限及び下限を含む。いくつかの実施形態では、プラスバリエーションとマイナスバリエーションは互いに異なってもよく、例えば+10%と-8%であってもよい。荷電粒子線シミュレーションとマスクプロセスシミュレーションは別々に行われる。
【0183】
マスクシミュレーションの後、プロセス5800は(5830において)、生成されたマスクを使用することから生じる可能性のあるICパターンを計算するウェハシミュレーション動作を実行する。5805で選択された入力パターンに対して、生成されたICパターンは、出力パターン又は出力パターンの範囲を表す(生成された形状が、プロセスバリエーション及び製造パラメータバリエーションを考慮するために複数の輪郭を有する場合)。選択された入力パターン及び生成された出力パターンは、いくつかの実施形態において、機械トレーニング済みニューラルネットワークをトレーニングさせるために使用される既知の出力を有する既知の入力を表す。トレーニングされると、ニューラルネットワークはその後、上述の方法でコンパクション動作を支援するためにコンパクション中に使用することができる。
【0184】
いくつかの実施形態では、(5830における)ウェハシミュレーション動作は、計算されたマスク画像を使用するリソグラフィシミュレーションを含む。5830における動作は、複数のマスク画像から基板上のいくつかの可能なパターンを計算する。いくつかの実施形態における基板上の各パターンは、製造バリエーションパラメータのセットに対応する。計算されたマスク画像からパターンを計算することは、「Method and System for Forming Patterns Using Charged Particle Beam Lithography」という発明の名称の米国特許第8,719,739号明細書に記載されており、これは参照により本明細書に援用される。
【0185】
IC上の可能なパターンを組み合わせて、バリエーションを伴う公称ICパターンを作成することができる。いくつかの実施形態では、ICパターンバリエーションの源は、焦点深度のいくつかの所与のバリエーション、例えば、露光における+/-10%、及び焦点深度における+/-30nmと組み合わせて、露光(ドーズ量)におけるいくつかの所与のバリエーションを含むであろう。いくつかの実施形態では、プラスバリエーション及びマイナスバリエーションは、互いに異なってもよく、例えば、+5%/-7%及び30nm/-28nmであってもよい。従来、統計的方法は、公称輪郭から3シグマバリエーションを生成するために使用されている。バリエーションは、最小値に対して公称輪郭よりも小さい下限3シグマと、最大値に対して公称輪郭よりも大きい上限3シグマとを含む。公称輪郭から拡がる3シグマバリエーションを計算する代わりに、いくつかの実施形態は、下限及び上限を有するプロセスバリエーションバンドを含むいくつかのマスク画像を組み合わせることによって、バリエーションを伴うマスク画像を作成する。
【0186】
いくつかの実施形態では、パターンは、バリエーションを有するマスクイメージを使用する光リソグラフィプロセスを使用してウェハ上に形成することができる。いくつかの実施形態におけるウェハシミュレーション動作は、パターンに対するウェハプロセスシミュレーションを含む。いくつかの実施形態におけるウェハプロセスシミュレーションは、レジストベーキング、レジスト現像及びエッチングのシミュレーションを含む。プロセス5800は、いくつかの実施形態において、リソグラフィシミュレーション及びウェハプロセスシミュレーションを別個のステップとして実行し、任意選択で、各ステップがプロセスバリエーションを考慮する。
【0187】
いくつかの実施形態では、プロセス5800は、プロセスが後続の動作における前の動作からのバリエーションを考慮するように、統計的に累積的な方法で異なる動作のバリエーションを考慮する。このようにして、後続の動作におけるパターンは、基板上の可能なパターンを決定する際のバリエーションだけでなく、マスクプロセス及びマスク設計におけるバリエーションも組み込んでいる。
【0188】
ウェハシミュレーションの後、プロセス5800は、いくつかの実施形態において、ウェハシミュレーションから生成された可能なパターンからプロセスバリエーションバンドを計算する。バリエーションの多くの可能な組み合わせの計算をより効率的にするために、バリエーションは、特定のバリエーション及びパターンパラメータが互いにどのように影響し得るかについての洞察を使用して蓄積され得る。例えば、最小及び最大3シグマ値を1つのステップから次のステップに単に供給するのではなく、次のステップに供給される最悪の場合のバリエーションは、1つのパターンの別のパターンからの距離を考慮に入れることができる。これは、互いにより近接している特徴が、より離れている特徴よりも互いにより影響を与えるからである。これらのバリエーションが設計性能及び製造信頼性に与える影響のために、設計者が実際の回路設計のコンテキストにおいて異なるバリエーションの影響を視覚化できるようにすることが望ましい場合がある。基板上で予測される統計的累積バリエーションの効果を視覚化することは、バリエーションバンドを計算した後に、又は各ステップにおける異なるバリエーションの効果を視覚化することによって示すことができる。
【0189】
5835において、プロセスは、十分な数の既知の入力及び出力パターンを生成したかどうかを判定する。そうでない場合、プロセスは5805に戻って、以前に画定された物理設計から別の入力パターンを選択し、次いで、その動作5810~5830を繰り返して、この入力パターンについてシミュレートされた出力パターンを生成する。上述したように、選択された入力パターン及びそれらの対応する生成された出力パターンは、いくつかの実施形態において、機械トレーニング済みニューラルネットワークをトレーニングするために使用される既知の出力を有する既知の入力を表す。
【0190】
いくつかのマスク設計から計算されたいくつかの計算マスク画像からいくつかのウェハシミュレーションパターンを計算することによって基板上に製造されるパターンを計算することは、かなりの時間がかかる可能性がある。したがって、いくつかの実施形態は、
図58のプロセス5800を使用して、既知の入力/出力パターンの多数のセットを生成し、次いで、これらの既知の入力/出力パターンを使用して(5840において)ニューラルネットワークをトレーニングし、その結果、このニューラルネットワークを後で使用して、コンパクション動作中に検査される入力パターンから予測出力パターンを迅速に生成することができる。
【0191】
ニューラルネットワークをトレーニングするために、いくつかの実施形態は、ニューラルネットワークを介して各既知の入力を供給して予測出力を生成し、次いで、この予測出力を入力の既知の出力と比較して、1つ以上の誤差値のセットを識別する。既知の入力/出力のグループに対する誤差値は、次いで、損失関数を計算するために使用され、次いで、損失関数は、ニューラルネットワークを通して逆伝搬され、ニューラルネットワークの構成可能パラメータ(例えば、重み値)をトレーニングする。多数の既知の入力/出力を処理することによってトレーニングされると、ニューラルネットワークは、コンパクション動作を容易にするために使用され得る。
【0192】
いくつかの実施形態では、コンパクションツールは、それらの動作の一部又は全部を実行し、輪郭領域ではなくピクセル領域においてそれらの設計を画定する。これは、これらのネットワークが、輪郭ベースの記述ではなくピクセルベースのデータセットを処理するように最適化されることが多いため、ピクセルベースの設計が、機械トレーニング済みネットワークによる分析に理想的だからである。ピクセルベースの設計はまた、設計における曲線形状の表現及び処理をより容易にする。したがって、コンパクション動作の結果を輪郭領域ではなくピクセル領域で表現することによって、いくつかの実施形態は、コンパクションツールが機械トレーニング済みネットワークを使用し、設計内の曲線形状を迅速に処理することをはるかに容易にする。
【0193】
同様に、それらのマスクの作成を容易にするために、いくつかの実施形態は、それらのマスクを生成するために必要とされる処理を実行するためにピクセル領域を使用する。ピクセル領域において操作される曲線マスクは、任意のマンハッタン設計の場合と、かかる時間の量が同じだからである。また、この処理は、ピクセル領域のGPU上で実行されることが多い。単一の命令ストリームは多数のピクセルに均一に適用することができるので、GPUはピクセル領域において優れた単一命令複数データ(SIMD)マシンであり、そのため、このタイプのピクセル操作のためのGPU処理能力の膨大な能力は理想的である。SIMDアーキテクチャに依存して、曲線形状を有する物理的設計及びマスクを処理するためのはるかに高いコンピューティングスループットを生成することができる。
【0194】
輪郭(ジオメトリとも呼ばれる)は、通常、区分的線形多角形として表現されるが、スプラインのような無限解像度曲線フォーマットで表現されることもある。輪郭を操作することは、解像度限界が与えられた場合に、ピクセルベースのデータを操作する数学的双対である。数学的双対は、機能的に、一方で行うことができる任意のものを他方で行うことができることを意味する。しかしながら、実行時性能又は効率が考慮されるとき、ターゲットとして結果の特定の精度が与えられると、一方の計算挙動は他方と全く異なる可能性がある。
【0195】
一般に、大部分が大きな長方形である形状を操作することは、輪郭領域(すなわち、ジオメトリ領域)において高速であり、大部分が多角形又は曲線であり、頂点密度がより高い形状を操作することは、ピクセル領域において高速である。ピクセル領域では、ピクセルサイズは解像度限界から自然に定義される。ピクセルサイズが定義されると、処理される形状が曲線であるか直線であるかは重要ではない。いずれの計算も一定時間である。輪郭ベースの操作では、計算時間が輪郭を表すために使用される区分線形のエッジカウントの数に依存するので、これは当てはまらない。また、これらのデータを処理するデータの多くが高出力GPUによって実行されることを考えると、GPUはピクセル領域において優れているSIMDマシンであるので、ピクセルベースの分析は輪郭ベースの分析よりも好ましい。
【0196】
上述の特徴及び適用の多くは、コンピュータ可読記憶媒体(コンピュータ可読媒体とも呼ばれる)上に記録された命令のセットとして指定されるソフトウェアプロセスとして実装される。これらの命令が1つ以上の処理ユニット(例えば、1つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット)によって実行されるとき、これらの命令は、処理ユニットに命令に示されたアクションを実行させる。コンピュータ可読媒体の例は、CD-ROM、フラッシュドライブ、RAMチップ、ハードドライブ、EPROMなどを含むが、これらに限定されない。コンピュータ可読媒体は、無線又は有線接続を介して通過する搬送波及び電子信号を含まない。
【0197】
本明細書では、「ソフトウェア」という用語は、プロセッサによる処理のためにメモリに読み込むことができる、読取り専用メモリに常駐するファームウェア又は磁気記憶装置に記憶されたアプリケーションを含むことを意味する。また、いくつかの実施形態では、複数のソフトウェア発明は、別個のソフトウェア発明を残しながら、より大きなプログラムのサブパートとして実装され得る。いくつかの実施形態では、複数のソフトウェア発明を別個のプログラムとして実装することもできる。最後に、本明細書で説明されるソフトウェア発明を一緒に実装する別個のプログラムの任意の組み合わせは、本発明の範囲内である。いくつかの実施形態では、ソフトウェアプログラムは、1つ以上の電子システム上で動作するようにインストールされると、ソフトウェアプログラムの動作を実行及び実施する1つ以上の特定の機械実装を定義する。
【0198】
図59は、本発明のいくつかの実施形態が実装される電子システム5900を概念的に示す。電子システム5900は、コンピュータ(例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、サーバコンピュータ、メインフレーム、ブレードコンピュータ等)、電話、PDA、又は任意の他の種類の電子デバイスであってもよい。示されるように、電子システムは、様々なタイプのコンピュータ可読媒体と、様々な他のタイプのコンピュータ可読媒体のためのインターフェースとを含む。具体的には、電子システム5900は、バス5905、処理ユニット5910、システムメモリ5925、読み出し専用メモリ5930、永久記憶デバイス5935、入力デバイス5940、及び出力デバイス5945を含む。
【0199】
バス5905は、電子システム5900の多数の内部デバイスを通信可能に接続する全てのシステムバス、周辺バス、及びチップセットバスを集合的に表す。例えば、バス5905は、処理ユニット5910を、読み出し専用メモリ(ROM)5930、システムメモリ5925、及び永久記憶デバイス5935と通信可能に接続する。これらの様々なメモリユニットから、処理ユニット5910は、本発明のプロセスを実行するために、実行すべき命令及び処理すべきデータを取り出す。処理ユニットは、異なる実施形態において、単一のプロセッサ又はマルチコアプロセッサであり得る。
【0200】
ROM5930は、処理ユニット5910及び電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶する。一方、永久記憶デバイス5935は、読み出し書き込みメモリデバイスである。このデバイスは、電子システム5900がオフであっても命令及びデータを記憶する不揮発性メモリユニットである。本発明のいくつかの実施形態は、永久記憶デバイス5935として大容量記憶デバイス(磁気又は光ディスク及びそれに対応するディスクドライブなど)を使用する。
【0201】
他の実施形態では、永久記憶デバイスとしてリムーバブル記憶デバイス(フロッピー(登録商標)ディスク、フラッシュドライブなど)を使用する。永久記憶デバイス5935と同様に、システムメモリ5925は読み書きメモリデバイスである。しかしながら、記憶デバイス5935とは異なり、システムメモリは、ランダムアクセスメモリのような揮発性読み書きメモリである。システムメモリは、プロセッサが実行時に必要とする命令及びデータの一部を記憶する。いくつかの実施形態では、本発明のプロセスは、システムメモリ5925、永久記憶デバイス5935、及び/又は読み出し専用メモリ5930に記憶される。これらの様々なメモリユニットから、処理ユニット5910は、いくつかの実施形態のプロセスを実行するために、実行すべき命令及び処理すべきデータを取り出す。
【0202】
バス5905はまた、入力デバイス5940及び出力デバイス5945に接続する。入力デバイスは、ユーザが電子システムに情報を通信し、コマンドを選択することを可能にする。入力デバイス5940は、英数字キーボード及びポインティングデバイス(「カーソル制御デバイス」とも呼ばれる)を含む。出力デバイス5945は、電子システムによって生成された画像を表示する。出力デバイスは、プリンタと、陰極線管(CRT)又は液晶ディスプレイ(LCD)などの表示デバイスとを含む。いくつかの実施形態は、入力デバイス及び出力デバイスの両方として機能するタッチスクリーンなどのデバイスを含む。
【0203】
最後に、
図59に示されるように、バス5905はまた、ネットワークアダプタ(図示せず)を介して電子システム5900をネットワーク5965に結合する。このように、コンピュータは、コンピュータのネットワーク(ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、若しくはイントラネットなど)、又はインターネットなどのネットワークの一部とすることができる。電子システム5900のいずれか又は全てのコンポーネントは、本発明と併せて使用されてもよい。
【0204】
いくつかの実施形態は、機械可読媒体又はコンピュータ可読媒体(あるいは、コンピュータ可読記憶媒体、機械可読媒体、又は機械可読記憶媒体と呼ばれる)にコンピュータプログラム命令を記憶するマイクロプロセッサ、ストレージ、及びメモリなどの電子コンポーネントを含む。そのようなコンピュータ可読媒体のいくつかの例は、RAM、ROM、読取り専用コンパクトディスク(CD-ROM)、記録可能コンパクトディスク(CD-R)、書換え可能コンパクトディスク(CD-RW)、読取り専用デジタル多用途ディスク(例えば、DVD-ROM、二層DVD-ROM)、様々な記録可能/書換え可能DVD(例えば、DVD-RAM、DVD-RW、DVD+RWなど)、フラッシュメモリ(例えば、SDカード、ミニSDカード、マイクロSDカードなど)、磁気及び/又はソリッドステートハードドライブ、読取り専用及び記録可能Blu-Ray(登録商標)ディスク、超高密度光ディスク、任意の他の光又は磁気媒体、並びにフロッピーディスクを含む。コンピュータ可読媒体は、少なくとも1つの処理ユニットによって実行可能であり、様々な動作を実行するための命令セットを含むコンピュータプログラムを記憶することができる。コンピュータプログラム又はコンピュータコードの例は、コンパイラによって生成されるような機械コード、及びインタープリタを使用してコンピュータ、電子コンポーネント、又はマイクロプロセッサによって実行される高レベルコードを含むファイルを含む。
【0205】
上記の説明は主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに言及しているが、いくつかの実施形態は、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などの1つ以上の集積回路によって実行される。いくつかの実施形態では、そのような集積回路は、回路自体に記憶された命令を実行する。
【0206】
本明細書で使用される場合、「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」という用語は全て、電子デバイス又は他の技術デバイスを指す。これらの用語は、人々又は人々のグループを除外する。本明細書の目的のために、表示又は表示するという用語は、電子デバイス上に表示することを意味する。本明細書で使用されるように、用語「複数のコンピュータ可読媒体」、「1つのコンピュータ可読媒体」、及び「機械可読媒体」は、コンピュータによって可読である形態で情報を記憶する有形の物理的オブジェクトに完全に限定される。これらの用語は、任意の無線信号、有線ダウンロード信号、及び任意の他の一過性又は一時的な信号を除外する。
【0207】
本発明を多数の特定の詳細を参照して説明してきたが、当業者であれば、本発明の精神から逸脱することなく、本発明を他の特定の形態で実施できることを認識するであろう。例えば、いくつかの図は、プロセスを概念的に示す。これらのプロセスの特定の動作は、示され説明された正確な順序で実行されなくてもよい。特定の動作は、1つの連続する一連の動作において実行されなくてもよく、異なる特定の動作は、異なる実施形態において実行されてもよい。更に、プロセスは、いくつかのサブプロセスを使用して、又はより大きいマクロプロセスの一部として実装され得る。したがって、当業者は、本発明が前述の例示的な詳細によって限定されるべきではなく、添付の特許請求の範囲によって定義されるべきであることを理解するであろう。
【国際調査報告】