IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ プロテアンテクス リミテッドの特許一覧

特開2024-138448集積回路のプロファイリングおよび異常検出
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138448
(43)【公開日】2024-10-08
(54)【発明の名称】集積回路のプロファイリングおよび異常検出
(51)【国際特許分類】
   H01L 21/66 20060101AFI20241001BHJP
   G01R 31/28 20060101ALI20241001BHJP
   G01R 31/26 20200101ALI20241001BHJP
【FI】
H01L21/66 Z
G01R31/28 H
G01R31/26 Z
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2024111648
(22)【出願日】2024-07-11
(62)【分割の表示】P 2020555895の分割
【原出願日】2019-04-16
(31)【優先権主張番号】62/657,986
(32)【優先日】2018-04-16
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】520164253
【氏名又は名称】プロテアンテクス リミテッド
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【弁理士】
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】ランドマン,エブリン
(72)【発明者】
【氏名】デイビッド,ヤヘル
(72)【発明者】
【氏名】ファイネ,エヤル
(72)【発明者】
【氏名】コヘン,シャイ
(72)【発明者】
【氏名】トーカー,ヤイル
(57)【要約】      (修正有)
【課題】IC分類、外れ値の検出、および/または異常検出のためのコンピュータ化方法を提供する。
【解決手段】IC設計において、コンピュータ化されたシステムは、プレシリコン段階と、ポストシリコン段階と、を含む。ポストシリコン段階では、複数のセンサ131、132、133が組み込まれたIC130を製造する。少なくとも1つのハードウェアプロセッサ101が、前記複数のセンサからセンサ値を収集し、複数のセンサ値を分類スキームと比較し、テストされた各ICの分類を取得することと分類を記録することとによって、複数のICそれぞれをテストし、ダイ分類器/プロファイラ製造点予測器ならびに異常検出器および系統的な推移検出器102Cが、ICが分類スキームの外れ値である場合を判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
IC分類および/または外れ値の検出のためのコンピュータ化された方法であって、
IC設計に従って複数のICを含むウェーハを提供することであって、前記IC設計が、複数のセンサを含むことと、
前記複数のICの各々を、
複数のセンサ値を収集することであって、前記複数のセンサ値が、前記複数のセンサの各々からのセンサ値を含むことと、
前記複数の収集されたセンサ値を分類スキームと比較することであって、それにより、テストされた各ICの分類を取得することと、
前記テストされた各ICの分類を記録することと、
によってテストするために、少なくとも1つのハードウェアプロセッサを使用することと、
を含む、方法。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年4月16日に出願された米国仮特許出願第62/657,986号である「INTEGRATED CIRCUIT PROFILING AND ANOMALY DETECTION」の優先権の利益を主張するものであり、その内容全体は参照により本明細書にすべて組み込まれる。
【0002】
本発明は、集積回路の分野に関する。
【背景技術】
【0003】
集積回路(IC)は、シリコン(Si)ウェーハなどの平坦な半導体基板上のアナログおよびデジタル電子回路を含み得る。微細なトランジスタをフォトリソグラフィ技術を使用して基板に印刷して、非常に小さな領域に数十億のトランジスタの複雑な回路を生成することにより、ICを使用した最新の電子回路設計を低コストかつ高性能にしている。ICは、ファウンドリと呼ばれる工場の組立ラインで生産され、そこでは、相補型金属酸化膜半導体(CMOS)ICなどのICの生産を共用化している。デジタルICは、ウェーハ上の機能ユニットおよび/または論理ユニットに配置された数十億のトランジスタを含み、金属、プラスチック、ガラス、セラミックケーシングなどにパッケージ化されている。
【0004】
ICは、ウェーハテスト、パッケージテスト、回路テスト、エンドユーザデバイス動作テストなどを使用することなどによって、欠陥を検出するために生産中にテストされる。例えば、ウェーハテストでは、テストした各ウェーハの不良ICを決定し、その欠陥ICを廃棄してもよい。例えば、パッケージ/回路/デバイスのテストでは、エンドユーザが使用する前に製品の動作をテストしてもよく、欠陥のある製品/バッチは廃棄される。例えば、マーケティング、保証、および保守の統計は、製品開発中の要件、仕様、設計、およびテスト間のコンプライアンスを反映してもよい。これらのタイプのテストの各々は、ICおよび/またはエンドユーザ製品の製造における100万個当たりの欠陥部品(DPPM)数を減少させることなどによって、次世代製品の設計を改善するために分析され得る欠陥製品のリストを生成することができる。
【0005】
DPPMは、半導体製品の生産品質を測定するために使用される一般的な測定基準である。電子機器(ウェアラブル電子機器および半自律走行車など)が日常生活の一部になっているため、品質を改善し、使用中の故障を防ぐという傾向が高まっている。自動車、医療など、ミッションクリティカルな区分の場合、顧客の要求により、10億個当たりの欠陥部品(DPPB)範囲の改善が促進されている。
【0006】
現在、製造テスト工程全体の品質を改善するために、データフィードフォワード、2変量および多変量分析、品質索引作成など、多くの方法が用いられている。これらの方法の多くは、自動車、医療、データサーバなどの品質および安全性を重視する市場区分に製品を供給するために使用される。これらの方法は、DPPM率を低下させ、通電テストおよびシステムレベルのテストなどの高価なテストステップ数を減少させる場合がある。
【0007】
データフィードフォワード(DFF)法では、製造フローの任意のステップから収集されたデータを活用し、任意の他の下流側テストでデータを利用できるようにする。サプライチェーン全体の製造データを分析することによって、製造および品質エンジニアは、DPPMを改善するために、ウェーハソート、パッケージ、最終回路テスト、システムレベルテストなどの任意のテストからデータを呼び出すことができる。このデータは、テスト対象の同じデバイスについてリアルタイムに比較され、使用中に製品が通常より早く故障するかどうか、製造に変更を加える必要があるかどうかなどを示し得るテスト結果の任意の変動(すなわち、異常)を確認することができる。
【0008】
2変量分析および多変量分析は、2つ以上のテスト間の経験的関係を見出そうとする。強い相関関係があるテストを用いて、母集団内の外れ値を特定してもよい。これは、2変量および多変量の外れ値は、通常のテストプログラムでは選別するのが難しいデバイスである場合あるため、多くの市場区分で品質を改善することができる。これらの外れ値は、通常より早く故障したり、RMAとして返されたりする可能性のあるデバイスと高い相関関係があり得る。
【0009】
自動車用途のICは、長期的な信頼度要求事項を満たし、電気機械的ストレスに対して感度が低いように指定されている。自動車用ICの堅牢性は、ICのデータシートに報告されている主要なパラメータの分布の中で、テストパラメータが十分に中心に配置されている個々のIC製品に関連している場合がある。部品平均テスト(PAT)では、より十分に中心に配置されているパラメータ、すなわち、仕様上のパラメータが強いICを特定することができる。
【0010】
PATは、半導体企業が自動車業界の厳しい要件(車載電子部品評議会:AEC-Q001-Rev Dなど)を満たすために採用することがある。信頼性調査によると、異常な特性を有する半導体部品は、長期的な品質および信頼性の問題を引き起こす要因が高くなる傾向がある。もともとすべての製造テストに合格していても、同じ母集団またはロット内の他の部品と比較して「外れ値」と見なされる可能性のあるデバイスは、現場で故障する可能性が高くなる場合がある。これは、生産出荷から除外するための外れ値を積極的に特定するPATの基礎となる場合がある。PATは、複数のデバイスの統計的サンプリングに基づいて、合格/不合格のテスト限界を修正することによって動作してもよい。
【0011】
PATは、動的テストであってもよい。例えば、電気ウェーハソート(EWS)工程では、ICを含むシリコンウェーハのテスト手順は、ウェーハ上の各ICのパッドに接触する機械的プローブによって行われてもよい。プローブカードは、ケーブルを介してテスト機器に電気的に接続されてもよい。自動化システムは、ウェーハに含まれるすべてのダイを順次テストする。テスト手順が進むにつれて、測定結果を含むデータログファイルをソフトウェアで分析して、平均(μ)および標準偏差(s)を計算することができる。パラメータの分布が分かると、テストに合格したが範囲内にない外れ値の部品を特定することができる。例えば、部品は拒否され、μ-4*s~μ+4*sの範囲外など、PAT4のシグマテストで仕様外であると見なされる。
【0012】
関連技術の前述の例およびそれに関連する限定は、例示的であり、排他的ではないことが意図されている。関連技術の他の限定は、明細書を読み、図を検討すれば、当業者には明らかになるであろう。
【発明の概要】
【0013】
以下の実施形態およびその態様は、範囲を限定するのではなく、例示的かつ例証的であることを意味するシステム、ツール、および方法に関連して説明および図示される。
【0014】
一実施形態によれば、IC設計に従って複数のICを含むウェーハを提供することであって、IC設計は、複数のセンサを含む、提供することと、複数のICの各々を、複数のセンサ値を収集することであって、複数のセンサ値は、複数のセンサの各々からのセンサ値を含む、収集すること、および複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得することによってテストするために、少なくとも1つのハードウェアプロセッサを使用することと、を含む、IC分類および/または異常検出のためのコンピュータ化された方法が提供される。実施形態では、本方法は、テストされた各ICの分類を記録することをさらに含む。実施形態では、提供するステップは、作製工程を使用して、IC設計に基づいてウェーハを製造することを含む。
【0015】
一実施形態によれば、IC設計および作製工程を説明するデータを受信するために、少なくとも1つのハードウェアプロセッサを使用することを含む、半導体集積回路(IC)分類のためのコンピュータ化された方法が提供される。少なくとも1つのハードウェアプロセッサは、複数のシミュレートされたIC動作値および複数のシミュレートされたデバイス動作値を生成するために、IC設計および作製工程に基づいて、複数のIC電子動作をシミュレートするために使用される。少なくとも1つのハードウェアプロセッサは、複数のシミュレートされたIC動作値および複数のシミュレートされたデバイス動作値を因子分解するために使用されて、センサ配設のための動作値の部分集合を決定する。少なくとも1つのハードウェアプロセッサは、センサ配設集合を生成する動作値の部分集合のいくつかを選択し、選択された部分集合の各々について、特定の電子的動作に構成された複数のセンサのうちの1つをIC設計内に組み込むために、IC設計を分析するために使用され、センサ配設集合の各要素は、センサのタイプおよびIC設計内の位置を含み、センサ配設集合は、IC設計および作製工程に影響を受ける複数のセンサ値を生成するように構成されている。少なくとも1つのハードウェアプロセッサは、IC設計を複数のセンサ値に基づいて動作クラスに分類するために使用され、それにより、分類スキームを生成し、動作クラスは、少なくとも1つの外れ値クラスを含む。クラス(動作、外れ値など)は、プレSiのシミュレートされたデータ、または/およびポストSiのウェーハテストデータのいずれかから決定されてもよい。
【0016】
一実施形態によれば、作製工程を使用して、IC設計に基づいてウェーハを製造するための少なくとも1つのハードウェアプロセッサを使用することを含む、IC異常検出のためのコンピュータ化された方法が提供され、ウェーハは、複数のICを含み、IC設計は、複数のセンサを含む。少なくとも1つのハードウェアプロセッサは、複数のセンサ値、すなわち、複数のセンサの各々からの複数のセンサ値のうちの少なくとも1つを収集することと、複数のセンサ値を分類スキームと比較することと、テストされたICの分類を記録することと、によって、複数のICの各々をテストするために使用される。
【0017】
一実施形態によれば、少なくとも1つのハードウェアプロセッサを含む、複数のICの各々のテスト時間を短縮するためのテストデバイスが提供される。ハードウェアプロセッサは、複数のセンサ値、すなわち、複数のICの各々に組み込まれた複数のセンサの各々からの複数のセンサ値のうちの少なくとも1つを収集することと、複数のセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得することと、分類に基づいて、テストされた各ICのテスト時間を短縮することと、によって、複数のICの各々をテストするように構成されている。
【0018】
いくつかの実施形態では、分類スキームは、IC設計および作製工程の複数のIC動作のシミュレーションに基づいており、シミュレーションは、少なくとも1つの完全なIC設計シミュレーション、少なくとも1つの部分的なIC設計シミュレーション、および作製工程のための少なくとも1つのデバイスシミュレーションのうちの少なくとも1つである。
【0019】
いくつかの実施形態では、分類スキームは、生産前のテープアウトテスト中に収集された複数の訓練センサ値に基づく。
【0020】
いくつかの実施形態では、分類スキームは、収集された複数のセンサ値に基づく。
【0021】
いくつかの実施形態では、分類スキームは、外れ値クラスを含む。
【0022】
いくつかの実施形態では、比較は、訓練センサ値集合および訓練高カバレッジ測定値から決定された関数および規則のうちの少なくとも1つを使用して、複数のセンサ値から高カバレッジ測定値を推定することを含む。
【0023】
いくつかの実施形態では、因子分解は、部分集合を決定することへのポストSiのウェーハテストデータの組み込みを含む。
【0024】
いくつかの実施形態では、因子分解は、部分集合を決定することへの最終顧客の使用データの組み込みを含む。
【0025】
いくつかの実施形態では、選択は、センサ配設集合を決定することへのポストSiのウェーハテストデータの組み込みを含む。
【0026】
いくつかの実施形態では、因子分解は、センサ配設集合を決定することへの最終顧客の使用データの組み込みを含む。
【0027】
いくつかの実施形態では、本明細書に開示されるコンピュータ化された方法のいずれかは、分類に基づく固有の識別を用いて、テストされたICのICパッケージをマーク付けするために、少なくとも1つのハードウェアプロセッサを使用することをさらに含む。
【0028】
いくつかの実施形態では、複数のセンサの各々は、立ち上がり時間遅延センサ、立ち下がり時間遅延センサ、周波数最大検出回路、周波数変換回路に基づくICユニット全漏れ電流検出センサ、周波数変換回路に基づくICユニット電圧ドレイン-ドレイン漏れ電流検出センサ、周波数変換回路に基づくICユニット電圧源-ドレイン漏れ電流検出センサ、ICユニットSRAMの最小電圧周波数変換回路などから成る群から選択される。
【0029】
いくつかの実施形態では、本明細書に開示される方法のいずれかは、コンピュータプログラム製品に具体化される。
【0030】
いくつかの実施形態では、本明細書に開示される方法のいずれかは、コンピュータ化されたシステムに具体化される。
【0031】
いくつかの実施形態では、本明細書に開示されるコンピュータ化された方法のいずれかは、分類に基づく固有の識別を用いて、テストされたICのICパッケージをマーク付けするための少なくとも1つのハードウェアプロセッサを使用することをさらに含む。
【0032】
いくつかの実施形態では、本明細書に開示されるコンピュータ化された方法のいずれかは、欠陥ICを廃棄するために、少なくとも1つのハードウェアプロセッサを使用することをさらに含む。
【0033】
いくつかの実施形態では、複数のセンサの各々は、立ち上がり時間遅延センサ、立ち下がり時間遅延センサ、周波数最大検出回路、周波数変換回路に基づくICユニット全漏れ電流検出センサ、周波数変換回路に基づくICユニット電圧ドレイン-ドレイン漏れ電流検出センサ、および周波数変換回路に基づくICユニット電圧源-ドレイン漏れ電流検出センサから成る群から選択される。
【0034】
いくつかの実施形態では、コンピュータ化された方法は、(i)テストされた各ICから、分類および複数のセンサ値に基づいて、作製工程のパラメータの集合を決定することと、(ii)IC設計および各ICの作製工程のパラメータの集合に基づいて、作製工程のパラメータの第2の集合を選択することと、(iii)パラメータの第2の集合を使用する第2のウェーハを製造する第2の製造であって、選択は、手動工程および自動計算のうちの少なくとも1つによって行われる、製造することと、をさらに含む。
【0035】
いくつかの実施形態では、コンピュータ化された方法は、(i)センサ値の推移および(ii)パッケージテスト、回路テスト、通電テスト、高温動作寿命テスト、および最終製品テストのうちの少なくとも1つの間に、分類スキームを用いた外れ値の少なくとも1つを決定することをさらに含む。
【0036】
いくつかの実施形態では、分類は、各ダイの分類を決定するための階層データ構造を含む。
【0037】
いくつかの実施形態では、本方法は、複数の分類値から行列表示を確立することであって、行列表示の各行は、複数のICのうちの1つに関する分類値を含む、確立すること、行列表示からの共分散行列、および共分散行列の特異値分解(SVD)を計算すること、SVD使用して、複数の距離値を決定することであって、各距離値は、複数のICのうちの1つのICと、複数のICのうちの別のICとの間のそれぞれの距離を表す、決定すること、および複数の距離値から、少なくとも1つのファミリーを特定し、それにより、分類スキームを定義すること、によって、複数の分類値に基づいて分類スキームを特定することをさらに含む。
【0038】
いくつかの実施形態では、複数の距離値から、少なくとも1つのファミリーを特定するステップは、第1のファミリーが第1のICによって定義されるように、複数のICのうちの第1のICを第1のファミリーに分類するステップと、複数の距離値から、複数のICのうちの第1のICと第2のICとの間の距離を表す距離値を、所定のしきい値と比較するステップと、距離値が所定のしきい値よりも小さい場合、第2のICを第1のファミリーに分類するステップと、距離値が所定のしきい値よりも大きい場合、第2のファミリーが第2のICによって定義されるように、第2のICを第2のファミリーに分類することと、を含む。
【0039】
いくつかの実施形態では、複数の距離値から、複数のファミリーを特定するステップは、複数のICの各々のICについて、複数の距離値から、距離値の群を特定するステップであって、距離値の群内の各距離値は、それぞれのファミリーを定義する複数のICのうちの他のICとそれぞれのICとの間の距離を表す、特定するステップと、距離値の群からの各距離値を、所定のしきい値と比較するステップと、特定のファミリーを定義する複数のICのうちのそれぞれの他のICと特定のICとの間の距離を表す、距離値の群からの距離値が、所定のしきい値よりも小さい場合、他のICを特定のファミリーに分類するステップと、距離値の群からの距離値のすべてが、所定のしきい値よりも大きい場合、新しいファミリーが他のICによって定義されるように、他のICを新しいファミリーに分類するステップと、をさらに含む。
【0040】
いくつかの実施形態では、行列表示から共分散行列を計算するステップは、共分散行列を計算する前に行列表示を正規化することを含む。
【0041】
いくつかの実施形態では、複数の分類値は、IC設計のシミュレーションから決定されたシミュレートされたセンサ値、生産前のテープアウトテスト中に収集された複数の訓練センサ値、および測定されたセンサ値のうちの1つ以上に基づく。
【0042】
いくつかの実施形態では、複数の分類値に基づいて分類スキームを特定するステップは、複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得するステップの少なくとも一部である。
【0043】
いくつかの実施形態では、複数の分類値は、IC設計のシミュレーションから決定されたシミュレートされたセンサ値に基づく。いくつかの実施形態では、複数の分類センサ値に基づいて分類スキームを特定するステップは、複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得するステップの前に行われ、複数の収集されたセンサ値を分類スキームと比較するステップは、複数の収集されたセンサ値から、収集されたデータ行列表示を確立するステップであって、行列表示の各行は、複数のICの1つに関して収集されたセンサ値を含む、確立するステップと、収集されたデータ行列表示からの収集されたデータ共分散行列、および収集されたデータ共分散行列の特異値分解(SVD)を計算するステップと、SVDを使用して、複数の収集されたデータ距離値を決定するステップであって、各距離値は、複数のICのうちの1つのICと、複数のICのうちの別のICとの間のそれぞれの距離を表す、決定するステップと、複数の距離値から、分類スキームに従ってICの各々を分類するステップと、を含む。
【0044】
いくつかの実施形態では、行列表示から共分散行列を計算するステップは、共分散行列を計算する前に行列表示を正規化して、それにより、正規化係数を定義することを含む。いくつかの実施形態では、収集されたデータ行列表示から、収集されたデータ共分散行列を計算するステップは、収集されたデータ共分散行列を計算する前に、定義された正規化係数を使用して行列表示を正規化することを含む。
【0045】
いくつかの実施形態では、行列表示は、IC設計および/または設計シグネチャ値および/またはカタログ値のシミュレーションから決定された、シミュレートされたセンサ値から確立される。
【0046】
いくつかの実施形態では、SVDを使用して、複数の距離値を決定するステップは、SVDの対応する主値が、SVDの主値が最も大きいSVDの主ベクトルの事前定義の値および/または事前定義の数よりも大きい、SVDのベクトルを特定することによって、プレSiのSVDシグネチャの集合を定義するステップと、プレSiのSVDシグネチャの集合を使用して、複数の距離値を決定するステップと、を含む。いくつかの実施形態では、プレSiのSVDシグネチャを使用して複数の距離値を決定するステップは、複数の距離値のうちの少なくともいくつかを計算するステップを含み、複数の距離値のうちの少なくともいくつかの各々は、プレSiのSVDシグネチャのうちの1つと、プレSiのSVDシグネチャのうちの別の1つとの間の距離に基づく。いくつかの実施形態では、プレSiのSVDシグネチャの集合を使用して複数の距離値を決定するステップは、シミュレートされたセンサ値と、プレSiのSVDシグネチャの集合から複数の推定器を構成するステップであって、各推定器は、入力センサ値から、推定されたSVDシグネチャを生成する、構成するステップと、複数の推定器から、複数のICの各々について、複数のセンサ値からそれぞれのポストSiのSVDシグネチャを推定するステップと、複数の距離値のうちの少なくともいくつかを計算するステップであって、複数の距離値のうちの少なくともいくつかの各々は、ポストSiのSVDシグネチャのうちの1つと、ポストSiのSVDシグネチャのうちの別の1つとの間の距離に基づく、計算するステップと、を含む。
【0047】
いくつかの実施形態では、プレSiのSVDシグネチャの集合を使用して複数の距離値を決定するステップは、複数の距離値のさらなる距離値を計算するステップをさらに含み、さらなる距離値の各々は、1つのICのプレSiのSVDシグネチャと、別のICのポストSiのSVDシグネチャとの間の距離に基づく。
【0048】
いくつかの実施形態では、本方法は、入力データおよび出力データを含む、少なくとも1つの変換規則を計算することをさらに含む。
【0049】
上記の例示的な態様および実施形態に加えて、さらなる態様および実施形態は、図を参照することによって、および以下の詳細な説明を検討することによって明らかになるであろう。さらに、上記の本発明の様々な特徴および実施形態は、単独で、ならびに様々な組み合わせで使用されることが具体的に企図されている。
【図面の簡単な説明】
【0050】
例示的な実施形態は、参照図に示されている。図に示されているコンポーネントおよび機構の寸法は、概して、表示の便宜と明確さのために選択されており、必ずしも縮尺どおりに示されていない。図は以下のとおりである。
【0051】
図1】集積回路のプロファイリングおよび外れ値の検出のためのコンピュータ化されたシステムを概略的に示す。
図2】集積回路のプロファイリングおよび異常検出のための方法のフローチャートを示す。
図3A】ICユニットの高カバレッジのタイミングマージン検出のための第1の回路を概略的に示す。
図3B】ICユニットの高カバレッジのタイミングマージン検出のための第2の回路を概略的に示す。
図4】ICプロファイルのレーダー(スパイダー)プロットを示す。
図5】種々のICプロファイルの値の分布のグラフを示す。
図6】2つの異なるICプロファイル間の分布分離のグラフを示す。
図7A】2つのICプロファイルの値の分布のグラフを可変電圧および温度下で示す。
図7B】2つのICプロファイルの値の分布のグラフを可変電圧および温度下で示す。
図7C】2つのICプロファイルの値の分布のグラフを可変電圧および温度下で示す。
図7D】2つのICプロファイルの値の分布のグラフを可変電圧および温度下で示す。
図8】ICプロファイルおよび外れ値のシミュレートされた値のグラフ分布を示す。
図9】外れ値が設定されている間の、シミュレートされた高カバレッジ測定とその推定器との間の誤差のグラフ分布を示す。
図10A】第1の系統的な推移検出を示す。
図10B】第2の系統的な推移検出を示す。
図11】ウェーハ上に形成されたデバイスの例示的なIDDQ測定分布をファミリー分類して示す。
図12図11のウェーハ上に形成されたデバイスの例示的なサイクル時間測定分布をファミリー分類して示す。
図13図11のウェーハ上に形成されたICについて、IDDQ測定値と、それぞれのICに関連付けられたファミリーの平均値との間の差のヒストグラムを示す。
図14】外れ値のダイの特定を示す、図11に示すデータを示す。
【発明を実施するための形態】
【0052】
用語集
Si製造(工程)空間
Si製造(工程)空間とは、多数の製造されたダイにわたる、Si関連パラメータ(工程パラメータ)の同時分布である。工程空間とは、多数の製造されたダイにわたるデバイス関連パラメータの同時分布である、例えば、多数の製造されたダイにわたる、デバイスしきい値電圧の分布である。工程空間は、多数の製造されたダイの性能分布に影響を与える、例えば、多くのダイにわたる最大周波数(Fmax)および漏れ電流(Ioff)の同時分布に影響を与える。本明細書で使用される場合、工程空間または製造空間という用語は、特定のダイの製造によって表される、可能な製造パラメータの集合(すなわち、公差、製造のばらつきなど)を意味する。
【0053】
デバイスタイプ
特定の工程技術は、例えば、
【0054】
SVTタイプ:標準しきい値電圧で製造されたNまたはPデバイス、
【0055】
LVTタイプ:低しきい値電圧で製造されたNまたはPデバイス、および
【0056】
ULVTタイプ:超低しきい値電圧で製造されたNまたはPデバイスなど、その技術を使用して製造されるデバイスタイプ(すなわち、工程、作製など)を特徴とする。
【0057】
プレSiデータ(またはプレシリコンデータ)
モンテカルロシミュレーションなど、特定の工程によって製造された特定のIC設計をシミュレートすることによって生成されるデータ。
【0058】
ポストSiデータ(またはポストシリコンデータ)
ウェーハテスト中に記録されたデータなど、製造されたダイから測定されるデータ。
【0059】
シグネチャ
IC設計のシミュレートされたパラメータのスーパー集合、テストされたダイセンサ値など、製造されたIC性能(クラス、外れ値など)の決定に使用される値の集合または予想される分布。本明細書では、シグネチャという単語の使用のほとんどは、データという単語に置き換えられてもよい。
【0060】
エージェント(センサ)
センサ/エージェントは、ダイに実装された電気回路であり、特定のデバイスパラメータ、サブ回路パラメータ、ダイレベルパラメータなどを感知または測定するために使用される。例えば、センサは、特定の論理セルの遅延を測定する。
【0061】
IC設計のシミュレーション値
IC設計の動作パラメータは、工程空間にわたるIC設計の電気的パラメータなど、特定のシミュレートされた製造工程を伴う特定のIC設計のシミュレートされた電子パラメータ(すなわち、電圧、電流、遅延など)である。これは、センサ(エージェント)を配設するための候補となり得る回路位置におけるすべての可能なパラメータの集合など、測定され得る可能性のあるパラメータの多数など、有限集合であってもよい。
【0062】
IC設計は、IC設計の特定の論理ユニット(セル)で使用されるデバイスタイプ、デバイスサイズ、デバイス存在、デバイス位置、デバイス接続性などによって決定される。パラメータは、モンテカルロ(MC)シミュレーションを行うことによって、製造空間上でシミュレートしてもよい。例えば、パラメータ値の分布は、IC設計内の特定のユニットの平均漏れ電流に対してシミュレートされる。IC設計パラメータは、特異値分解(SVD)計算の入力として使用される。
【0063】
デバイス工程のシミュレートされた値
デバイス工程パラメータは、トランジスタ、FET、ダイオードなどの特定の工程における個々の(単一)デバイスの、デバイス動作パラメータのカタログなどのシミュレートされたデバイス動作パラメータの集合である。デバイスパラメータは、モンテカルロ(MC)シミュレーションを行うことによって、製造空間上でシミュレーションされる。例えば、カタログには、特定のデバイス(IDSAT)の飽和電流のMCデータが含まれる。デバイス工程パラメータカタログは、SVD計算の入力として使用される。
【0064】
相互接続シミュレートされた値
相互接続シミュレーション値は、相互接続ネットワークのシミュレートされた遅延パラメータ値の集合である。例えば、デバイスを接続する抵抗器-コンデンサ(RC)ネットワークの遅延である。RCネットワークの遅延値は、相互接続抽出方法を行った後、回路シミュレーションを行うことによって、製造空間上で抽出される。
【0065】
分類/プロファイリング
分類またはプロファイリングは、ダイをSiプロファイルにビニングする工程であり、各ビン(プロファイル)は、IC設計パラメータのクラスタ、および高カバレッジのパラメータなどの結果として生じるデバイスレベルのパラメータを含む。プレSi中、IC設計パラメータおよびデバイス工程パラメータをプロファイリング工程の入力として使用されてもよい。ポストSi中、センサ値および/または特定の高カバレッジ測定値は、プロファイリング工程の入力として使用されてもよい。
【0066】
ICプロファイル
現場性能(仕様、欠陥など)に適用され得るシグネチャ(データ)値および分布の特定のクラスタ、例えば、現場性能(仕様、欠陥など)に適用され得る製造空間(データ)値および分布の特定のクラスタである。
【0067】
(ダイの)ファミリー
同じSiプロファイル/分類を備えた物理的なダイの群。加えて、ファミリーとは、シミュレートされたIC設計のシミュレートされた値およびデバイス工程のシミュレートされた値が、物理的なファミリーメンバーと同じSiプロファイル/分類を有するMCサンプルの群である。
【0068】
特異値分解(SVD)
行列σのSVDは、Σ=UDVとなる3つの行列U、D、およびVの集合であり、式中、UおよびVは、Σの左右の主ベクトルの直交行列を示し、Dは、Σの特異値として知られる対角要素を有する対角行列を表す。プロファイリングの実施では、Σは共分散行列を示し、したがってU=Vである。主ベクトルに対応する特異値は、ベクトル方向の分散であってもよい。
【0069】
SVD計算への入力は、IC設計のシミュレーション値およびデバイス工程のシミュレーション値であり、出力は、最小数のパラメータ、最小数のセンサ、最小値のセンサシリコン領域、最小値の総センサ電力などを用いて、最も効率的に情報を提供しようとするIC設計パラメータの部分集合(すなわち、デバイス削減表示、DRRなど)である。部分集合(すなわち、DRR)は、IC設計におけるセンサエージェントの配設の最も有益な潜在的な位置を見つけるために使用されてもよく、したがって、結果として生じるセンサ値を使用して、テストされる特定のダイに対する最大の情報を取得してもよい。最終的なセンサの配設は、この部分集合から決定され、ダイを最適に分類して製造外れ値を検出するために、製造強化中にテープアウトテストに実装されてもよい。出力部分集合は、入力の完全な集合よりも大幅に小さくなるように選択され、事前定義のセンサの集合を使用して推定され、物理的なダイのテスト中に必要な計算コストを削減してもよい。
【0070】
加えて、自己組織化マップ(SOM)などの教師なし学習/クラスタリング手法は、ダイをファミリーおよびプロファイルに分類するための入力として、センサデータとともに直接使用することができる。
【0071】
高カバレッジ測定(HCM)
高カバレッジ測定とは、特定のダイを特徴付ける、ポストSiのダイレベル測定であり、例えば、IDDQテスト中に測定された特定のダイの総漏れ電流、または回路を用いた機能テスト中のIC論理パスの大規模なタイミングマージン測定などが挙げられる。
【0072】
HCMとセンサの値を分析して、それらを直接相関させてもよい。例えば、測定されたセンサ値の集合は、MCシミュレーションを使用して上述のようにダイをプロファイリングせずに、HCMを予測(推定)する。予測されたHCMは、機械学習(ML)アルゴリズム、モデリング技術などを使用して決定された関数などの関数を用いて推定されてもよい。
【0073】
推定器-パラメータ関係関数および/または変換規則(およびプロテアン推定器)
推定器は、プロファイル(プロファイル分類器)、予測HCM値(HCM変換関数)、予測部分集合(DRR)値、予測製造点などを決定するために、センサ値を入力引数として使用するなど、値間を変換する(すなわち、ダイの動作値間の関係を分析的に、経験的に、発見的になどに定義する)関数および/または規則である。本明細書で使用される場合、製造点という用語は、IC設計の製造を決定するパラメータの集合を意味する。HCM値とセンサ値との間にも同様の関係が判明する場合がある。ダイテストおよびプロテアン分析の結果は、操作上、工業規格を満たすか、またはそれを超え得る特定のダイをより良好に決定することができる。
【0074】
外れ値(製造異常)
外れ値とは、測定されたHCMなどが、同じプロファイルのIC群の測定値の分布から予想される値など、ダイのプロファイルから予想される値の範囲と一致しないダイである(すなわち、平均値にプラスまたはマイナスの複数の標準偏差)。
【0075】
あるいは、外れ値は、測定されたHCMなどが、推定器関数によって計算された、予測されたHCMなどの値と一致しないダイであってもよい。これらの外れ値は、シミュレートされたプロファイルに属さない、欠陥、製造上の異常などで製造されたダイを表す。
【0076】
実施形態の説明
本明細書で説明されるのは、ダイ分類(プロファイリング)および/または外れ値検出および/または製造点ビニング/推定のためのデバイス、システム、および方法である。これらの工程は、集積回路製造(IC)およびウェーハテストを改善するなどのテストに役立ち得、それにより、IC障害によるエンドユーザ製品の欠陥をより少なくする(すなわち、性能または動作上の外れ値検出)。
【0077】
ハードウェアプロセッサなどは、IC設計を分析するための命令を実行し、IC設計に基づいて複数のセンサエージェントを組み込む。センサを備えたIC設計は、特定の設計、作製工程、ランダム欠陥、製造点推定などのセンサ出力値を決定するために、プレSiにシミュレートするか、またはポストSiに測定してもよい。
【0078】
センサ値の分布は、センサ値間の相関関係を提供するなど、高カバレッジ測定値に反映される場合がある。測定値の分布は、シミュレーションからの推定分布値と一致しない場合があり、時間的に、あるいはICテストシステム間、またはIC動作システム間で変化する場合があり、したがって、潜在的な製造/性能/環境などのタイプの長期的な値の推移、ICテストシステムおよび/またはハードウェアの集合間の違いなどを示してもよい。
【0079】
センサエージェントは、外れ値に対する感度を高めるため、および/または(すなわち、性能および/または動作的に)同様のICのファミリー間のセンサ値の数値的分離を高めるため、および/または製造点に対するセンサ値の感度を高めるために、IC設計内で反復的に再位置付けされてもよい。これらの数値分布は、クラス/ファミリーを特定するために使用されるセンサ値の異なる範囲の組み合わせを形成するためにクラスタ化されてもよい。規則ベースの関数および/または分析関数は、センサ値、製造点(工程-ビニング)、HCM値、およびICファミリー間の関係を記述してもよく、したがって、データ集合の1つが付与されると、他のデータ集合は、確率などによって、少なくとも部分的に決定されてもよい。
【0080】
センサエージェントは、デジタル遅延タイミング、立ち上がりエッジ遅延、立ち下がりエッジ遅延、デバイス漏れ電流など、IC設計のユニット、サブユニット、セル、サブセル、デバイスのIC動作パラメータを測定するIC設計に組み込まれた別個の回路であってもよい。
【0081】
テープアウトサイクル、試作、生産中などにセンサエージェントが組み込まれたIC製品が製造されると、ウェーハテスト中に各ICのセンサ値が収集される(すなわち、クラスおよび/または外れ値を計算するために)。関係規則/関数(すなわち、推定器)の制約内にないセンサおよび/またはHCM値を有すると判断されたIC(すなわち、ダイ)は、欠陥品として廃棄され、より重要度の低い用途用にパッケージ化され(再分類され)、製品のクラスに分類などされてもよい(特定の業界仕様を満たすなど)。製造外れ値/異常を組み込んだダイは、多変量分析、外れ値アルゴリズムなどを使用して決定されてもよい。
【0082】
関係計算に使用されるデータは、シミュレーションされたIC設計のスーパー集合データ、デバイス工程シミュレーションデータ、シミュレーションされたセンサ値データ、SVD結果部分集合(DRRの、例えば、主部品によって決定されるなど)、発見的規則部分集合を用いたSVD結果、シミュレーションされたHCMデータ、測定されたHCMデータ、測定されたセンサ値(すなわち、テスト中)、動作データ(すなわち、欠陥分析、仕様上の決定など)、動作条件、すなわち、電圧/温度などのうちの少なくとも2つの結果であってもよい。これらの関係、およびそれらの計算/調整の技術は、欠陥数の減少、生産歩留まりの向上、製造点の推定などIC製造における問題を解決する。例えば、シミュレーションデータは、ICの設計と工程の組み合わせを、シミュレーションデータに基づいて予測される動作プロファイルなどのプロファイルに分類するために使用される。プロファイルを使用して、ICにマークを付け、外れ値を検出し、それにより、欠陥品を減少させ、信頼性を向上させることができる。
【0083】
任意選択で、改善された歩留まりは、時間の経過とともにセンサ値の系統的な推移(すなわち、製造量など)の検出から決定される。例えば、製造設備のドリフトの問題、下流側で検出された推移の工程点の修正などは、ウェーハテスト、パッケージテスト、回路テスト、デバイステスト、耐用年数テストなどにおけるセンサ値を比較することによって検出されてもよい。例えば、時間の経過とともに検出された推移データを使用して、同じICの異なるプロファイルの販売需要に向けて歩留まりを一致させるように、製造工程パラメータ(すなわち、工程点)を調整してもよい。
【0084】
任意選択で、階層データ構造を分類に使用して、階層クラスを生成する。例えば、プロファイルの階層は、サブ階層内のいくつかのクラスが固有のパラメータ、仕様、性能測定基準、物理測定基準、動作測定基準などであるときなどは、ウェーハテスト中に決定される。
【0085】
任意選択で、テストデータを使用してプロファイルを決定する。例えば、テストされたセンサ値間の関係は、ICは欠陥品であり、すべてのテストを行う必要がないと判断してもよく、それにより、テストコストが節約される。任意選択で、テストデータおよびシミュレーションデータを使用してプロファイルを決定する。任意選択で、動作欠陥データを使用して、販売後の顧客の使用分析、欠陥ロギング、欠陥分析などから取得されたデータなどの関係を決定する。任意選択で、推定された製造点を使用して、歩留まりを向上させ、ICの性能を改善するなどのために製造工程をさらに調節/調整してもよい。
【0086】
ここで、図1および図2を参照すると、コンピュータ化されたシステム100の概略図、集積回路のプロファイリング、製造点予測、および外れ値検出のための方法(それぞれ、プレSi200およびポストSi210)のフローチャート200および210が(それぞれ)示されている。システム100は、1つ以上のハードウェアプロセッサ101、非一時的なコンピュータ可読記憶媒体102、ユーザインターフェース103、およびネットワークインターフェース104を備える。記憶媒体102は、ハードウェアプロセッサ(複数可)101上で実行するためのプロセッサ命令を含むプログラムコードをその上に符号化し、それにより、ハードウェアプロセッサ(複数可)101にアクションを行わせる。したがって、プログラムコードは、アクションを行うように構成されていると言われるが、プログラムコードプロセッサ命令は、ハードウェアプロセッサ(複数可)101上で実行されたときにアクションを行うように構成されており、アクションは、ハードウェアプロセッサ(複数可)101によって行われることが理解される。また、プログラムコードの構成は、固有のプログラムコードの実行などによって、ハードウェアプロセッサ(複数可)101を従来とは異なる方法で動作させるプロセッサ命令の特定の配置であることも理解され得る。
【0087】
プログラムコードは、201で、ICを製造するためのIC設計および目標工程を受信するように構成され、IC設計および目標工程に基づいて、202で、IC設計に対してシミュレーションを行い、動作値(IC設計のシミュレーション値および相互接続シミュレーション値、すなわち、シミュレーションスーパー集合)の分布を決定し、また、製造工程空間(デバイス工程シミュレーション値、すなわち、カタログ)上で個々の電子部品の動作値をシミュレートするように構成されたセンサセレクタ102Aを備える。例えば、センサセレクタ102Aは、202で、モンテカルロ(MC)シミュレーションを行い、個々のIC特性、ICシグネチャ生成をシミュレートし、結果として生じるセンサ値(すなわち、エージェント値)などを生成するように構成されている。センサセレクタ102Aは、205の因子分解で使用するためのデータの共分散行列を203で計算するように構成されている。
【0088】
センサセレクタ102Aは、204で、感度/重みベクトルを計算するように構成され、205で、シミュレートされた値(IC設計およびデバイス工程)のシミュレーションを因子分解して(すなわち、SVDを行う)、特異値分解(SVD)、および結果として得られる潜在的なセンサ位置の部分集合を生成するように構成されている。SVD因子分解の結果により、個々のICの特性および設計シグネチャに対するシグネチャの感度を高めることができ、センサを反復的に選択してシグネチャの感度をさらに高めるために使用することができる。206におけるIC設計内のセンサ位置およびタイプの選択は、上位kの主部品(すなわち、分散量の95%を説明する上位kの部品)などのSVD部分集合に基づいて行われてもよい。
【0089】
プログラムコードには、208で、分離比およびシグネチャSVDを受信し、206で、分離比に基づいて、SVD部分集合からセンサ位置を選択し、ICクラスと、HCMパラメータと、センサ値との間の関係を生成するプロファイラ/推定器102Bを含む。プログラムコードは、推定器ブロックを計算するようにも構成されている(図2)。このブロックは、関係規則、関数などの推定器を生成し、これらの推定器は、ポスト/Si段階中にセンサの読み出しによってSVD部分集合値を計算するために使用される。プログラムコードは、207で、個々のICのSVD部分集合を受信し、シグネチャおよび分類器に基づいてそのICの性能のクラス(すなわち、カテゴリ/ファミリー/プロファイル)決定する、測定された(すなわち、テストからの)パラメータとシミュレートされた(すなわち、プレSi)パラメータ(すなわち、推定器/規則/プロファイラ/分類器など)との間の関係を計算するように構成されている。プロファイラ/推定器102Bはまた、209で、欠陥統計、欠陥工学分析などの動作統計を受信するように構成されており、これらは、シミュレートされた、かつ、測定されたクラスを現場のIC製品の性能と整合させるために使用される。後述するように、プレSi段階は、実施形態では任意選択であってもよいが、この段階の特徴は、ポストSi段階を参照して実施されてもよい。
【0090】
ポストSi段階では、センサが組み込まれた(131、132、133などのように)IC130が211で製造される(すなわち、ポストSiフローチャート210)。ダイ分類器/プロファイラ製造点予測器ならびに異常検出器および系統的な推移検出器102C(すなわち、プログラムコードの一部)は、212で、ウェーハの各ダイ(すなわち、IC)をテストする(または、ネットワークインターフェース104およびネットワーク120を介して、テスタ140から各ICのテスト結果を受信する)ように構成されている。ダイ分類器/プロファイラ製造点予測器ならびに異常検出器および系統的な推移検出器102Cは、ICテストから受信したデータとの関係を使用して、213で、(シミュレーションおよび分類からの)ICプロファイル、製造外れ値(すなわち、異常)および製造点を決定するように構成されている。例えば、ダイ分類器/プロファイラ製造点予測器ならびに異常検出器および系統的な推移検出器102Cは、213で、テストされたセンサ値に従って各ICを分類、ICが製造外れ値であると判定するなどのように構成されている。ダイを分類するための1つのアプローチは、プレSiフローチャート200からのステップ203~207を使用してもよいが、ポストSiデータを参照する(後述するように)。実施形態では、ダイ分類器/プロファイラ製造点予測器ならびに異常検出器および系統的な推移検出器102Cは、ICが分類スキームの外れ値である場合があるときを213で検出するための高カバレッジ測定値およびプレSi推定器を受信する。214で、外れ値は破棄されてもよく、分類は、215で、IC上のICクラス(ウェーハ上の位置によるICクラスの追跡など)、ICパッケージング(クラスによる異なるグレードのICなど)にマークを付けるために使用されてもよい。系統的な推移は、216で、新しいICの計画、ICへの歩留まりの改善、製造パラメータの再較正などに使用されるICにマークを付けてもよい。推定された製造点を使用して、歩留まりを向上させ、ICの性能を改善するなどのためにダイの製造工程を調節/調整してもよい。
【0091】
ICプロファイリングおよびICシグネチャを使用すると、ICクラスおよび外れ値を決定する際の多変量分析に使用されるパラメータの量および質を向上させることができる。クラス(すなわち、ファミリー)は、環境に依存しない(すなわち、電圧および温度全体で不変である)ため、同じ分類のダイは、SORT、最終テスト、システムなどの異なるダイ環境で同じように動作するべきである。特定のダイの動作が環境間で異なるとき、環境に問題があることを示している場合がある。ここで、環境内および環境間の系統的な推移の検出を示す図10Aおよび図10Bを参照する。図10Aは、プレプロファイリングの系統的な推移の検出、すなわち、ウェーハSORTテスト条件におけるパラメータ推移の検出を示している。図10Bは、ポストプロファイリングの系統的な推移の検出、すなわち、条件の変化の前後にファミリーを2つの群に分割する環境条件の変化の検出を示している。センサは、DPPMを下げるためにIC設計内に配設されるため、後でICテスト、デバイステスト、障害分析などに使用されるセンサ値は、ICのカテゴリ/ファミリー/プロファイル間をより良好に区別し、したがって、性能、テスト中の外れ値検出、工程ビニング、製造点の推定などに基づいて分類することができる。
【0092】
以下は、センサの詳細、およびICプロファイリング、外れ値検出、製造点推定のためにセンサがIC設計にどのように組み込まれているかを示している。
【0093】
ポストSiのICプロファイリングは、個々のICの複数のSi特性範囲の1つへの分類、すなわち、デバイスの電気的パラメータ範囲にマッピングされた工程パラメータ範囲と見なされてもよい。プロファイリングは、ICからSVDシグネチャに変換されたいくつかのセンサ値を収集し、SVDシグネチャを分類方法などによって特定のプロファイルに割り当てられたSVDシグネチャの範囲と比較することによって行われてもよい。あるいは、プロファイリングは、プレSiシミュレーションに基づいた分類ではなく、センサ値を特定のプロファイルに割り当てられた範囲と比較することによって、直接行われてもよい。
【0094】
SVDシグネチャは、デバイス特性、およびIC内の個々のセルおよびIC内のセル間の接続性に基づく固有の設計関連シグネチャに基づいてプレSiで生成される。デバイスパラメータ特性の集合は、デバイスパラメータCATALOGして定義される。設計関連のシグネチャ生成は、電子設計分析(EDA)および動的タイミング分析シミュレーションツール、MCツール、および回路シミュレーションツールを用いてシミュレートできる自動工程であってもよい。
【0095】
設計関連のシグネチャは、特定の作製などによって製造された所与のIC設計の大幅な性能の相違を反映するようにクラスタ化されてもよい。クラスタリング、分類、センサの選択、センサ位置の選択などは、工程(すなわち、作製)および回路設計の予想される動作に関する経験的または先験的な知識に基づいてもよい。例えば、設計関連のシグネチャには、
-漏れVSS、
-漏れVDD、
-総漏れ
-平均遅延立ち下がり、
-平均遅延立ち上がり、
-総セル遅延
-総相互接続遅延(RC遅延)
-Fmax
-タイミングマージン
-SRAMタイプごとのSRAM最小電圧
-チップVDD-すべてのSRAMタイプおよびレジスタファイルおよび状態要素タイプごとの最小値
など、(さまざまな電圧および温度に対して)推定する値が含まれる。
【0096】
ここで、ICユニットのタイミングマージン検出のための回路を示す図3Aおよび図3Bを参照する。これらの回路は、2017年12月5日に出願され、「INTEGRATED CIRCUIT FAILURE PREDICTION DEVICE」と題された米国仮出願第62/586,423号に記載され、その全体が参照により本明細書に組み込まれる回路を強化したものである。
【0097】
以下は、プレSiシグネチャ生成アルゴリズム、およびセンサ値の計算/導出の例である。本明細書で使用される場合、センサ値、センサエージェント、センサ値の集合、シグネチャなどという用語は、本明細書で開示される技術に使用されるICからのセンサ値の集合(すなわち、データ)を意味するために交換可能に使用される。
【0098】
一般的なプレSi設計に関連するシグネチャ生成工程は、
ステップ1:測定値Mの表現ベクトルを定義し、
ステップ2:MCシミュレーションを実行して、測定値Mの共同統計学的動作を抽出するように定義されてもよい。
【0099】
一般的なプレSiデバイス関連のパラメータシグネチャ生成工程は、
ステップ1:工程パラメータPのベクトルを定義する
ステップ2:MCシミュレーションを実行して、パラメータPの共同統計学的動作、測定値Mの動作との共同統計学的動作を抽出するように定義されてもよい。
【0100】
例えば、特定のIC設計のFmaxシグネチャを使用するには、工程は、
ステップ1:Fmax測定値をIC設計の最大動作周波数として定義してもよい。Fmaxは、ICのクリティカルパス(CP)、すなわち、制限遅延を含むパスによって決定されてもよいため、最大周波数が制限される
ステップ2:複数の製造工程値(すなわち、作製パラメータ範囲)の各々について、特定のIC設計でCPを見出してもよい。例えば、製造範囲全体にわたって周波数を制限するCPの集合を決定する。
【0101】
Fmaxシグネチャは、それ自体が単位当たりの最小マージン(MMU)シグネチャとして現れる。MMUシグネチャは、MC点あたりのICの単位あたりの最小マージンを測定する。すなわち、MMUは、単位当たりのFmaxシグネチャを適用する。ポストSiにおいて、MMUシグネチャは、IC入力の特定の構成が付与されると、図3Aおよび図3Bに示す回路によって測定されてもよい。
【0102】
例えば、特定のIC設計の総漏れシグネチャは、
ステップ1:総漏れ測定値をすべてのセルの漏れの合計として定義し、
【数1】

