(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-01
(54)【発明の名称】半導体又はフラットパネルディスプレイ製造のための寄生成分を決定する方法及びシステム
(51)【国際特許分類】
G06F 30/398 20200101AFI20240725BHJP
H01L 21/822 20060101ALI20240725BHJP
H01L 21/82 20060101ALI20240725BHJP
G06F 30/27 20200101ALI20240725BHJP
【FI】
G06F30/398
H01L27/04 D
H01L21/82 C
H01L21/82 W
H01L21/82 T
G06F30/27
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024503979
(86)(22)【出願日】2022-07-19
(85)【翻訳文提出日】2024-02-27
(86)【国際出願番号】 US2022037648
(87)【国際公開番号】W WO2023003918
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】509142184
【氏名又は名称】ディー・ツー・エス・インコーポレイテッド
【氏名又は名称原語表記】D2S, INC.
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】藤村 晶
(72)【発明者】
【氏名】シラリ、ナゲーシュ
(72)【発明者】
【氏名】オリオーダン、ドナルド
【テーマコード(参考)】
5B146
5F038
5F064
【Fターム(参考)】
5B146AA22
5B146DC03
5B146GL04
5F038BH19
5F038CD01
5F038CD09
5F038CD12
5F038CD13
5F038EZ09
5F038EZ10
5F038EZ20
5F064BB40
5F064EE08
5F064EE14
5F064EE23
5F064EE26
5F064EE42
5F064EE43
5F064EE44
5F064EE45
5F064EE46
5F064EE47
5F064HH09
5F064HH10
(57)【要約】
いくつかの実施形態は、集積回路(IC)基板上に製造されるパターンの寄生パラメータを計算するための方法を提供する。本方法は、ワイヤ構造の定義を入力として受け取る。本方法は、ワイヤ構造をラスタライズして、いくつかの画像を生成する。ワイヤ構造をラスタライズする前に、本方法は、いくつかの実施形態では、ワイヤ構造をいくつかの構成要素に分解し、次いで、それらを個々にラスタライズする。次いで、本方法は、ニューラルネットワークへの入力として画像を使用し、次いで、ニューラルネットワークは、ワイヤ構造に関連付けられた寄生パラメータを計算する。いくつかの実施形態では、寄生パラメータは、ワイヤ構造に及ぼされる望ましくない寄生容量効果を含む。これに加えて又は代替的に、これらのパラメータは、ワイヤ構造への望ましくない寄生抵抗及び/又はインダクタンス効果を含む。
【特許請求の範囲】
【請求項1】
基板上に製造されるワイヤ構造の寄生パラメータを計算するための方法であって、
前記ワイヤ構造を受け取ることと、
前記ワイヤ構造に対してラスタライゼーション動作を実行して、前記ワイヤ構造を集合的に表す複数の画像の各々についてピクセルベースの定義を生成することと、
前記複数の画像の前記ピクセルベースの定義をニューラルネットワークへの入力として使用して、前記ワイヤ構造の寄生パラメータを計算することと、
を含む、方法。
【請求項2】
前記ニューラルネットワークは、プロセス技術の変動を考慮する、請求項1に記載の方法。
【請求項3】
前記ニューラルネットワークは、プロセス技術の各変動に対応する、予め定められた重みのセットを使用する、請求項2に記載の方法。
【請求項4】
前記複数の画像内の各画像は、前記ワイヤ構造内の層に対応する、請求項1に記載の方法。
【請求項5】
前記ワイヤ構造は、複数の直線形状を含む、請求項1に記載の方法。
【請求項6】
前記ワイヤ構造は、複数の曲線形状を含む、請求項1に記載の方法。
【請求項7】
前記ニューラルネットワークは、第1のニューラルネットワークであり、前記曲線形状は、形状予測のために訓練される第2のニューラルネットワークによって生成される、請求項6に記載の方法。
【請求項8】
前記曲線形状は、互いに交差する複数のワイヤトラックから生成される、請求項7に記載の方法。
【請求項9】
前記生成は、前記曲線形状のサブセグメント化を更に含む、請求項8に記載の方法。
【請求項10】
前記寄生パラメータは、前記ワイヤ構造の少なくとも1つのワイヤに及ぼされる予測された望ましくない寄生容量を表す少なくとも1つの寄生容量値を含む、請求項1に記載の方法。
【請求項11】
前記寄生パラメータは、前記ワイヤ構造の複数のワイヤに及ぼされる複数の予測された望ましくない寄生容量を表す複数の寄生容量値を含む、請求項10に記載の方法。
【請求項12】
基板上に製造されるワイヤ構造の寄生パラメータを計算するためのプログラムを記憶する非一時的機械可読媒体であって、前記プログラムは、
前記ワイヤ構造を受け取り、
前記ワイヤ構造に対してラスタライゼーション動作を実行して、前記ワイヤ構造を集合的に表す複数の画像の各々についてピクセルベースの定義を生成し、
前記複数の画像の前記ピクセルベースの定義をニューラルネットワークへの入力として使用して、前記ワイヤ構造の寄生パラメータを計算する、
ための命令のセットを含む、非一時的機械可読媒体。
【請求項13】
前記ニューラルネットワークは、プロセス技術の変動を考慮する、請求項12に記載の非一時的機械可読媒体。
【請求項14】
前記ニューラルネットワークは、プロセス技術の各変動に対応する、予め定められた重みのセットを使用する、請求項13に記載の非一時的機械可読媒体。
【請求項15】
前記複数の画像内の各画像は、前記ワイヤ構造内の層に対応する、請求項12に記載の非一時的機械可読媒体。
【請求項16】
前記ワイヤ構造は、複数の直線形状を含む、請求項12に記載の非一時的機械可読媒体。
【請求項17】
前記ワイヤ構造は、複数の曲線形状を含む、請求項12に記載の非一時的機械可読媒体。
【請求項18】
半導体設計から寄生容量を抽出するように第1のニューラルネットワークを訓練するための方法であって、
複数のワイヤ構造を含む半導体設計を受け取ることと、
前記複数のワイヤ構造をラスタライズすることと、
前記ラスタライズされた複数のワイヤ構造から曲線形状を計算することと、
プロセス技術情報のセットを受け取ることと、
前記プロセス技術情報のセットを使用することによって、前記曲線形状の各々の寄生容量を計算することであって、前記プロセス技術情報のセットに対する訓練された重みのセットを生成する、ことと、
前記プロセス技術情報のセットに対する前記訓練された重みのセットを出力することと、
を含む、方法。
【請求項19】
前記曲線形状を計算することは、第2のニューラルネットワークによって実行される、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体又はフラットパネルディスプレイ製造のための寄生成分を決定する方法及びシステムに関する。
【背景技術】
【0002】
荷電粒子ビームリソグラフィの3つの一般的なタイプは、非成形(ガウス)ビームリソグラフィ、成形荷電粒子ビームリソグラフィ、及びマルチビームリソグラフィである。全てのタイプの荷電粒子ビームリソグラフィにおいて、荷電粒子ビームは、レジストをコーティングした表面にエネルギーを照射して、レジストを露光する。
【0003】
集積回路などの半導体デバイスの生産又は製造において、光リソグラフィを使用して半導体デバイスを製造することができる。光リソグラフィは、レチクルから製造されたリソグラフィマスク又はフォトマスクを使用して、半導体又はシリコンウェハなどの基板上にパターンを形成して集積回路を作成する、印刷プロセスである。他の基板は、フラットパネルディスプレイ、又は更に他のレチクルを含むことができる。また、極紫外線(extreme ultraviolet、EUV)又はX線リソグラフィは、光リソグラフィの一種と考えられている。1つ又は複数のレチクルは、集積回路の個々の層に対応する回路パターンを含むことができ、このパターンを、フォトレジスト又はレジストとして知られている放射線感受性材料の層でコーティングされた基板上のある領域に撮像することができる。パターン化された層が作成されると、層は、エッチング、イオン注入(ドーピング)、メタライゼーション、酸化、及び研磨などの様々な他のプロセスを経ることができる。これらのプロセスは、基板内の個々の層を仕上げるために使用される。いくつかの層が必要とされる場合、プロセス全体又はそのバリエーションが、新しい層ごとに繰り返される。最終的に、複数のデバイス又は集積回路の組合せが、基板上に存在することになる。次いで、これらの集積回路は、ダイシング又はソーイングによって互いに分離され得、次いで、個々のパッケージに実装され得る。より一般的な場合には、基板上のパターンを使用して、表示ピクセル又は磁気記録ヘッドなどのアーティファクトを規定することができる。
【0004】
集積回路などの半導体デバイスの生産又は製造において、マスクレス直接書き込みを使用して半導体デバイスを製造することもできる。マスクレス直接書き込みは、半導体又はシリコンウェハなどの基板上にパターンを形成して集積回路を作成するために、荷電粒子ビームリソグラフィが使用される印刷プロセスである。他の基板は、フラットパネルディスプレイ、ナノインプリント用のインプリントマスク、又は更にレチクルを含むことができる。層の所望のパターンは、この場合は基板でもある表面上に直接書き込まれる。パターン化された層が作成されると、層は、エッチング、イオン注入(ドーピング)、メタライゼーション、酸化、及び研磨などの様々な他のプロセスを経ることができる。これらのプロセスは、基板内の個々の層を仕上げるために使用される。いくつかの層が必要とされる場合、プロセス全体又はそのバリエーションが、新しい層ごとに繰り返される。層のうちのいくつかは、光リソグラフィを使用して書き込まれてもよく、その一方で他の層は、同じ基板を製造するためにマスクレス直接書き込みを使用して書き込まれてもよい。最終的に、複数のデバイス又は集積回路の組合せが、基板上に存在することになる。次いで、これらの集積回路は、ダイシング又はソーイングによって互いに分離され、次いで、個々のパッケージに実装される。より一般的な場合には、表面上のパターンを使用して、表示ピクセル又は磁気記録ヘッドなどのアーティファクトを規定することができる。
【0005】
IC設計における寄生効果をモデル化することは、非常に重要である。寄生効果とは、IC設計における構成要素上(例えば、ワイヤセグメント上)の望ましくない寄生容量、抵抗、及びインダクタンスを指す。様々な寄生効果は、回路遅延、エネルギー消費、及び電力分配に影響を与え得る。それらはまた、信頼性に影響を与えるノイズ源及び他の効果をもたらす可能性もある。回路性能に対する相互接続寄生成分の効果を評価するために、それらを正確にモデル化する必要がある。
【0006】
製造技術がより複雑になるにつれて、望ましくない容量、抵抗、及びインダクタンスを含む寄生成分をモデル化するために、様々な技術が時間とともに進化してきた。しかしながら、近年では、寄生成分のモデリング及び抽出は、より小さいプロセスジオメトリ及びより新しいプロセスノードにおいてより困難になっている。困難の多くは、より小さいジオメトリにおいて、製造プロセス変動(variation)及び他のタイプの製造性の問題の効果が増大することから生じる。既存の技術はまた、寄生パラメータの計算が比較的遅い。
【発明の概要】
【0007】
いくつかの実施形態は、集積回路(Integrated Circuit、IC)基板上に製造されるパターンの寄生パラメータを計算するための方法を提供する。本方法は、ワイヤ(wire)構造の定義を入力として受け取る。本方法は、ワイヤ構造をラスタライズして(例えば、ワイヤ構造のピクセルベースの定義を生成して)、いくつかの画像を生成する。ワイヤ構造をラスタライズする前に、本方法は、いくつかの実施形態では、ワイヤ構造をいくつかの構成要素(例えば、いくつかのワイヤ、ワイヤセグメント、又はワイヤ構造部分)に分解し、次いで、それらを個々にラスタライズする。次いで、本方法は、ニューラルネットワークへの入力として画像を使用し、次いで、ニューラルネットワークは、ワイヤ構造に関連付けられた寄生パラメータを計算する。いくつかの実施形態では、寄生パラメータは、ワイヤ構造に及ぼされる望ましくない寄生容量効果を含む。これに加えて又は代替的に、これらのパラメータは、ワイヤ構造への望ましくない寄生抵抗及び/又はインダクタンス効果を含む。
【0008】
いくつかの実施形態は、半導体設計から寄生容量を抽出するようにニューラルネットワークを訓練するための方法を提供する。この方法は、いくつかのワイヤ構造を含む半導体設計を入力として受け取る。本方法は、各ワイヤ構造をいくつかの2D画像にラスタライズする、ラスタライゼーション動作を実行する。各ワイヤ構造について、本方法は、ワイヤ構造を表すための1つ以上の曲線形状を生成する機械訓練されたネットワーク(例えば、ニューラルネットワーク)への入力として、これらの画像を使用する。次いで、本方法は、各ワイヤセグメントの曲線形状のセットを使用して、ニューラルネットワークを訓練する。
【0009】
上記の「発明の概要」は、本発明のいくつかの実施形態の簡単な紹介として役立つことを意図している。それは、本明細書に開示される全ての発明の主題の紹介又は概要であることを意図したものではない。以下の「発明を実施するための形態」、及び「発明を実施するための形態」で参照される「図面」は、「発明の概要」で説明される実施形態だけでなく他の実施形態も更に説明する。したがって、本明細書によって説明される全ての実施形態を理解するためには、「発明の概要」、「発明を実施するための形態」、「図面」、及び「特許請求の範囲」を十分に考察する必要がある。更に、特許請求される主題は、「発明の概要」、「発明を実施するための形態」、及び「図面」における例示的な詳細によって限定されるものではない。
【0010】
本発明の新規な特徴を、添付の特許請求の範囲に記載する。しかしながら、説明の目的のために、本発明のいくつかの実施形態を以下の図に記載する。
【図面の簡単な説明】
【0011】
【
図1】当該技術分野で知られている、デジタル設計フローを示す。
【
図2】当該技術分野で知られている、例示的なバス構造を示す。
【
図3】当該技術分野で知られている、寄生成分を計算するための詳細なフローを示す。
【
図4A】当該技術分野で知られている、ワイヤ構造を示す。
【
図4B】当該技術分野で知られている、ワイヤ構造を示す。
【
図5】当該技術分野で知られている、寄生成分を計算するためのフローを示す。
【
図6A】いくつかの実施形態による、寄生成分を計算するためのフローを示す。
【
図6B】いくつかの実施形態による、寄生成分を計算するためのフローを示す。
【
図7】いくつかの実施形態による、寄生成分を計算するためのフローを示す。
【
図8】いくつかの実施形態による、ニューラルネットワークアーキテクチャを示す。
【
図9】いくつかの実施形態による、訓練データの生成を示す。
【
図10】いくつかの実施形態による、タイルを使用して寄生成分を計算するためのフローを示す。
【
図11】いくつかの実施形態による、タイル化されたデータを示す。
【
図12】いくつかの実施形態による、タイルを生成するためにニューラルネットワークを訓練する際のフローを示す。
【
図13】いくつかの実施形態による、タイルを使用して寄生成分を計算するためのニューラルネットワークを示す。
【
図14】いくつかの実施形態による、GPUシステム図の概略図である。
【
図15】いくつかの実施形態による、GPUシステム図の概略図である。
【
図16】いくつかの実施形態による、3×3バス構造の容量行列を示す。
【発明を実施するための形態】
【0012】
本発明の以下の詳細な説明では、本発明の多数の詳細、例、及び実施形態が記載され、説明される。しかしながら、本発明が記載された実施形態に限定されないこと、並びに本発明が説明された特定の詳細及び例のいくつかを伴わずに実施され得ることは、当業者には明確であり、明らかであろう。
【0013】
より一般的には相互接続と呼ばれる半導体配線(wiring)は、望ましくない寄生容量、抵抗、及びインダクタンスをもたらす複雑な3Dジオメトリを形成する。これらの望ましくない寄生効果に効果的に対処することは、仕様を満たし、歩留まりが良く、良好な信頼性を提供する製造可能な設計を作成するために、通常、回路設計者及びマスク設計者に複数回の反復を行わせるプロセスである。したがって、電子設計自動化(Electronic Design Automation、EDA)では、IC設計における寄生効果(例えば、望ましくない容量、インダクタンス、及び/又は抵抗効果)を正確に適切に抽出し、モデル化する必要がある。製造技術がより複雑になるにつれて、望ましくない容量、抵抗、及びインダクタンスを含む寄生成分をモデル化するために、様々な技術が時間とともに進化してきた。
【0014】
この抽出/モデリングステップは、より小さいプロセスジオメトリ/より新しいプロセスノードにおいてますます困難になっている。困難の多くは、より小さいジオメトリにおいて、製造プロセス変動及び他のタイプの製造性の問題の効果が増大することから生じる。長年にわたって、処理技術の進歩が抵抗の効果を低減し、低k誘電体材料が容量の効果を低減したにもかかわらず、フィーチャサイズ(ワイヤ幅など)の継続的な縮小に起因して、寄生効果が支配的なままであり続けるか、又は支配性が増大している。
【0015】
様々な寄生効果は、回路遅延、エネルギー消費、及び電力分配に影響を与え得る。それらはまた、信頼性に影響を与えるノイズ源及び他の効果をもたらす可能性もある。回路性能に対する相互接続寄生効果の効果を評価するために、それらを正確にモデル化する必要がある。
図1は、従来使用されている簡略化されたデジタル設計フローを示しており、寄生成分は、フローのバックエンド部分における回路レイアウトから抽出され、フローのフロントエンド部分におけるゲートレベルシミュレーションで考慮される。典型的には、相互接続寄生成分は遅延/タイミングに影響を及ぼし、ゲートレベルネットリストの変化につながり、フロアプランニング及び/又は配置配線(place and route)を通して別の反復が必要となり、その結果、回路レイアウトが変更される。より複雑なデジタル設計フローは、バックエンド部分を、仮想プロトタイピング、パワーグリッド合成、配置、パワールーティング、クロックツリー合成(Clock Tree Synthesis、CTS)、ポストCTS最適化、ルーティング、ポストルーティングタイミング及びシグナルインテグリティ最適化、及び、最終的なサインオフ抽出、タイミングシグナルインテグリティ、並びにパワーサインオフなどの、他のステップで置き換えることができる。寄生成分もまた、これらの追加の設計ステップにおいて考慮されなければならない。
【0016】
アナログ設計フローはまた、レイアウトが完了し、寄生成分が抽出された後に詳細なシミュレーションを必要とし、寄生成分がシミュレーション結果に影響を及ぼすために、レイアウトの変更が必要となる。より複雑なアナログ設計フローはまた、レイアウトプロトタイピング、フロアプランニング、配置及びルーティング(place and routing)、並びにレイアウト依存効果(Layout-Dependent Effect、LDE)及び密度勾配効果(Density-Gradient Effect、DGE)を考慮する試みの形態も含む。アナログフロー及びデジタルフローの両方において、ルーティングは、マルチパターニングを認識する必要があり、パターン密度は、印刷適性に影響を与えるため、レイアウトを低密度に分離して別々に露光することによって対処される。デジタルフローと同様に、アナログ設計フローにおける様々なステップは、寄生成分を正確に考慮する必要がある。
【0017】
アナログフロー及びデジタルフローの両方において、寄生成分の存在下で、タイミング、電力、性能及び面積の設計制約を満たすレイアウトが達成されるまで、通常、複数回の反復が必要とされる。詳細なシミュレーションは、これらの回路レベルの行列が製造プロセス変動にわたって満たされることを確実にするために、公称プロセス条件の寄生成分だけでなく、様々な製造プロセスコーナーを表す寄生変動についても繰り返される必要がある。
【0018】
以下の説明は主に容量抽出技術に焦点を当てているが、本明細書で説明する方法は、抵抗及びインダクタンスの抽出にも適用される。
FastCAPは、任意の形状、向き、及びサイズの理想的な導体間の、自己及び相互容量を計算する既存の3次元容量抽出プログラムである。
図2は、そのような抽出プログラムの動作を示す例を提供する。これは、寄生容量を抽出する必要があるバス構造200を示す。図示されるように、バス構造200は、パッチとして表される6つの面をそれぞれ有する4つの導体を含む。導体は、それらが重なり合う場所に基づいてセクションに分割される。FastCap用の入力ファイルは、導体表面のパネルへの離散化を指定し、エッジは、精度のためにより細かくメッシュ化される。
図2の例では、FastCAPは、以下の表に示される4×4容量行列を生成する。
【0019】
【0020】
所与の構造についてマクスウェル方程式を解いた後、対称容量行列が、フィールドソルバによる出力として生成され、主対角線に沿った導体自己容量を列挙し、非対角項は、様々な導体間の結合容量である。
【0021】
技術事前特性評価(pre-characterization)では、フィールドソルバを使用していくつかの構造をシミュレートし、そこから最終的に結合容量係数を計算する様々な方法が使用され得る。
図3は、高レベルにおいて、典型的な事前特性評価プロセスが、様々な幅及び間隔の導体ワイヤを含むいくつかの多層2D回路ワイヤ構造300を構築することによって開始することを示している。次いで、これらの2Dワイヤ構造は、プロセス技術ファイルからのワイヤ高さ情報と結合され、(押出しプロセス302によって)押し出されて3D構造を形成する。
【0022】
次いで、3D構造は、フィールドソルバ304が処理するための形式に変換される。例えば、3D構造は、パネルのセットを用いてN個の導体に変換され、次いで、フィールドソルバ304によって消費され、N×N容量行列306が生成される。容量行列は、フィルタプロセス308によってフィルタリングされて、自己容量値のセット及び結合容量値のセットを生成する。次いで、これらの容量値は、成分値、すなわち容量係数に後処理される。
【0023】
Cong et al.による「Analysis and Justification of a Simple,Practical 2 1/2D Capacitance Extraction Methodology」と題された論文において、容量抽出技法のための5つの基礎が提示されている。
【0024】
・第1の基礎は、「同一層上の接地及び隣接ワイヤは、著しい遮蔽効果を有する。したがって、正確なモデリングのためには両方を考慮しなければならない。」ということである。
【0025】
・第2の基礎は、「層i上の金属密度がある閾値を超えた場合、層I+1内のワイヤと層i-1上のワイヤとの間の結合は無視できる」ということである。
・第3は、「層i上のワイヤの容量抽出中、層i+/-2は、無視できる誤差でグランドプレーンとして扱うことができる。層i+/-2の先を見る必要はない。」ということである。
【0026】
・第4は、「同一層内のワイヤに対する結合分析は、最も近い隣接ワイヤを独立に考慮するだけでよく、同一層の隣接ワイヤの幅が結合に与える効果は無視できる」ということである。
【0027】
・第5の最後の基礎は、「層i上の層i-1と層i+1の共同相互作用は無視できるので、直交クロスオーバー及びクロスアンダーの補正は増分的に実行することができる」ということである。
【0028】
これらの基礎並びに上述の論文からの学術用語は、本発明のいくつかの実施形態の寄生成分抽出技法において使用される。例えば、
図4Aは、層i上の、同一層の隣接間隔Sを有する幅Wのワイヤについて、横方向(Cl)、面積(Ca)及びフリンジ(Cf)容量係数を抽出することを可能にする単一層構造を示す。左側の構造は、同一の幅Wの3本のワイヤを示し、右側の構造は、同一の幅W’(Wプライム)のわずかに異なる3本のワイヤ、すなわち、左側の構造のものと幅がほんのわずかに異なるワイヤを示す。
【0029】
事前特性評価中に、両方のパターンに対応する2Dバス構造が作成される。プロセス技術ファイルからのワイヤ高さは、2D構造から3D構造を生成するために使用される。次いで、3D構造をメッシュ化して一連の2D表面パネルを作成し、パネル情報をフィールドソルバへの入力として使用する。3D構造は、フィールドソルバ(例えば、FastCAP)によってシミュレートされ、2つの容量行列をもたらす。容量行列値をCl、Ca、及びCf容量成分値に関連付ける連立方程式が構築され、その特定のワイヤ幅及び間隔、すなわちW、Sの対に対するCl、Ca、及びCf成分値を生成するために解かれる。次いで、このアプローチは、W、Sの様々な値に対して繰り返される。
【0030】
図4Bは、クロスオーバー容量を計算するための幾何学的構造の平面図を示す。この図の左側は、3×3バス交差構造420を含み、その右側は、3×2バス交差構造425を含む。両方の構造は、プロセス技術ファイルからのワイヤ高さを使用して3Dに押し出され、次いで、表面パネルに変換される。次いで、表面パネル情報は、入力として使用され、フィールドソルバ(FastCAP)によって(独立して)解かれ、それぞれ、3×3及び3×2容量行列が生成される。次いで、得られた容量行列を後処理して、クロスオーバー容量の値を生成する。
【0031】
このアプローチでは、プロセスは、対象となる層の幅W及び間隔Sの異なる値とともに、クロスオーバーワイヤ幅及び間隔Wc並びにScの異なる値で繰り返される。次いで、様々な容量行列は、4タプル(W、S、Wc、Sc)の関数としてクロスオーバー容量係数を決定することができるように後処理される。同様のアプローチを使用して、(層i+1の代わりに層i-1を層使用して)クロスアンダー容量を決定する。他のアプローチは、容量係数を決定するための適切な後処理技術とともに、3層バス交差構造又は他の構造を使用することができる。
【0032】
次いで、W、S、Wc、Scの様々な異なる値を使用して、Cl、Ca、Cf、クロスオーバー容量係数Co、及びクロスアンダー容量係数Cuの様々な値が計算される。次いで、これらの値を使用してルックアップテーブルを計算し、後の容量抽出段階で、Cl、Ca、Cf、Co、CuがW、S、Wc、Scの値としてルックアップされることを可能にする。ルックアップテーブルは、エクストラクタのパターンライブラリの一部として記憶される。
【0033】
容量抽出段階で、対象となるIC設計のワイヤセグメントに対する幾何学的パラメータが決定され、パターンライブラリ内のルックアップテーブルを調べて、容量成分係数値が求められる。W及び1/Sにおける線形補間は、容量抽出段階で発生するワイヤの値が、事前特性評価段階でルックアップテーブル生成に使用した値と正確に一致しない場合に使用される。
【0034】
このアプローチ及び他のアプローチは、幾何学的パラメータに関連していることに留意されたい。モデル及びテーブルは、幅及び間隔などの幾何学的パラメータの関数として、事前特性評価中にパターンライブラリとともに記憶される。抽出段階で、レイアウトは、幾何学的パラメータ(より多くの幅及び間隔)のセットに分解され、必要に応じて線形補間しながら、事前特性評価段階からのモデル/テーブルを参照/ルックアップして、容量値を計算する。
【0035】
プロセス世代にわたる寄生容量の効果をモデル化するために、レイアウトデータから寄生容量を計算する方法は、必要な精度を満たすために、1D、2D、2.5Dから完全な3Dベースのソリューションまで進化してきた。
【0036】
精度レベルにかかわらず、容量抽出は一般に2つの段階で実行される。
図5は、容量抽出を実行するための従来のフローを示す。「事前特性評価」として知られる第1の段階は、プロセス技術情報を必要とするが、抽出される実際のICのレイアウトを必要としない。この第1の段階は、プロセス技術ノードごとに1回実行される。この第1の段階は、
図5において破線500の上に示されている。抽出段階と呼ばれる第2の段階は、事前特性評価段階で生成された情報とともに、寄生パラメータが抽出されるチップの実際のICレイアウト設計データベースを必要とする。この段階は
図5の線500の下に示されている。この段階は、IC設計ごとに1回必要とされ、出力として寄生成分ファイル又はデータベースを生成する。
【0037】
事前特性評価中、CPU負荷が高いが非常に正確なフィールドソルバを使用して、特定の構造に対する容量を決定する。次いで、得られた容量は、特定の容量モデルと併せて後処理され、製造プロセス技術を表す様々なモデルパラメータ又はルックアップテーブルのセットが得られる。次いで、モデル及び/又はルックアップテーブルは、事前特性評価段階の出力として記憶される。次いで、事前特性評価段階で記憶されたパラメータ化されたモデル及び/又はルックアップテーブルは、容量抽出段階でIC設計に関するジオメトリ情報と組み合わされる。
【0038】
典型的なレチクル強化技術(Reticle Enhancement Technology、RET)方法は、ホットスポットを識別して補正するための光近接効果補正(Optical Proximity Correction、OPC)検証を有する。ホットスポットは、適切に印刷するために理想的な条件を必要とする領域であるため、製造の変動に対して適応力がなく、又は場合によっては、理想的な条件であっても適切に印刷されない。ホットスポットは歩留まりの悪さにつながる。インバースリソグラフィ技術(Inverse Lithography Technology、ILT)は、OPC技術の一種である。ILTは、シリコンウェハなどの基板上に形成することを所望するパターンから、レチクル上に形成するパターンを直接計算するプロセスである。これは、基板上の所望のパターンを入力として使用して、光リソグラフィプロセスを逆方向にシミュレートすることを含み得る。ILT計算されたレチクルパターンは、純粋に曲線、すなわち完全に非直線であってもよく、円形、ほぼ円形、環状、ほぼ環状、楕円形、及び/又はほぼ楕円形のパターンを含んでもよい。ILT、特に拘束のない曲線ILTが、ウェハパターンの忠実度及びプロセスウィンドウに関して最良の結果をもたらすことができることを、多くの研究及びウェハ結果が示している。
【0039】
重要な又は非常に高密度のIC設計では、タイミング(性能)及び電力消費に対する任意の効果が完全に考慮されるように、寄生容量値を可能な限り正確にモデル化することが不可欠である。いくつかの実施形態は、近接効果が含まれる曲線形状を生成することができる製造プロセスシミュレータを、容量抽出の事前特性評価段階及び抽出段階の両方に直接組み込むことによって、そのような容量抽出精度を達成する。
【0040】
曲線形状は、IC設計における構成要素(例えば、ワイヤ)の製造された形状に、より酷似している。したがって、曲線形状を使用して寄生成分抽出を実行することにより、抽出された寄生成分値の精度を改善する。
図6Aは、事前特性評価中に曲線形状を生成及び使用する、製造プロセスシミュレータの例を示す。この例における製造プロセスシミュレータは、曲線形状610をどのように生成すべきかを知らせるICレイアウトデータベースからの情報を使用して、2D形状600から曲線2D形状610を生成するRET605を含む。この例における製造プロセスシミュレータは、半導体製造プロセスを記述するパラメータの集合である、半導体プロセスモデル615も含む。この半導体プロセスモデル615には、リソグラフィに使用する光源のタイプ、使用する光の波長などのプロセスモデルが含まれている。
【0041】
次いで、生成された2D曲線形状610は、3D押出し及びメッシュ化プロセス616に供給され、次いで、このプロセス616は、これらの形状及びプロセス技術ファイル618からの情報を使用して、正確なメッシュ化3D形状620を生成する。次いで、これらの3D形状620は、フィールドソルバ622への入力として提供される。3D形状620の記述は、従来の方法を使用して生成されるものよりも正確である。その結果、フィールドソルバ622によって、著しくより正確な容量値624が生成される。
【0042】
いくつかの実施形態で使用される製造プロセスシミュレータは、製造の様々な詳細な欠陥をシミュレートし、生成されるシリコン上の形状の詳細な平面図を可能にする。これらのシミュレータは、いくつかの近接効果、ラインエッジラフネスなどを考慮することができる。いくつかの実施形態は、高精度の3Dモデルを生成するために、これらのシミュレータによって生成されたデータを、技術スタックのプロセス技術ファイル情報と組み合わせる。次いで、これらの3Dモデルをフィールドソルバツールへの入力として使用して、高レベルの精度で容量を抽出する。
【0043】
ランタイムがそれほど重要でない場合、製造シミュレーションツールは、製造プロセス変動及び曲線設計技術を完全に考慮することができ、プロセスコーナーにわたって曲線相互接続変動性のより正確な決定を可能にする。しかしながら、ランタイムがしばしば重要であることを考慮すると、いくつかの実施形態は、プロセス変動の影響、及び製造された設計における曲線形状の存在の増加を考慮しながら、従来のパターンライブラリ及び従来のパターンマッチングに依存しない、より新しくより良好な容量抽出技術を使用する。これらの実施形態により、プロセス変動を考慮しながら、曲線設計形状及び製造された曲線相互接続形状の両方について正確な寄生成分抽出が可能になる。
【0044】
従来の容量抽出アプローチは、主に、単一命令単一データ流(Single Instruction, Single Data stream、SISD)処理アーキテクチャを使用するCPUベースの処理に依存する。事前特性評価及び抽出の問題を、複数のCPUアプローチを使用して並列に解くことができる領域ベースのサブ問題に分割することは可能であるが、サブ問題自体の計算は、単一命令複数データ(Single Instruction, Multiple Data、SIMD)アーキテクチャを有するグラフィックス処理ユニット(Graphics Processing Unit、GPU)、例えばグラフィック処理又は深層学習アプリケーション上で典型的に解かれる問題ほど細かくはない。したがって、従来の容量抽出アプローチでは、著しい性能利益を実現するために膨大な数のCPUが必要とされる。
【0045】
したがって、はるかに細かいレベルの並列性を得るために、また、容量抽出問題をより効率的に解くことができるように、容量抽出問題をGPU又はテンソル処理ユニット(Tensor Processing Unit、TPU)デバイスなどの新しいSIMDアーキテクチャ上にマッピングすることが望ましい。いくつかの実施形態は、これらの動作をピクセル領域で実行することによって寄生成分の事前特性評価及び抽出の速度を改善し、これにより、これらの動作がGPU又はテンソル処理ユニット(TPU)デバイスなどのSIMDアーキテクチャによって実行されることが可能になる。これらの実施形態は、機械訓練されたネットワーク(例えば、ニューラルネットワーク)を使用して、事前特性評価及び抽出中に解析されたIC設計構成要素(例えば、ワイヤ構造)のピクセルベースの定義を処理する。
【0046】
例えば、いくつかの実施形態のシステム及び方法は、フィールドソルバを使用して容量値を決定し、ソルバへの入力として使用される入力導体構造は、(例えば、平面図において)曲線である。いくつかの実施形態は、訓練された曲線形状予測畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)を使用して、これらの曲線形状を生成する。いくつかの実施形態のシステム及び方法は、容量予測CNNを訓練する技術事前特性評価を実行し、次いで、容量予測ネットワーク構造及び訓練された重みをパターンライブラリに記憶する。いくつかの実施形態は、技術事前特性評価中に複数のトラック容量予測CNNを訓練し、次いで、容量予測CNN構造及び訓練された重みをパターンライブラリに記憶する、システム及び方法を提供する。
【0047】
訓練された曲線形状予測CNNの使用により、いくつかの実施形態が、抽出時に3D製造された曲線導体形状の正確な表現を迅速に生成することが可能になる。次いで、これらの3D製造された曲線導体形状は、フィールドソルバへの入力として提供される。このアプローチは、クリティカルネット抽出の精度、特に、著しい製造プロセス変動が存在する場合のクリティカルネット抽出の精度を改善する。
【0048】
いくつかの実施形態は、ノンクリティカルネットのパターンベース抽出において容量係数のモデリングを実行するために、幾何学的アプローチの代わりに深層学習技術を使用する。例えば、いくつかの実施形態では、容量成分予測CNNアーキテクチャを使用して、幾何学的パラメータを入力として使用する代わりに、導体構造の2Dラスタライズされた画像を入力として使用することによって、容量又は容量係数値を予測する。したがって、(2.5D及び3Dパターンマッチング技術において使用されるような)モデルベース又はテーブルベースのアプローチの特定の制限が取り除かれる。これにより、パターンベース技術の適用性及び範囲が拡大される。
【0049】
いくつかの実施形態は、寄生成分抽出のために従来のパターンマッチング又はフィールドソルバを使用する代わりに、訓練されたCNNを使用することによって、完全な容量抽出を実行する。例えば、いくつかの実施形態では、抽出される設計は、ピクセル領域にラスタライズされ、画像タイルに分割される。各タイル内のピクセルとして表される導体の容量は、訓練された容量予測CNNによって迅速に推測され、最終的な容量値を得るために、所与の導体に関連付けられたタイルにわたって積分される。ニューラルネットワークを使用する実施形態は、今日のGPU及びTPUデバイスのSIMD基礎アーキテクチャによって効率的に処理され得るため、迅速に実行され得る。
【0050】
図6Bは、容量抽出フローにおいて訓練された曲線形状予測ニューラルネットワーク650を使用して、IC設計を使用してICを製造した後に生じる曲線導体の高精度の寄生容量値を生成することを示す。ニューラルネットワーク650は、EDA段階の後(例えば、ルーティングの後)に定義される2D形状652のいくつかの製造プロセス変動に対して、いくつかの2D曲線形状654を生成するように訓練される。いくつかの実施形態では、ニューラルネットワークは、2D形状652のピクセル定義を処理し、ピクセル領域において曲線2D形状654を生成する。したがって、ニューラルネットワークの場合、入力2D形状652はピクセル領域にラスタライズされる。
【0051】
図6Bに示されるように、製造プロセス変動に対して生成された2D曲線形状654は、次いで、3D押出し及びメッシュ化プロセス656に供給され、次いで、このプロセス656は、プロセス技術ファイル658からのこれらの形状及び情報を使用して、(3D表面記述によって定義されるような)正確なメッシュ化3D形状660を生成する。押出しを実行するために、2D曲線形状の定義は、ピクセル領域から、形状がそれらの輪郭の定義によって定義される幾何学的輪郭領域に変換される。
【0052】
次いで、これらの3D形状660は、フィールドソルバ662への入力として提供される。3D形状660の記述は、従来の方法を使用して生成されるものよりもはるかに正確である。その結果、フィールドソルバ662によって、著しくより正確な容量値364が生成される。
【0053】
いくつかの製造プロセス変動に対していくつかの2D曲線形状654を生成するために1つのニューラルネットワーク650を単に実行する代わりに、他の実施形態は、それぞれ異なる製造プロセス変動に対して並列に実行されるいくつかの単一出力ニューラルネットワークを使用する。これらの同時に実行されるニューラルネットワークは、いくつかのプロセス変動に対していくつかのプロセスコーナー固有の2Dウェハ輪郭を生成する。いくつかの実施形態では、そのような各ニューラルネットワークは、1つの製造プロセス変動に対応する、予め定められた重みのセットを使用する。
【0054】
その一方で、いくつかの製造プロセス変動に対していくつかの2D曲線形状654を生成するニューラルネットワーク650は、ICレイアウト描画形状のセットを入力として受け取るが、プロセス製造コーナーごとに1つずつ、曲線形状の1つではなく複数の出力を生成する。(1つのニューラルネットワーク650又は複数の単一プロセス変動ネットワークによって生成される)複数の製造プロセス変動に対する複数の2D曲線形状の例は、処理条件における異なる極限に対応する、平均曲線画像、最大曲線画像、及び最小曲線画像を含む。
【0055】
これらの例に関する詳細、及びIC設計から導出されるラスタ画像を入力として与え、曲線形状予測ニューラルネットワークを訓練し、その後、曲線シリコンウェハ形状の詳細な2D画像を生成するために使用することができる方法に関する詳細は、「Methods and Systems to Determine Shapes for Semiconductor or Flat Panel Display Fabrication」、米国出願公開第2022/0128899号、及び2021年11月28日に出願された米国仮出願第63/283520号に開示されており、これらの両方は、参照により本明細書に援用される。
【0056】
上述したように、プロセス変動にわたる2D曲線形状654は、3D押出し及びメッシュ化プロセス656によって並行して押出し及びメッシュ化されて、コーナー固有又は極限固有の3D表面メッシュ化ボリューム660のセットを形成し、これらは次いでフィールドソルバ662に入力される。フィールドソルバは、いくつかの実施形態ではただ1つのフィールドソルバであるが、他の実施形態では複数のフィールドソルバである。フィールドソルバによって実行されるフィールドソルビング動作(field solving operation)は、製造プロセス変動にわたり、対応する寄生容量値のセット(例えば、行列値のセット)を生成する。いくつかの実施形態では、寄生容量値は、フィルタリングされ、DSPF/SPEFファイル(Detailed Standard Parasitic Format/Standard Parasitic Exchange Format)、又はSynopsys Galaxy Parasitic Database(GPD)などの他の業界標準寄生表現に変換される。
【0057】
したがって、様々な製造プロセス変動に起因する曲率に対する修正は、ソルバが生成する様々なプロセスコーナーの容量値に正確に取り込まれる。解析されているIC設計における各2D形状について、上述の実施形態は、複数のプロセス変動にわたって複数の2D曲線形状を計算する。しかしながら、他の実施形態は、
図6Bに示されるフロー及びニューラルネットワークを使用して、ただ1つのプロセス条件(1つの特定の製造プロセス変動)に対して2D及び3D曲線形状を生成し、したがって、この1つのプロセス条件に対して寄生容量値のみを生成する。
【0058】
図7は、抽出中に後で使用するための容量係数を生成する事前特性評価プロセス中に容量係数を計算するための幾何学的アプローチを、置換又は補完するための新規な非幾何学的アプローチ700を示す。幾何学的アプローチは、
図4を参照して上述したように、レイアウトの一部を取り出して、それをワイヤ長、間隔などの幾何学的特徴に縮小する。
【0059】
その一方で、技術事前特性評価中、
図7に示されるアプローチは、単純化した容量モデル/ルックアップテーブルを、より普遍的な関数近似器である、訓練された容量予測ニューラルネットワーク740に置き換える。このアプローチでは、画像ラスタライゼーション720がワイヤ構造710に対して実行されて、いくつかの2D画像が生成され、これらは以下でマルチチャネル2D画像730と呼ばれる。画像ラスタライゼーション720は、マルチチャネル2D画像730をピクセル領域で定義する(すなわち、マルチチャネル2D画像730のピクセルベースの定義を生成する)。したがって、幾何学的属性を定量化し、次いで、事前特性評価されたルックアップテーブル値とともにこれらの属性を使用して容量を計算する代わりに、
図7に示されるアプローチは、設計のピクセル表現を使用して容量係数を生成し、そこから寄生容量が、(例えば、係数にワイヤセグメント長及び/又はワイヤセグメント重複長を乗じた後に)計算される。
【0060】
いくつかの実施形態では、画像ラスタライゼーションは、完全に埋まったピクセル(例えば、ワイヤセグメントなどの形状によって完全に覆われたピクセル)に対して白色ピクセルを生成し、完全に空のピクセル(例えば、ワイヤセグメントなどの任意の形状を覆わないピクセル)に対して黒色ピクセルを生成し、部分的に埋まったピクセルに対して灰色ピクセルを生成する。これらの実施形態のうちのいくつかでは、完全に埋まったピクセルは数値1.0で表され、完全に空のピクセルは0.0として表され、部分的に埋まったピクセルは、ワイヤによって埋められるピクセルの面積を表す範囲[0,1]内の値で表される(例えば、50%埋まったピクセルは0.5の値を有する)。ワイヤ構造をラスタライズする前に、いくつかの実施形態は、ワイヤ構造をいくつかの構成要素(例えば、いくつかのワイヤ、ワイヤセグメント、又はワイヤ構造部分)に分解し、次いで、それらを個々にラスタライズする。
【0061】
次いで、マルチチャネル2D画像730は、容量予測ニューラルネットワーク740への一次入力として使用され、容量予測ニューラルネットワーク740は容量ベクトル750を生成する。いくつかの実施形態では、訓練された容量ニューラルネットワーク740によって生成された容量ベクトル値750は更に、容量係数に後処理される。この目的のために、容量ベクトル750は、出力として容量係数760を生成するポストプロセッサ755に供給される。図示されるように、これらの容量係数は、いくつかの実施形態では、Cl、Ca、Cf、Co、Cuを含むが、他の実施形態では、それらは、他の容量モデル用の他の係数に後処理される。
【0062】
容量係数760を生成するために、ポストプロセッサ755は、いくつかの実施形態では、容量行列値をCl、Ca、及びCf容量成分値に関連付ける連立方程式を構築し、この方程式を解いて、その特定のワイヤ幅及び間隔、すなわち、W、Sの対に対するCl、Ca、及びCf成分値を生成する。次いで、このアプローチは、W、Sの様々な値に対して繰り返される。いくつかの実施形態では、生成された容量係数760は寄生単位長である。したがって、抽出中に、生成された容量係数760は、次いで、例えば、これらの係数を重複ワイヤセグメントの長さと乗算することによって、寄生容量を計算するために使用される。
【0063】
訓練されたニューラルネットワーク740をマッピング機構として使用することは有利であり、抽出段階で、ワイヤ幅及び間隔が訓練時間中に使用されるものと異なるときに外部で実行される線形補間の必要性を取り除く。これは、ニューラルネットワークが、適切に設計され、訓練された場合、普遍的な関数近似器として機能し、見知らぬデータに対して動作する場合、そのような外部補間の必要性を取り除くからである。従来のアプローチに対するこの方法の別の利点は、ニューラルネットワーク740に入力されるマルチチャネル2D画像730が、曲線形状を含む任意の導体形状を表すことができることである。
【0064】
例えば、いくつかの実施形態では、ワイヤ構造のうちの1つ以上は、形状予測のために訓練される第2のニューラルネットワーク(例えば、
図6Bの曲線形状予測ニューラルネットワーク)によって、曲線形状から生成される。いくつかの実施形態では、入力半導体設計は、いくつかのワイヤ構造を含む。これらのワイヤ構造の各々はラスタライズされ、各ラスタライズされたワイヤ構造から曲線形状が計算される。各ワイヤ構造のラスタライズは、いくつかの画像を生成することができ、例えば、いくつかの実施形態における各画像は、ワイヤ構造内の配線の1つの層に対応する。製造された曲線ワイヤ構造は、互いに交差する複数のワイヤトラックを含むことができ、より小さい構造にサブセグメント化することができる。各ワイヤ構造をラスタライズする前に、いくつかの実施形態は、ワイヤ構造をいくつかの構成要素(例えば、いくつかのワイヤ、ワイヤセグメント、又はワイヤ構造部分)に分解し、次いで、それらを個々にラスタライズする。
【0065】
図7において、いくつかの実施形態におけるニューラルネットワーク出力(すなわち、容量ベクトル750)は、幾何学的構造に対する容量値のベクトルを表す。入力ワイヤ構造710は、対象となる層i、その上のクロスオーバー層i+1、及びその下のクロスアンダー層i-1上の、それぞれ3つの導体を表すマルチチャネル2D画像730にラスタライズされ得る。ラスタライゼーション720中に、ワイヤ構造はマルチチャネル2D画像730上にラスタライズされる。いくつかの実施形態では、異なる画像チャネルは、IC製造プロセスの異なる相互接続層を表す。
【0066】
3×3バス交差構造の場合、
図16に示されるように、9つの容量が対象となり、これらは、中心層i(「金属2」)内の中央導体セグメント5に対する自己容量と、このセグメントの8つの隣接セグメントへの8つの容量値である。これらの隣接セグメントは、(1)中心導体から中心層i上のその左右の隣接セグメント4及び6への横方向容量、(2)中心層i上の中央導体セグメント5から層i+1上の3つの導体セグメント1、2、及び3(すなわち、上の層、「金属3」)への3つのクロスオーバー容量、並びに(3)中央層i上の中央導体セグメント5から層i-1上の3つの導体セグメント7、8、及び9(すなわち、下の層、「金属1」)への3つのクロスアンダー容量を含む。
【0067】
ニューラルネットワーク740を訓練するために、いくつかの実施形態は、既知の入力セット(例えば、既知のワイヤ構造)を既知の出力セット(例えば、既知の容量係数)とともに使用する。これらの既知の入力/出力セットを生成するために、いくつかの実施形態は、
図9を参照して以下に説明されるフィールドソルバアプローチを使用する。訓練中、既知の入力セットのグループは、ラスタライズされ、ニューラルネットワーク740を介して供給され、出力セットのグループを生成するために後処理される(
図7に示されるように)。出力セットの生成された各グループと既知の入力セットの各グループの既知の出力セットとの間の差は、その訓練可能パラメータ(例えば、その重み値)を訓練するためにニューラルネットワーク740を通して逆伝播される誤差値である。いくつかの実施形態は、プロセス技術ごとに訓練を1回実行し、次いで、
図7の動作を実行して、IC設計中に抽出を1回又は複数回実行する。
【0068】
他の実施形態では、容量予測ニューラルネットワークは、容量係数値自体を直接出力するように訓練されてもよく、例えば、出力は容量係数(Cl、Ca、Cf、Co、Cu)であってもよい。このアプローチでは、後処理ステップ自体もニューラルネットワークによって学習される。
図8は、容量係数値を直接出力するために使用することができるいくつかの実施形態のCNN800のアーキテクチャを示す。
【0069】
この図では、3チャネル入力画像805が、2対の畳み込み層815及び820(例えば、それぞれ5×5カーネルを有する)を含む畳み込みベース810によって処理される。畳み込み層の各々は、画像をダウンサンプリングするための後続の2D最大値プーリング825又は830を有する。各畳み込み層は、32のフィルタ深さを使用する。入力画像寸法は60×60ピクセルであり、各ピクセルは10nm四方のIC設計データを表す。したがって、各画像は、IC設計の600×600nm領域を表す。
【0070】
ニューラルネットワークモデルでは、畳み込みベース810の後に16ニューロン幅の全結合ボトルネック層835が続き、これはモデルパラメータの全体数を低減する役割を果たす。次いで、この狭い層からの出力は、回帰ネットワーク840に供給され、回帰ネットワーク840には、100ニューロン幅の全結合層と、それに続く9ニューロン全結合出力層とが含まれる。
【0071】
最終出力層を除く全ての層は、ReLU活性化を使用し、全ての畳み込み層は、出力画像サイズが入力画像サイズと同じであることを確実にするためにゼロパディングを使用する。これは回帰CNNアプリケーションであるため、最終出力層は線形活性化関数を使用する。最終出力層は、予測される容量の数Nと同じ幅である。訓練が完了すると、いくつかの実施形態における各プロセス技術に対する訓練された重みのセットが、容量予測ニューラルネットワーク740などのニューラルネットワークにおける使用のために保存される。他の実施形態では、最終出力層は、予測される容量係数の数と同じ幅である。当業者であれば、他の実施形態では、寄生成分値を生成するために
図8に示される構造とは異なるニューラルネットワーク構造を使用することを理解するであろう。
【0072】
寄生成分値を生成するようにCNN800又は別のニューラルネットワークを訓練するために、いくつかの実施形態では、既知の入力及び出力値を有する訓練データセットを使用する。これらの実施形態は、反復的に、(1)既知の入力値のセットを連続的にニューラルネットワークに供給して出力値のセットを生成し、(2)生成された出力値の各セットと入力値に対応する既知の出力値との間の誤差値を計算し、(3)訓練を通して得られた知識を反映するようにニューラルネットワークの構成可能パラメータ(例えば、その重み値)を調整するために、ニューラルネットワークを通して各コンピュータ誤差値を逆伝搬する。
【0073】
図9は、ニューラルネットワーク、例えば、3×3バス交差構造を訓練するために必要な訓練データセット(X及びYデータ)を作成するためのデータフロー図を表す。X訓練データはラスタライズされたワイヤ構造入力を表し、Y訓練データは容量ベクトルの出力を表す。この例では、いくつかの3層2D長方形ワイヤ交差構造900が、異なるワイヤ幅及び間隔で生成される。いくつかの実施形態は、最小30nmまでの異なるワイヤ幅を使用し、単位ワイヤ長は90nmである。また、ルーティングトラック幅4本までの間隔が使用されるが、これを超える間隔は、容量値に比較的取るに足らない変化をもたらすと想定されているためである。
【0074】
画像ラスタライザ910は、各配線構造900に対してラスタライゼーション動作を実行して、配線構造に対してピクセル領域で定義される2D画像を生成する。各2D画像は、3つのチャネルを有し、各チャネルは、第1の好ましいルーティング方向(例えば、垂直)を有する層iと、直交する第2の好ましいルーティング方向(例えば、水平)を有する上下の層とを表す2Dラスタライズされた画像を含む。いくつかの実施形態では、例えば、30nm幅のワイヤが画像内で3ピクセル幅としてレンダリングされるように、ラスタライゼーション中に10nmのピクセルサイズが使用される。完全に埋まったピクセルは数値1.0で表され、完全に空のピクセルは0.0として表され、部分的に埋まったピクセルは、ワイヤによって埋められるピクセルの面積を表す範囲[0,1]内の値で表される(例えば、50%埋まったピクセルは0.5の値を有する)。
【0075】
ニューラルネットワークへの入力のためにこのようにしてラスタライズされた各ワイヤ交差構造は、次いで、構造の3D表現を生成する押出し及びメッシュモデリングプロセス920に供給される。上述したように、形状の輪郭定義を使用する押出し動作を実行するために、いくつかの実施形態は、2D曲線形状の定義をピクセル領域から、形状がそれらの輪郭の定義によって定義される幾何学的輪郭領域に変換する。
【0076】
生成された3D表現は、フィールドソルバ925への入力に適している。フィールドソルバ入力表現を作成するために、押出し及びメッシュモデリングプロセス920は、製造プロセスのためのプロセス技術ファイル915において指定されるような様々な層固有のワイヤ高さ及び誘電体厚さを有するワイヤ構造からの2Dワイヤ寸法を使用する。これにより、2Dワイヤ形状を「高さ」寸法で押し出して3Dボリュームを形成することが可能になる。プロセス技術ファイル内のプロセス技術情報のセットは、例えば、ワイヤ高さ及び誘電体情報を含むことができる。
【0077】
結果として生じる3D相互接続ボリュームの各々について、いくつかの実施形態は、表面パネルを計算する。いくつかの実施形態では、これらのパネルは単に長方形として計算される。より複雑な実施形態では、これらのパネルは、例えば曲線3D相互接続形状の計算に関して上述したように、押出し前に、より複雑なメッシュ化アルゴリズムを適用することによって計算される。例えば、いくつかの実施形態は、三角形又は四辺形メッシュを生成する。次いで、上部層及び下部層の上下にグランドプレーンが挿入される。
【0078】
対象となる層の上下に追加されたグランドプレーンを含む3D表面パネル表現は、次いで、フィールドソルバ925によって解かれ、N×N容量行列を生成する。Nは導体の総数である。3×3バス交差構造の場合、全部で9つの導体が存在するので、フィールドソルバは、81個の容量値を有する9×9行列を生成する。次いで、フィルタ930は、これらの値を、例えば、
図16に示されるように、中央層の自己容量、中心導体、及びその導体と8つの隣接導体の各々との間の容量など、対象となる一次容量成分値のみに絞り込む。
【0079】
各候補の幾何学的ワイヤ構造に対して、
図9の訓練データ生成フローは、異なる幅及び/又は間隔の範囲を使用してサンプルワイヤ構造を生成する。生成された各ワイヤ構造は、既知の入力Xである。この入力の対応する既知の出力Yを生成するために、訓練データ生成フローは、(1)生成されたワイヤ構造ごとに3チャネルのラスタライズされた画像を生成し、(2)この画像の押し出された3D表現を生成し、次いで、(3)フィールドソルバ及びフィルタによって出力される、フィルタリングされた容量ベクトルを生成する。フィルタリングされた容量ベクトルは、既知の入力Xを有する訓練セットの既知の出力Yである。そのように生成された大規模なサンプルのセットは、深層学習のベストプラクティスに従って、訓練セット(例えば、サンプルの80%)と、検証セット(例えば、サンプルの20%)とに分割される。
【0080】
図10は、CNNベースの全容量抽出方法のデータフロー図を示す。複数のレイアウト上に2Dレイアウト形状を含むIC設計1002は、画像ラスタライザ1003によってその形状がラスタライズされる。次いで、(ピクセル領域において定義された)ラスタライズされた画像は、GPU/TPUデバイス上で実行される訓練された曲線予測ニューラルネットワーク1004への入力として提供される(図では簡略化のため、単一のコーナー固有の曲線形状のセット)。ニューラルネットワーク1004は、各プロセスコーナーにおいて基板上に何が製造されるかを表すプロセスコーナー固有の曲線2D形状のセットを生成する高速推論動作を実行する。
【0081】
曲線予測ネットワークは、上記で援用された米国特許出願公開第2022/0128899号に開示された方法を使用して訓練され得る。結果として得られるウェハ形状輪郭は、計算され、データベース1006に記憶される。データベース1006に記憶された曲線ウェハ形状の各コーナー固有のセットに対して、抽出されるネットの対応する曲線相互接続ワイヤセグメントが、形状追跡プロセス1008を介して配置される。図示されるように、このプロセスはまた、ICレイアウト内の最初に描かれたウェハ形状及びそれらの対応する接続性を使用する。
【0082】
プロセス1008はまた、曲線ワイヤセグメントをサブセグメントに分割し、各サブセグメントは、2T+1トラック幅長の相互接続ワイヤを表し、Tはトラックの数である。いくつかの実施形態では、トラックの数Tは4に等しいが、他の実施形態は、異なる数のトラック(例えば、5)を使用する。次いで、各サブセグメントは、正方形領域内でX方向及びY方向に探索されて、同一層上の最も近い隣接ワイヤと、対象となる相互接続の+/-Tトラック以内の、上下の相互接続層上のクロスオーバー/クロスアンダーワイヤとを見つける。
【0083】
いくつかの実施形態では、プロセス1008は、正方形タイル3チャネルラスタ画像1012を生成して、各相互接続サブセグメント、左右に+/-Tトラック以内のその同一層の最も近い隣接ワイヤ、及び上下の層上の近傍の最大2T+1個のクロスオーバー/クロスアンダーワイヤを表す。推定される容量アレイは、2*(2T+1)+3個のスロット(例えば、4つのトラックに対して21個のスロット)を含む。このような各サブセグメントタイルは、3チャネルの2次元画像としてレンダリングされる。他の実施形態では、中間層iのタイル画像は、抽出されている導体のいずれかの側のT個までの横方向隣接部分、すなわち、最も近い2つの横方向隣接部分だけではないものを取り込む。この場合、推定される容量アレイは、3*(2T+1)個のスロット(例えば、4つのトラックが使用されるとき、3層ごとに9つずつの、27個のスロット)を含む。
【0084】
次いで、相互接続サブセグメントを表す生成されたサブセグメントタイルは、結合容量値を予測/推論する、訓練された容量予測ニューラルネットワーク1014に渡される。いくつかの実施形態では、ニューラルネットワーク1014は、
図8のニューラルネットワーク800と同様のアーキテクチャを有するが、出力の数は異なる(例えば、4つのトラックが使用されるとき、23個又は27個の出力)。ニューラルネットワーク1014は、各サブセグメントタイル(以下ではサブセグメント領域とも呼ばれる)について全ての関連する容量を計算する。要するに、
図10は、IC設計形状のラスタライズされた画像から予測曲線形状を生成するための第1のニューラルネットワーク1004と、プロセス技術情報のセットを使用して曲線形状の予測寄生容量を計算するための第2のニューラルネットワーク1014とを含む。
【0085】
図示されるように、第2のニューラルネットワーク1014の出力は、積分プロセス1018への入力として供給される、サブセグメント、タイル固有の容量1016である。元のレイアウトからの各相互接続セグメントについて、プロセス1018は、セグメントの関連するサブセグメント固有の容量を収集し、全ての関連するサブセグメントタイルにわたって積分する。このフローは、相互接続の接続性に従って、計算された容量を合算する。この積分については、
図11を参照して以下で更に説明する。プロセス1018は、例えば、DSPF/SPEFファイル又はSynopsys GPDファイルなどの標準寄生フォーマット1020に、全ての相互接続に対する積分された容量値を出力する。
【0086】
図11は、いくつかの実施形態で使用されるタイリング(tiling)及びラスタライゼーションプロセスを説明するための例を提供する。この例は、対象となるいくつかの導体の製造された曲線形状を示す。この例では、本方法は、設計における層「1/0」上の中央垂直導体1102に関する容量を抽出する。直感的に、導体1102は、間隔は異なるが実質的に導体1102に平行に延びる、左右の同一層の隣接導体1104及び1106に対して大きな横方向容量を有する。導体1102はまた、上の層(この設計では層「2/0」)及び下の層(この設計では層「0/0」)上の形状に対するフリンジング/オーバーラップ容量を有する。
【0087】
したがって、いくつかの実施形態のタイルリングプロセスは、垂直導体1102を複数のサブセグメントにタイリングする。この例では、タイリングプロセスの結果、3つのタイル1112、1114及び1116が得られ、それぞれが中心垂直導体の一部を含む。各タイルはまた、2つの同一層の最も近い隣接横方向導体サブセグメントを含む。更に、4トラックウィンドウ内の3つの導体形状は、上部及び下部の直交ルーティング層上にも存在する。
【0088】
タイリングプロセスからの各3層タイルは、次いで、3チャネルの2D 60×60ピクセルラスタ画像1120にラスタライズされ、ピクセルは10nmである。
図11は、タイル1112の3チャネル画像を示す。ここで、3チャネル画像は、各チャネル画像1122~1126がそれぞれの相互接続層上の相互接続サブセグメントを表すピクセルを示すように、別々に分割される。
【0089】
推論中、3チャネル2Dタイルラスタ画像は、容量予測畳み込みニューラルネットワーク1014に入力され、最大27個の容量値が、3つのタイルごとに予測され、中央層中心導体の自己容量、横方向隣接トラック内の導体へのその結合容量、及びタイル画像の上部/下部チャネル内に表されるクロスオーバー/クロスアンダートラックのそれぞれへのその結合容量を表す。上述のように、
図10で説明した例については、他の実施形態では27個以外の量が使用されてもよい。
【0090】
推論の後、結果として生じる容量は、全てのタイルにわたって合計される、すなわち、相互接続部分の接続性に従って合算される。例えば、層「1/0」上の中央垂直導体1102のコーナーごとの総自己容量を得るために、3つのタイル1112~6の各々にわたる中央導体の自己容量が合計される。
【0091】
図12は、タイルベースの容量抽出のためにニューラルネットワークを訓練するための訓練データを生成するフローを示す。この例では、9×9などのN×Nトラックスロットからなる正方形に収まる、様々な多層(例えば、3層)2D相互接続構造が生成される。構造は、IC設計データベース1202に記憶され、それらの個々の層に分割される。次いで、画像ラスタライザ1204は、各層の構造コンテンツを単一チャネルの2D画像としてラスタライズし、次いで、3つの層にわたる個々の層を3チャネルの2D画像に組み合わせる。
【0092】
次いで、これらのラスタ画像は、曲線予測ニューラルネットワーク1206によって消費される。そのようなニューラルネットワークの例は、上述のニューラルネットワーク、又は米国特許出願公開第2022/0128899号に開示されているニューラルネットワークのうちの1つである。このニューラルネットワーク1206は、製造プロセスの出力に対応するプロセスコーナーごとの曲線画像1210を出力する。プロセスコーナーごとに、3つの相互接続層に対する曲線2Dウェハ形状が収集され、押出しプロセス1212に供給される。
【0093】
このプロセス1212は、プロセス技術ファイル1214内の層特有のワイヤ高さ及び誘電体情報を使用して、曲線2Dウェハ形状を3Dに押し出し、結果として生じる3D相互接続構造は、フィールドソルバ1216に入力される。フィールドソルバは、出力としてプロセスコーナーごとにN×N容量行列1218を生成し、これは次いで、フィルタ1222によって、対象となる容量、すなわち、対象となる中心層中央導体と、3つ全ての層上の他のトラック上の導体との間の結合容量にフィルタリングされる。
【0094】
各相互接続構造サンプルについて、曲線形状予測ニューラルネットワーク1206からの出力として使用されるコーナごとの3チャネル2D曲線画像タイルと、フィルタ1222によって出力される対応するコーナーごとの容量ベクトルとが、容量予測ニューラルネットワークを訓練するときに使用される入力X及び出力Yとして、それぞれ収集される。
【0095】
2D3層構造の生成中に、各構造は、有効なトラック位置のいずれかに現れる様々な長さのワイヤセグメントを含み得る。ワイヤは、タイルの全幅又は全高に延びることもあり、部分的な幅又は長さにわたって延びることもある。いくつかの実施形態では、ワイヤは、設定された範囲のワイヤ長を使用して、利用可能なトラック位置に配置される。中央層中心導体の位置を除く任意のトラック位置に対して、ワイヤ長は、ゼロ長と同じくらい短くてもよく、すなわち、ワイヤは、特定のトラック位置に存在しなくてもよい。ゼロでないワイヤ長は、非常に短くてもよく(例えば、1トラック幅)、構造の9トラック幅いっぱいに延びてもよい。そのトラック内の各ワイヤの開始/終了位置は、設定された範囲の位置、例えばルーティングトラックの交差点にスナップされてもよい。
【0096】
いくつかの実施形態は、構造化されたグリッドのような方法で訓練空間がサンプリングされることを可能にする。他の実施形態では、訓練空間をポピュレートするためにモンテカルロアプローチが採用される。ここで、各ワイヤのワイヤ開始位置及びワイヤ終了位置は、トラックごとにランダムに生成される。この場合も、任意のトラック位置(中心層中央導体を除く)のワイヤ長は、ゼロと同じくらい短くてもよい。トラック位置が空である訓練サンプルには、それらの位置において0の容量値が割り当てられ、空でない位置にはソルバによって生成された容量値が使用される。
【0097】
図13は、寄生容量値を生成するニューラルネットワークを訓練するためにいくつかの実施形態において使用される、訓練データセットを示す。図示されるように、これらの実施形態は、曲線ワイヤ形状を各訓練セットの入力値として使用し、これらの曲線ワイヤ形状に関連付けられた既知の容量値を各訓練セットの出力値として使用する。プロセス技術情報のセットを使用した訓練サンプルは、各プロセス技術のために保存される訓練された重みのセットを生成する。
【0098】
図14は、本開示で説明される計算を実行するために使用され得るコンピューティングハードウェアデバイス1400の例を示す。コンピューティングハードウェアデバイス1400は、メインメモリ1404が取り付けられた中央処理装置(central processing unit、CPU)1402を備える。CPUは、例えば、8つの処理コアを備えてもよく、それによって、マルチスレッド化されるコンピュータソフトウェアの任意の部分の性能を向上させる。メインメモリ1404のサイズは、例えば、64ギガバイトであってもよい。CPU1402は、PCIe(Peripheral Component Interconnect Express)バス1420に接続される。グラフィックス処理ユニット(graphics processing unit、GPU)1414もまた、PCIeバスに接続される。コンピューティングハードウェアデバイス1400において、GPU1414は、ビデオモニタなどのグラフィックス出力デバイスに接続されてもよいし、接続されなくてもよい。グラフィックス出力デバイスに接続されていない場合、GPU1414は、純粋に高速並列計算エンジンとして使用され得る。コンピューティングソフトウェアは、全ての計算にCPU1402を使用することと比較して、計算の一部にGPUを使用することによって、著しく高い性能を得ることができる。CPU1402は、PCIeバス1420を介してGPU1414と通信する。他の実施形態(図示せず)では、GPU1414は、PCIeバス1420に接続されるのではなく、CPU1402と統合されてもよい。ディスクコントローラ1408はまた、例えば、2つのディスク1410がディスクコントローラ1408に接続された状態で、PCIeバスに取り付けられてもよい。最後に、ローカルエリアネットワーク(Local Area Network、LAN)コントローラ1412もまた、PCIeバスに取り付けられてよく、他のコンピュータへのギガビットイーサネット(登録商標)(Gigabit Ethernet、GbE)接続性を提供する。いくつかの実施形態では、コンピュータソフトウェア及び/又は設計データは、ディスク1410に記憶される。他の実施形態では、コンピュータプログラム若しくは設計データのいずれか、又はコンピュータプログラム及び設計データの両方が、GbEイーサネットを介して他のコンピュータ又はファイルサービングハードウェアからアクセスされてもよい。
【0099】
図15は、本実施形態の計算を実行するためのシステムの別の実施形態である。システム1500は、CDPと呼ばれることもあり、マスタノード1510、オプションのビューイングノード1520、オプションのネットワークファイルシステム1530、及びGPU対応コンピューティングノード1540を含む。ビューイングノード1520は、存在しなくてもよく、又は代わりに1つのノードのみを有してもよく、又は他の数のノードを有してもよい。GPU対応コンピューティングノード1540は、クラスタを形成する1つ又は複数のGPU対応ノードを含むことができる。各GPU対応コンピューティングノード1540は、例えば、GPU、CPU、GPUとCPUの対、CPU用の複数のGPU、又はGPUとCPUの他の組合せを含み得る。GPU及び/又はCPUは、そのチップ上のGPUによって加速されるCPUを有するGPUチップ、又はCPUを加速するGPUを有するCPUチップなど、単一チップ上にあってもよい。GPUは、別のコプロセッサによって置き換えられてもよい。
【0100】
マスタノード1510及びビューイングノード1520は、スイッチ、並びにネットワーク1550、1552、及び1554などの高速ネットワークを介して、ネットワークファイルシステム1530及びGPU対応コンピューティングノード1540に接続され得る。例示的な実施形態では、ネットワーク1550は56Gbpsネットワークであってよく、1552は1Gbpsネットワークであってよく、1554は管理ネットワークであってよい。様々な実施形態では、これらのネットワークの数はより少なくても又は多くてもよく、高速及び低速などのネットワークのタイプの様々な組合せがあってもよい。マスタノード1510は、CDP1500を制御する。外部システムは、外部ネットワーク1560からマスタノード1510に接続することができる。いくつかの実施形態では、ジョブは外部システムから開始されてもよい。ジョブのためのデータは、ジョブを起動する前にネットワークファイルシステム1530上にロードされ、プログラムは、GPU対応コンピューティングノード1540上でタスクをディスパッチ及び監視するために使用される。ジョブの進行は、ビューイングノード1520などのグラフィカルインターフェースを介して、又はマスタノード1510上のユーザによって見ることができる。タスクは、CPU上で適切な実行ファイルを実行するスクリプトを使用して、CPU上で実行される。実行ファイルは、GPUに接続し、様々な計算タスクを実行し、次いで、GPUから切断する。マスタノード1510はまた、故障したGPU対応コンピューティングノード1540を無効化し、次いで、そのノードが存在しないかのように動作するために使用されてもよい。
【0101】
本明細書では、特定の実施形態に関して詳細に説明されているが、当業者であれば、前述を理解した上で、これらの実施形態に対する変更、バリエーション、および均等物を容易に構想し得ることを理解されよう。本方法に対するこれら及び他の修正並びにバリエーションは、添付の特許請求の範囲により詳細に記載される本主題の範囲から逸脱することなく、当業者によって実施され得る。例えば、曲線形状がいくつかの実施形態によって使用されるものとして言及されているが、当業者であれば、他の実施形態における設計を表すために直線形状又は任意の形状が使用されることを理解するであろう。
【0102】
更に、当業者であれば、上記の説明が単なる例であり、限定することを意図していないことを理解するであろう。本発明の範囲から逸脱することなく、本明細書のステップにステップを追加し、ステップを取り除き、又はステップを修正することができる。一般に、提示される任意のフローチャートは、機能を達成するための基本動作の1つの可能なシーケンスを示すことのみを意図しており、多くのバリエーションが可能である。それゆえ、本主題は、添付の特許請求の範囲及びそれらの等価物の範囲内に収まる、そのような修正及びバリエーションを包含することが意図されている。
【国際調査報告】