(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-28
(54)【発明の名称】集積回路インターコネクト形状オプティマイザ
(51)【国際特許分類】
G06F 30/394 20200101AFI20250220BHJP
G06F 30/337 20200101ALN20250220BHJP
【FI】
G06F30/394
G06F30/337
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024548444
(86)(22)【出願日】2023-02-08
(85)【翻訳文提出日】2024-10-15
(86)【国際出願番号】 US2023012601
(87)【国際公開番号】W WO2023158579
(87)【国際公開日】2023-08-24
(32)【優先日】2022-02-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518084257
【氏名又は名称】エックス ディベロップメント エルエルシー
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ディノ・ルイック
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146GC15
5B146GC26
(57)【要約】
導電インターコネクトの最適化のためのシステム、デバイス、および方法が、説明される。方法は、複数の端子およびインターコネクトを含む集積回路レイアウトを受け取るステップであって、インターコネクトが、複数の端子間の導電結合を表す、ステップを含む。方法は、複数の端子の動作パラメータを記述する端子情報を受け取るステップを含む。方法は、複数の端子およびインターコネクトの材料組成および材料特性情報を記述する層情報を受け取るステップを含む。方法は、集積回路レイアウトおよび層情報を使用して集積回路の3次元表現を生成するステップを含む。方法は、3次元表現および端子情報を使用して、インターコネクトの抵抗-キャパシタンス(RC)値への3次元表現に含まれるセルの個々の寄与を決定するステップを含む。方法は、個々の寄与に少なくとも部分的に基づいて、更新された集積回路レイアウトを生成するステップも含む。
【特許請求の範囲】
【請求項1】
導電インターコネクトの最適化のためのコンピュータによって実施される方法であって、
複数の端子およびインターコネクトを含む集積回路レイアウトを受け取るステップであって、前記インターコネクトが、前記複数の端子間の導電結合を表す、ステップと、
前記複数の端子の動作パラメータを記述する端子情報を受け取るステップと、
前記複数の端子および前記インターコネクトの材料組成および材料特性情報を記述する層情報を受け取るステップと、
前記集積回路レイアウトおよび前記層情報を使用して集積回路の3次元表現を生成するステップであって、前記3次元表現が、前記3次元表現の離散的な体積要素に対応するセルを含み、前記セルが、前記インターコネクトの少なくとも一部、または前記インターコネクトの外の非導電性材料の少なくとも一部を表す、ステップと、
前記3次元表現および前記端子情報を使用して、前記インターコネクトの抵抗-キャパシタンス(RC)値への前記セルの個々の寄与を決定するステップと、
前記個々の寄与に少なくとも部分的に基づいて、更新された集積回路レイアウトを生成するステップと
を含む、コンピュータによって実施される方法。
【請求項2】
前記RC値への前記要素の前記個々の寄与を生成するステップが、
前記層情報および前記端子情報に少なくとも部分的に基づいて、前記セルの発生器アドミタンスおよび負荷アドミタンスを決定することと、
前記発生器アドミタンスおよび前記負荷アドミタンスを使用して入力アドミタンスを決定することと、
前記入力アドミタンスを使用して前記セルのアドミタンス密度を決定することであって、前記アドミタンス密度が、前記インターコネクトのアドミタンスへの前記セルの局所的な寄与を記述する、決定することと、
前記アドミタンス密度に少なくとも部分的に基づいて、前記セルの微分RC値を生成することと
を含む、請求項1に記載のコンピュータによって実施される方法。
【請求項3】
前記セルが、第1のセルであり、前記3次元表現が、第2のセルをさらに含み、前記更新された集積回路レイアウトを生成するステップが、
前記インターコネクトのコンダクタンスへの前記第1のセルおよび前記第2のセルの導電性寄与を決定することと、
前記インターコネクトのキャパシタンスへの前記第1のセルおよび前記第2のセルの容量性寄与を決定することと、
前記第1のセルおよび前記第2のセルのそれぞれの寄与を使用して、前記第1のセルの平滑化された導電性寄与および平滑化された容量性寄与を生成することと、
前記第1のセルの前記平滑化された寄与に少なくとも部分的に基づいて、前記第1のセルの材料組成を決定することと
を含む、請求項1に記載のコンピュータによって実施される方法。
【請求項4】
前記材料組成を決定することが、
前記セルが前記インターコネクトの一部を表すとき、前記第1のセルの前記平滑化された容量性寄与が前記第1のセルの前記平滑化された導電性寄与を超える場合、前記非導電性材料を表すように前記セルを再割り振りすること、または
前記セルが前記非導電性材料の一部を表すとき、前記第1のセルの前記平滑化された導電性寄与が前記第1のセルの前記平滑化された容量性寄与を超える場合、前記インターコネクトを表すように前記セルを再割り振りすること
を含む、請求項3に記載のコンピュータによって実施される方法。
【請求項5】
前記第1のセルの前記平滑化された寄与を生成することが、前記第1のセルおよび前記第2のセルの前記それぞれの寄与の3次元平滑化を含む、請求項4に記載のコンピュータによって実施される方法。
【請求項6】
前記第1のセルの前記平滑化された寄与を生成することが、前記集積回路レイアウトにおける前記インターコネクトの幅未満の標準偏差パラメータσを使用するガウス平滑化を含む、請求項4に記載のコンピュータによって実施される方法。
【請求項7】
前記更新された集積回路レイアウトを使用して、半導体製造システムによって生産されるシミュレーションされた製造された集積回路を出力するように構成されたプロセスモデルに前記更新された集積回路レイアウトを入力するステップと、
前記プロセスモデルの出力として前記シミュレーションされた製造された集積回路を生成するステップと、
前記プロセスモデルの前記出力を使用して、前記半導体製造システムに関する前記更新された集積回路レイアウトの製造性を決定するステップと
をさらに含む、請求項1に記載のコンピュータによって実施される方法。
【請求項8】
前記製造性が、前記更新された集積回路レイアウトが前記半導体製造システムによって製造可能でないことを示し、前記方法が、
前記更新された集積回路レイアウトおよび前記プロセスモデルを使用して改変されたレイアウトを生成するステップであって、前記改変されたレイアウトが、前記半導体製造システムによって製造可能である、ステップをさらに含む、請求項7に記載のコンピュータによって実施される方法。
【請求項9】
前記複数の端子が、入力端子および2つの出力端子を含む、請求項1に記載のコンピュータによって実施される方法。
【請求項10】
前記複数の端子が、複数の入力端子および少なくとも1つの出力端子を含み、前記3次元表現が、第1の表現であり、前記方法が、
前記入力端子に含まれる第1の入力端子がアクティブであり、残りの入力端子が非アクティブであるときに対応する前記第1の表現を生成するステップと、
前記集積回路レイアウトおよび前記層情報を使用して第2の表現を生成するステップであって、前記第2の表現が、前記入力端子に含まれる第2の入力端子がアクティブであり、残りの入力端子が非アクティブであるときに対応し、前記第1の表現と前記第2の表現の両方が、前記セルを含む、ステップと、
前記第1の表現を使用して第1の部分的な更新を生成するステップと、
前記第2の表現を使用して第2の部分的な更新を生成するステップと、
前記第1の部分的な更新および前記第2の部分的な更新を使用して、前記更新された集積回路レイアウトを生成するステップと
をさらに含む、請求項1に記載のコンピュータによって実施される方法。
【請求項11】
前記更新された集積回路レイアウトを生成するステップが、包含的論理和演算子を使用して前記第1の部分的な更新と前記第2の部分的な更新とを合併することを含む、請求項10に記載のコンピュータによって実施される方法。
【請求項12】
前記更新された集積回路レイアウトを出力するステップであって、
前記更新された集積回路レイアウトを使用して更新された集積回路レイアウトファイルを生成すること、および
前記更新された集積回路レイアウトファイルをデータストアに記憶すること
を含む、ステップをさらに含む、請求項1に記載のコンピュータによって実施される方法。
【請求項13】
機械によって実行可能な命令を記憶する非一時的なコンピュータ可読メモリデバイスであって、前記機械によって実行可能な命令が、機械によって実行されるときに前記機械に、
複数の端子およびインターコネクトを含む集積回路レイアウトを受け取ることであって、前記インターコネクトが、前記複数の端子間の導電結合を表す、受け取ること、
前記複数の端子の動作パラメータを記述する端子情報を受け取ること、
前記複数の端子および前記インターコネクトの材料組成および材料特性情報を記述する層情報を受け取ること、
前記集積回路レイアウトおよび前記層情報を使用して集積回路の3次元表現を生成することであって、前記3次元表現が、前記3次元表現の離散的な体積要素に対応するセルを含み、前記セルが、前記インターコネクトの少なくとも一部、または前記インターコネクトの外の非導電性材料の少なくとも一部を表す、生成すること、
前記3次元表現および前記端子情報を使用して、前記インターコネクトの抵抗-キャパシタンス(RC)値への前記セルの個々の寄与を決定すること、ならびに
前記個々の寄与に少なくとも部分的に基づいて、更新された集積回路レイアウトを生成すること
を含む動作を実行させる、非一時的なコンピュータ可読メモリデバイス。
【請求項14】
前記RC値への前記要素の前記個々の寄与を生成することが、
前記層情報および前記端子情報に少なくとも部分的に基づいて、前記セルの発生器アドミタンスおよび負荷アドミタンスを決定することと、
前記発生器アドミタンスおよび前記負荷アドミタンスを使用して入力アドミタンスを決定することと、
前記入力アドミタンスを使用して前記セルのアドミタンス密度を決定することであって、前記アドミタンス密度が、前記インターコネクトのアドミタンスへの前記セルの局所的な寄与を記述する、決定することと、
前記アドミタンス密度に少なくとも部分的に基づいて、前記セルの微分RC値を生成することと
を含む、請求項13に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項15】
前記3次元表現が、第2のセルをさらに含み、前記更新された集積回路レイアウトを生成することが、
前記インターコネクトのコンダクタンスへの第1のセルおよび前記第2のセルの導電性寄与を決定することと、
前記インターコネクトのキャパシタンスへの前記第1のセルおよび前記第2のセルの容量性寄与を決定することと、
前記第1のセルおよび前記第2のセルのそれぞれの寄与を使用して、前記第1のセルの平滑化された導電性寄与および平滑化された容量性寄与を生成することと、
前記第1のセルの前記平滑化された寄与に少なくとも部分的に基づいて、前記第1のセルの材料組成を決定することと
を含む、請求項13に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項16】
前記材料組成を決定することが、
前記セルが前記インターコネクトの一部を表すとき、前記第1のセルの前記平滑化された容量性寄与が前記第1のセルの前記平滑化された導電性寄与を超える場合、前記非導電性材料を表すように前記セルを再割り振りすること、または
前記セルが前記非導電性材料の一部を表すとき、前記第1のセルの前記平滑化された導電性寄与が前記第1のセルの前記平滑化された容量性寄与を超える場合、前記インターコネクトを表すように前記セルを再割り振りすること
を含む、請求項15に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項17】
第1のセルの平滑化された寄与を生成することが、前記集積回路レイアウトにおける前記インターコネクトの初期幅未満の標準偏差パラメータσを使用するガウス平滑化を含む、請求項13に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項18】
前記命令が、前記機械によって実行されるときに前記機械に、
前記更新された集積回路レイアウトを使用して、半導体製造システムによって生産されるシミュレーションされた製造された集積回路を出力するように構成されたプロセスモデルに前記更新された集積回路レイアウトを入力することと、
前記プロセスモデルの出力として前記シミュレーションされた製造された集積回路を生成することと、
前記プロセスモデルの前記出力に少なくとも部分的に基づいて、前記半導体製造システムに関する前記更新された集積回路レイアウトの製造性を決定することと
を含むさらなる動作を実行させる、請求項13に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項19】
前記製造性が、前記更新された集積回路レイアウトが前記半導体製造システムによって製造可能でないことを示し、前記命令が、前記機械によって実行されるときに前記機械に、
前記更新された集積回路レイアウトおよび前記プロセスモデルに少なくとも部分的に基づいて改変されたレイアウトを生成することであって、前記改変されたレイアウトが、前記半導体製造システムによって製造可能である、生成すること
を含むさらなる動作を実行させる、請求項18に記載の非一時的なコンピュータ可読メモリデバイス。
【請求項20】
前記複数の端子が、複数の入力端子および少なくとも1つの出力端子を含み、前記3次元表現が、第1の表現であり、前記命令が、前記機械によって実行されるときに前記機械に、
前記入力端子に含まれる第1の入力端子がアクティブであり、残りの入力端子が非アクティブであるときに対応する前記第1の表現を生成することと、
前記集積回路レイアウトおよび前記層情報を使用して第2の表現を生成することであって、前記第2の表現が、前記入力端子に含まれる第2の入力端子がアクティブであり、残りの入力端子が非アクティブであるときに対応し、前記第1の表現と前記第2の表現の両方が、前記セルを含む、生成することと、
前記第1の表現を使用して第1の部分的な更新を生成することと、
前記第2の表現を使用して第2の部分的な更新を生成することと、
前記第1の部分的な更新および前記第2の部分的な更新を使用して、前記更新された集積回路レイアウトを生成することと
を含むさらなる動作を実行させる、請求項13に記載の非一時的なコンピュータ可読メモリデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年2月16日に出願した米国仮出願第63/310,750号の利益を主張するものであり、この仮出願は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、概して、集積回路に関し、これに限らないが特に、集積回路の形状の最適化およびレイアウト生成のための第1原理(first principles)電子設計自動化に関する。
【背景技術】
【0003】
引き回し(routing)は、製造設計規則に従いながら、共通信号のピンを相互接続するための配線を生成する電子設計および自動化における基本的な問題である。単一チップ内に数十億個のトランジスタが存在する場合がある超大規模集積回路設計に関して、引き回しの最適化は、集積回路の複雑さが原因で特に困難である。通常、引き回しは、少なくとも、大域的な引き回し段階および詳細な引き回し段階に分けられ、大域的な引き回し計画が、所与のベンダプロセスノードの製造設計規則を考慮せずに引き回し経路を生成し、詳細な引き回しが、厳密なルートを決定する。
【0004】
通常の引き回しアルゴリズムは、多次元グリッドベースのグラフ探索技術(たとえば、引き回し層に対応する第3の次元を有する2次元グリッド)を使用して生成される場合があり、引き回しリソースは、グラフトポロジーが集積回路の構造を表すことができるグラフとしてモデル化される。そのとき、大域的な引き回しは、グラフをタイルに区分けし、詳細ルータ(router)を案内するためのタイル間経路を見つけることができる。そして、詳細ルータは、グリッドの各単位が所与のベンダプロセスノードの配線の最小幅と間隔との合計以上の大きさであるグリッドをグラフに重ね合わせて、厳密な配線ルートを見つける。典型的なルータは、詳細なルートを順次生成し、好ましい引き回し方向(すなわち、集積回路の異なるメタライゼーション層に関して水平または垂直方向に配置された金属配線)を有し、したがって、効率と形状の両方において制限される(たとえば、垂直および水平の直線というマンハッタン型引き回し(Manhattan routing)の慣習に制限される)場合がある。
【発明の概要】
【課題を解決するための手段】
【0005】
特に明記されない限り、様々な図全体を通じて同様の参照番号が同様の部分を指している以下の図を参照して、本発明の非限定的で非網羅的な実施形態が説明される。適切な場合、図面を乱雑にしないようにするため、必ずしも要素のすべてのインスタンスがラベル付けされない。図面は、必ずしも縮尺通りでなく、その代わりに、説明されている原理を示すことに重点が置かれる。
【図面の簡単な説明】
【0006】
【
図1】本開示の実施形態による、集積回路レイアウトの導電インターコネクトを修正するための例示的なシステムの概略図である。
【
図2】本開示の実施形態による、集積回路のインターコネクトの更新されたレイアウトを生成するための例示的なプロセスを示す概略図である。
【
図3A】本開示の実施形態による2ポートインターコネクトのトイモデルを示す概略図である。
【
図3B】本開示の実施形態による、2つの端子を結合する例示的な可変幅インターコネクトを示す概略図である。
【
図4A】本開示の実施形態による、2つの端子を結合するインターコネクト(たとえば、2ポートインターコネクト)を記述するレイアウトファイルの少なくとも一部の簡略化された3次元表現の例示的な平面図を示す概略図である。
【
図4B】本開示の実施形態による、端子情報220の第1のセットに従って
図4Aの例示的な平面
図500から生成された更新されたレイアウトの例示的な平面図である。
【
図4C】本開示の実施形態による、端子情報の第2のセットを使用して
図4Aの例示的な平面図から生成された更新されたレイアウトの別の例示的な平面図である。
【
図4D】本開示の実施形態による、端子情報の第3のセットを使用して
図4Aの例示的な平面図から生成された更新されたレイアウトの別の例示的な平面図である。
【
図5A】本開示の実施形態によるレイアウトファイルの例示的な3次元表現を示す概略図である。
【
図5B】本開示の実施形態による更新されたレイアウトの例示的な3次元表現を示す概略図である。
【
図6A】本開示の実施形態によるレイアウトファイルの例示的な平面図を示す概略図である。
【
図6B】本開示の実施形態による、中間状態の更新されたレイアウトの例示的な平面図を示す概略図である。
【
図6C】本開示の実施形態による、進んだ状態の更新されたレイアウトの例示的な平面図を示す概略図である。
【
図7】本開示の実施形態による、
図2の例示的なプロセス200の一部として3次元表現に適用される動作の例示的なフローを示すブロック図である。
【
図8】本開示の実施形態による、ファンアウト(fan-out)構成を含む更新されたレイアウトファイルの例示的な3次元表現を示す概略図である。
【
図9】本開示の実施形態による、ファンインアウト(fan-in-out)構成を含む更新されたレイアウトファイルの例示的な3次元表現を示す概略図である。
【
図10】本開示の実施形態による、ファンイン(fan-in)またはファンインアウトレイアウトファイルの形状の修正のための例示的なフローを示すブロック図である。
【
図11】本開示の実施形態による、複数の端子を結合する複数のインターコネクトを含む多層レイアウトファイルの例示的な3次元表現を示す概略図である。
【発明を実施するための形態】
【0007】
RCシミュレーションに基づくセルベースの詳細なインターコネクト引き回しのためのシステムおよび方法の実施形態が、本明細書において説明される。以下の説明において、実施形態の完全な理解をもたらすために多くの特定の詳細が説明される。しかし、当業者は、本明細書において説明される技術が特定の詳細のうちの1つもしくは複数なしに、または他の方法、コンポーネント、材料などで実施され得ることを認識するであろう。他の場合、よく知られている構造、材料、または動作は、特定の態様を曖昧にすることを避けるために詳細に示されないかまたは説明されない。
【0008】
本明細書全体を通じて「一実施形態(one embodiment)」または「実施形態(an embodiment)」との言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書中の様々な個所に現れる語句「一実施形態において(in one embodiment)」または「実施形態において(in an embodiment)」は、必ずしもすべてが同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性は、1つまたは複数の実施形態において任意の好適な方法で組み合わされる場合がある。
【0009】
集積回路のほとんどの基本的な特性は、抵抗およびキャパシタンスに関連している。クロックサイクルのたびに集積回路の素子を充電および放電する際の遅延は、RC時定数によって直接与えられる。キャパシタンスは、回路に流入するおよび回路から流出する電荷の量に関連し、したがって、電流が導出されることが可能であり、そして、集積回路を駆動するのに必要な電力が続いて生じる。さらに、動作中に生成されるジュール熱も、抵抗および電流から直ちに生じる。小型化が進んだ結果として、エレクトロマイグレーションおよび絶縁破壊(dielectric breakdown)のような現象が、集積回路の信頼性に影響を及ぼしており、それらの現象は、導体(たとえば、Au、Ag、Al、Cu、Tiなどの金属、金属合金を形成するためのそれらの組合せ)および導体間(たとえば、SiO2、SiOxなどの酸化物または他の絶縁体)における電場強度にも関連している。
【0010】
本明細書において説明されるのは、集積回路レイアウトの詳細なインターコネクト形状を修正するための第1原理技術を実装する反復的なセルベースの集積回路(IC)オプティマイザの実施形態である。この文脈において、集積回路レイアウトは、1つまたは複数の端子間の1つまたは複数のインターコネクトを含む集積回路の層などの集積回路の少なくとも一部のグラフィカルなおよび/または数値的な表現を記述する。この文脈において、端子は、IC素子と結合された接点であり、ポートとも呼ばれ、インターコネクトは、2つ以上の端子を電気的に結合する導電材料である。インターコネクトは、ICレイアウトの引き回しの分野で使用される技術用語に従って「ネット(net)」または「配線」とも呼ばれる。
【0011】
集積回路レイアウトは、複数のインターコネクトおよび複数の種類の端子の位置および寸法を記述することができる。たとえば、インターコネクトは、複数の入力端子を単一の出力端子に電気的に結合することができる(「ファンイン」構成と呼ばれる)。別の例において、インターコネクトは、単一の入力端子を複数の出力端子に電気的に結合することができる(「ファンアウト」構成と呼ばれる)。さらに別の例において、インターコネクトは、複数の入力端子を複数の出力端子に電気的に結合することができる(「ファンインアウト」構成と呼ばれる)。いくつかの実施形態において、インターコネクトは、たとえば、1つまたは複数のトランジスタに給電する一部として、1つまたは複数のドライバ(driver)を1つまたは複数の負荷に電気的に結合する。
【0012】
物理的に意味のある項を組み込むインターコネクトのRC値の解析解は、ICレイアウトにおいて採用される寸法および形状では事実上利用不可能である。そのため、有限体積法、有限要素法、または他の種類の3Dフルフィールド数値シミュレーション法(3D full-field numerical simulation method)が、RC値を決定するために使用され得る。特に、レイアウトをセルまたはボクセルと呼ばれる体積要素(volumetric element)の配列に離散化するために、ICレイアウトの3次元表現が生成され得る。セルは、ICレイアウトにおけるセルの位置に対応する一様な材料特性によって特徴付けられる。例として、ICレイアウトのインターコネクトの位置のセルは、導体(たとえば、金属)として定義され得る。別の例において、インターコネクト外の位置のセルは、誘電体または絶縁体(たとえば、酸化物)として定義され得る。材料は、IC製造に適用される多層CMOSプロセスにおいて使用される材料を含み得る。
【0013】
3次元表現は、インターコネクトのRC時定数への個々のセルの寄与のシミュレーションのために使用され得るインターコネクトおよび端子を含む集積回路の少なくとも一部を示す。インターコネクトのRC時定数は、個々のセルの材料特性および端子の動作パラメータからシミュレーションされ得る。インターコネクトおよび/または誘電体の全体的な電気的特性(たとえば、コンダクタンスおよびキャパシタンス)への各セルの容量性寄与および導電性寄与のシミュレーションが、インターコネクトのRC時定数を最適化する手法として、個々のセルの材料を再割り振りすることを含め、インターコネクトを再形成するために使用され得る。
【0014】
有利なことに、本明細書において説明される技術は、直線的なインターコネクトレイアウトの慣習からの脱却を容易にする。現在、ベンダプロセスノードは、半導体製造システムの光学解像度の閾値に近づきつつある。直線的な引き回しと、製造性(manufacturability)およびプロセスの最適化に関する性能指数としてエッジプレースメントエラー(edge-placement error)を重視することとは、通常のレイアウト設計を制約し、集積回路の動作に非効率をもたらす。したがって、この先の図に示される曲線的なレイアウトは、ナノメートルプロセスノードに関連して改善された集積回路設計に向けた大きな進歩を表す。たとえば、本明細書において説明される技術は、エッジプレースメントエラーではなく機能保持(retention of function)が製造性の決定を手引きすることを可能にし、ICレイアウトの物理的に意味のあるRC値が最適化指標として働くことを可能にする。RC値を最適化し、現在の直線的な引き回しの慣習では利用不可能な方法でICインターコネクトの全体的な性能および堅牢性を向上させる修正が、インターコネクトに対してなされ得る。
【0015】
図1は、本開示の実施形態による、集積回路レイアウトの導電インターコネクトを修正するための例示的なシステム100の概略図である。例示的なシステム100は、1つまたは複数のサーバ105、1つまたは複数のクライアントコンピューティングデバイス110、1つまたは複数の半導体製造システム115、およびネットワーク120を含む。サーバ105は、訓練データ130の第1のデータベース125、プロセスデータ137の第2のデータベース135、形状オプティマイザ140、およびソフトウェア155でエンコードされた1つまたは複数の機械学習モデル150を含む。ソフトウェア155の一部として、サーバ105は、形状オプティマイザ140および/またはモデル150がコンピュータ回路160を使用して訓練および/またはデプロイされる命令を含む。いくつかの実施形態において、サーバ105は、集積回路レイアウトファイルとも呼ばれる設計ファイル170を記憶する第3のデータベース165をさらに含み、設計ファイル170は、GDSIIまたはOASISを含むがこれらに限定されない1つまたは複数のデータベースファイル形式で記憶され得る。
【0016】
以下の説明は、集積回路レイアウト170の最適化のための詳細な引き回しプラットフォームの一部として形状オプティマイザ140をデプロイするためのネットワーク化されたシステムを実装する本開示の実施形態に焦点を当てる。しかし、本開示のいくつかの実施形態は、ラップトップまたはパーソナルコンピュータなどのクライアントコンピューティングデバイス110上で実施されるプロセスの一部またはすべてを含むことが企図される。たとえば、訓練されていないモデル150の訓練は、サーバ105を使用して実施されることが可能であり、一方、訓練されたモデル150は、ネットワーク120を介してクライアントコンピューティングデバイス110に転送されることが可能であり、クライアントコンピューティングデバイス110上に直接デプロイされることが可能である。同様に、例示的なシステム100の構成要素は、単一のシステムではなく、分散コンピューティングシステム(たとえば、クラウドシステム)上にホストおよび/または記憶され得る。たとえば、第1のデータベース125、第2のデータベース135、第3のデータベース165、および/またはコンピュータ回路160は、訓練データ130、プロセスデータ137、ソフトウェア155、および/または設計ファイル170の一部が、1つまたは複数の物理的場所の分散コンピューティングシステムによって記憶または実行され得るように、分散システムに実装されることが可能である。
【0017】
例示的なシステム100の動作の説明のための例において、クライアントコンピューティングデバイス110のユーザは、製造システム115を使用して製造される集積回路を記述するレイアウト170を(
図2に関連して)準備する。通常のシステムでは、レイアウト170は、サーバ105および/またはクライアントコンピューティングデバイス110上に記憶および/またはホストされ得るソフトウェアにエンコードされることが可能である設計規則に基づいて引き回される。設計規則チェックソフトウェアが、設計が製造可能であるかどうかを示すブール値の結果を生成し、「必須の」または「推奨される」規則に関するブール値を提供することもできる。設計規則チェックソフトウェアを用いると、レイアウト170は、適合または非適合と容易に特定され得るが、手動で修正される。
【0018】
その目的のために、レイアウト170は、RC時定数を含むがこれに限定されない物理的に意味のあるパラメータに関して最適化されている更新されたレイアウト270を生成するために、サーバ105および/またはクライアントコンピューティングデバイス110に記憶されている形状オプティマイザ140のソフトウェア155を使用して処理され得る。いくつかの実施形態において、レイアウト170は、ネットワーク120を介してサーバ105に転送され、そこで形状オプティマイザ140が、レイアウト170を処理する。いくつかの実施形態において、形状オプティマイザ140は、レイアウト情報およびレイアウトファイル170を設計するための1つまたは複数のツールを提示するブラウザ環境またはグラフィカルユーザインターフェースのような、クライアントコンピューティングデバイス110および/またはサーバ105上にホストされるインタラクティブな設計環境の一部として実装される。
【0019】
最適化の基準は、用途に固有であることが可能である、電力消費、集積回路面積、処理能力、ならびに設計および/またはウェハスケール(wafer-scale)での歩留まりに関する目標値も含み得る。このようにして、複数の詳細な引き回し最適化の集約された効果が決定され、大域的な最適化目標に対して評価されることが可能である。さらに、複合的な最適化要因が、詳細な引き回しを手引きするために使用され得る。説明のための例においては、高度に特殊な、スペースもしくは電力に制約のある、または不具合の許されない用途で使用される設計に関して、他の目標を優先して、より低い歩留まりが許容され得る。不具合が許容される、またはサイズに制限のない大容量用途に関しては、面積または処理能力を犠牲にして歩留まりが優先され得る。同様に、間接的な量が、最適化目標として使用するために適合され得る。たとえば、データセンター事業で使用される特定用途向け集積回路の総所有コストが、最適化関数として適用され得る。
【0020】
製造システム115は、集積回路レイアウトを処理し、設計データをマスクデータに変換する、レイアウト設計と半導体ファウンドリとの間のパイプラインにおける複雑なシステムの例である。そして次に、マスクデータは、物理的半導体デバイス製造のフォトリソグラフィプロセスにおいて使用されるフォトマスクを生成するために使用される。例示的なシステム100の文脈では、製造システム115は、視覚的な説明を簡単にするために、ネットワークインターフェースコンピュータ(たとえば、サーバ)によって表される。通常、集積回路の設計規則に準拠した設計がファウンドリに送られる時点を指す「テープアウト」と、ウェハ上の準拠した集積回路の製造との間に、複数のプロセス(たとえば、逆リソグラフィ(inverse lithography)、光近接効果補正、プロセス補正コード(process correction code))が完了される。
【0021】
いくつかの実施形態において、ソフトウェア155は、レイアウト170から1つまたは複数の更新されたレイアウト270を生成する方法で形状オプティマイザ140を実施する。場合によっては、更新されたレイアウト270は、複数の層を含む更新されたレイアウト270を生成するために合併され、そして、その更新されたレイアウト270が、たとえば、インタラクティブな設計環境の一部として、ユーザのために出力される。出力することは、ネットワーク120を介したクライアントコンピューティングデバイス110への転送、ならびに/または更新されたレイアウト270および/もしくは最適化データを第3のデータベース165に記憶することを含み得るがこれらに限定されない。例示的なシステム100がインタラクティブな設計環境の一部として動作する場合、製造性のデータの出力は、クライアントコンピューティングデバイス110に製造性パラメータのデータをディスプレイ111上に提示させるユーザインターフェースデータの生成および伝達を含み得る。
【0022】
いくつかの実施形態においては、更新されたプロセスデータ137および/または新しいプロセスデータ137が、製造システム115から受け取られる。半導体処理テクノロジーは、新しいデバイスおよび技術が開発されるにつれていつも改善されており、したがって、例示的なシステム100は、プロセスデータ137に対する変更にともなう、または新しいプロセスデータ137が受け取られるときの、形状オプティマイザ140の再訓練および新しいモデル145~150の準備をサポートすることが企図される。
【0023】
示された実施形態において、形状オプティマイザ140は、更新された集積回路レイアウト270を生成するために使用されるモジュール141~149として説明される機能サブユニットを含む。いくつかの実施形態において、形状オプティマイザ140は、多数のセルを含むレイアウトファイル170の3次元表現を生成するために使用されるレイアウトデータ215を(
図2に関連して)取り込むように構成された離散化モジュール141を含む。形状オプティマイザ140は、集積回路レイアウト170の電磁シミュレーションの一部として電磁方程式を解くように構成された物理シミュレーションモジュール143を含み得る。物理シミュレーションモジュール143は、インターコネクトのRC値を含み得るがこれに限定されない、レイアウト170の少なくとも一部の特性指標へのセルの局所的な寄与を例示的なシステム100が決定することを可能にすることができる。物理シミュレーションモジュール143の1つまたは複数の出力に基づいて物理的に意味のあるヒューリスティック(heuristic)を実施するように構成される形状最適化モジュール145が、含まれ得る。たとえば、形状最適化モジュール145は、インターコネクトの境界付近の個々のセルの寄与間の関係に従って、レイアウト170の3次元表現の1つまたは複数のセルの定義を修正するためのルーチンをソフトウェア155に含むことができる。
【0024】
いくつかの実施形態において、物理シミュレーションモジュール143の動作は、レイアウトファイル170を入力として使用して更新されたレイアウト270の少なくとも一部を生成するように訓練された1つまたは複数の機械学習モデル144によって補完および/または実施され得る。説明のための例において、機械学習モデル144は、物理シミュレーションモジュール143を使用して生成された更新されたレイアウト270を使用して訓練された深層畳み込みニューラルネットワークモデルであるかまたはそれを含み得る。たとえば、訓練データのデータベース146が、物理ベースのシミュレーションを使用して複数のレイアウトファイル170を最適化することによって生成され得る。訓練データは、機械学習モデル144が教師あり学習によって訓練されることを可能にする、対応する更新されたレイアウト270をともなう対にされたレイアウトファイル170を含み得る。いくつかの実施形態において、形状オプティマイザ140は、後で物理シミュレーションモジュール143によって最適化される機械学習モデル144の出力レイアウトを最初に生成することによって更新されたレイアウト270を生成する。有利なことに、このようにして物理シミュレーションモジュール143を機械学習モデル144で補完することは、更新されたレイアウト270を生成するために使用される物理シミュレーションモジュール143の反復の回数を減らすことができる。
【0025】
いくつかの実施形態において、形状オプティマイザ140は、更新されたレイアウト270の製造性のシミュレーションを実行するように構成されたプロセスシミュレータ147を含む。いくつかの実施形態において、プロセスシミュレータ147は、プロセスノード設計規則および/または機能保持基準に基づいて製造性の分析を実行することができる。プロセスシミュレータ147によって返された出力に照らして、更新されたレイアウト270を改変するように構成される改変モジュール149が、設けられ得る。たとえば、プロセスシミュレータ147が、更新されたレイアウト270が半導体製造システム115によって製造可能でないことを示す場合、改変モジュール149は、半導体製造システム115の製造性の制約を満たすために更新されたレイアウトを修正することができる。本明細書において説明される技術は、複数の特有のスケールで適用され得る。たとえば、インターコネクトの引き回しは、第1のスケールで実施されることが可能であり、一方、個々のインターコネクトの形状の最適化は、より小さなスケールを使用して実施されることが可能であり、それぞれのスケールは、3次元表現を構成するセルの特有のサイズに対応し得る。
【0026】
本明細書において説明される技術は、所与の反復の出力が後続の反復の入力として働くようにして反復的であることが可能であることが理解される。このようにして、初期レイアウトファイル170は、インターコネクトのRC値を最小化するなどの最適化目標に向かって繰り返し修正され得る。その目的のために、この先の図を参照して説明される例示的なプロセスは、複数回の反復を含み得る最適化技術の個々の反復を表すものと理解される。個々の反復は、追加の動作を含むこと、1つまたは複数の動作を省略すること、構成要素である動作の順序を入れ替えることが可能である。
【0027】
図2は、本開示の実施形態による、集積回路のインターコネクトの更新されたレイアウト270を生成するための例示的なプロセス200を示す概略図である。例示的なプロセス200は、(たとえば、
図1のデータベース165に)レイアウトファイル170として記憶され得る製造可能な集積回路レイアウトを生成するために特性指標の反復的な最適化を実行するための動作を実行するシステム(たとえば、
図1のシステム100)によって実施されてよい。例示的なプロセス200は、機械(たとえば、サーバ150および/またはクライアントコンピューティングデバイス110)によって実行されるときに、更新されたレイアウト270を生成するための動作を機械に実行させる、少なくとも1つの機械によってアクセス可能なストレージ媒体(たとえば、非一時的メモリ)によって提供されるソフトウェア155にエンコードされたコンピュータによって実装される方法であることが可能である。更新されたレイアウト270は、インターコネクトおよび/または端子に対してなされた複数の形状の修正の少なくともサブセットを含むかまたはそうでなければ組み込むレイアウトファイル170の形態として、この先の説明における更新された集積回路レイアウトを指す。
【0028】
例示的なプロセス200においてプロセスブロックの一部またはすべてが現れる順序は、限定的であるとみなされるべきではないことがさらに理解される。むしろ、本開示の恩恵を受ける当業者は、プロセスブロックの一部が、図示されていない様々な順序で、または並列的に実行される場合があることを理解するであろう。さらに、例示的なプロセス200は、形状オプティマイザ140のモジュール141~149によって実施される動作のシーケンスとして説明されるが、モジュール式でないソフトウェア155が提供され得ることも想定される。代替的に、負荷の最適化の一部として、たとえば、ソフトウェア155の並列化または分散システム上での実行の一部として、1つまたは複数のモジュールがサブモジュールにセグメンテーションされ得る。
【0029】
動作201において、例示的なプロセス200は、レイアウトデータ215を受け取ることを含む。
図1を参照してより詳細に説明されるように、レイアウトファイル170は、集積回路に関連する端子間の1つまたは複数のインターコネクトの数値的な記述であるかまたはそのような記述を含み得る。記述は、ネットリスト、レイアウト、回路図(schematic)、ダイアグラム(diagram)、または端子の場所、量、および接続性が記述されている集積回路の任意の他の表現に対応し得る。いくつかの実施形態において、レイアウトファイル170は、配線ルート情報(たとえば、最適化されていないまたは製造不可能な配線ルート)、メタライゼーション層の数、集積回路の物理的寸法、配線ルートなどに関する情報を含む。集積回路は、多くのコンポーネント(たとえば、抵抗器、トランジスタ、キャパシタ、ダイオード、トランジスタ、または他の電子サブコンポーネント)を含むことができ、コンポーネントの特定のまたは相対的な空間的配置が、記述によって提供されることが理解される。したがって、レイアウトファイル170は、複数の端子の中の個々の端子がどのように電気的に結合されているかを示す。いくつかの実施形態において、レイアウトファイル170は、集積回路上に直接置かれていない端子(たとえば、接地接続)に関連する情報も記述する。
【0030】
動作203および205において、例示的なプロセス200は、端子情報220および層情報225を受け取ることを含む。端子情報220は、レイアウトファイル170に含まれる端子の少なくともサブセットの1つまたは複数の動作パラメータを記述するデータを指す。説明のための例において、レイアウトファイル170は、
図4Aを参照してより詳細に説明されるように、ドライバ端子を負荷端子に結合するインターコネクトの記述を含み得る。この例において、端子情報220は、ドライバインピーダンス、動作周波数、および/または負荷キャパシタンスを含むがこれらに限定されない、レイアウトファイル170の一部分に関する動作パラメータを記述することができる。いくつかの実施形態において、端子情報220は、レイアウトファイルに含まれる端子が端子動作パラメータに正しく関連付けられるように、レイアウトファイル170に関連して各端子を特定するメタデータを含む。
【0031】
層情報225は、レイアウトファイル170に対応する層の材料特性情報を含み得るがこれに限定されない。たとえば、レイアウトファイル170は、CMOSプロセスによって製造される多層集積回路に含まれてよいビア層、金属層、または他の層を記述することができる。このようにして、層情報225は、電子特性、熱特性、元素組成、相(phase)/構造情報などを含む材料特性情報を含み得る。電子特性の例は、伝導率、誘電率、および絶縁破壊電圧を含むがこれらに限定されない。熱特性の例は、伝導率を含むがこれに限定されない。説明のための例において、層情報225は、層を金属層として定義することができ、誘電酸化物および導電金属を含む層のための2つ以上の材料を定義することができる。層情報225は、たとえば、インターコネクトが金属に符号化され、インターコネクトの外の領域が誘電体に符号化されるレイアウトファイル170の空間符号化(spatial coding)によってレイアウトファイル170に関連付けられ得る。いくつかの実施形態において、レイアウトファイル170は、
図4A~
図12を参照してより詳細に説明されるように、レイアウトの複数の領域が導電性材料として表されるように、所与の領域内に複数のインターコネクトおよび/または端子を含むことができる。
【0032】
動作207において、例示的なプロセス200は、レイアウトファイル170の少なくとも一部の3次元表現235を生成する一部として、レイアウトファイル170を離散化することを含む。3次元表現235は、複数のセルを含むことができ、各セルは、レイアウトファイル170の一部を記述する離散的な体積要素に対応する。前述のように、セルは、特定のサイズ、形状、および体積を持つ体積要素である。いくつかの実施形態において、セルは、共通のサイズ、共通の形状、および/または共通の体積を共有する。いくつかの実施形態において、セルは、レイアウトファイル170が様々なサイズおよび形状のセルのより一般的なセットに離散化され得るように、多様なサイズ、形状、および/または体積を有する場合がある。
【0033】
たとえば、一実施形態においては、複数のセルが、第1の体積を有する第1のセルと、第1の体積と異なる第2の体積を有する第2のセルとを含む場合がある。異なる大きさのセルを有することには、特定の計算上の利点がある場合がある。たとえば、インターコネクトの境界からより遠いシミュレーションされた環境の領域が、インターコネクトの境界上または境界付近のセルと比べてより大きなサイズで生成され得る。有利なことに、動的なセルのサイジングは、本明細書において説明される電磁シミュレーション技術の計算リソース要求を減らすことができ、それによって、例示的なシステム100上の例示的なプロセス200の動作を改善することができる。個々のセルは、立方体、直方体、三角柱、球体、円柱、四面体、六角柱、角錐、または明示的に列挙されていない他の形状のいずれか1つまたは組合せを含む場合がある特定の形状に必ずしも限定されないことが理解される。むしろ、セルは、3次元表現235の任意の解像度を容易にするために大きさ、形状、および/または位置を決められ得ることが理解される。たとえば、セルは、レイアウトファイル170上にマッピングされた配列されたノード間の任意の体積として定義され得る。配列されたノードの中のノードの配置は、レイアウトファイル170の幾何学的側面によって手引きされ得る。たとえば、レイアウトファイル170の角または他の特徴の密度が高い領域は、より高いノード密度に対応し得る一方、特徴の密度が低い領域は、より低いノード密度に対応し得る。いくつかの実施形態において、個々のセルの各々は、集積回路の複数の端子に含まれる所与の端子が複数のセルに含まれる2つ以上のセルによって表されるように十分に小さい。
【0034】
いくつかの実施形態において、3次元表現235を生成することは、座標系(たとえば、デカルト、円筒、球面など)、セルのサイズ、形状、および/または数を構成することを含み得る。構成は、(たとえば、集積回路に関連する複数の端子の配置および位置に基づいて)集積回路の記述と一致するかまたはそうでなければ集積回路の記述を表すようにセルの材料特性を割り振ることを含み得る。たとえば、所与のネットの端子を表すセルは、導体(たとえば、Au、Ag、Al、Cu、Tiなどの金属、金属合金を形成するためのそれらの組合せ、または他の好適な材料)に対応する材料特性を割り振られ得る。逆に、インターコネクト、端子、または他の導体の外にあるセルは、絶縁体または誘電体(たとえば、SiO2、SiOx、SiNなどの酸化物、high-k誘電体、low-k誘電体など)の材料特性を割り振られ得る。
【0035】
形状の最適化の一部として、初期3次元表現235が、直線的な引き回しの慣習(たとえば、「マンハッタン型引き回し」)に従ってレイアウトされたインターコネクトを含む、既に引き回されたレイアウトファイル170から生成され得る。例示的なプロセス200のその後の反復においては、動作201~207は、省略されることが可能であり、更新されたレイアウト270が、3次元表現235として記憶され得る。
【0036】
動作209において、例示的なプロセス200は、インターコネクトの1つまたは複数の電子特性への3次元表現235を構成するセルの個々の寄与を生成することを含む。個々の寄与は、特性指標260への容量性寄与250、導電性寄与255を含み得る。特性指標260は、インターコネクトの1つまたは複数のパラメータを定義する目的関数に基づくことができる。特性指標260は、抵抗、キャパシタンス、アドミタンス、アドミタンス密度(admittance density)、インピーダンス、またはRC時定数などであるがこれらに限定されない、シミュレーションされた環境に基づく所与のネットおよび/または集積回路の第1原理シミュレーションから導出されるかまたはそうでなければ推測され得る任意の電気特性またはパラメータを含むことができる。説明のための例において、特性指標260は、例示的なプロセス200の複数回の反復の収束目標として使用されることが可能なインターコネクトのRC時定数に対応し得る。個々の寄与250および255は、特性指標260がレイアウトファイル170の最適化の一部として改変され得る形状の最適化における物理的に意味のあるヒューリスティックまたは他のモデルの手法の一部として使用されることが可能である。たとえば、最適なRC値への物理シミュレーションの収束は、約20回以下の反復、約19回以下の反復、約18回以下の反復、約17回以下の反復、約16回以下の反復、約15回以下の反復、約14回以下の反復、約13回以下の反復、約12回以下の反復、約11回以下の反復、約10回以下の反復、約9回以下の反復、約8回以下の反復、約7回以下の反復、約6回以下の反復、約5回以下の反復、約4回以下の反復、約3回以下の反復、約2回以下の反復、または1回の反復に対応し得る。しかし、レイアウト170がより複雑になると、反復の回数は20回を超え得る。
【0037】
1つまたは複数の実施形態において、個々の寄与250および255を決定するために使用される電磁シミュレーションは、所与のインターコネクトのシミュレーションに対応する。電磁シミュレーションは、層情報225および端子情報220に少なくとも部分的に基づいて、3次元表現235に含まれるセルの少なくともサブセットに関して静電場値および/または電磁場値を生成することができる。いくつかの実施形態において、特性指標への局所的な寄与は、電磁シミュレーション(たとえば、物理シミュレーションモジュール143)を介して得られた場の値に基づいて計算される。たとえば、電流密度、アドミタンス密度、またはより一般的に、インターコネクトの抵抗もしくはキャパシタンスに関連するパラメータの束(flux)が、個々のセルに関して計算され得る。このようにして、空間的に局所化されるセルレベルのシミュレーション結果が、バイアス信号に応答してシミュレーションされた環境を電流がどのように流れているかを決定するために使用されることが可能であり、そして今度は、バイアス信号に応答してシミュレーションされた環境を電流がどのように流れているかが、特性指標260への個々のセルの局所的な寄与を計算するために使用され得る。
【0038】
電磁シミュレーションからの場の値が個々のセルの材料特性に基づくので、局所的な寄与は、少なくとも部分的に材料特性に基づいて計算されることがさらに理解される。いくつかの実施形態においては、セルがインターコネクトのアドミタンス行列にどのように影響を与えるかを決定するために、セルの少なくともサブセットのアドミタンス密度が、場の値に少なくとも部分的に基づいて計算される。いくつかの実施形態において、アドミタンス密度は、セルを使用して離散化される位置のシミュレーションされた環境のスカラ場に対応する。アドミタンス密度は、インターコネクトの全体的なコンダクタンスおよびキャパシタンスへの局所的な寄与を示すと理解され得る。
図3A~
図4Bを参照してより詳細に説明されるように、アドミタンス密度は、部分的に、3次元表現235の電磁シミュレーションの場の値から導出され得ることが理解される。
【0039】
動作211において、例示的なプロセスは、物理シミュレーションモジュール143および/または機械学習モデル144の出力を使用して、3次元表現235を修正することを含む。
図3A~
図4Bおよび
図7を参照してより詳細に説明されるように、特性指標(たとえば、収束目標または最適化基準)へのセルの局所的な寄与が、3次元表現235の1つもしくは複数のセルの材料特性情報を再割り振りすることによって、または3次元表現235の1つもしくは複数のセルを変形することによって、インターコネクトを再形成するために使用され得る。説明のための例においては、3次元表現235のセルの少なくともサブセットの、インターコネクトの全体的なRC値への容量性寄与および導電性寄与が、層情報225および端子情報220を使用して決定され得る。この例においては、セルのサブセットの1つまたは複数のセルの材料識別子が、各セルのそれぞれの寄与の相対的な大きさの比較に少なくとも部分的に基づいて修正され得る。動作211において生成される3次元表現235の例示的な実施形態は、
図4A~
図7C、
図8~
図10、および
図11を参照してより詳細に説明される。
【0040】
いくつかの実施形態において、例示的プロセス200は、動作211の修正を改変するための1つまたは複数の下位動作を含む。たとえば、モジュール147および/または149は、
図1を参照してより詳細に説明されたように、半導体製造システム115に関する修正された3次元表現235の予測される製造された状態を生成するために、プロセスシミュレーションによって3次元表現の製造性を検証することができる。製造された状態が、3次元表現235に対する修正の1つまたは複数の機能的側面を再現することに失敗する場合、モジュール147として実装された製造性チェックは、単純なブール値の偽を返すことができ、またはどの修正が製造されたレイアウトに欠陥をもたらす可能性が高いかを示すことができる。有利なことに、少なくとも部分的には、ヒューリスティックおよび/または規則ベースの製造性検証ツール(たとえば、設計規則チェッカアルゴリズム)が、概して、通常の直線的な引き回しのために組み立てられるので、物理的に意味のあるプロセスを使用して製造性チェックを完了することは、曲線的な引き回しを容易にすることができる。
【0041】
製造性の分析の出力により、例示的なプロセス200は、レイアウトファイル170の文脈でインターコネクトの機能を維持するために3次元表現235に対する修正を改変することを含み得る。いくつかの実施形態においては、機械学習モデル144が、たとえば、対にされた製造可能なレイアウト170および製造不可能なレイアウト170のセットを使用する教師あり訓練によって、製造性を維持するために3次元表現235に対する修正を改変するように訓練され得る。この文脈で、訓練データは、物理ベースのプロセスモデルを使用して検証される多数のレイアウトファイル170から生成され得る。そのような物理シミュレーションは、たとえば、半導体製造システム115を使用する集積回路の製造の一部として含まれる構成要素である動作のために開発されたプロセスモデルを使用して、誤って製造される可能性が高い3次元表現235のセルおよび/または領域を特定するように構成された要素を含み得る。製造性を決定するための標準として、他の性能指数(たとえば、エッジプレースメントエラー)ではなく機能保持を用いることで、有利なことに、動作211は、曲線的なインターコネクト形状への移行を容易にする、物理的に意味のある製造性スコアを生成することができる。示されるように、例示的なプロセス200の反復は、構成要素である動作のサブセットにわたって起こり得る。たとえば、反復は、動作209および211を含むことができ、層情報225および端子情報220は、動作201~205において受け取られたレイアウトデータ215に基づいて各反復のために維持される。同様に、レイアウトファイルではなくセル単位で(たとえば、レイアウトファイル170の1つまたは複数のポリゴンまたは頂点の変換として)3次元表現235に修正がなされることが可能である。したがって、3次元表現235および動作211からの修正をともなうレイアウトファイル170をエンコードすることは、セルによって記述される量子化された領域を線をともなう滑らかな領域に変換するために3次元表現235に適用される1つまたは複数の画像処理技術を含み得る。そのようにする際、セルのサブセットの導電性材料の一部が、誘電性材料に再割り振りされることが可能であり、セルのサブセットの誘電性材料の一部が、導電性材料に再割り振りされることが可能である。しかし、いくつかの実施形態において、セルが半導体製造システム115の1つまたは複数のプロセスの解像度の下限未満の特有の寸法を有する場合、更新されたレイアウトは、製造中に平滑化される量子化された境界を保持することができる。
【0042】
動作213において、例示的なプロセス200は、更新されたレイアウト270を出力することを含む。更新されたレイアウト270を出力することは、動作209および211の1回または複数回の反復にわたってなされた修正を組み込む3次元表現235を使用してレイアウトファイル170を生成することを含み得るがこれに限定されない。いくつかの実施形態において、更新されたレイアウト270は、GDSIIもしくはOASIS、マスクセット、または集積回路設計において使用される任意の他のデータフォーマットなどのレイアウトファイル170としてエンコードされ得る。いくつかの実施形態において、更新されたレイアウト270は、インタラクティブな設計環境の一部としてクライアントコンピューティングデバイス110によって配布されるかまたはそうでなければアクセスされ得る視覚化データとしてエンコードされ得る。このようにして、インタラクティブな設計環境の1人または複数のユーザは、レイアウトファイル170および/または更新されたレイアウト270に同時または並行してアクセスおよび/または修正を行うことができる。
【0043】
インターコネクト形状の修正の詳細な検討
ルートが端子間で正常に確立された状態で、ネット間のキャパシタンスが決定され、RCを改善するためにインターコネクトの形状を最適化するために使用されることが可能であるが、エレクトロマイグレーションの低減および絶縁破壊の回避を含むがこれらに限定されない他の最適化目標も、想定される。その目的のために、以下に繰り返される式(1)のアドミタンス密度
【0044】
【0045】
が、どの領域がRCに寄与するかを理解し、それから、RCを改善するためにインターコネクトを再形成するためのヒューリスティックを組み立てるために適用され得る。
【0046】
【0047】
ここで、基本解(fundamental)fkは、端子kにおいて1およびすべての他の端子において0というディリクレ境界条件での複素ラプラス方程式
【0048】
【0049】
の解である。それ以外のあらゆる場所では、ノイマン境界条件が適用される。ここで、複素材料パラメータは、
【0050】
【0051】
によって与えられ、ここで、誘電率が「ε」であり、伝導率が「σ」であり、角周波数が「ω」である。そのとき、N個のポートを持つシステムのアドミタンス行列は、アドミタンス密度上の体積積分
【0052】
【0053】
として決定され得る。
【0054】
特定の物理的メカニズムに束縛されることなく、RCは、CMOS論理のトランジスタゲート節点を表すインターコネクトの出力端子に取り付けられた負荷に依存することが理解される。トランジスタゲートのゲートキャパシタンスが大きい場合、インターコネクトキャパシタンスが無視できるかまたは実質的に無視できる一方で、インターコネクト形状の最適化は、インターコネクト抵抗を減らすことを含み得る。そのようなシナリオが、より古いベンダプロセスノードで典型的であったが、FinFETテクノロジーのような最新のテクノロジーノードにおいて、インターコネクトキャパシタンスは、トランジスタのゲートキャパシタンスに匹敵する。したがって、インターコネクト形状を修正することは、配線キャパシタンスと取り付けられた負荷との間の比に依存し得る。
【0055】
入力アドミタンスおよびRC: RCは、引き回されたICレイアウトの全体的なRCに対する単一のインターコネクトのアドミタンス密度の影響を導出することに少なくとも部分的に基づいて、アドミタンスから計算され得る。全体的なRC時定数を生成する一部として、アドミタンス行列
【0056】
【0057】
が、以下の式を使用して、N個のポートの完全に引き回されたシステムに関して決定され得る。
【0058】
【0059】
さらに、レイアウトファイル170の3次元表現の領域が、トランジスタかまたは外部ピンかのどちらかに属する端子に割り振られ得る。入力iの入力アドミタンス
【0060】
【0061】
は、
【0062】
【0063】
によって定義されることが可能であり、インターコネクトおよびトランジスタの基礎をなすシステムから決定される。
【0064】
取り付けられた負荷(たとえば、トランジスタ)は非線形コンポーネントであるので、トランジスタの抵抗およびキャパシタンスは、瞬間的に印加された電圧信号に基づいて評価される。単純化する仮定として、ゲートキャパシタンスは、以下のように、各トランジスタtのすべての動作点(operating point)の最大キャパシタンスを仮定することによって限界を定められ得る。
【0065】
【0066】
しかし、実際には、特有の電圧のランプ(ramp)またはスルー(slew)に関する実効キャパシタンスが、本開示の実施形態に従って選択されてよい。
【0067】
RC計算の目的では、キャパシタンスの低周波成分が重要である。キャパシタンスはカットオフ周波数付近までは周波数に依存しないので、いくつかの実施形態においては、周波数依存性は無視できると仮定される。端子iにおける入力アドミタンス
【0068】
【0069】
を計算するためには、すべての他の入力端子j≠iにおける負荷アドミタンスも仮定する必要がある。単純化するために、理想的なオーミックコンタクト(ohmic contact)、すなわち、
【0070】
【0071】
を仮定することができる。最後に、端子iの入力アドミタンスを
【0072】
【0073】
として計算することができ、入力端子i以外のすべての端子における負荷Yを考慮して、電流をそれらの適切な値に設定する。したがって、直接解かれ得る以下の一次方程式を求め、
【0074】
【0075】
式中、δklは、クロネッカーのデルタである。
【0076】
式(6)において定義された入力アドミタンス
【0077】
【0078】
は、式(9)から決定され得る。l≠iの
【0079】
【0080】
の値が計算され、式(9)の上の式で使用され得るが、下の式は、l≠iのすべての
【0081】
【0082】
を
【0083】
【0084】
の関数として表現することによって厳密にその情報を含む。
【0085】
入力アドミタンス
【0086】
【0087】
を用いて、端子iにおけるRCiが、式
【0088】
【0089】
を使用して計算され得る。
【0090】
RCiは、容量効果および抵抗効果、ならびにクロストークおよび/または他の配線に取り付けられた負荷に基づく結合効率(coupling efficiency)を含むがこれらに限定されない他の現象を考慮する。しかし、式(10)は、瞬間的なRC時定数を記述する。トランジスタのような非線形素子に関して、瞬間的なRC時定数は、大信号動作で測定されるRCとは異なる。このため、以下の検討は、すべての動作状態の最悪の場合のゲートキャパシタンスを仮定する。このようにして、RC値に関してインターコネクト形状を最適化するための目的関数は、最悪の場合のRCによって限界を定められると理解される。
【0091】
RC改善ヒューリスティック: 式(10)は、RCに関して配線を最適化することが自明ではないことを示す。第1に、入力アドミタンス
【0092】
【0093】
は、解析解がないと理解されるアドミタンス行列
【0094】
【0095】
の要素の複雑な関数である。第2に、RCは、式(10)の商によって決定され、これは、その値が非局所的に決定されることを意味する。このように、RCを最適化するためのアルゴリズムは、インターコネクト構造への局所的な変更(たとえば、インターコネクトの1つまたは複数の場所においてインターコネクトの幅を広げることおよび/または狭めること)が目的関数の出力を改善するのかまたは悪化させるのかを容易に判定し得ない。第3に、式(9)の暗黙の入力アドミタンス系に現れるトランジスタ負荷は、RCの計算のされ方の性質上、インターコネクト構造をどのようにして最適化されるべきかを決定する際の重要な要因である。いくつかの実施形態において、端子における負荷の大きさは、インターコネクトキャパシタンスを実質的に無視できるようにすることができ、その結果、伝導率を高めるための幅の広い最適なインターコネクトをもたらす。これは、古いベンダプロセスノードではそうであったが、現在のおよび将来予想されるプロセスノードでは、インターコネクトキャパシタンスおよびゲートキャパシタンスは、同等であり得る。そのような場合、インターコネクトの幅は、インターコネクトの長さに依存し得る。たとえば、比較的短いインターコネクトは、比較的幅が広くなり得る一方、より長いインターコネクトは、幅を狭くすることによってRCの改善を示すキャパシタンスによって特徴付けられ得る。
【0096】
要するに、インターコネクトの最適化は、重大な計算上の課題である。有利なことに、本明細書において説明される数値的な技術は、インターコネクトの幅を広げること、抵抗を少なくするためにビアを挿入すること、および/またはクロスカップリングキャパシタンス(cross-coupling capacitance)を削減するために近接配線間の間隔を広げるか、もしくは近接配線の平行して走る長さ(parallel run-length)を短くすることなどの、回路のタイミングを改善するための単純なヒューリスティックで補完され得る。したがって、RC最適化ランドスケープ(RC-optimization landscape)は、アルゴリズムが局所最適に向かう勾配に従うことを可能にすると理解され得る。有限体積法および単純なヒューリスティックを含むそのような混合手法は、最適化プロセスの計算リソース要求も減らしながら、レイアウトファイル170を修正することによって改善されたICの性能をもたらし得る。
【0097】
キャパシタンスのこの構造は、インターコネクト間の電場の強度がキャパシタンスの等価な尺度であるので、インターコネクトキャパシタンスをラプラス方程式のグリーン関数で表す、FasterCapなどのアルゴリズムによって示される。同様に、インターコネクト内の電流密度は、オームの法則によりコンダクタンスの等価な尺度である。したがって、式(1)のアドミタンス密度は、式(5)の全体的なアドミタンスへの局所的なコンダクタンスおよびキャパシタンスの寄与の尺度を決定するために使用され得る。このように、アドミタンス密度
【0098】
【0099】
からの空間的な寄与は、式(10)のRCを決定するための基礎として働き得る。
【0100】
前段として、数値的または解析的な方法を用いずにインターコネクト設計を改善するためのヒューリスティックが説明される。式
【0101】
【0102】
を使用して定義される材料パラメータ場(material parameter field)κ(r)によってそれぞれ記述されるインターコネクトおよび1つまたは複数の端子を含むレイアウト170から始める。このようにして、レイアウトファイル170は、空間座標rがインターコネクトの金属の材料パラメータを有するべきかまたは絶縁体および/もしくは誘電体の材料パラメータを有するべきかの判定に少なくとも部分的に基づいて更新され得る。
【0103】
単一の負荷: 取り付けられた負荷
【0104】
【0105】
、∀k≠aは、RCaを最適化する一部として、インターコネクトがより多くの電流を流すために幅を広げられ得るのか、または容量性クロスカップリング(capacitive cross-coupling)を避けるために幅を狭められ得るのかを少なくとも部分的に決定する、入力端子aにおける配線形状の最適化に多大な影響を与える。場合によっては、ネットが単一の負荷
【0106】
【0107】
で2つの端子aおよびbを接続し、一方、すべての他の端子が
【0108】
【0109】
、∀k≠a, bで短絡されていると仮定され得る。これらの負荷を式(9)に挿入すると、以下の式が得られる。
【0110】
【0111】
式(12)の第2の構成要素である式において、たとえば、短絡された端子における負荷以外の比較的小さな大きさの項は、無視され得る。
【0112】
【0113】
は非ゼロであるので、短絡されたポートkの印加されたバイアスは、印加された電圧がゼロに近づく
【0114】
【0115】
と理解され得る。これを最初の2つの構成要素である式に挿入することは、以下の式をもたらす。
【0116】
【0117】
第2の構成要素である式を
【0118】
【0119】
について解き、結果を第1の構成要素である式に挿入することは、入力アドミタンスに関する以下の式が導出されることを可能にする。
【0120】
【0121】
この式は、単一の負荷で2つの端子を結合するインターコネクトに関する式であると理解される。
【0122】
式(10)のRCaに関する式を実数成分および虚数成分に展開すると、式(14)が、RCaに関する以下の式を導出するために使用され得る。
【0123】
【0124】
端子aを端子bに結合する単一のインターコネクトに関して、アドミタンス行列は、
【0125】
【0126】
として表され得る。
【0127】
CMOSテクノロジーに関して、端子bは、容量性負荷として働くゲートに対応すると仮定され得る。したがって、
【0128】
【0129】
は、複素数値
【0130】
【0131】
として表されることが可能であり、それによって、式(13)のRCaは、
【0132】
【0133】
と書き換えられ得る。
【0134】
式(17)においては、RC時定数の構造が、容量性寄与と導電性寄与との比として示される。したがって、インターコネクトの伝導率が、負荷およびインターコネクトのキャパシタンスと比較され得る。入力aの観点から見て、出力におけるキャパシタンスがインターコネクト構造の一部であるのかまたは負荷の一部であるのかは物理的に区別不可能であると理解され得るので、出力キャパシタンスCは、少なくとも部分的に、負荷キャパシタンスCLと組み合わされる。
【0135】
定幅トイモデル最適化:
図3Aは、本開示の実施形態による2ポートインターコネクト310のトイモデル300を示す概略図である。
図3Aは、物理的サイズ、コンダクタンスG、およびキャパシタンスCを有する等価回路を持つ、2つの端子305(たとえば、「ポート」)と電気的に結合されているインターコネクト310を示す。以下の処置では、インターコネクト310が、負荷C
Lを駆動するために最適化される。
図3Aは、キャパシタンスがインターコネクト310の長さ「L」にわたって分散される効果などの伝送線路効果(transmission line effect)が無視されるトイモデル300を示す。したがって、コンダクタンスおよびキャパシタンスの以下の簡単な解析モデルが、適用され、
【0136】
【0137】
式中、x
w、L、Wは、
図3Aに示された寸法であり、Hは、残りの方向の高さである。σおよびεは、それぞれ、コンダクタンスおよび誘電率である。
式(18)の項を式(17)に挿入することは、以下の式をもたらす。
【0138】
【0139】
式(16)は、インターコネクト310のキャパシタンスが負荷キャパシタンスと同等かまたは負荷キャパシタンスよりも大きい場合、RCがL
2にともなってスケーリングし得ることを明らかにする。したがって、大きな負荷を駆動する短い配線は、Lとともにスケーリングすると理解され得る。
図2を参照してより詳細に説明されたように、いくつかの実施形態において、インターコネクト310の局所的な幅は、(たとえば、RC
aを最小化することによって)インターコネクト310の性能を向上させるための最適化方式において操作される変数である。そのような手法において、インターコネクト310の幅x
wは、端子情報220によって表される負荷の動作パラメータに少なくとも部分的に依存すると理解される。一様な幅x
wを用いる
図3Aに示された2ポートのシナリオにおいて、所与の負荷キャパシタンスC
Lに対する最適な幅は、式
【0140】
【0141】
によって記述される。
【0142】
式(20)において、C0は、全幅Lにおけるインターコネクト310のキャパシタンス、すなわち、
【0143】
【0144】
として定義される。最小のRCa値の場所xoptは、伝導率に依存せず、インターコネクト310の固有のキャパシタンスと外部負荷キャパシタンスとの比から決定され得ることに留意されたい。小さな負荷に関して、インターコネクト310は、主にインターコネクト310自体のキャパシタンスを駆動し、最適な幅xopt ≒ W/2となる。しかし、負荷が大きくなるにつれて、負荷キャパシタンスの充電に起因する遅延が顕著になる。結果として、xoptは大きくなる。誘電体幅とのインターコネクト310のキャパシタンスの相互依存性が原因で、固有の配線キャパシタンスは、容量性負荷に対して釣り合いを取られ得ることに留意されたい。したがって、容量性負荷が無限大に近づく(CL→∞)につれて、xopt→Wの限界に徐々に近づく。
【0145】
RCベースの形状の最適化に関しては、導体および誘電体に蓄積される電場の相対的な大きさに少なくとも部分的に基づいて、導電性材料と誘電性材料との間の1つまたは複数の境界面の位置が修正され得る。その目的のために、式(1)のアドミタンス密度は、インターコネクトの金属Mと(酸化物の例の)誘電体OXの両方において、
【0146】
【0147】
として表され得る。
【0148】
それに対して、RCの式は、
【0149】
【0150】
となる。
【0151】
式(22)は、インターコネクト310を局所的に最適化するための技術を定性的に明らかにする。金属と酸化物との間の境界面において、導体内で全体的なコンダクタンスに対してするアドミタンス密度の実部の寄与よりも大きな寄与をアドミタンス密度の虚部が全体的なキャパシタンスに対してする場合、キャパシタの極板の距離を長くするようにインターコネクト境界311を移動する(たとえば、インターコネクト310を縮小する)。一方、導体内の実部がより大きな寄与をする場合は、導体断面を大きくするようにインターコネクト境界311を移動する。
【0152】
勾配ベースの最適化に関しては、RCの微分可能な関数が導出され、最適値が、微分
【0153】
【0154】
となる停留点に対応し得る。停留点について式(22)を解くことは、r0のすべての値について成り立つ式
【0155】
【0156】
をもたらす。
【0157】
式(23)によって明らかにされるように、最適な構成では、局所的な容量性寄与と導電性寄与とが互いに釣り合い、それぞれの寄与は、
【0158】
【0159】
【0160】
として定義される。
【0161】
式(24)は、位置rにおける局所的な容量性寄与を記述し、式(25)は、位置rにおける局所的な導電性寄与を記述する。これらの式から、式(22)に示された定性的手法による示唆を受けて、インターコネクトのRCを改善するためのヒューリスティックが、インターコネクト310と誘電体との間の境界面311上の位置であるrinterに関して、以下のように組み立てられ得る。
【0162】
CC(rinter) > CG(rinter)である場合、インターコネクトの幅を小さくする。
【0163】
CC(rinter) < CG(rinter)である場合、インターコネクトの幅を大きくする。
【0164】
CC(rinter) = CG(rinter)である場合、インターコネクトの幅を維持する。
【0165】
RC回路のこれまでの処置を一般化するために、電圧発生器
【0166】
【0167】
が、関連する発生器アドミタンス
【0168】
【0169】
をともなって含められ得る。デジタル回路において、発生器は、概して電力グリッドであり、発生器アドミタンス
【0170】
【0171】
は、インターコネクト310およびMOSFETのチャネルの抵抗およびキャパシタンスに関連付けられる。発生器アドミタンスの実部は、オン状態のMOSFETのチャネルのコンダクタンスと関連付けられることが可能であり、したがって、インターコネクト310の駆動強度と解釈され得る。負荷アドミタンスに関して既に示されたのと同様に、異なる駆動強度は、異なる最適なインターコネクト310設計につながり得る。
【0172】
RCを決定するために、入力アドミタンス
【0173】
【0174】
が、理想的な電圧源
【0175】
【0176】
から関係
【0177】
【0178】
を使用して求められ得る。
【0179】
ここで、発生器電流
【0180】
【0181】
は、2ポートインターコネクト310のアドミタンス値
【0182】
【0183】
および
【0184】
【0185】
に、式
【0186】
【0187】
を使用して関連付けられ得る。
【0188】
式(27)は、式(26)と組み合わされ、
【0189】
【0190】
の式を求めるために、以下のように再整理され得る。
【0191】
【0192】
式(28)は、式(25)と組み合わされて、RCの式を
【0193】
【0194】
としてもたらし得る。
【0195】
図3Bは、本開示の実施形態による、2つの端子305を結合する例示的な可変幅インターコネクト310を示す概略図である。対応する2ポートアドミタンス行列を導出するために、基本解についてのラプラス方程式の解に基づく近似が、等価回路を使用する記述の複雑さを軽減するために使用され得る。その目的のために、高導電性インターコネクトにおける電位がx方向で一定であるという仮定がなされ得る。
図3Bにおいて、x方向は、図示されたように定義される。
【0196】
一定の伝導率を仮定して、基本解faおよびfbのラプラス方程式は、端子305間のyの位置の関数としての電流保存の記述と理解され得る。より詳細には、金属の領域に関して、金属基本解(metal fundamental)
【0197】
【0198】
が定義され得る。この文脈では、ガウスの積分定理(Gaussian integration theorem)を使用する、y = 0およびある任意の内部の点y0におけるインターコネクト310の2つのスライス(slice)を含む検査体積(control volume)上の積分は、式
【0199】
【0200】
をもたらす。
【0201】
式(30)は任意のy0に関する一般式であるので、電流の保存は、I0が一定であると定め、金属基本解
【0202】
【0203】
は、式
【0204】
【0205】
を使用して定義され得る。
【0206】
前述のように、添え字「a」は、インターコネクト310によって結合された端子305のうちの1つに割り振られる。このようにして、端子「b」に関して、金属基本解は、
【0207】
【0208】
によって定義され得る。
【0209】
式(31)および(32)に関して、境界条件は、それぞれ、
【0210】
【0211】
および
【0212】
【0213】
として定義される。
【0214】
誘電体における基本解の式は、金属におけるそれらのそれぞれの値
【0215】
【0216】
から
図3Bに示された電極の位置x = Wにおけるゼロまで減衰する単純な線形関数として表され得る。結果として得られる誘電体基本関数(fundamental function)は、誘電体に関して
【0217】
【0218】
として定義され得る。
【0219】
【0220】
であるという単純化する仮定の下で、RCの停留点から生じるアドミタンス密度に対する制約を導き出するために、式(28)が式(29)とともに使用され得る。一旦求められると、停留点は、(たとえば、境界面311の少なくとも一部を変位させることによって)インターコネクト310の形状を修正するための固定点(fixpoint)として定義され得る。式(29)に示された、発生器アドミタンスおよび負荷アドミタンスを含むRCの式の一般形を使用すると、
【0221】
【0222】
である。
【0223】
停留点は、
【0224】
【0225】
によって与えられる。
【0226】
発生器入力アドミタンスの汎関数微分(functional derivative)は、
【0227】
【0228】
によって与えられる。
【0229】
この式から、式(35)の汎関数微分の完全な式が、2端子305インターコネクト310に関して
【0230】
【0231】
として導出され得る。
【0232】
【0233】
であり、
【0234】
【0235】
である。
【0236】
式(37)~(39)から、境界面311上の任意の点r0について、固定点の式が、
【0237】
【0238】
として定義され得る。
【0239】
任意のファンアウトの詳細な検討
RCの変動に関する導出は、
図8を参照してより詳細に説明されるように、ドライバ(入力端子305)を複数の出力端子305に結合するインターコネクトに拡張され得る。式(34)において与えられたRCの式において、出力端子305は、発生器入力アドミタンスの一部を形成する入力アドミタンス
【0240】
【0241】
の値に影響を与える。したがって、任意のファンアウトに関するRCおよびその変動は、少なくとも部分的に、入力アドミタンスと、異なるアドミタンスについてのその導関数とを計算することによって決定され得る。
【0242】
この目的のために、N×Nアドミタンス行列
【0243】
【0244】
によって特徴付けられ得る入力端子305 a∈{1, 2, ..., N}と、すべてのi = 1, 2, ..., Nの端子305の負荷
【0245】
【0246】
とを持つインターコネクト310を考える。この場合に入力アドミタンスを決定するために、まずオームの法則
【0247】
【0248】
から出発し、これは、簡略化された表記法を使用するが、IとVの両方が複素フェーザ(complex phasor)のベクトルを指すことは理解される。端子305 aに関する入力アドミタンスを計算するために、a以外のすべてのポートに対する負荷の影響が決定され得る。この目的のために、縮小された(N - 1)×(N - 1)行列
【0249】
【0250】
は、端子305 aに対応する行および列が削除されることを除いて
【0251】
【0252】
に等しい。同様に、ベクトル
【0253】
【0254】
および
【0255】
【0256】
は、それぞれ、IおよびVに等しいが、要素aを持たないと定義される。
【0257】
【0258】
に関して、オームの法則は、
【0259】
【0260】
として表されることが可能であり、
【0261】
【0262】
は、端子305 aを除くすべての負荷がその対角上に持つ(N - 1)×(N - 1)の対角行列である。さらに、Hは、要素
【0263】
【0264】
、k∈{1, ..., N}\{a}を含む。
【0265】
式(41)は、以下のように、電圧比(Vr)とHとの間の関係の式に簡略化されることが可能であり、
【0266】
【0267】
式中、Vr = V~/Vaは、入力に対する電圧比である。
【0268】
式(42)は、電圧比およびアドミタンス行列の要素の関数として入力アドミタンスを決定するために使用され得る。
【0269】
【0270】
これらの式を使用して、入力アドミタンスの導関数を定義するために、連立一次方程式が定義され、解かれ得る。
【0271】
【0272】
セルのRC寄与の詳細な検討
図2を参照してより詳細に説明されたように、以下の検討は、1つまたは複数のネットを含むレイアウトファイル170のインターコネクト310のRCを最適化するための計算技術の説明のための例を詳しく説明する。それぞれがT
n個の端子305のセットを持つN個のインターコネクト310を含む完全に引き回されたレイアウト170から開始し、n∈{1, 2, ..., N}である。さらに、各インターコネクト310 nは、プルアップネットワーク(pull-up network)および/またはプルダウンネットワーク(pull-down network)に由来する1つまたは複数の入力と、負荷(たとえば、CMOSテクノロジーのゲート)において終端する1つまたは複数の出力とを有する。インターコネクト310 nへの入力のセットは、
【0273】
【0274】
と表記され、出力のセットは、
【0275】
【0276】
と表記され、
【0277】
【0278】
は、端子305のセットを示す(たとえば、インターコネクト310は、dead端子(dead terminal)またはnull端子(null terminal)なしに入力を出力に結合することができる)。
【0279】
インターコネクト310の形状の最適化は、各インターコネクト310の局所的な寄与δRC(r)を定義することを含む。RCが極小であるとき、RCは静止しており、変動δRCはゼロになり、これは、インターコネクトの内部のその導電性成分とインターコネクトの外部の容量性成分との相殺によって起こり、式(40)の2つの項を参照されたい。
【0280】
形状の修正の詳細な検討
したがって、インターコネクトがRC最適でない場合、インターコネクトの境界面「rinter」において成分の不均衡を見つけることができる。導電性寄与
【0281】
【0282】
はインターコネクトの内側のδRCの値を示し、容量性寄与
【0283】
【0284】
はインターコネクトの外側のδRCの値を示す。そのとき、RCを改善するためのヒューリスティックは、以下によって与えられる。
【0285】
【0286】
である場合、インターコネクトの幅を小さくする。
【0287】
【0288】
である場合、インターコネクトの幅を大きくする。
【0289】
【0290】
である場合、インターコネクトの幅を維持する。
【0291】
上述のヒューリスティックの文脈において、等しさは、値の範囲内で近似的であると理解され得る。たとえば、
【0292】
【0293】
が所与の許容範囲内で
【0294】
【0295】
と実質的に等しい場合、インターコネクト境界311は、維持され得る。同様に、
【0296】
【0297】
が、所与の許容範囲外で
【0298】
【0299】
より大きい場合、インターコネクト310の幅は、小さくされ得る。いくつかの実施形態において、許容範囲は、
【0300】
【0301】
および
【0302】
【0303】
の値の比として与えられ得る。たとえば、約1.5以下、約1.4以下、約1.3以下、約1.2以下、約1.1以下、約1.05以下、約1.01以下の
【0304】
【0305】
と
【0306】
【0307】
との比が、それらの補間および一部を含め、許容範囲内で等しいとみなされ得る。
【0308】
アルゴリズムの実装は、インターコネクト境界311付近の境界領域313における
【0309】
【0310】
および
【0311】
【0312】
の値へのインターコネクト境界311に対する局所的な修正の幾何学的依存性によって複雑化される。
図7を参照してより詳細に説明されるように、3次元表現235においてセルに材料を割り振ることは、離散化された空間におけるセルの微分寄与(differential contribution)を決定することと、境界領域313内の隣接する離散化ボリューム(たとえば、セル)の対応する寄与を比較することとを含み得る。
【0313】
一部の実施形態においては、インターコネクト310の所与の位置rにおける微分RC寄与(differential RC contribution)に対する境界領域313内の導電性材料および誘電性材料の相対的な影響が、
【0314】
【0315】
および
【0316】
【0317】
の値を3次元表現235の隣接セルに外挿することによって説明され得る。いくつかの実施形態において、外挿は、セルに3次元平滑化動作を適用することを含み得る。3次元平滑化の例は、
【0318】
【0319】
として定義されるガウス平滑化関数を含み、σは、デカルト空間において定義される値の3次元標準偏差ベクトルであり、σ = (σx, σy, σz)である。σは、3次元表現235を定義するために使用される座標空間に対応するように、他の座標空間において定義され得ることが理解される。σの値は、平滑化の範囲に影響し、より小さな値がより制限された平滑化をもたらし、より大きな値がより広い平滑化をもたらす。いくつかの実施形態において、対向する境界311がベクトル量である場の寄与(field contribution)に影響を及ぼす可能性を制限するために、σの値は、インターコネクト310の幅XW(Y)よりも小さくなり得る。このように、σは、3次元表現235内の位置の関数であることができ、またはレイアウト170に関して一貫した値であることができる。いくつかの実施形態においては、インターコネクト310の初期幅よりも大きいσの初期値が選択される(たとえば、直線的な引き回しでは、幅は単一の値であることが可能である)。
【0320】
式(45)のガウス平滑化関数の場合、所与の位置rにおけるコンダクタンスおよびキャパシタンスへの平滑化された寄与は、3次元畳み込みとして表され得る。
【0321】
【0322】
【0323】
および
【0324】
【0325】
は、それぞれ、3次元表現235内の位置rにおける平滑化された容量性寄与および平滑化された導電性寄与を表す。有利なことに、式(45)および式(46)に示された平滑化によるなどした外挿は、インターコネクト310のコンダクタンスおよびキャパシタンスに対するセルの相対的な寄与(たとえば、RCの実数成分および虚数成分)を、インターコネクト境界311へのセルの相対的な位置の影響をより少なくして決定されることを可能にする。このようにして、インターコネクト310内にある位置rに関して、所与の許容範囲ε内で
【0326】
【0327】
である場合、材料は、導体から誘電体へ(たとえば、金属から酸化物へ)再割り振りされ得る。そうでない場合、位置rに対応するセル内のインターコネクト310の材料は、導体として維持され得る。同様に、インターコネクト310の外にある位置rに関して、所与の許容範囲ε内で
【0328】
【0329】
である場合、材料は、誘電体から導体に(たとえば、酸化物から金属に)再割り振りされ得る。そうでない場合、位置rに対応するセル内のインターコネクト310の材料は、誘電体として維持され得る。
【0330】
いくつかの実施形態において、シミュレーションメッシュは、構造化されておらず、材料をセルに再割り振りする代わりに、メッシュ移動動作によってインターコネクトの壁を移動させることができる。
【0331】
図7を参照してより詳細に説明されるように、いくつかの実施形態においては、製造性チェックが、更新されたレイアウト270を生成することを含むがこれに限定されない例示的なプロセス200の動作の一部として含まれ得る。マスクセットMおよびファブパラメータ(fab parameter)θに依存するプロセス関数P(M, θ)が利用可能である場合、インターコネクト310を記述する材料パラメータ場が決定され得る。所与のM
0およびθを持つインターコネクト310構造で、インターコネクト310構造の材料パラメータおよび他の関心を引く量は、プロセス関数P(M
0, θ) = {σ(r), ε(r), ...} =: S
0を使用して決定されることが可能であり、最初の反復0のウェハ状態S
0は、レイアウト170を記述する物理量のセットとして定義される。上述の手法により、インターコネクト310のアドミタンスが決定されることが可能であり、発生器アドミタンスおよび負荷アドミタンスから、インターコネクト310に関して、平滑化された寄与が決定されることが可能である。
【0332】
更新されたレイアウト270を用いて、目標設計D1が、3次元表現235を構成するセルの更新された材料パラメータを含む次の反復(たとえば、初期状態0の後の反復1)として定義され得る。ファブパラメータθを記述するプロセスデータを用いて、プロセスシミュレーションが、D1の製造結果をシミュレーションするために実施されることが可能であり、それが、D1を新しいウェハ状態S1に修正するために使用され得る。いくつかの実施形態において、D1は、物理シミュレーションに基づいて製造可能であるが、同時に、プロセスのブール設計規則(Boolean design rule)に違反してもいる。このようにして、ここで説明される製造性チェックは、直線的な引き回しに基づくが、曲線的な引き回しには比較的当てはまらない、エッジプレースメントエラーなどの他の性能指数を最小化するために開発され得る、製造業者によって提供される設計規則を満たすことではなく、機能保持を対象とし得る。
【0333】
上述の動作の1回または複数回の反復(「i」)で、ウェハ状態SiのRC値は、物理的に意味のあるプロセスシミュレーションに基づいて製造可能でもある最適値に収束し得る。有利なことに、プロセスデータに少なくとも部分的に基づく製造性の検証は、設計Dの小さな変化がウェハ状態Sの小さな変化につながる微分可能な製造性の改変(differentiable manufacturability revision)を提供することができる。対照的に、ブール設計規則は、滑らかまたは微分可能でなく、上述の勾配ベースの最適化技術が更新されたレイアウト270の製造性に基づく改変を含むことを可能にしない。
【0334】
レイアウトファイル170関して
図7を参照してより詳細に説明される、マスクセットM
INおよびプロセスデータθを取り込み、改変されたマスクセットM
OUTを出力するために上述の最適化を実施するための例示的なアルゴリズムは、並列化されるかまたは他の方法で並べ替えられることが可能な以下の動作を含む。
1. プロセスモデル(「P」)を使用してウェハ状態S
0を計算する。
2. 式(37)を使用して、インターコネクト310に関してウェハ状態S
iのネット寄与(net contribution)
【0335】
【0336】
および
【0337】
【0338】
を計算する。
3. インターコネクト310に関して、式(46)のガウス平滑化
【0339】
【0340】
および
【0341】
【0342】
を計算する。
4. 上述のヒューリスティックを使用して新しい目標設計Di+1を生成する。
5. 少なくとも部分的にプロセスシミュレーションP(Di+1, θ)を使用して、Di+1に最も近いと同時に製造可能なマスクセットMi+1を計算する。
6. P(Mi+1, θ) = Si+1を使用して新しいウェハ状態Si+1を計算する。
7. 新しいウェハ状態Si+1を使用して最適化目的(たとえば、RC値)を計算する。最適化目的値が目標値または基準(たとえば、デルタまたは収束指標)を満たさない場合、iをインクリメントし、ステップ2に戻る。
8. 収束したら、最終的なマスクセットMFを返す。
【0343】
図4A~
図4Dは、本開示の実施形態による、レイアウトファイル170および更新されたレイアウト270の一部の3次元表現235の「x-y」平面への2次元平面図射影を示す概略図である。射影は、1回または複数回の反復を含む形状の最適化が
図2および
図3A~
図3Bを参照して説明されたように完了され得るおよび/または完了された、
図3A~
図3Bを参照してより詳細に説明された2ポートインターコネクトを表す。このように、
図4A~
図4Dは、形状の最適化および更新されたレイアウト225に対する層情報225および端子情報220の影響を示すために提供される。例示的なシミュレーションおよび最適化の結果を表すが、
図4A~
図4Dは、限定的であるように意図されておらず、むしろ例示的であるように意図されている。たとえば、形状の最適化の結果は、3次元表現235を生成するために使用された層情報225、端子情報220、およびレイアウトファイル170に少なくとも部分的に基づいて、
図4B~
図4Dにおいて提供される例と異なる場合がある。追加的または代替的に、ナノメートル以下のオーダーの小さな長さスケールにおいて顕著になり得る絶縁破壊または他の電界効果などの物理効果の包含が影響し得るのと同様に、形状の最適化を手引きするために使用される特性指標も、形状の最適化の結果にも影響し得る。このように、同じレイアウトファイル170、同じ層情報225、および同じ端子情報220を用いる最適化が、図示されたものとは異なる修正されたレイアウト270をもたらし得る。有利なことに、現実的なインターコネクト構造は、複数の層のそれぞれに関して層固有の材料パラメータを含み得る。さらに、伝導率などの物理パラメータは、たとえば、壁面距離(wall-distance)の関数として、単一のインターコネクト310内で変化し得る。そのような変動は、本明細書において説明される技術によって容易に捕捉され得るが、各層および各インターコネクト310のために新しい規則ベースのモデルを追加することを含み得る、規則ベースのシステムの多大な複雑さをもたらす。
【0344】
図4Aは、本開示の実施形態による、2つの端子305を結合するインターコネクト310(たとえば、2ポートインターコネクト)を記述するレイアウトファイル170の少なくとも一部の簡略化された3次元表現235の例示的な平面
図400を示す概略図である。例示的な平面
図400は、導電性バックプレート(conducting backplate)、ビア、またはインターコネクト310と結合されない他の端子を含むがこれらに限定されない追加の導電性の特徴415も含む。
図2を参照してより詳細に説明されたように、3次元表現235は、インターコネクト310、端子305、導電性素子415、およびインターコネクト310を囲む誘電性材料のセル401を定義する。
図3A~
図3Bを参照してより詳細に説明されたように、インターコネクト310の表面付近の境界領域313は、形状の最適化の一部として修正され得る。例示的な平面
図400は、視覚的に明瞭にするために誘電性材料のセル401を省略するが、境界領域313が、インターコネクト310の導電性セル411およびインターコネクト310の外の誘電性セル413(たとえば、酸化物または窒化物材料に対応する)を載せた差し込み図に示される。3次元表現を生成するために使用されたレイアウトファイル170に付随して、層情報225が、レイアウトファイル170からの空間情報に基づいて導電性セル411および誘電性セル413を特定するために使用される。
【0345】
例示的な平面
図400は直線的な引き回しの慣習に従うが、インターコネクト310のRC時定数を含むがこれに限定されない特性指標は、インターコネクト310がその形状の点で準最適であり得ることを示すことができる。たとえば、インターコネクト310と1つまたは複数の導電性素子415との間の電磁相互作用が、端子情報220の所与のセットに関してRC時定数を増加させ得る。インターコネクト310を再形成する一部として、端子情報220が、端子情報220において定義された特定の動作条件の下で、境界領域313付近のセル401などのセル401の、インターコネクトのRC値への個々の寄与を決定するために、例示的な平面
図400の3次元表現235とともに使用され得る。このように、
図4B~
図4Dを参照してより詳細に説明されるように、異なる端子情報220は、異なる更新されたレイアウト270をもたらし得る。
【0346】
図4Bは、本開示の実施形態による、端子情報220の第1のセットに従って
図4Aの例示的な平面
図400から生成された更新されたレイアウト270の例示的な平面
図425である。端子情報220および層情報225の特定のセットに束縛されることなく、例示的な平面
図425は、物理シミュレーションモジュール143への入力として例示的な平面
図400を使用する例示的プロセス200の1回または複数回の反復の出力を表す。
【0347】
例示的な平面
図425は、端子情報220が入力周波数、ドライバインピーダンス、および負荷キャパシタンスを含む、例示的なプロセス200の実施形態に対応する。簡単にするために、端子情報220の構成要素であるパラメータの相対的な影響の説明に焦点を当てるために、特定の値は省略される。実際には、端子情報は、集積回路の動作中に使用される値に対応するパラメータの値を含み得ることが理解される。たとえば、ドライバインピーダンスは、以下の値の一部および補間を含め、約0オーム以上、約10オーム以上、約100オーム以上、約1000オーム以上、約5000オーム以上、約10,000オーム以上、約100,000オーム以上、約1,000,000オーム以上、または約10,000,000オーム以上の値であり得るかまたはそのような値を含み得る。同様に、入力周波数は、以下の周波数の一部および補間を含め、kHzの範囲、MHzの範囲、またはGHzの範囲の周波数であり得るかまたはそのような周波数を含み得る。同様に、負荷キャパシタンスは、以下の値の一部および補間を含め、約0.0001fF以上、約0.001fF以上、約0.01fF以上、約0.1fF以上、約1.0fF以上、約10fF以上、または約100fF以上の値であり得るかまたはそのような値を含み得る。説明のための例において、例示的な平面
図425は、約1Mオームのドライバインピーダンス、約1fFの負荷キャパシタンス、および約100GHzの入力周波数を指定する端子情報に対応し得る。
【0348】
図4Bに示されるように、インターコネクト310の形状は、例示的な平面
図400のインターコネクト310の直線的な形状と比較して、例示的な平面
図425においては大きく異なっている。特に、インターコネクト310の幅がより大きく、端子305に対する横方向の位置の関数としてインターコネクト310の不均一な幅の拡大が適用されている。
図2~
図3Bを参照して説明されたように、インターコネクト310の位置に依存する幅(「X
W(Y)」)は、インターコネクト310のRC時定数の容量性の項および導電性の項へのセル401の寄与を使用して決定される。特定の物理現象に束縛されることなく、例示的な平面
図425に示された更新されたレイアウト270のインターコネクト310の形状は、インターコネクト310のRC値へのコンダクタンスの寄与よりも大きいキャパシタンスの寄与を示すと理解される。
【0349】
有利なことに、本明細書において説明される技術は、例示的なシステム100が、物理学的に素朴な(physics-naive)ヒューリスティックではなく、物理的に意味のある情報を使用して、例示的なプロセス200の1回または複数回の反復によって、例示的な平面
図425に対応する更新されたレイアウト270を生成することを可能にする。たとえば、例示的な平面
図425は、インターコネクト310と導電性素子415との間の最小距離を維持しながらインターコネクト310の幅を広げるように指示された規則ベースのモデルによって生成された可能性があるように見えるかもしれない。しかし、そのような物理学的に素朴なモデルは、端子情報220および層情報225に関して最適化されたRC値をもたらす更新されたレイアウト270を生成しない。
【0350】
しかし、
図1を参照してより詳細に説明されたように、物理シミュレーションモジュール143は、インターコネクト310の少なくとも一部を再形成するように訓練された1つまたは複数の機械学習モデル144によって増強され得る。たとえば、畳み込みニューラルネットワークが、レイアウトファイル170または3次元表現235を端子情報220および/または層情報225とともに入力として受け入れ、再形成されたインターコネクト310を出力するように訓練され得る。機械学習モデル144の出力は、1つまたは複数のセル401の材料識別子、境界面311の一部などであり得るかまたはそれらを含み得る。物理学的に素朴な規則ベースのモデルとは異なり、機械学習モデル144は、たとえば、(たとえば、教師あり訓練の手法として)直線的なレイアウトファイル170および更新されたレイアウト270のラベル付き訓練セットを使用して、端子情報220および/または層情報225の特定のセットに関して訓練され得る。このようにして、機械学習モデル144は、
図3A~
図3Bを参照して説明された物理シミュレーションを近似することができる。
【0351】
図4Cは、本開示の実施形態による、端子情報220の第2のセットを使用して
図4Aの例示的な平面
図400から生成された更新されたレイアウト270の別の例示的な平面
図450である。
図4Bの例示的な平面
図425と同様に、例示的な平面
図450は、
図3A~
図3Bを参照してより詳細に説明されたように、
図2の例示的なプロセス200の動作によって生成される。例示的な平面
図425と比較して、例示的な平面
図450は、比較的狭いインターコネクトを含み、インターコネクト表面311と導電性素子415との間により広い間隔がある。例示的な平面
図450は、ドライバインピーダンス、負荷キャパシタンス、または周波数などの端子305およびインターコネクト310の動作パラメータに少なくとも部分的に基づく、インターコネクト310の形状の修正に対する異なる端子情報220の影響を示す。
図4Cの例において、ドライバインピーダンスは、例示的な平面
図425を生成するために使用された対応するドライバインピーダンスよりも相対的に高い数値である。このことから、インピーダンスが大きくなるにつれて、インターコネクトセル401の導電性寄与が境界領域313において隣接セル401の容量性寄与に対して相対的に減少し、結果として、比較的狭いインターコネクト310をもたらすことが分かる。しかし、例示的な平面
図450のインターコネクト310は、例示的な平面
図400のインターコネクト310に比べて幅を広げられており、通常の引き回しアルゴリズムに典型的な直線的な「最短経路」のルートがRC時定数に関して最適化されていないことを示すことが留意される。このことは、ひいては、直線的な引き回しの慣習を課すことが、インターコネクトの数にともなってスケーリングする集積回路の性能低下を招き得ることを示す。
【0352】
図4Dは、本開示の実施形態による、端子情報220の第3のセットに従って
図4Aの例示的な平面
図400から生成された更新されたレイアウト270の例示的な平面
図460である。
【0353】
図4Bの例示的な平面
図425および
図4Cの例示的な平面
図450と同様に、例示的な平面
図460は、
図3A~
図3Bを参照してより詳細に説明されたように、
図2の例示的なプロセス200の動作によって生成される。例示的な平面
図425と比較して、例示的な平面
図460は、比較的狭いインターコネクトを含み、インターコネクト表面311と導電性素子415との間により広い間隔がある。例示的な平面
図460は、ドライバインピーダンス、負荷キャパシタンス、または周波数などの端子305およびインターコネクト310の動作パラメータに少なくとも部分的に基づく、インターコネクト310の形状の修正に対する異なる端子情報220の影響を示す。
図4Cの例において、ドライバインピーダンスは、例示的な平面
図425を生成するために使用された対応するドライバインピーダンスよりも相対的に高い数値である。このことから、インピーダンスが大きくなるにつれて、インターコネクトセル401の導電性寄与が境界領域313において隣接セル401の容量性寄与に対して相対的に減少し、結果として、比較的狭いインターコネクト310をもたらすことが分かる。
【0354】
例示的な平面
図460のインターコネクト310は、インターコネクト310のセル401と、したがって、境界面311との位置が端子305の位置に対して相対的に再配置されることを除き、例示的な平面
図400のインターコネクト310と実質的に同じ幅であることが留意される。このことから、例示的なプロセス200の一部としてインターコネクト310を再形成することは、レイアウトファイル170においてインターコネクト310を1つまたは複数の導電性素子415に対して相対的に平行移動すること、変位させること、および/または方向転換させること、ならびにインターコネクト310の幅を広げることもしくは狭めることを含み得ることが示される。
【0355】
図5A~
図5Bは、それぞれ、レイアウトファイル170および更新されたレイアウト270の例示的な3次元表現535を示す概略図である。示されるように、例示的な3次元表現535を含む3次元表現235は、層情報225を使用して材料特性を割り振られたセル401に離散化される3次元情報を含む。レイアウトファイル170の要素は、
図5A~
図5Bのデカルト「x」、「y」、および「z」軸を使用してラベル付けされる異なる3次元位置にあることができる。いくつかの実施形態において、インターコネクト310の最適化は、インターコネクト310に制限されることが可能であり、または端子305も含むことが可能である。同様に、1つまたは複数の境界面311が、例示的なプロセス200の動作の一部として制約され得る。このようにして、インターコネクト310の形状の修正が、非物理的な解決策から離れて手引きされ得る。
【0356】
図5Aは、本開示の実施形態によるレイアウトファイル170の例示的な3次元表現235を示す概略図である。レイアウトファイル170は、インターコネクト310、端子305、インターコネクト310と実質的に同じ「z」位置の導電性素子415、およびインターコネクト310とは異なる「z」位置の追加の導電性素子515を含む。いくつかの実施形態において、導電性素子515は、端子305であり得るかまたは端子305を含み得る。レイアウトファイル170は、例示的なプロセス200への例示的な入力を表す。したがって、インターコネクト310、導電性素子515、および導電性素子415は、直線的な引き回しの慣習に従う。3次元表現235は、セル501に離散化され、直線的な引き回しが、インターコネクト310の各境界面311が、
図5Bに示される量子化された曲線的な境界面311とは対照的に滑らかな単一面(unitary surface)として表されることを可能にすることが理解される。
【0357】
図5Bは、本開示の実施形態による更新されたレイアウトファイル270の例示的な3次元表現575を示す概略図である。例示的な3次元表現575は、
図2を参照してより詳細に説明されたように、例示的なプロセス200に従って再形成される最適化されたインターコネクト310を表す。前述のように、インターコネクト310の1つまたは複数の境界面311は、
図3A~
図3Bを参照してより詳細に説明されたように、RCを改善しながら導電性素子515への電気接点の少なくとも一部を維持しつつインターコネクト310が再形成されるように制約され得る。
図3A~
図3Bに関連して、
図5Bは、インターコネクト310の物理ベースの形状の修正が、インターコネクト310と導電性素子415または導電性素子515との間の相互作用を記述する電磁場シミュレーションに少なくとも部分的に基づいて、1つもしくは複数の位置において幅を広げられるか、1つもしくは複数の位置において幅を狭められるか、方向転換されるか、平行移動されるか、変位されるか、または他の方法で変形されている曲線的なインターコネクト310をもたらすことができることを示す。
図4A~
図4Dを参照してより詳細に説明されたように、インターコネクト310の最終的な形状は、端子情報220および材料情報225に少なくとも部分的に基づき、したがって、
図5Bに示されたインターコネクトの形状は、限定的な実施形態ではなく例として意図されている。いくつかの実施形態において、端子情報220および/または層情報225の違いは、例示的な3次元表現575における異なる形状の修正をもたらし得る。
【0358】
図6A~
図6Cは、それぞれ、例示的なプロセス200の中間の反復および最後の反復のレイアウトファイル170および更新されたレイアウト270の例示的な平面図を示す概略図である。
図6A~
図6Cは、
図2を参照してより詳細に説明された例示的なプロセス200の複数回の反復にわたるインターコネクト310の漸進的な形状の修正を示すために提供される。
【0359】
図6Aは、本開示の実施形態によるレイアウトファイル170の例示的な平面
図600を示す概略図である。例示的な平面
図600は、視覚的解釈を容易にするために、インターコネクト310のある「z」位置の「x-y」平面に射影された
図5Aの例示的な3次元表現535に対応する。例示的な平面
図600は、インターコネクト315、導電性素子415、および導電性素子515が、引き回しの後であるが、例示的なプロセス200の最初の反復の前に受け取られるレイアウトファイル170に従って、直線的な引き回しの慣習を守ることを示す。しかし、いくつかの実施形態において、レイアウトファイル170は、例示的なプロセス200の少なくとも1回の反復の後に受け取られる。たとえば、更新されたレイアウト270は、レイアウトファイル170としてエンコードされ、第3のデータベース165に記憶され得る。そのようなプロセスの例は、例示的なプロセス200の1回または複数回の反復の第1のセットが完了され、その後、示される場合に例示的プロセス200の追加の反復のためにアクセスされるように、更新されたレイアウト270がレイアウトファイル170として記憶される状況を含み得る。
【0360】
図6Bは、本開示の実施形態による、中間状態の更新されたレイアウト270の例示的な平面
図630を示す概略図である。例示的な平面
図630は、例示的な平面
図600と比べて、例示的なプロセス200の1回または複数回の反復がインターコネクト310に1つまたは複数の形状の修正を適用した後の3次元表現235の「x-y」射影を表す。示されるように、インターコネクト310は、もはや直線的な引き回しの慣習には従わず、むしろ、1つまたは複数の曲線的な表面を含む。3次元表現235は、セル401に離散化され、一方、
図6Bは、視覚的解釈を容易にするために平滑化された境界面311を含むが、いくつかの実施形態において、3次元表現235は、更新されたレイアウト270を生成する一部として平滑化され得る(たとえば、平滑化された更新されたレイアウト270が、製造システム115に送信されるマスクを生成するために使用され得る)。インターコネクト310の形状から、端子305との接触点に対応する1つまたは複数の位置で導電性素子515との接触を維持するようにインターコネクト310が制約されているという点で、1つまたは複数の形状の制約が見える。インターコネクト310は3つの接触点とともに示されているが、インターコネクト310は、
図3A~
図3Bに関連して説明された「2ポート」構成を表し得ることが理解される。
【0361】
図6Cは、本開示の実施形態による、進んだ状態の更新されたレイアウト270の例示的な平面
図650を示す概略図である。例示的な平面
図650は、
図6Bの例示的な平面
図630と比べて、例示的なプロセス200の1回または複数回の追加の反復がインターコネクト310に1つまたは複数の形状の修正を適用した後の3次元表現235の「x-y」射影を表す。例示的な平面
図650は、端子情報220および層情報225に少なくとも部分的に基づくRC時定数へのセル401の局所的な寄与に応じて、(i)インターコネクト310と導電性素子415との間の距離を長くする、(ii)端子305との接触を維持するようにインターコネクト310を制約する、および(iii)局所的な幅「W
X(Y)」の変動をインターコネクト310上の横方向の位置の関数として組み入れるための、インターコネクト310に対する複数の形状の修正を示す。いくつかの実施形態において、例示的な平面
図650は、更新されたレイアウト270に適用された反復の結果である。いくつかの実施形態において、例示的な平面
図650は、更新されたレイアウト270を生成する前に3次元表現235に適用される動作から生成される。このようにして、
図3A~
図3Bを参照して説明されたヒューリスティックが、たとえば、1つまたは複数のセル401の材料特性情報を再割り振りすることによって、3次元表現235に適用され得る。
【0362】
図7は、本開示の実施形態による、
図2の例示的なプロセス200の一部として3次元表現に適用される動作の例示的なフロー700を示すブロック図である。例示的なプロセス200の構成要素である動作と同様に、例示的なフロー700は、コンピュータシステム(たとえば、サーバ105、クライアントコンピューティングデバイス110など)によってローカルでおよび/または分散されて実施され得る動作を表す。したがって、例示的なフロー700の構成要素であるブロックは、レイアウトファイル170の引き回される素子に曲線的な特徴を導入することができるレイアウトファイル170の物理ベースの最適化の一部として、コンピュータシステムがインターコネクト310、端子305などの形状を修正することを可能にするソフトウェア(たとえば、
図1のソフトウェア155)にエンコードされた機械可読命令を表すと理解され得る。例示的なフロー700の構成要素であるブロックは、順番に進行するものとして表されているが、例示的なプロセス200の反復および/または特定のコンピュータシステム上での実施の一部として、1つまたは複数のブロックが省略されるか、繰り返されるか、並べ替えられるか、または細分化され得ることが理解される。たとえば、分散システムの文脈では、並列化を容易にするために、ブロックが複数の構成要素であるプロセスに細分化され得る。このようにして、2つ以上のブロックが、順番にではなく、並列的に実行され得る。
【0363】
ブロック705において、例示的なフロー700は、例示的なプロセス200の動作207に対応する、3次元表現235を生成することを含む。例示的なプロセス200の動作201~205は、動作207~211の構成要素に説明を集中させるために例示的なフロー700から省略されている。
図2を参照してより詳細に説明されたように、ブロック705は、3次元表現235を生成するためにレイアウトファイル170または修正されたレイアウト270を離散化することを含み得る。
【0364】
ブロック710~715において、例示的なフロー700は、インターコネクト310のRC時定数への3次元表現235のセル401の少なくともサブセットの導電性寄与を生成することを含む。
図3A~
図3Bを参照してより詳細に説明されたように、場合によっては、3次元表現235のセル401のための少なくとも一部の寄与は、たとえば、セル401のその一部が境界面311から比較的離れており、したがって、材料情報の再割り振りが起こりそうにない場合、無視され得る。個々の寄与
【0365】
【0366】
および
【0367】
【0368】
を決定するための詳細な物理シミュレーション情報は、上で
図3A~
図3Bを参照して検討されている。
【0369】
ブロック720では、1つまたは複数の平滑化動作が、ブロック710~715において生成された寄与にセル毎に適用される。平滑化動作は、標準偏差パラメータσを用いるガウス平滑化関数などの3次元平滑化関数であり得るかまたはそのような3次元平滑化関数を含み得る。
図3Bを参照してより詳細に説明されたように、平滑化は、隣接セル401の相対的な寄与が外挿されることを可能にし、それによって、セル毎に実施され得るブロック721~730に関連して説明される材料の再割り振りを決定するためのヒューリスティックを容易にする。
【0370】
判断ブロック721において、所与のセル401に関して、3次元表現235内の所与のセル401の位置および/または所与のセル401の材料特性メタデータが、所与のセル401がインターコネクト310の一部を形成するのかまたは周囲の酸化物の一部を形成するのかを判定するために使用される。いくつかの実施形態において、端子305ならびに/または導電性素子415および導電性素子515に対応するセル401は、例示的フロー700の動作から省略される。いくつかの実施形態においては、たとえば、インターコネクト310に1つまたは複数の形状の制約を課す手法として、インターコネクト310に対応するセル401の少なくともサブセットが同様に省略される。
【0371】
判断ブロック723および724では、
図3A~
図3Bを参照してより詳細に説明されたように、ブロック710および715において生成された個々の寄与の適切な比較が、ブロック725において所与のセル401の材料情報を再割り振りするべきか、またはブロック730において所与のセル401の材料情報を保持するべきかを判定するために適用される。ブロック730は、2つのブロックとして示されているが、所与のセル401がインターコネクト310の一部を形成するのか、または周囲の酸化物の一部を形成するのかに関わらず、指示は同等であると理解される。
【0372】
ブロック735においては、ブロック721~730によってセル501のサブセットに関して示された修正が、更新されたレイアウト270にエンコードされる。
図2を参照してより詳細に説明されたように、更新されたレイアウト270は、1つまたは複数の材料の再割り振りを3次元表現235に適用して、更新された3次元表現235(たとえば、
図5Bの例示的な3次元表現575)を生成することによって生成され得る。そして次に、更新された表現は、集積回路の製造に使用するためのレイアウトファイル170(たとえば、OASISまたはGDSIIフォーマット)に変換され得る。
【0373】
いくつかの実施形態において、例示的なフロー700は、それぞれ、ブロック740および745における製造性の決定および更新されたレイアウト270に対する結果としての改変を含む。
図2および
図3A~
図3Bを参照してより詳細に説明されたように、更新されたレイアウト270の製造性の検証は、1つまたは複数の製造性の基準が評価されることを可能にする、半導体製造システム115を記述するプロセスデータを使用してプロセスシミュレーションを実行することを含み得る。たとえば、通常のブール設計規則チェッカは、少なくとも部分的には曲線的な引き回しのせいで、更新されたレイアウト270に関して偽の値を返す場合があるが、物理ベースのプロセスシミュレーションは、機能保持が製造性の検証を手引きすることを可能にし得る。このように、製造性の検証は、更新されたレイアウト270が非物理的な解決策を表すかどうか、更新されたレイアウト270が製造されたときに設計に従って機能するかどうか、および/または更新されたレイアウト270が更新されたレイアウト270の直線的な部分に適用されるいずれかのブール設計規則に違反するかどうかを判定することを含み得る。
【0374】
場合によっては、更新されたレイアウト270は、直線的な引き回しの規格に準拠する部分を含み得る。たとえば、インターコネクト310は、「x-z」および「y-z」平面において曲線的な境界面311を含むことができ、「x-y」平面において平坦または実質的に平坦な境界面311を含むことができる。同様に、インターコネクト310は、物理ベースのプロセスシミュレーションよりも計算負荷が比較的低くなり得るブール設計規則チェックが、更新されたレイアウト270が製造可能であるかどうかを検証することができるように、「z」軸の最小厚さによって制約され得る。その目的のために、そのような最小厚さ制約が、例示的なプロセス200の動作の一部としてエンコードされ得る。たとえば、例示的なプロセス200の動作211の一部として3次元表現235を修正することは、インターコネクト310に帰せられる(たとえば、導電性材料特性を割り振られた)最小数のセル401が、(たとえば、境界面311によって定義される)インターコネクト310の内部のすべての位置において「z」方向に維持されるという制約を含み得る。
【0375】
有利なことに、例示的なプロセス200および例示的なフロー700の動作は、端子情報220によって記述されるように、入力および出力端子305の多様な組合せに対して実施され得る。いわゆる「ファンアウト」、「ファンイン」、および「ファンインアウト」レイアウト170は、少なくとも1つの入力端子および少なくとも1つの出力端子を含むが、どちらか一方または両方の複数を含み得る。
【0376】
図8は、本開示の実施形態による、ファンアウト構成を含む更新されたレイアウトファイル270の例示的な3次元表現835を示す概略図である。例示的な3次元表現835は、
図2を参照してより詳細に説明されたように、例示的なプロセス200に従って再形成される形状を修正されたインターコネクト310を表す。示されるように、
図3A~
図3Bと、特に、式(39)~(42)を含む上記のファンアウト最適化の詳細な検討とに関連してより詳細に説明されたように、端子305のうちの第1の端子305-1は、単一の入力端子を表し、一方、第2の端子305-2、第3の端子305-3、および第4の端子305-4は、出力端子を表す。出力端子305-2から305-3が3次元表現835の異なる四半部(quadrant)にあるようにして、インターコネクト310は、位置(r)の関数として離散化された曲線的な特徴および不均一な幅を有するティー(tee)形状を呈する。その点で、3次元表現835のインターコネクト310は、分割点において、それぞれが入力端子305-1を異なる出力端子305-2、305-3、または305-4に結合する複数の分岐へと狭まる。インターコネクト310は、「z」方向に実質的に均一な厚さを有するが、各分岐は、「x」または「y」方向に異なる幅を有することも示されている。このようにして、各端子305を記述する異なる端子情報220の影響が、異なる端子305の異なる動作パラメータの結果として示される。
【0377】
図9は、本開示の実施形態による、ファンインアウト構成を含む更新されたレイアウトファイル270の例示的な3次元表現935を示す概略図である。例示的な3次元表現935は、
図2を参照してより詳細に説明されたように、例示的なプロセス200に従って再形成される形状を修正されたインターコネクト310を表す。例示的な3次元表現935は、例示的な3次元表現835の修正と理解されることが可能であり、第2の入力端子を表す第5の端子305-5が追加されている。第1の端子305-1と同様に、第5の端子305-5は、インターコネクト310を介して出力端子305-2、305-3、および305-4と導電的に結合されている。
図8と同様に、インターコネクト310は、出力端子305-3および305-4と実質的に整列された分割点付近で分岐する。3次元表現935のインターコネクト310も、分割点と入力端子305-1および305-5との間のより広い領域を、分割後の導電経路の相対的な狭まりとともに示す。ファンアウト最適化の一部として説明した動作とは対照的に、ファンイン最適化は、例示的なプロセス200の動作によって修正される複数の部分的なレイアウトにレイアウトファイルをセグメンテーションすることによって進行し得る。部分的なレイアウトの形状の修正後、部分的なレイアウトを合併することによって、更新されたレイアウトが生成される。このように、ファンインアウト修正は、例示的プロセス200の並列的なインスタンスと、たとえば、離散化動作の一部としてレイアウトファイルに適用される1つまたは複数の予備動作とを含み得る。
【0378】
図10は、本開示の実施形態による、ファンインまたはファンインアウトレイアウトファイル170の形状の修正のための例示的なフロー1000を示すブロック図である。例示的なプロセス200および例示的なフロー700と同様に、例示的なフロー1000は、コンピュータシステム(たとえば、サーバ105、クライアントコンピューティングデバイス110など)によってローカルでおよび/または分散されて実施され得る動作を表す。したがって、例示的なフロー1000の構成要素であるブロックは、レイアウトファイル170の引き回される素子に曲線的な特徴を導入することができるレイアウトファイル170の物理ベースの最適化の一部として、コンピュータシステムがインターコネクト310、端子305などの形状を修正することを可能にするソフトウェア(たとえば、
図1のソフトウェア155)にエンコードされた機械可読命令を表すと理解され得る。例示的なフロー1000の構成要素であるブロックは、順番に進行するものとして表されているが、例示的なプロセス200の反復および/または特定のコンピュータシステム上での実施の一部として、1つまたは複数のブロックが省略されるか、繰り返されるか、並べ替えられるか、または細分化され得ることが理解される。たとえば、分散システムの文脈では、並列化を容易にするために、ブロックが複数の構成要素であるプロセスに細分化され得る。このようにして、2つ以上のブロックが、順番にではなく、並列的に実行され得る。
【0379】
ブロック1005において、例示的なフロー1000は、端子305およびインターコネクト310を含むレイアウトデータ215を受け取ることを含む。例示的なプロセス200と同様に、レイアウトデータ215は、端子情報220および層情報225を含む。端子情報220は、端子305が入力端子であるのかまたは出力端子であるのかをエンコードする。したがって、ブロック1010は、各入力端子に関して別個の導電経路を生成することを含む。たとえば、
図9の例示的な3次元レイアウト1035において、インターコネクト310は、2つの入力端子を3つの出力端子と結合する。したがって、ブロック1010は、第1の入力端子305-1と出力端子305-2、305-3、および305-4との間の第1の導電経路を定義することと、第2の入力端子305-5と出力端子との間の第2の導電経路を定義することとを含む。このように、ファンインアウト構成が、入力端子の数に等しい数の別個の導電経路を定義することにより、例示的プロセス200の動作によって修正され得る。有利なことに、例示的なフロー1000を実施することは、複雑なレイアウトファイル170が並列処理のための比較的単純な構成にセグメンテーションされることを可能にする。このようにして、物理ベースの形状の修正が、そうでなければ設計規則ベースの製造性の検証には通らないレイアウトファイル170に適用され得る。さらに、集積回路レイアウトは、たとえば、回路コンポーネント(たとえば、fin-FET)に関連する基本的なレイアウト要素の多くの繰り返されるインスタンスを組み込むことが多い。したがって、セグメンテーションは、レイアウトデータ215が、層情報225および端子情報220にインデックス付けされた部分的なレイアウトのデータベースに投入するために使用されることを可能にすることができ、それにより、例示的なシステム100の性能が、さらに改善され得る。
【0380】
ブロック1015においては、レイアウトデータ215から定義された第1の導電経路が、例示的なプロセス200の動作の少なくともサブセットを使用して反復される。
図3A~
図8を参照して説明されたように、例示的なプロセス200の1回または複数回の反復は、更新されたレイアウト270を生成することができる。しかし、例示的なフロー1000の文脈では、第1の経路の反復が、レイアウトファイル170の部分的な更新を提供する。同時に、並列的に、逐次的に、または他の方法で、ブロック1020は、例示的なプロセス200の動作の少なくともサブセットを使用して第2の導電経路を反復することを含む。前述のように、例示的フロー1000は、2つの入力端子305を含むレイアウトファイル170に関して説明される。その目的のために、ブロック1000および1015は、第3の入力端子305、第4の入力端子305などに対応する追加の導電経路のための例示的なプロセス200の追加のインスタンスをともない得る。
【0381】
ブロック1025において、例示的なフロー1000は、ファンインまたはファンインアウト構成のための更新された3次元表現235を生成するために、形状を修正された経路を合併することを含む。いくつかの実施形態において、所与のセル401を導電性材料に割り振るべきかまたは誘電性もしく絶縁性材料に割り振るべきかを判定するためのブール関数をセル毎に適用することを含む。ブール関数の例は、AND、OR、INCLUSIVE OR、EXCLUSIVE ORなどを含む。説明のための例においては、入力端子305のうちの1つのみと結合するインターコネクト310の両方の部分を除去することを避けるために、セル401が第1の導電経路かまたは第2の導電経路かのどちらかの金属として割り振られる場合に、セル401が導電性材料(たとえば、金属)に割り当てられるようなINCLUSIVE OR関数が定義され得る。
【0382】
図11は、本開示の実施形態による、複数の端子を結合する複数のインターコネクト310を含む多層レイアウトファイル170の例示的な3次元表現1175を示す概略図である。例示的な3次元表現1175は、
図2を参照してより詳細に説明されたように、例示的なプロセス200に従って再形成される第1のインターコネクト310-1および第2のインターコネクト310-2を含む最適化されたレイアウトファイル170を表す。
図11の例においては、第1のインターコネクト310-1と第2のインターコネクト310-2の両方が、集積回路レイアウトの2つの異なる「z」層上で複数の入力端子を複数の出力端子と結合するように構成されたファンインアウトである。そのような多層レイアウト170に関して、例示的なプロセス200は、最適化動作を細分化し、その後、例示的な3次元表現1175の構成要素を更新されたレイアウト270へと合併するために例示的なフロー700および例示的なフロー1000の動作を組み込む複数の並列最適化プロセスを含み得る。
【0383】
例示的な3次元表現1175に示された説明のための例において、第1のインターコネクト310-1は、
図8~
図11を参照してより詳細に説明されたように修正され得る。第1のインターコネクト310-1の最適化中、第2のインターコネクト310-2は、静的に保たれ得る。第1のインターコネクト310-1の収束後、第2のインターコネクト310-2は、
図8~
図11を参照してより詳細に説明されたように最適化されることが可能であり、第1のインターコネクト310-1は、静的に保たれる。このプロセスを反復することによって、
図2を参照してより詳細に説明されたように、第1のインターコネクト310-1と第2のインターコネクト310-2の両方が、それぞれのRC値または他の最適化指標を最適化するために修正され得る。追加的または代替的に、第1のインターコネクト310-1および第2のインターコネクト310-2は、並列的に最適化されることが可能であり、したがって、例示的なプロセス200の各反復において、複数のインターコネクト310が一緒に修正される。有利なことに、そのような手法は、例示的なプロセス200のより少ない反復を可能にする。
【0384】
以上で説明されたプロセスが、コンピュータソフトウェアおよびハードウェアの観点で説明される。説明された技術は、有形のまたは非一時的な機械(たとえば、コンピュータ)可読ストレージ媒体内に具現化された機械によって実行可能な命令を構成する場合があり、それらの機械によって実行可能な命令は、機械によって実行されるとき、説明された動作を機械に実行させる。さらに、プロセスは、特定用途向け集積回路(「ASIC」)などのハードウェア内にまたは他の方法で具現化される場合がある。
【0385】
有形の機械可読ストレージ媒体は、機械(たとえば、コンピュータ、ネットワークデバイス、携帯情報端末、製造ツール、1つまたは複数のプロセッサのセットを持つ任意のデバイスなど)によってアクセス可能な非一時的な形態で情報を提供する(すなわち、記憶する)任意のメカニズムを含む。たとえば、機械可読ストレージ媒体は、記録可能/記録不可能な媒体(たとえば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学式ストレージ媒体、フラッシュメモリデバイスなど)を含む。
【0386】
「要約」に記載されていることを含む、本発明の示された実施形態の以上の説明は、網羅的であるように、または本発明を開示された厳密な形態に限定するように意図されていない。本発明の特定の実施形態および例が例示を目的として本明細書において説明されているが、当業者が認めるであろうように、様々な修正が、本発明の範囲内で可能である。
【0387】
これらの修正が、上記の詳細な説明に照らして本発明に対してなされ得る。以下の特許請求の範囲において使用される用語は、本発明を本明細書において開示された特定の実施形態に限定するものと解釈されるべきでない。むしろ、本発明の範囲は、すべて以下の特許請求の範囲によって決定されるべきであり、特許請求の範囲は、クレーム解釈の確立された原則に従って解釈されるべきである。
【符号の説明】
【0388】
100 システム
105 サーバ
110 クライアントコンピューティングデバイス
111 ディスプレイ
115 半導体製造システム
120 ネットワーク
125 第1のデータベース
130 訓練データ
135 第2のデータベース
137 プロセスデータ
140 形状オプティマイザ
141 離散化モジュール
143 物理シミュレーションモジュール
144 機械学習モデル
145 形状最適化モジュール、モデル
146 データベース
147 プロセスシミュレータ
149 改変モジュール
150 機械学習モデル
155 ソフトウェア
160 コンピュータ回路
165 第3のデータベース
170 設計ファイル、集積回路レイアウト
200 プロセス
215 レイアウトデータ
220 端子情報
225 層情報、材料情報
235 3次元表現
250 容量性寄与
255 導電性寄与
260 特性指標
270 更新されたレイアウト
300 トイモデル
305 端子
305-1 第1の端子
305-2 第2の端子
305-3 第3の端子
305-4 第4の端子
305-5 第5の端子
310 インターコネクト
310-1 第1のインターコネクト
310-2 第2のインターコネクト
311 インターコネクト境界、境界面、インターコネクト表面
313 境界領域
400 平面図
401 セル
411 導電性セル
413 誘電性セル
415 導電性の特徴、導電性素子
425 平面図
450 平面図
460 平面図
501 セル
515 追加の導電性素子
535 3次元表現
575 3次元表現
600 平面図
630 平面図
650 平面図
700 フロー
835 3次元表現
935 3次元表現
1000 フロー
1035 3次元レイアウト
1175 3次元表現
【国際調査報告】