ステップ2:モンテカルロ(MC)シミュレーションを使用して、製造範囲の各工程点における各セルの漏れ電流を抽出するように生成されてもよい。
【0103】
例えば、特定のIC設計の総セル遅延シグネチャは、
ステップ1:総セル遅延測定値をすべてのセル遅延の合計として定義し、
【数2】
ステップ2:各工程点におけるセル遅延は、モンテカルロ(MC)シミュレーションを使用して計算されるように生成されてもよい。
例えば、特定のIC設計の総相互接続(RC)遅延シグネチャは、
ステップ1:すべてのRC遅延の合計として総RC遅延測定値を定義し、
【数3】
ステップ2:モンテカルロ(MC)シミュレーションおよび異なるRCモデルを使用して、各工程点におけるRC遅延を抽出するように生成されてもよい。
【0104】
遅延シグネチャは、VTタイプごとなど、すべてのVTとの個々の立ち上がり、および立ち下がり遷移を表すために生成されてもよい。例えば、遅延シグネチャは、以下の式を使用して計算されてもよい。
【数4】
【0105】
例えば、最小電圧は、
ステップ1:最小必要電圧をすべてのSRAMセルで必要な最小電圧として定義し、
【数5】

ステップ2:各工程点で必要な最小電圧は、モンテカルロ(MC)シミュレーションを使用して計算されるように生成される特定のIC設計のSRAM動作に基づいている。
【0106】
以下は、センサ回路の例である。
1.遅延センサは、特定の論理セルの遅延を感知してもよい。その周波数が論理セルの平均遅延時間を反映しているリングオシレータ回路によって実装されてもよい。
2.別の遅延センサは、特定の論理セルの立ち上がりエッジ、および論理セルの立ち下がりエッジの遅延を別々の方法で感知してもよい。
3.別の遅延センサは、金属ごと、または金属の部分集合ごとになど、RC遅延を感知してもよい。
4.漏れセンサは、その全体が参照により本明細書に組み込まれ、「INTEGRATED CIRCUIT SUB-THRESHOLD LEAKAGE SENSOR」と題された、米国仮出願第62/614,706号に記載されているように、特定のPデバイスおよび特定のNデバイスの漏れを別々の方法で感知するために使用されてもよい。
【0107】
各V番目タイプの寄与因子は、シグネチャごとに計算されてもよい。寄与因子は、漏れまたは平均遅延シグネチャなどに対する各V番目タイプの寄与を反映する。寄与因子は、シグネチャ生成工程の一部として生成されてもよいし、線形回帰によって計算されてもよい。各工程パラメータの寄与因子のベクトルが考慮されてもよく、データ上の最大値は、感度ベクトルと呼ばれ、
【数6】
で表されてもよい。
【0108】
completeは、デバイスパラメータカタログから取得した工程パラメータの集合を表す。Pは、感度ベクトルの値が所与のしきい値を超えるパラメータをPcompleteから選択した後に得られるPcompleteの部分集合を表す。Sは、各動作点におけるシグネチャの集合(M個のシグネチャ動作点のサンプル)を表す。すなわち、sは、所与の動作点(V、T)における所与のシグネチャのMCサンプルである。
【0109】
【数7】

