スコット・ルーベルスコット・トゥルーベル0NXPセミコンダクターズ、博士、シニアプリンシパルエンジニア
トッド・ジェイコブス博士、NXPセミコンダクターズ主席エンジニア
ジェームズ・ネルソンtxnelson 、ソフトウェアエンジニア、シックスシグマブラックベルト、独立請負業者
導入
現代のチップ設計には、プロセス、電圧、温度に対する感度が異なる複数のIPコンポーネントが含まれています。これらのコンポーネントはすべて、幅広い動作条件下で機能する必要がありますが、コンポーネントごとにプロセス条件が異なり、高温や低電圧など、より厳しい条件が課せられる場合があります。これらのパフォーマンスは製造前に予測し、実際のシリコンがテスト可能になった時点で特性評価を行うことができます。IPコンポーネントの数が増えるほど、モデリング/特性評価の作業量も増加します。
顧客はそれぞれ独自のパフォーマンス要件をこれに加えて抱えています。ある顧客は消費電力をほとんど気にせず非常に高い動作速度を要求する一方で、別の顧客は極めて厳しい電力要件を要求し、場合によっては一部のチップコンポーネントを完全にオフにする必要があるかもしれません。これらの要件は、別々のプロセスや製品バージョンを実行するだけでは満たされません。各生産バッチには、異なるパフォーマンスグレードの製品が混在しています。さまざまな顧客の要件に合わせてこの組み合わせを最適化する(ビン製造プロセス ウィンドウ全体にわたって在庫が多すぎるか少なすぎると、粗利益に大きな影響を与えます。特定のビンの在庫が多すぎるか少なすぎると、販売できない製品となり、基本的に歩留まりの損失につながります。
モンテカルロシミュレーションは、さまざまな条件下での速度-出力分布とビンミックスをシミュレートするのに最適です。多数の統計パラメータ(通常 40~60 個、共分散行列を含む)とビン制限(約 20~100 個)が関係します。これらを管理するには、一貫したパラメータ抽出と文書化が重要であり、JMPスクリプトが役立ちます。統計ツールとジャーナリング機能を備えており、「最初から正しい」シミュレーションを確実に実行できます。さらに、最速の実行時間 (1 ~ 5 分/実行) と一貫性のあるドキュメントにより、複数のビジネス ケースをリアルタイムで比較できます。
シミュレーションフロー
下の図は、典型的な一連のシミュレーション実行のプロセスフローを示しています。まず、予測値または実際の性能特性から、製品を記述する基礎となる統計パラメータを抽出します。次に、これらのパラメータ(特に分散)をスケーリングして、様々なシナリオを評価します。この時点で、モンテカルロエンジンは速度と電力の分布のシミュレートされた「クラウド」を生成します。これにビンの制限(顧客要件)が重ね合わされます。制限内でクラウドの体積を数値積分することで、この特定のクラウドにおけるビンの統計分布が決定されます。スクリプトは、この処理を様々な製造条件で自動的に繰り返し、ビンミックスが許容される(販売不能なダイがない)プロセスウィンドウを決定します。この時点で、異なるシナリオを検討する必要がある場合があります。その場合、異なるスケーリングや制限でシミュレーションを再実行し、最終的に特定の需要ミックスに最適なプロセスと制限の組み合わせに到達します。

速度・電力配分とビニング
以下のグラフは、単一のIPドメインにおける典型的な(シミュレーションによる)速度対電力グラフです。周波数はほぼ常にlog(静的リーク電流 = SIdd)の線形関数であるため、傾き、切片、RMSE(ノイズ)で表されます。log(SIdd)自体は、平均値と標準偏差で表されます。標準偏差の変化を一般的に評価するため、入力値の1つとしてスケーリングパラメータを含めています。つまり、クラウドには電力に関するパラメータが3つあり、さらに各電圧と温度における周波数テストごとに3つのパラメータがあります。以下のグラフは、ビンの制限例を示しています。静的電力が0.32 logA未満で、かつ1040 MHzを超えるダイ(緑色の枠内)は、このビンの要件を満たしています。

公称テスト電圧(お客様の仕様範囲内)を調整することで、合格ダイ数を増やすことができます。高電圧では部品の動作速度が速くなるため、低速のダイでも周波数要件を満たせるようになります。しかし、部品の静的および動的消費電力も増加し、その許容値は一定です。この許容値内に収めるには、固定基準電圧における静的コンポーネントの許容値を低く抑える必要があります。下図の薄緑色のボックスは、高電圧でビン要件を満たした追加のダイを示しています。低電圧の場合は逆のことが起こり、濃い緑色のボックスは、このシナリオで捕捉された追加のダイを示しています。

あるビンを通過しないダイは、異なる電圧であっても別のビンを通過する可能性があります。下のグラフは、こうした外れ値のダイを捕捉する2つのビン、すなわち低速・低電力ビン(青)と高速・高電力ビン(赤)を示しています。

もちろん、多くのダイは複数の仕様をクリアできます。次のグラフはこれらの重複領域を示しており、最も濃い緑色の象限にあるダイは、緑色の仕様限界に加え、赤色と青色の仕様限界もすべてクリアしています。ビニング領域は、電圧間の論理和と、温度およびIPドメイン間の論理積の組み合わせで表されます。これらのダイは、必要に応じてあるビンから別のビンへと供給電圧を柔軟に調整するために使用できます。.

各ビンのダイ数をカウントする方法は2つあります。1つ目は最大分布で、ビンの速度/電力要件を満たす可能性のあるすべてのダイをカウントします。これは重要な供給制約です。需要が最大分布を超えると、供給が常に不足し、結果として販売できない材料(歩留まり損失)が発生します。この指標では、重複する領域にあるダイは、ビンを通過するたびにカウントされるため、ビン全体の分布の合計が100%を超える場合があります。
ダイをカウントする2つ目の方法は、ビンミックスです。この方法では、ユーザーは各ビンにおいてダイが考慮されるソート順を指定します。ダイがビンを通過すると、それ以降の考慮対象から除外されます。したがって、ビンミックス分布の合計は常に100%になります。これは、二重カウントが発生しないためです。これは、私たちが考慮する2つ目の主要な供給制約であり、実際の生産において需要を満たすのに十分なダイがあるかどうかを決定します。最大分布とは異なり、ビンミックス分布はソート順を変更することで変更可能であり、通常、製品の寿命全体にわたってこれらのオプションを評価します。
以下の表は、5 つのサイコロのセットにおける最大値とビン ミックスの分布がどのように異なるかを示しています。

ビンの割り当てとカウントの原理は単純ですが、実装は非常に複雑になる可能性があります。スクリプトはまさにこの点で強力なツールとなります。スクリプトは、各ダイに対してロジックが常に正しく実行されることを保証し、ユーザーエラーの大きな潜在的な原因を排除します。
入力構成ファイル
シミュレーションに必要な膨大な入力データをすべて1つのファイルにまとめ、一貫性のある分かりやすいドキュメントを作成したいと考えています。さらに、統計データの抽出と実際のシミュレーション実行を管理するためのスクリプトインターフェースも必要です。JMPはこれらすべてを単一のデータオブジェクトでサポートしており、私たちはそれをすべての入力データに使用しています。例を以下に示します。

上部領域は、様々なスクリプトルーチンに使用されます。パラメータ名は長くて複雑な場合が多いため、JMPのテキスト解析コマンドを使用して、より分かりやすい名前に変更できるオプションが用意されています。データファイルに基づく初回実行時に、スクリプトは必要な統計パラメータをすべて抽出し、設定ファイルに保存します。次回の実行では、これらの保存されたパラメータをそのまま使用できます。ユーザーはデータファイルを別途保存する必要がないため、製品の設定ファイルを使用して誰でも同一のシミュレーションを実行できます。これにより、異なる入力データセットに基づいて分析を行う際に生じる不整合を回避できます。
このスクリプトには、構成テーブルを検証するオプションも含まれています。これは、「最初から正しい」シミュレーションを実現するために不可欠なツールです。なぜなら、誤った結果を生み出す可能性のある多くの潜在的なエラーをチェックするからです。このスクリプトは、毎回専門家によるユーザーレビューに頼るのではなく、主要な入力(制限値、テスト、温度または電圧のグループ化パラメータなど)が欠落していないことを確認するだけでなく、より微妙なエラーもチェックします。これらのエラーは、完全に相関したパラメータ、非物理的な相関、または常に0%または100%の分布を保証するビン/パターン/グループ化の組み合わせなど、誤った(しかし現実的に見える)シミュレーションを生み出す可能性があります。
ジャーナル出力
JMPのジャーナルファイル機能を使用して出力を集約・標準化し、文書化のベストプラクティスを確保しています。ほとんどの分析で重要な機能は、シミュレーションによる速度-出力分布(必要に応じて複数のパラメータペアをプロット可能)と、製造プロセス範囲全体にわたる最大およびビン混合能力分布のプロットです。グラフに加えて、ファイルには統計パラメータと設定ファイルからのその他のすべての入力も含まれているため、基礎となるシミュレーションの詳細を完全に追跡できます。これは、製品ライフサイクルの初期段階で複数のシナリオを検討する際に非常に重要です。基礎となる入力のいずれかを文書化しないと大きな混乱が生じる可能性がありますが、出力をスクリプト化することで、そのような事態を回避できます。

シナリオモデリング
ドキュメント作成が自動化されたことで、様々なシナリオを迅速に評価することに集中できるようになりました。シミュレーション時間は非常に短い(1~5分)ため、一般的なシナリオは会議中にリアルタイムで評価でき、マーケティングチームやデザインチームとの議論を大幅に円滑に進めることができます。以下にいくつかの例を示します。まずは最も単純な例の一つである、プロセス分散のスケーリングです。最初のグラフは、工場のプロセス制御が改善された場合の、単一ビンの最大分布への影響を示しています。一部の領域では分布が低下しますが、最適目標値では大幅に改善されています。このような状況は非常に一般的であるため、分散のスケーリングは設定ファイルで調整可能なパラメータとして提供されています。

2つ目に検討すべき非常に一般的なバリエーションは、ビンのソート順の変更です。これは製品のライフサイクル全体にわたって発生する可能性があります。以下のグラフは、ソート順がオレンジ、赤、薄緑、濃緑、青の場合の製造プロセス全体におけるビンの混合分布を示しています。(最大分布のグラフはソート順の影響を受けないため、ここには表示されていません。)プロセスターゲット(縦の黒い線)では、オレンジのビンが支配的で、薄緑と赤のビンのダイが少量含まれており、青や濃緑の分布はほとんど見られません。

ここで、赤色のビンと濃い緑色のビンのソート順序を入れ替えた場合の効果を評価します。これにより、前者の出荷量はどれくらい減り、後者の出荷量はどれくらい増えるでしょうか。ソート順序は設定ファイルで簡単に変更できるパラメータであるため、この比較の実行には数分しかかかりません。以下のグラフは結果を示しています(明るい緑色のビンは、新しい順序で最初にテストされる濃い緑色のビンによって完全に覆われていることに注意してください)。

オレンジ色のビンの分布は変わりませんが、ダイのかなりの部分(約30%)が、以前の赤や薄緑ではなく、濃い緑のビンに分類されるようになります。この結果を顧客の需要と比較することで、テストプログラムを変更する必要があるかどうかを判断できます。
シミュレーションが必要なもう 1 つの一般的なシナリオは、組み立て前のダイ ソーティングです。この場合、製品は、パフォーマンスに応じて異なるパッケージに組み込まれることがあります。全体的なビンの混合を把握することに加えて、各パッケージ タイプで混合がどうなるかを把握する必要があるため、複雑さが増します。また、組み立て前のテストで、ダイが適切なパッケージにどの程度適切に振り分けられているかも把握する必要があります。これは、JMP スクリプトで簡単に実行できます。ダイごとに、すべてのテストとすべてのビンの合否データが含まれているためです。下のグラフでは、ウェーハ組み立て前の速度テストに不合格になったダイ (青緑色) は、組み立て後に ACSCAN_PLAT_MIN_FMAX までテストすると、確かに最も遅いダイの 1 つであることがわかります。ただし、相関関係は完全ではありません。青緑色のダイは、他のビンの境界とかなり重なっています (このシミュレーションでは、前の例とは異なるテストとビンが使用されていることに注意してください)。

この相関関係が量産段階で使用するのに十分かどうかは、結果として得られるパッケージごとのビン分布が許容範囲内であるかどうかにかかっています。以下のグラフは、すべてのダイ(左)を製造した場合と、ターコイズダイ以外のすべてのダイ(右)を製造した場合の違いを示しています。分かりやすくするために、ビンミックス分布の対応するグラフは示していませんが、評価の一部として考慮されます。

シナリオモデリング:変数の制限
よくある状況ですが、やや複雑なのは、異なるビン制限を考慮したい場合です。これは製品定義フェーズで最も多く発生します。顧客に提供できる電力が不明確な場合や、設計チームがIPの動作速度が想定よりも遅い場合の影響を把握したい場合があります。当社のシミュレーションスクリプトは、ビン制限を段階的に変更できる柔軟性を備えており、分布への影響を調査できます。これらの分析は大きく異なる可能性があるため、特別なグラフィカル出力は生成しませんが、分布データは個別のデータテーブルとして簡単に保存でき、必要に応じて調査できます。以下の例は、「Bin 1 Combo」の最大分布において、電力制限を11段階で変更した場合の標準出力を示しています。ピークは低下し、電力制限が厳しくなるほど右にシフトします。 (ビン 2 ~ 5 には、制限が変わらないため、単一の曲線しかありません。右側には、ターゲット プロセス (垂直の黒い線) でのビン 1 の分布を、ビン制限 (ステップ番号でラベル付けされています。必要に応じて実際の電力値に変換できます) の関数としてプロットするカスタム グラフが表示されます。通常どおり、必要に応じて、ビン ミックスの分布に対してもこの分析を実行できます。

右のグラフから、Bin 1の供給が急激に減少し始める前に、電力制限を3~4段階引き下げる余地があることがわかります。その時点では、供給がわずかな変化に非常に敏感になります。この情報は、お客様にどのような電力仕様を提供するかを検討するマーケティングチームにフィードバックされます。
特定の IP に対する速度感度も評価する必要があります。ここでも、ビンの制限を段階的に設定し、3 つのメトリクスを考慮します。1 つ目は、最適プロセス ターゲット (X 軸上のピーク分布位置) です。これは無限に調整できるものではなく、簡単に実行できるものでもありません。そのため、プロセス ターゲットが速度低下の影響を受けないようにする必要があります。また、妥当なプロセス ウィンドウ (供給が需要と一致する範囲) も必要です。もちろん、顧客の注文を満たすには、そのビンを通過するダイが十分である必要があります。以下の 3 つのグラフはすべて同様のことを示しています。約 40 MHz までの速度低下は許容できますが、それを超えると最適プロセス ターゲットは速度変動に非常に影響を受けやすくなり、プロセス ウィンドウは急速に縮小し、ビンの供給自体が崩壊し始めます。この入力により、設計チームは成功の明確な基準と、シミュレーションにどの程度のマージンを含めるべきかについて確かな感覚を得ることができます。

特に複雑な状況では、速度と電力の変動を同時に考慮する必要があります。例えば、速度マージンの改善が電力コストの増加につながる場合などです。スクリプトツールに組み込まれたジャーナリング機能は、特にこの点で重要であり、変化するすべての入力を自動的に記録します。
まとめ
JMPスクリプトの使用により、製品パフォーマンスモデリング能力が大幅に向上しました。複雑な入力データも組み込みの検証機能で管理できるため、よくあるユーザーエラーを回避できます。スクリプトがモンテカルロシミュレーション自体の計算処理を担当するため、ユーザーは統計的な詳細ではなく、付加価値の高い結果に集中できます。また、ベストプラクティスに基づいた一貫した出力が保証されるため、専門家によるレビューや長々としたドキュメント仕様を必要とせずに、すべての分析結果を詳細に文書化できます。
このツールは、シリコンデータを使用することも、製品が完成する前の段階で性能予測を組み込むことも可能です。このツールの最大の真価はここにあります。製品のライフサイクルの非常に早い段階で製品にインパクトを与え、最終仕様が確定する前に設計チームとマーケティングチームに有意義なフィードバックを提供できるのです。これにより、顧客エンゲージメントが向上し、製品の発売時にはすべての機能ダイが販売可能であることが保証されます。さらに、感度分析を迅速に実行することで、堅牢なプロセスウィンドウを確保できます。発売時にこれらの基準を満たす製品は、収益性が向上し、製造オペレーションがスムーズになり、製品寿命全体を通して顧客ニーズをより適切に満たすことができます。