については、すなわち、

【数8】
は、第1の動作点における第1のシグネチャを完全に推定するためのカタログに欠落している部分を表し、-s|Pは、Pを付与されたsの推定器であり、

【数9】
は、カタログに欠落している部分、およびj番目のシグネチャ動作点を完全に推定するために、カタログに追加されたすべての
【数10】
を表し、

【数11】
は、
【数12】
を付与されたsの推定器量である。
次に、返されるベクトルの集合は、
【数13】
である。
【0110】
行列σのSVDは、Σ=UDVとなる3つの行列U、D、およびVの集合であり、式中、UおよびVは、Σの左右の主ベクトルの直交行列を示し、Dは、Σの特異値として知られる対角要素を有する対角行列を示す。プロファイリングの実施では、Σは共分散行列を示し、したがってU=Vである。主ベクトルに対応する特異値は、ベクトル方向の分散であってもよい。
プロファイリングするためのSVDの実施は、
-正規分布ではない列を正規化する、例えば、対数正規分布から得られた値に対してlog()を適用するステップと、
-表1の列をスケーリングする:μ=0、σ=1ステップと、
-感度ベクトルに対して、部分集合Pcomplete取られていない場合、重みベクトル
【数14】
を使用して列を再スケーリングするステップと、
-表1から共分散行列Σを生成するステップと、
-Σに対してSVD演算を行うことによってSVDシグネチャを生成するステップと、があるが、
【数15】
の集合は、{S1≦j≦Mの代わりに、またはそれに追加で使用することができることに留意されたい
【数16】
:MC実行1におけるパラメータnの値
【数17】
:MC実行1における動作点mのシグネチャの値
【表1】
【0111】
定義された誤差で堅牢な分類を行うためには、適切な数のファミリーが不可欠な場合がある。形成される可能性のあるファミリーの数を減らすには、縮小された次元のデータドメインを考慮する必要がある、例えば、2つのV番目タイプに影響を受けるIC設計は、縮小する前に8つの工程パラメータ(次元)によって拡散される場合がある->(SVDを適用する)、{VT、IDS}x{p、n}x{SVT、LVT}。縮小された次元のデータドメインを見出すために、行列Σの直交基底を抽出してもよい。直交基底の各方向は、工程パラメータの線形結合であってもよい。SVDは、各主方向の測定基準も提供する。
【0112】
例えば、以下のステップで、センサエージェントを使用したIC設計および工程のプロファイリングを決定してもよい。
【0113】
プロファイリングステップ(1):
2つのサンプル(i、j)間の距離を、所与の数のSVDシグネチャ(入力)で計算された重み付きqノルムの距離Δ(i、j)として定義し、
【数18】

式中、
【数19】
は、サンプルiのk番目のSVDシグネチャの値を表す。q=2および1を重みとすると、上記は、ユークリッドノルムである。
【0114】
重み付きqノルムは、複数の重みの集合(例えば、主ベクトルの値)、および集合のどのメンバーを選択するべきか(例えば、距離が最大となるもの)を選択するための手順を考慮することによって、一般化され得ることに留意されたい。
【数20】
【0115】
マハラノビス距離
【数21】

は、SVD手順を行う代わりに、またはそれに加えて使用されてもよく、
【数22】
は、サンプルiのSVDシグネチャから成るベクトルであり、Uは、主ベクトル行列であることに留意されたい。
【0116】
プロファイリングステップ(2):
-ファミリーを定義するステップ:サンプルから特定のファミリーまでの距離は、ファミリーを定義するサンプルまでの距離である
1.第1のサンプルをファミリーとして定義する
2.すべてのサンプルを調べて、定義されたすべてのファミリーに対する現在のサンプルの距離Δが所与の半径よりも大きいとき、新しいファミリーを定義する
-サンプルを最も近いファミリーに関連付ける(補正工程)
1.すべてのサンプルを調べて、距離が最小のファミリーにサンプルを関連付ける
【0117】
上記の手順は、例えば、MCサンプルの集合、またはテスト結果が既知であるダイの群(例えば、テスタがオフラインの場合)に対してなど、サンプルのバッチに対して行われてもよいし、あるいは、例えば、テスタがオンラインになっているときなど、オンラインで行われてもよい。
【0118】
図4は、プロファイリング結果を示し、ファミリーは、デバイスタイプ{VT、IDS}x{p、n}x{SVT、LVT}ごとのデバイスパラメータの中央値によって定義される。多角形の各頂点は、その標準値/中心値に対して正規化されたデバイスパラメータ値(シグマ項で)を表す。
【0119】
図5は、プロファイリング工程で結果として得られたファミリー全体にわたるプレSiの平均漏れ電流シグネチャの広がりを示す。図6は、有界シグマ範囲における2つのファミリーを示す、図5の拡大版であり、ファミリーAの範囲:-1.37~0.23シグマ、ファミリーBの範囲:-0.03~1.63シグマである。図7A図7B図7C、および図7Dは、プロファイリング工程の安定性/不変性、ならびに電圧および温度ごとに結果として得られたファミリーを示す。
【0120】
SVDシグネチャの数が主成分の数よりも少ない場合、選択されたSVDシグネチャによって計算された距離は、実際の距離よりも小さくなる場合がある。1を重みとし、q=2とするqノルムの場合、サンプルiとjとの間の実距離は、Δ(i、j))によって定義され、
【数23】

式中、左項は、すべてのSVD主ベクトルの合計であり、右項は、
【数24】
が1を有する、すなわち、これらの工程パラメータは集合Pに含まれているすべてのパラメータの合計である。誤差定義は、以下のとおりである。
iおよびjが2つのサンプルを表すとすると、誤差
【数25】
の分布は、一般化されたカイ2乗であり、分散は、Δ(i、j)に含まれない特異値である。
他のノルムについては、上記の計算は選択されたノルムに対するものになる。
【0121】
SVDシグネチャの数が主成分の数よりも少ないとき、所与の工程パラメータについて、Δ(i、j)=0である2つのサンプルiおよびjは、異なる工程値を有してもよい。サンプルiおよびjの所与の工程パラメータの値間の距は、△(i、j)で表す。次に、Δ(i、j)は、平均がゼロで分散が2dで囲まれた正規分布であり、dは、Δ(i、j)に含まれない最大特異値である。
【0122】
推定器(プロファイラ、分類器など)は、センサ値に基づいて出力値を生成する関数である。センサの値に基づくSVDシグネチャの推定器の生成は、ガウス推定器、ラッソ推定器、リッジ回帰推定器、一般化適応モデル推定器、スプライン、ニューラルネットワークなどを使用して行われてもよい。推定誤差は、検証データによって経験的に計算されてもよい。誤差に基づいて、各サンプルからそれに関連するファミリーまでの距離は、1-δよりも小さい確率でr+εよりも小さくなる。
【0123】
プロテアン分類ブロックは、ポストSi段階でダイをファミリーに分類する。ブロックへの入力は、SVDシグネチャ推定器および分離無線で構成されるプレSiデータ、およびテスト機器からのポストSiセンサ値である。
プレSi推定器に基づいて、SVDシグネチャ値が各サンプルに対して計算される。推定器は、ポストSi段階で収集されたデータに基づいて、調節、調整、改善などされてもよい。ファミリーは、以下のように生成される。
-第1のサンプルをファミリーとして定義する
-新しいサンプルを付与
○定義されたすべてのファミリーに対する新しいサンプルの距離Δが所与の半径(入力)よりも大きいとき-新しいファミリーを定義する
○定義されたすべてのファミリーに対する新しいサンプルの距離Δが所与の半径(入力)よりも大きくないとき-最も近いファミリーに関連付ける
-新しいファミリーが定義されたら、すべてのサンプルを調べて、それらを最も近いファミリーに関連付ける。
任意選択で、ICのファミリーは、デバイスタイプ{VT、IDS}x{p、n}x{SVT、LVT}ごとのデバイスパラメータの中央値によってポストSiに分類されてもよい。多角形の各頂点は、その標準値/中心値に対して正規化されたデバイスパラメータ値(シグマ項で)を表す。
【0124】
任意選択で、ヒストグラムは、プロファイルごと、センサ測定値ごと、およびまたは高カバレッジ測定値ごとに構築されてもよい。例えば、ポストSiセンサ値は、高カバレッジ測定値およびセンサ値のためにファミリーごとに収集される。データが正規分布していないとき、データは正規化される場合がある。各データ集合について平均および分散を計算し、所望の偽陽性率に基づいて、ファミリーごとに高カバレッジ測定値の境界を計算することができる。シグネチャは、異なるクラス/ファミリーに分離するために再利用される。したがって、所与の限界を超えることはできない。
【0125】
任意選択で、異常テストはプロファイリング後に実行される。例えば、テストでは、ファミリーごとの高カバレッジ測定値の境界を測定してもよい。例えば、現在のダイのファミリー分類をテストの入力として使用してもよい。所与のダイの高カバレッジ測定値の1つが、ダイのファミリー/プロファイルに対応する境界の外側にあるとき、そのダイは、外れ値として分類される。高カバレッジ測定値の境界は、各ファミリーの高カバレッジ測定値の共同分布を考慮することによって計算されてもよい。
【0126】
任意選択で、分類および/または推定器は、パッケージテストに使用される。例えば、異常テストは、高温動作寿命テスト(HTOL)または通電テスト(BI)の後および/またはテスト中に実行される。プロファイリング工程によって同じファミリーに分類されたダイは、同じSiプロファイルに属し、同じ応力条件で近い動作をすることが予想される。同じファミリーのダイの性能劣化は、テスト中およびテスト後に制限されると予想されることを意味する。ファミリーの境界外で性能劣化を示すダイは、外れ値として特定され、拒否される場合がある。
【0127】
高カバレッジ測定値は、例えば、特定の温度における総ダイ漏れなど、総ダイ動作を反映するICレベルの測定値であってもよい。別の例は、大規模なパスのタイミングマージンである。ヒストグラムは、以下のステップに従って構築される。
1.ポストSiデータは、高カバレッジ測定値ごとにファミリーごとに収集される
2.正規分布ではない任意のデータを正規化する
3.各データ集合の平均および分散を計算する
4.付与された擬陽性率に基づいて、高カバレッジ測定値の境界がファミリーごとに計算される
5.あるいは、高カバレッジ測定値の境界は、経験的な下限および上限のアルファ分位値として取ることができ、アルファは、偽陽性率によって決定される。このアプローチは、所与のファミリーの特定の高カバレッジ測定値を正規化することができないときなどに適用されてもよい。
6.任意選択で、推定器は、ポストSiデータに基づいて、各高カバレッジ測定値について構築されてもよい。次に、推定器誤差のヒストグラム、すなわち、推定値と実際の高カバレッジ測定値との間の差を構築してもよい。次いで、上記の手順(1~5)をこのヒストグラムに適用してもよい。
【0128】
図8および図9は、外れ値検出工程の実験による論証を示す。
-実験対象:
○Average-Ioffシグネチャに外れ値を設定する
○外れ値検出アルゴリズムを使用して外れ値を検出する
-外れ値の説明:
○MC点428を1だけ変更する
■Ioffの+35%の増加に相当
【0129】
図9は、実験結果を示し、1シグマだけ推移した外れ値は、7シグマのWRT推定器平均として外れ値検出工程で強調されている。
【0130】
上記の図(図8および図9)は、構築ヒストグラム(図8)および推定器(図9)に基づく外れ値の検出を示している。すなわち、高カバレッジ測定値の推定器が計算される。次に、測定された高いカバレッジ値は、推定値と比較され、ダイは、所与の擬陽性率に基づいて外れ値として検出される。
【0131】
例えば、センサが異なればクラスタの分離も異なり、したがって、センサの選択およびIC設計内の位置に対する感度も異なる場合がある。例えば、Vt NLVT onおよびVt PLVT onに基づくクラスタ間の分離は良好であるが、2つのクラスタ間には重複が存在する場合がある。
【0132】
例えば、平均漏れシグネチャと総漏れシグネチャの分離によってプロファイルが決定される場合がある。
【0133】
例えば、カバレッジパラメータが異なると、クラスタ分離が異なり、したがって、ICのプロファイル分類の検出に対する感度が異なる場合がある。
【0134】
ここで、ICプロファイルのレーダー(スパイダー)プロットを示す図4を参照する。グラフは、プロファイル、すなわち、プロファイル1、8、および13の工程起点を示す。レーダー(スパイダー)プロットは、工程プロファイルを視覚化する別の方法である。
【0135】
ここで、異なるICプロファイルの値の分布のグラフを示す図5を参照する。
【0136】
ここで、2つの異なるICプロファイル間の分布分離のグラフを示す図6を参照する。
【0137】
ここで、電圧および温度を変化させた条件のもとに2つのICプロファイルの値の分布のグラフを示す図7A図7Dを参照する。
【0138】
任意選択で、プロファイリング工程は、ポストSiデータのみを使用して行うことができる。このような場合、プロファイリングアルゴリズムへの入力は、a)半径R、b)ICエージェントの読み出しのファイル、c)平滑化パラメータλ、d)定数kである。
【0139】
プロファイリングアルゴリズムは、1)各ICについて、代表ベクトルを作成し(所与のICの代表ベクトルの例は、vIC1=(Ag、Ag、...Ag)であり、Agは、所与のICのエージェントnの読み出し値を表す)、2)各行がダイの1つの代表ベクトルであるような行列を作成し(すなわち、行の数はICの数、列の数はICを表すベクトルの長さである)、3)各列の平均が0であり、シグマが1になるように行列をスケーリングし(この積として、各エージェントは、それ自体の正規化係数を有し、IC1の正規化された代表ベクトルは、
【数26】
で表される、すなわち、ベクトルの値は、正規化されたエージェントの読み出し値である)、4)スケーリングされた行列の共分散行列を計算し(3で計算されたように)、5)共分散行列に対してSVD工程を行い、結果をUDVで表し、6)距離行列をdist_mat=U*D’のように計算し、D’は、第1のk値(d)が
【数27】
に置き換えられ、残りの値は、0に置き換えられる対角行列Dである(すなわち、所与のD:
【数28】
、k=1およびλ、D’の場合、
【数29】
)、7)上記の「プロファイリングステップ(2)」で説明した手順に基づいて、以下の距離計算を用いてファミリーを作成し、ic1とic2との間の距離は、
【数30】
であり、
【数31】
、および
【数32】
は、ic1およびic2をそれぞれ表す正規化されたベクトルであり、D’は、ステップ6で計算された行列である、という手順で行われる。
【0140】
任意選択で、IC1とIC2との間の距離は、
【数33】

(上記と同じ表記を使用)のように計算することができる。
【0141】
任意選択で、直前の段落に記載されたプロファイリング工程は、増分方式で行うことができる。言い換えれば、ポストSiデータは、バッチで、またはプレSi&およびポストSiデータを使用して到着する場合があり、プレSiデータは、第1のバッチと見なされる。
【0142】
このような場合、プロファイリングアルゴリズムは、(第1のバッチとしてプレSiデータを使用し、第2のバッチとしてポストSiデータを使用する例に用いて)、1)ポストSiデータの代わりにプレSiデータを用いて、ポストSiデータアルゴリズムを実行し(各エージェントの正規化係数および距離行列は格納され、この段階でプレSiデータに基づいてファミリーを生成する)、2)ポストSiデータが到着したとき、プレSiデータに基づいて計算された正規化係数を用いてポストSiデータ正規化し、距離は、プレSiデータに基づいて計算された距離行列を使用して計算され、3)アルゴリズムは、新しいデータを使用して新しいファミリーを生成し、可能であれば、新しいデータを事前定義のファミリーに追加し、不可能であれば、新しいデータの各々が最も近いファミリー(新しい/事前定義の)に関連付けられていることを確認しながら、新しいファミリーを生成するように説明される。
【0143】
アルゴリズムは、その性能を改善するために、追加のエージェントが必要かどうかを確認する。これは、プレSiデータを使用して、1)すべてのMC点間の距離を計算するステップと、2)各シグネチャおよび/または工程パラメータについて、すべてのMC点間の距離を(シグマで)計算するステップと、を行うことによってなされる。
【0144】
次に、シグネチャおよび/または工程パラメータの各々について、
【数34】

のような定数(const)が存在するかどうかを確認する。constの値は、方程式が常に成り立つように大きくしてはならない、すなわち、constの値は、MCの数を拡大したときに安定するMC点の数の一部に対して、
【数35】

となるようにするべきである。
【0145】
一般的な意味で、IC分類および/または外れ値検出のための(コンピュータ化された)方法が考えられてもよい。本方法は、IC設計に従って、複数のICを含むウェーハを使用する。IC設計は、複数のセンサ(ICの機能に関する診断および/または性能情報を提供し得る)を含む。本方法は、複数のICの各々をテストするために、少なくとも1つのハードウェアプロセッサを使用することを含む。これは、複数のセンサ値を収集することであって、複数のセンサ値は、複数のセンサの各々からのセンサ値(好ましくは、各センサからの少なくとも1つのセンサ値)を含む、収集することと、複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を得ることと、によって有利に達成される。有益なことに、次に、テストされた各ICの分類が記録される。実施形態では、本方法は、作製工程を使用して、IC設計に基づいてウェーハを製造することを含んでもよい。
【0146】
複数の収集されたセンサ値を分類スキームと比較するステップは、実施形態において分類スキームを決定または特定することを含んでもよい。分類スキームは、任意選択で、1つ以上のデータ集合に基づいている。例えば、1つ以上のデータ集合は、IC設計および作製工程の複数のIC動作のシミュレーション(この場合、シミュレーションは、少なくとも1つの完全なIC設計シミュレーション、少なくとも1つの部分的なIC設計シミュレーション、および作製工程のための少なくとも1つのデバイスシミュレーションのうちの少なくとも1つであってもよい)、生産前のテープアウトテスト中に収集された複数の訓練センサ値、ならびに複数の収集されたセンサ値を含んでもよい。言い換えれば、データ集合は、プレSiおよび/またはポストSiデータを含んでもよい。実施形態では、分類スキームは、外れ値クラスを含んでもよい。分類は、各ダイの分類を決定するための階層データ構造を含んでもよい。
【0147】
比較するステップは、好ましくは、関数および規則のうちの少なくとも1つを使用して、複数のセンサ値から高カバレッジ測定値を推定することを含む。関数および/または規則は、例えば、訓練センサ値集合および訓練高カバレッジ測定値から決定されてもよい。
【0148】
テストされたICの分類のさまざまな使用が行われてもよい。例えば、少なくとも1つのハードウェアプロセッサは、分類に基づく固有の識別を用いて、テストされたICのICパッケージをマーク付けするために、かつ/または欠陥ICを廃棄するために使用されてもよい。アプローチでは、テストされた各ICから、作製工程のパラメータの集合が、分類および複数のセンサ値に基づいて決定されてもよい。次に、作製工程のパラメータの第2の集合は、IC設計および各ICの作製工程のパラメータの集合に基づいて選択されてもよい。次いで、第2のウェーハの第2の製造は、第2のパラメータの集合を使用して、行われてもよい。選択は、手動工程および自動計算のうちの少なくとも1つによって有利に行われる。このようにして、複数のICを含むウェーハは、IC設計、具体的には、複数のセンサを含むIC設計に従って提供される。
【0149】
いくつかの実施形態では、分類スキームは、複数の分類値に基づいて特定されてもよい。分類値は、プレSi、またはシミュレートされたセンサ値、プレSi設計シグネチャ、IC設計のシミュレーション(プレSiカタログのシミュレートされた値)およびポストSiの測定されたセンサ値から決定された動作パラメータのうちの1つ以上に基づいてもよい。分類値は、好ましくは正規化されている。分類スキームは、以下の工程によって実施されてもよい。最初に、行列表示は、複数の分類値から確立され、行列表示の各行は、複数のICのうちの1つに対する分類値を含む(言い換えれば、各列は、センサ値または他のデータなど、特定の、異なるパラメータに関し、各行は、特定のICに関しているが、このような行列の横軸は他の実装形態で使用され得る)。この工程は、行列表示からの共分散行列、および共分散行列の特異値分解(SVD)を計算することと、SVDを使用して(後述するように、様々な方法で)、複数の距離値を決定することと、のように継続してもよい。各距離値は、複数のICのうちの1つのICと、複数のICのうちの別のICとの間のそれぞれの距離を表し(例えば、そのような距離値を決定するための既知の数学的手法に基づいて)、複数の距離値から、少なくとも1つのファミリーを特定し、それにより、分類スキームを定義する(具体的には、距離値を、半径として指定されたしきい値と比較する)。
【0150】
2つの特定の分類アプローチが直接および間接的に考慮される。直接法では、各ICは、センサ値に基づくベクトルで表される(これらは、ポストSiデータの収集されたセンサ値および/またはプレSiデータのシミュレートされたセンサ値であってもよい)。行列は、センサ値(行列の各行は、単一ICのベクトルである)に基づいて定義され、有利に正規化される。この行列の共分散行列が計算される。SVDは、共分散行列に対して行われ、SVD(具体的には、SVDからの主値)を使用して距離行列が作成される。また、有益なことに、距離行列は、平滑化パラメータλおよび定数(整数)kを使用して(SVDの第1のk個の主値のみが使用されるように)決定される。IC間の距離は、ICの距離行列および(正規化された)ベクトルから計算される。ICは、ファミリーを定義するために、互いからの距離(「半径」内)に基づいて群化される。各ファミリーは、代表ベクトルによって特定されてもよい。プレSiデータおよびポストSiデータの両方を使用するとき、ポストSiデータを使用して測定されたICと、プレSiデータを使用して定義された各ファミリーの代表ベクトルとの間の距離も計算される。
【0151】
間接分類法では、行列は、(正規化された)シミュレートされたセンサ値、IC設計のシミュレーションから決定された動作パラメータ(カタログ値)、および(正規化された)設計シグネチャ値のうちの1つ以上などのプレSiデータに基づいて定義される(行列の各行は、単一ICのベクトルである)。行列の共分散行列が計算される。SVDは、共分散行列に対して行われる。プレSiのSVDシグネチャの集合は、SVDの対応する主値が事前定義の値(d)よりも大きいSVDのベクトルを特定すること、および/またはSVDの対応する主値が最も大きい(最大)SVDのベクトルを特定すること、によって定義/表示される。複数の距離値は、プレSiのSVDシグネチャの集合を使用して決定されてもよい(具体的には、プレSiデータのみが使用される場合)。例えば、複数の距離値のうちの少なくともいくつかが計算されてもよく、複数の距離値のうちの少なくともいくつかの各々は、プレSiのSVDシグネチャのうちの1つと、プレSiのSVDシグネチャのうちの別の1つとの間の距離に基づく。ポストSiデータが使用される場合、複数の推定器は、シミュレートされたセンサ値およびプレSiのSVDシグネチャの集合から構成(構築)される。各推定器は、入力センサ値から、推定されたSVDシグネチャを生成するように構成されている。(ポストSiの)ICおよび(プレSiの)MCの各々は、それら自体のSVDシグネチャ値で表される。次に、複数の推定器は、複数のICの各々について、複数の収集されたセンサ値からそれぞれのポストSiのSVDシグネチャを推定するために使用される。複数の距離値のうちの少なくともいくつかが計算され、複数の距離値のうちの少なくともいくつかの各々は、ポストSiのSVDシグネチャのうちの1つと、ポストSiのSVDシグネチャのうちの別の1つとの間の距離に基づく。ICは、ファミリーを定義するために、互いからの距離(「半径」内)に基づいて群化される。各ファミリーは、(シグネチャからの)代表ベクトルによって特定されてもよい。プレSiデータおよびポストSiデータの両方を使用するとき、ポストSiデータを使用して測定されたICと、プレSiデータを使用して定義された各ファミリーの代表ベクトルとの間の距離も計算される。言い換えれば、複数の距離値のさらなる距離値が計算され、さらなる距離値の各々は、プレSiのSVDシグネチャのうちの1つと、ポストSiのSVDシグネチャのうちの1つとの間の距離に基づく。
【0152】
複数の距離値からの1つ以上のファミリーの特定は、典型的には、第1のファミリーが第1のICによって定義されるように、複数のICのうちの第1のICを第1のファミリーに分類することと(言い換えれば、分析された第1のICは、以前にファミリーが定義されておらず、したがって、第1のICが第1のファミリーを表すので、常に新しいファミリーを定義してもよい)、複数の距離値から、第1のICと、複数のICのうちの第2のICとの間の距離を表す距離値を、(例えば、2つのIC間の距離値がしきい値よりも大きいか、またはしきい値よりも小さいかのいずれかであるように)所定のしきい値と比較することと、距離値が所定のしきい値よりも小さい場合には、(2つのIC間の距離値が小さいため、それらが同じファミリー内にあると考えられるように)第2のICを第1のファミリーに分類することと、距離値が所定のしきい値よりも大きい場合には、第2のファミリーが第2のICによって定義されるように(言い換えれば、新しいファミリーが定義され、このファミリーが第2のICによって表されるように)、第2のICを第2のファミリーに分類することと、を含んでもよい。距離値が所定のしきい値と同じである場合は、そのような場合は極めて稀であるため、実施に委ねられており、したがって、第2のICの分類は、困難を引き起こすことなく、第1のファミリー(第1のICを含む)、または新しい第2のファミリーとして定義することができる。
【0153】
このアプローチは、複数のIC内のICの各々について繰り返されてもよい。例えば、複数の距離値からの複数のファミリーの特定は、複数のICの互いのICのための手順をさらに含んでもよい。この手順は、以下のように進んでもよい。最初に、複数の距離値からの距離値の群が特定される。距離値の群内の各距離値は、他のICと、それぞれのファミリーを定義する複数のICのそれぞれのICとの間の距離を表す(言い換えれば、距離値の群は、分類されたICである他のICと、ファミリーを表す各ICとの間の距離値にのみ関係し得る)。次に、距離値の群からの各距離値は、所定のしきい値と比較される(つまり、有利には、第1および第2のICに使用されるのと同じ所定のしきい値であり、有益には、同じウェーハ上のすべてのICに対して同じである)。この比較から、いくつかの結果が得られる。他のIC(つまり、現在分類されているIC)と、特定のファミリーを定義する複数のICのうちの特定のIC(つまり、ファミリーを表すIC)との間の距離を表す、距離値の群からの距離値が、所定のしきい値よりも小さい場合、他のICは、(2つのICが同じファミリーと見なされるように)特定のファミリーに分類される。この条件が少しでも満たされている場合、1つのファミリーに対してのみ満たすべきである。距離値の群からのすべての距離値が、所定のしきい値よりも大きい(または、実装によってはそれ以上である)場合、他のICは、新しいファミリーに分類され、その結果、新しいファミリーは、他のICによって定義される。この手順は、有利には、複数のICのすべてが分類されるまで、分類されていない各IC(他のIC)に対して繰り返される。
【0154】
先に示したように、複数の分類値は、IC設計のシミュレーションから決定されたシミュレートされたセンサ値(プレSiデータ)、1つ以上の設計シグネチャ、生産前のテープアウトテスト中に収集された複数の訓練センサ値、ならびに任意の数のIC、1ロット、多数のロット、および/またはウェーハを含み得る、デバイスのバッチについて測定されたセンサ値(ポストSiデータ)のうちの1つ以上に基づいてもよい。例えば、ポストSiデータのみが使用されるとき、複数の分類値は、ウェーハについて収集されたセンサ値に基づいてもよい。次に、複数の分類値に基づく分類スキームの特定は、複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得するステップの少なくとも一部であってもよい。あるいは、特定手順は、最初にプレSiデータに対して(例えば、複数の分類値が、IC設計のシミュレーションから決定された、シミュレートされたセンサ値に基づくように)行われてもよく、その結果として、ファミリーが特定される。次に、複数の分類値に基づいて分類スキームを特定するステップは、複数の収集されたセンサ値を分類スキームと比較し、それにより、テストされた各ICの分類を取得するステップの前に行われてもよい(具体的には、本明細書に記載されているように、ポストSiを使用して、特に距離行列および/または距離関数に基づいて)。複数の収集されたセンサ値の分類スキームとの比較は、以下のように、(上記で論じた直接的なアプローチにおいて)さらなる手順に従うことによって実施されてもよい。収集されたデータ行列表示は、複数の収集されたセンサ値から確立されてもよい。行列表示の各行は、(収集されたデータ行列表示が上記で論じた行列表示と同じフォーマットを有するように)複数のICのうちの1つに対して、収集されたセンサ値を含む。収集されたデータ行列表示から、複数の収集されたデータ距離値を決定してもよい。各距離値は、複数のICのうちの1つのICと、複数のICのうちの別のICとの間のそれぞれの距離を表し、複数のICは、好ましくは、(特定するステップから)シミュレートされたIC、および(収集されたデータからの)実際のICの両方を含み、(シミュレートされたICは通常、実際のICのシミュレーションになるが)別々のICと見なされる。これにより、複数のポストSiのIC間および/または複数のプレSiのIC間の距離は、プレSiデータに基づいて計算された距離関数/行列によって計算される。次に、複数の距離値から、各ICを分類スキームに従って分類してもよい。この分類は、有利には、上記で論じた手順(前の2つの段落)に従う。
【0155】
これらのアプローチのいずれにおいても、行列表示は、例えば、行列表示から共分散行列を計算する前に、正規化されてもよい(言い換えれば、共分散行列は、正規化された行列表示から計算される)。それにより、正規化係数を定義することができる。プレSiデータおよびポストSiデータの両方が使用される場合、収集されたデータ行列表示は、定義された正規化係数を使用して(つまり、プレSiデータから)正規化されてもよい。
【0156】
本明細書に開示されるように、ファミリーの分類が他の物理的Siパラメータおよび温度に対して不変であることを示すために、ここで、実験データが提供される。ここで、図11を参照すると、ウェーハ上に形成されたデバイスの例示的なIDDQ測定分布をファミリー分類して示す。ICは、ポストSiエージェントからのデータに基づいて、ファミリーにプロファイリング/分類された。ファミリー2は、図面に強調表示されている。また、各ICの測定されたIDDQ(Ioff電流または漏れ電流)がプロットに表示され、ウェーハ内のIDDQの分布を示す。プロファイリング工程の結果、異なるSiタイプごとに異なるファミリーが作成され、各ファミリーのIDDQ範囲は、ウェーハ全体のIDDQ分布範囲(全Si範囲)よりも狭いことが分かった。これは、ICが物理的なSiパラメータに基づいてプロファイルされたことを証明している。
【0157】
ここで、図12を参照すると、図11のウェーハ上に形成されたデバイスの例示的なサイクル時間測定分布をファミリー分類して示す。ICは、ポストSiエージェントからのデータに基づいて、ファミリーにプロファイリング/分類された。ファミリー2は、強調表示されている。各ICの測定されたサイクル時間もプロットに表示され、ウェーハ内のサイクル時間の分布を示す。プロファイリング工程の結果、異なるSiタイプごとに異なるファミリーが作成され、各ファミリーのサイクル時間範囲は、ウェーハ全体のサイクル時間分布範囲(全Si範囲)よりも狭いことが分かった。これは、ICが物理的なSiパラメータに基づいてプロファイルされたことをさらに証明している。
【0158】
ここで、図13を参照すると、図11のウェーハ上に形成されたICについて、IDDQ測定値と、それぞれのICに関連付けられたファミリーの平均値との間の差のヒストグラムを示す。これは、ファミリー内のIDDQ範囲が縮小されていることを示す。ヒストグラムは、平均に対する分布を示しており、各ICについて、値は、σ(IDDQ)の観点から、ICで測定されたIDDQと、ファミリーIDDQの中心との間の差である。このヒストグラムは、IDDQ測定に対する、ICのファミリーの中心までの典型的な距離を示す。通常の距離は、温度変化の影響を受けないことが観察された。したがって、生成されたファミリーは、温度に対して不変であり、ICは、物理的なSiパラメータに基づいてプロファイルされたことを証明している。
【0159】
ここで、図14を参照すると、外れ値ICの特定を図示する、図11に示すデータが示されている。外れ値ICは、高カバレッジ測定値(HCM)へのファミリー相関の概念を実装することによって特定された。この場合、HCMは、IDDQである。外れ値は、ファミリー番号9に属するICの1つであるIC_xである。IC_xは、完全なSiサンプルに対してIDDQテストに合格した、すなわち、IC_xで測定されたIDDQ値は、完全なSiサンプルのIDDQ分布の範囲内にある。IC_xは、ウェーハAのIDDQ分布に対してもIDDQテストに合格した、すなわち、そのIDDQ測定値は、それ自体のウェーハのIDDQ分布内にある。IC_xは、ファミリー番号9の測定されたIDDQ分布に対して外れ値として特定された。図13から、プロファイリングアルゴリズムによって生成されたファミリー-IDDQの平均シグマ値が約0.15であることが観察され得る。ファミリー9(それ自体のファミリー)の中心からのIC_xの距離は、1.55シグマである。その距離は、シグマの数に換算すると、約10(1.55/0.15)である。それに基づいて(少なくともファミリー内の平均距離の所定の倍数の距離を有する)、外れ値として検出された。
【0160】
ICをファミリーに分類するための測定は、低温(-5℃)、中温(25℃)、および高温(85℃)の3つの異なる温度で行われた。生成されたファミリーは、温度に対して不変であることが判明した。これは、ICが物理的なSiパラメータに基づいてプロファイルされたことを証明している。
【0161】
本願全体を通して、本発明の様々な実施形態は、範囲形式で提示され得る。範囲形式での説明は、単に便宜性および簡潔性のためであり、本発明の範囲に関する確固たる限定として解釈するべきではないことを理解すべきである。したがって、範囲の説明は、すべての可能な部分範囲ならびにその範囲内の個々の数値を具体的に開示していると見なされるべきである。例えば、1~6などの範囲の説明は、1~3、1~4、1~5、2~4、2~6、3~6などの部分範囲、ならびに、例えば、その範囲内の個々の数、例えば、1、2、3、4、5、および6を具体的に開示していると考えるべきである。これは、範囲の幅に関係なく適用される。
【0162】
本明細書で数値範囲が示される場合は常に、表示範囲内の任意の引用数字(分数または整数)を含むことを意味している。第1の表示数~第2の表示数の「間の範囲にある/範囲」および第1の表示数「~」第2の表示数の「範囲にある/範囲」という表現は、本明細書では互換的に使用され、第1および第2の表示数ならびにそれらの間のすべての分数と整数の数字を含むことを意味する。
【0163】
本出願の説明および特許請求の範囲において、「備える(comprise)」、「含む(include)」および「有する(have)」という語、ならびにそれらの形態のそれぞれは、必ずしも、その語が関連付けられ得るリスト内のメンバーに限定されない。さらに、本出願と参照により組み込まれる任意の文書との間に不一致がある場合、本出願が支配することがここに意図されている。
【0164】
この開示における参照を明確にするために、名詞を一般名詞、固有名詞、名前付き名詞などとして使用することは、本発明の実施形態が単一の実施形態に限定されることを示唆するものではなく、開示されたコンポーネントの多くの構成は、本発明のいくつかの実施形態を説明するために使用することができるが、他の構成は、異なる構成のこれらの実施形態から導出することができることに留意されたい。
【0165】
明確にするために、本明細書で説明される慣例の機構のすべてが示され、説明されるわけではない。もちろん、そのような実際の実装の開発では、アプリケーションやビジネス関連の制約の遵守など、開発者の特定の目標を達成するために、実装固有の多数の決定を行う必要があること、およびこれらの特定の目標は、実装ごと、開発者ごとに異なる。さらに、そのような開発努力は複雑で時間がかかるかもしれないが、それでも、本開示の利益を享受する当業者にとってはエンジニアリングの慣例業務であることは理解されるであろう。
【0166】
この開示の教示に基づいて、当業者は本発明を容易に実施できることが期待される。本明細書で提供される様々な実施形態の説明は、当業者が本発明を実施することを可能にする本発明の十分な洞察および詳細を提供すると考えられている。さらに、上記の本発明の様々な特徴および実施形態は、単独で、ならびに様々な組み合わせで使用されることが具体的に企図されている。
【0167】
従来のおよび/または現代の回路設計およびレイアウトツールを使用して、本発明を実施してもよい。本明細書で説明する特定の実施形態、特に、様々な層の様々な厚さおよび組成は、例示的な実施形態の例示であり、本発明をそのような特定の実装の選択に限定するものとみなすべきではない。したがって、本明細書で単一のインスタンスとして説明されているコンポーネントに対して、複数のインスタンスが提供され得る。
【0168】
回路と物理構造が概説的に推定されているが、現代の半導体設計と製造において、物理構造と回路は、その後の設計、テスト、または製造段階での使用に適したコンピュータで読み取り可能な記述形式で、ならびにその結果として製造された半導体集積回路において実施されてもよい。したがって、従来の回路または構造に向けられた請求項は、その特定の言語に一致して、対応する回路および/または構造の製造、テスト、または設計の改良を可能にするために媒体で具体化されるか、適切な読み取り機能と組み合わされるかどうかにかかわらず、コンピュータ可読エンコーディングおよびその表現に基づいて読み出してもよい。例示的な構成において別個の構成要素として提示される構造および機能は、組み合わされた構造または構成要素として実装されてもよい。本発明は、そのすべてが本明細書に記載され、添付の特許請求の範囲に定義される、回路、回路のシステム、関連方法、およびそのような回路、システム、および方法のコンピュータ可読媒体エンコーディングを含むことが企図される。本明細書で使用される場合、コンピュータ可読媒体には、少なくともディスク、テープ、または他の磁気、光学、半導体(例えば、フラッシュメモリカード、ROM)、または電子媒体、ならびにネットワーク、有線、無線または他の通信媒体が含まれる。
【0169】
前述の詳細な説明は、本発明の多くの可能な実装のうちのほんのいくつかを説明した。このため、この詳細な説明は、限定ではなく例示を目的としている。本明細書に開示された実施形態の変形および修正は、本発明の範囲および趣旨から逸脱することなく、本明細書に記載された説明に基づいて行ってもよい。本発明の範囲を定義することが意図されているのは、すべての均等物を含む以下の請求項のみである。好ましい実施形態は、例示的な周波数で動作するPLLの文脈で説明されているが、本発明の教示は、インダクタなどの回路要素が電磁遮蔽から利益を得ることができる他のタイプの回路での使用に有利であると考えられる。さらに、本明細書で説明される手法は、他のタイプの回路用途に適用されてもよい。したがって、他の変形、修正、追加、および改善は、以下の特許請求の範囲で定義される本発明の範囲内に含まれ得る。
【0170】
本発明の実施形態を使用して、集積回路および/または集積回路に基づく製品を製造、生産、および/または組み立ててもよい。
【0171】
本発明は、システム、方法、および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0172】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前述の任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下、すなわち、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令がその上に記録された機械的に符号化されたデバイス、および前述の任意の適切な組み合わせが含まれる。本明細書で使用される際、コンピュータ可読記憶媒体は、それ自体が、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して伝送される電気信号などの、一時的な信号であると解釈されるべきではない。むしろ、コンピュータ可読記憶媒体は、非一時的(すなわち、不揮発性)媒体である。
【0173】
本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/もしくはワイヤレスネットワークを介して、外部コンピュータもしくは外部記憶デバイスにダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含んでもよい。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0174】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはJava、Smalltalk、C++等のオブジェクト指向プログラミング言語、および「C」プログラミング言語等の従来の手続き型プログラミング言語、もしくは同様のプログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータで、一部はユーザのコンピュータで、スタンドアロンのソフトウェアパッケージとして、一部はユーザのコンピュータおよび一部はリモートコンピュータで、または完全にリモートコンピュータもしくはサーバで実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続でき、または、接続は、外部コンピュータに(例えば、インターネットサービスプロバイダを使用したインターネット経由で)なされ得る。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0175】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書で説明される。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0176】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、命令がコンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行されるように機械を生成し、フローチャートおよび/またはブロック図のブロック(複数可)で指定された機能/動作を実装するための手段を形成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスが特定の手法で機能するように命令することができるコンピュータ可読記憶媒体内に記憶され得、命令をその中に記憶したコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図のブロックもしくは複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を備えるようにする。
【0177】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされ得、コンピュータ、他のプログラマブル装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ実装プロセスを生成することができ、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図のブロックもしくは複数のブロックで指定された機能/動作を実装するようにする。
【0178】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能な命令を含む命令のモジュール、セグメント、または部分を表し得る。一部の代替実装では、ブロックに記載されている機能が、図に記載されている順序とは異なる順序で発生する場合がある。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行される場合があり、またはそのブラックは、関与する機能に応じて逆の順序で実行される場合があってもよい。ブロック図および/またはフローチャート図の各ブロック、およびブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する特定目的のハードウェアベースのシステムによって実装できることにも注意されたい。
【0179】
本発明の様々な実施形態の説明は、例示の目的で提示されたが、網羅的であること、または開示された実施形態に限定されることは意図されていない。説明された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、または市場で見られる技術に対する技術的改善を最もよく説明するか、または当業者が本明細書で開示される実施形態を理解できるようにするために選択された。

図1
図2
図3A
図3B
図4
図5
図6
図7A
図7B
図7C
図7D
図8
図9
図10A
図10B
図11
図12
図13
図14