<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ロバート・マーフィー(マーフィー)、アドバンスト・マイクロ・デバイセズ社技術スタッフのメンバー
ジェイソン・パケット (ジェイソン・パケット)、アドバンスト マイクロ デバイス社、製品開発エンジニア

概要—設計リソースを最大限に活用し、市場投入までの時間を最小限に抑えるために、システム オン チップ (SoC) 設計では機能ブロックを大幅に再利用します。 この再利用により、ブロック レベルでのパフォーマンスと歩留まりを比較するための基礎が提供され、集中的なデバッグとさらなる最適化の機会が可能になります。 このペーパーでは、JMP のグラフ ビルダー プラットフォームで使用するカスタム マップを生成するプロセスについて説明します。 この手法は、高度にインタラクティブなツールを使用して空間駆動信号を探索するための貴重なアプローチを提供します。 JMP のカスタム マップの機能を活用することで、プロセスの改善を強化します。
索引用語- カスタム マップ、ハイパー ヒートマップ、根本原因分析、SoC、システム オン チップ、歩留まり。
I.はじめに
今日の SoC は、パフォーマンスと電力効率の向上を追求する最先端の半導体プロセス技術に基づいて構築された比較的大型のデバイスであることが多いです。 これは、I/O、計算、グラフィックスなどのさまざまなチップ機能を提供する、複製されたブロックと固有のブロックの両方の配列で構成されています。 これらのブロックは、ダイ上の物理的な位置に従ってマップとして表すことができます。 このタイプのマップを JMP のカスタム マップとして使用することにより、エンジニアやアナリストは、プロセス、テスト、または歩留まりの問題をより迅速にデバッグできる強力な視覚化を作成できます。 これにより、歩留まりと品質の向上が促進され、新製品設計の投資収益率 (ROI) が向上します。 ウェハ上の物理的な位置に従ってグラフ ビルダーでダイベースのヒートマップを組み合わせることで、これまで気付かなかった効果が明らかになります。 これは、多くの半導体製造上の課題が、中心効果やエッジ効果など、ウェーハ内の空間的位置に強く依存しているという事実によるものです。 これらの位置依存関係を明確に示すことで、潜在的な根本原因のリストが大幅に絞り込まれ、プロセスの改善が促進されます。
II.カスタム マップを使用する利点
現在、エンジニアやアナリストが外れ値の応答を特定するために選択できるさまざまなツールがあります。 これらの例としては、ヒストグラムや箱ひげ図などがあります。 これらのツールは価値があり、よく利用されていますが、パターンをより迅速に識別するための物理的な位置を示す機能がありません。 これらのパターンを理解すると、その後の分析と根本原因の切り分けの範囲が減り、デバッグの所要時間が短縮され、歩留まりが向上します。
このホワイトペーパーは半導体業界に焦点を当てていますが、カスタム マップのアプリケーションは、空間信号を使用する多くの設定で役立ちます。
Ⅲ. JMP でのカスタム マップの作成
JMP でのカスタム マップ形状の生成は、各形状の頂点を 1 つずつ接続することによって実行されます。 これを実現するために、JMP では、「-Name」ファイルと「-XY」ファイルという 2 つの定義ファイルの形式で頂点座標情報が必要です。 「-Name」ファイルには必要な数値が含まれています形状IDと名前列と「-XY」ファイルには以下が含まれます形状ID、部品ID、XとY頂点の座標。の形状ID列は、「-XY」ファイル内の座標を「-Name」ファイル内の形状名にリンクするものです。
頂点座標が利用可能な場合は、「-Name」ファイルと「-XY」ファイルをいくつかの手順で生成できます。
各形状がデータ テーブルの 1 行を占めるように、座標ファイルを要約します。 「形状 ID」列を昇順 (1 から始まる) で作成し、各形状に一意の ID を与えます。 形状 ID はテーブルの最初の列である必要があります。テーブルを「」として保存します$$$ -Name.jmp' ここで$$$は選択されたプレフィックスです。 このファイルには、各形状を表すわかりやすい名前列が必要です。 この列の列プロパティ内で、「マップの役割」を選択し、「形状名の定義」に設定します (図 1 を参照)。 この列の値はオーバーレイの生データをリンクするために使用されるため、これは重要な手順です。
- イチジク。 1 。 形状名定義マップ役割プロパティ設定
元の座標テーブルを開いたままにして、作成した一意の Shape ID 列を結合し、テーブルを Shape ID で昇順に並べ替えます。 データテーブルを「」として保存します$$$ -XY.jmp' ここで$$$ 「-Name」ファイルに使用されるプレフィックスと同じである必要があります。
この「-XY」ファイルには 4 つの必須列が必要です。形状ID 、バツ、 Y 、 と部品ID 。 現在の状態では、ファイルにはこれらの情報がすべて含まれているはずで、列の名前を変更するだけでよい場合もあります。 ただし、部品ID桁。 この列は基本的に、複数の島で構成されるハワイ州など、特定の形状に複数の個別の部分があるかどうかを JMP に伝えます。 多くの場合、各形状には 1 つの部分しかありません。 このような場合、Part ID 列をすべて 1 に設定できます。 のバツとY列には、各形状の各頂点の座標が含まれます。 強調する価値のある微妙な詳細は、「-XY」ファイル内の各シェイプの頂点の出現順序が重要であるということです。構成を誤ると、シェイプの不正確な表現につながる可能性があります。 JMP は、「-XY」マッピング ファイルを使用して、頂点から頂点へ (ファイルの最初の行から最後の行まで) シェイプをトレースします。 新しいトレースは、新しい形状 ID またはパーツ ID ごとに開始されます。 図 2 は、単純な長方形のトレースにおいて頂点の順序がどのように異なるかを示す例を示しています。
- イチジク。 2 。 シェイプの頂点の正しい順序と間違った順序
生の座標データが複数のタイプのカスタム マップ間で一貫している場合は、「-XY」および「-Name」形状定義ファイルを作成するための JMP スクリプト言語 (JSL) スクリプトが役に立ちます。
カスタム マップの生成の詳細については、次のリソースを確認してください: [ヘルプ]>[ヘルプ コンテンツ]>[Essential Graphing]>[マップの作成]>[グラフ ビルダー]>[カスタム マップ ファイル]。
最後に注意すべき点は、マッピングが正しく機能するには、「-Name」と「-XY」の両方の形状定義ファイルを同じプレフィックスを付けて同じディレクトリ内に保存する必要があることです。
IV.カスタムマップの使用法
定義ファイルを設定すると、JMP にデータをインポートできます。 グラフ ビルダーでデータを視覚化する前に、データをカスタム マップ定義ファイルにリンクするための最後の準備手順が必要です。 定義されたデータ内で見つかった値と完全に一致する値を持つ列がデータ内に存在する必要があります。形状名の定義そうしないと、JMP はカスタム マップをリンクできなくなります。
データ テーブルをカスタム マップにリンクするには、形状名を格納するデータ テーブル内の列の列プロパティを開きます。 [マップ ロール] プロパティ内で、[シェイプ名の使用] オプションが選択されていることを確認し、適切なシェイプ定義列が選択された状態で、「マップ名データ テーブル」として「-Name」ファイルを選択します (図 3 を参照)。 JMP11 では、これらのオプションには「-Name」ファイルを検索するための対話型のファイル ダイアログがないため、ファイルをコピーして貼り付けるか、テキスト ボックスに入力する必要があります (拡張子「.jmp」を含む)。
- イチジク。 3 。 シェイプ名 使用マップ ロール ファイルの選択
JMP は、ソフトウェアが自動的にチェックする特定のディレクトリに「-Name」ファイルと「-XY」ファイルを配置することもサポートしています。ただし、このアプリケーションでは、異なる SoC 製品間で異なるマッピングを持つ同一の形状名を使用しています。そこで、名前の衝突を避けるために、ファイル選択方式を利用します。 コンピュータのオペレーティング システムに基づいて自動ディレクトリの場所を見つけるには、JMP のヘルプを参照してください。
すべての準備作業が完了したら、グラフ ビルダーを開き、リンクされた形状列をデータ テーブルからウィンドウの左下隅にあるマップ形状ドロップ ゾーンにドラッグ アンド ドロップします (図 4 を参照)。 次に、JMP は、形状定義ファイルにもある、データ テーブル内にあるすべての形状インスタンスを表示に表示します。
- イチジク。 4 。 グラフビルダーのマップ形状ドロップゾーンの位置
データ テーブルで見つかった特定の形状が形状定義ファイルで認識されない場合があります。これは、名前が同一でない、命名規則が異なる、または単にリストされていないことが原因である可能性があります。 これらの認識されない形状は、グラフ ビルダー ウィンドウの下部に「マップ形状が見つかりません」として表示されます (図 5 を参照)。 これらの不足している形状を組み込むには、形状定義ファイルと一致するようにデータを変更するか、形状定義ファイル自体を更新する必要があります。
- イチジク。 5 。 データ内の図形が認識されない場合のグラフ ビルダーの表示
この時点で、データ列を色ドロップゾーンは、列データとモデリングタイプに基づいて適切なカラーオーバーレイを提供します。
次のセクションでは、さまざまなユースケース シナリオと成功事例を概説するいくつかの詳細な例について説明します。
V. 例
- A. 収量データ
冒頭の繰り返しになりますが、SoC 設計でブロックを再利用できる利点により、個々のブロックのパフォーマンスと歩留まりを比較する手段が可能になります。 ブロック レベルで処理するスキャン (フリップフロップおよび共通ロジック) や組み込み自己テスト (BIST、メモリ テストおよび修復) などのテスト手順を使用するのが非常に一般的です。 SoC の場合、これらのブロックはタイルと呼ばれます。 図 6 は、数千ユニットの結果を集計した、各タイルの特定のテストの収量を示しています。 赤で色付けされたタイル (および白で番号が付けられている) は、より注意が必要な低利回りの外れ値タイルです。 次のサブセクションでは、このビューでは明らかではない、これらの外れ値を駆動する別の力があることが示されます。
- イチジク。 6 。 外れ値を含む SoC タイルの歩留まりヒートマップ
- B. ハイパーヒートマップ
前の収量の例を続けると、明らかな異常値タイルのセットが存在します。 ただし、何が問題なのかは不明です。 図 7 は、ウェーハ上の各ダイ位置の各 SoC タイル ビューをネストするハイパー ヒートマップを示しています。グループXとグループYドロップゾーン。 人口がまばらなダイの場所では、タイルの故障率が低くなります。 図 6 の番号付き外れ値が図 7 に追加されており、これらのタイルの歩留まりを低下させるダイの位置を表しています。 タイル用1 、 2 、 と3主な理由は、特定のダイ X、Y 位置のウェーハのエッジに隣接するコーナー タイルであることです。これらのタイルは、ウェーハエッジのすぐ隣にある場合、ウェーハ製造プロセスにおいてウェーハの他の領域では起こらないエッジ影響を受けます。 多くのオブジェクトを含むハイパー ヒートマップをより明確に表示するには、色変数のベースラインまたは予想されるレベルをフィルターで除外すると便利な場合があります。図 7 はこのようにフィルタリングされています。タイル4歩留まりの低下は主にウェーハの中心に集中しており、製造プロセスによる変動の影響も知られています。 製造プロセスにより、ウェーハ全体にさまざまな不均一性が生じますが、多くの場合、その不均一性は中心領域またはエッジ領域でより強くなります。 このハイパー ヒートマップにより、タイル自体に設計の最適化が必要かどうかを判断するためにリソースを費やすことなく、問題領域がどこにあるのかを迅速に理解することができました。
- イチジク。 7 。 ベースライン歩留まり率をフィルタリングすることで異常値のダイ位置を強調表示するウェーハレベルのハイパーヒートマップ
- C. パラメトリックデータ
図 8 は、ウェハレベルのハイパーヒートマップ上でパラメトリック データをどのように視覚化できるかを示す例です。 表示される各タイルには、デバイスのパフォーマンスと相関付けるメトリックとして値が使用されるアナログ測定構造が含まれています。 データ テーブルには数百のウェーハが含まれており、この特定のビューはウェーハ上の各ダイの位置での各タイルの測定値の平均値を示しています。 製造プロセスのよく知られた残骸は、オーバーレイで描かれた同心円によってはっきりとわかります。
- イチジク。 8 。 アナログ特性評価構造のウェーハレベルのハイパーヒートマップ
VI.成功事例
大量生産品では、他の製品よりも歩留まりが悪く、顕著な外れ値タイルが示されました (図 9 を参照)。この場合、赤は利回りの低いタイルを示し、青は利回りが高いことを示します。
- 図9。 異常値タイル観察による初期 SoC レベルの歩留まり
ヒートマップを利用したさらなる分析により、これはウェーハの左下エッジにある外れ値タイルの系統的なウェーハエッジの特徴であることが判明しました。このタイルはウェーハエッジに隣接していました (図 10 を参照)。 この信号はファウンドリの注意を引き、ウェハの端でのリソグラフィ調整の最適化というプロセスの改善を実施することになりました。 このプロセスの改善により、ウェーハ全体の歩留まりが大幅に向上しました。
- 図10。 ウェーハ左下エッジの異常値タイルのウェーハレベル観察
ハイパー ヒートマップ ビューが表示される前は、この降伏信号の最初の調査はタイル自体、つまりこの場合は間違った方向に焦点が当てられていました。ウェーハエッジの歩留まりの相関関係が明確になると、適切な所有者は継続的な改善の取り組みを直ちに開始することができました。
VII.ヒントとコツ
A.欠落している形状を表示
グラフ ビルダー プラットフォーム内の列選択ボックスのすぐ下に、次のタイトルのチェック ボックスがあります。欠落している形状を表示。 これを選択すると、定義ファイルにはあるが現在のデータ テーブルには見つからない形状のアウトラインが表示されます (図 11 を参照)。 これは、欠落しているデータを見つけたり、マップの全体像を把握したりするのに役立ちます。
- 図11。 グラフビルダーの欠落形状を表示チェックボックス
B.データラベルオーバーレイの有効化
図形の上にマウスを移動したり、各図形の上にラベルを表示したりできるようにすると、パターンをすばやく識別するのに役立ちます。 選択した列を右クリックし、ラベルを付ける/ラベルを外すグラフ ビルダーの図形の上にマウスを移動すると、初めて列データが表示されます。 図形上にラベルを静的に表示するには、対象のデータ テーブル内の行を選択し、ラベルを付ける/ラベルを外す。
C.フィルターとカラムスイッチャーによる自動化
ボリューム データを分析する場合、微妙なパターンを検索するのは面倒な作業になることがありますが、マウス クリックの量を最小限に抑えることが常に役立ちます。 を活用して、フィルターの自動化とカラムスイッチャー機能 (グラフ ビルダーの赤い矢印 > スクリプト) は、さまざまな条件で膨大な量の空間データをスキャンする効率的な方法です。
D. JMP12 によるフレーム ページング
グラフ ビルダー プラットフォームには、最近の JMP12 アップデートにより機能がいくつかアップグレードされています。つまり、ページドロップゾーン。 データ列をこのドロップゾーンに配置すると、その列で見つかった一意の値の数に応じて、グラフ ビルダー フレームの複数のインスタンスが生成されます。 レポートはインタラクティブ HTML ドキュメントとして保存して共有できます。
E.グループおよびラップドロップゾーンによるフレームセグメンテーション
ウェーハ ハイパー ヒートマップの例に見られるように、フレームは、フレーム内のネストされた列を使用してセグメント化できます。グループXとグループYドロップゾーン。 ウェハ ハイパー ヒートマップでは、セグメント化に X 座標と Y 座標を使用しましたが、任意の列を使用できます。 よく使用される他の例としては、電圧テスト ポイント、テスト温度、周波数テスト ポイントなどがあります。 の包むドロップゾーンには、スペースをより効率的に使用する同様の機能がありますが、列のネストは利用できません。 グループ変数を右クリックすると、ユーザーは表示レベルの数を選択して、対象領域に効果的にズームインできます (図 12 を参照)。
- 図12。 表示オプション内のレベルの選択グループ変数ゾーン
F.グラフビルダーの色設定の変更
カスタム マップ オーバーレイ データを分析する場合、多くの場合、カラー設定を簡単に変更するだけで、外れ値パターンの外観を大幅に強調できます。 著者らは、単方向データ (収量、速度など) には連続カラー テーマを使用し、両面データには発散カラー テーマを使用して暗い背景 (グラフ > 背景色) を使用することを推奨しています。 カラー テーマには、凡例を右クリックして、[グラデーション設定] 内でアクセスできます。 デフォルトでは、グラフ ビルダーは各図形の周囲に幅 1 ピクセルの灰色の境界線を追加します。これにより、小さな図形の一部が隠れる可能性があります。 この境界線を削除するには、フレーム内を右クリックして [カスタマイズ] > [地図の形状] を選択し、線の幅をゼロに変更します。
Ⅷ.既知の問題と注意事項
- A. 重なった形状では希望の色が表示されない場合があります
これは、カスタム マップで定義された形状に重複する領域がある場合に発生します。 図 13 では、 acpとGNBブロックは共通の領域を共有しますが、使用される色は 1 つだけです。 これは、重複する形状を含むカスタム マップを作成するときに注意すべき点です。
- 図13。 2 つの重なった形状の間違った色のオーバーレイ
- B. ラベルをドラッグしてポインターを作成すると、ラベルのない行が表示される
図 14 は、目的のラベル (黒い点線) をドラッグすると、ラベルのない行に無関係なラベル (赤い点線) が表示される様子を示しています。この問題は JMP 12 で修正されています。
- 図14。 ラベル (黒) をドラッグすると、ラベルのない行 (赤) が表示されます。
- C. ビューのレベルを変更するとフレームのカスタマイズがリセットされる
図 15 は、デフォルト ビューのフレーム カスタマイズを最初に設定し、いずれかのビューで 4 つのレベルを選択する過程を示しています。グループ最後に元のビューに戻ると、最初に適用されたカスタマイズは失われます。
- 図15。 ビュー機能のレベルを変更するとフレームのカスタマイズが失われる
- D.Map 役割列のプロパティと要約テーブル
列にマップ ロール プロパティが適用されており、データ テーブルが (その列を含めて) 要約されている場合、グラフ ビルダーは列プロパティを認識しません。 これは、「マップ ロール」プロパティで定義されているにもかかわらず、シェイプ ファイルが見つからないことを示しているだけです。 回避策は、マップ ロール プロパティを削除し、再度追加することです。 あるいは、ファイルを保存して閉じ、再度開くと、マップ ロール プロパティは期待どおりに機能します。
- E. マップ ロール プロパティを更新できない
[マップ ロール] 列プロパティを使用する場合、プロパティが設定され、形状定義ファイルが適用されると、別のファイルを選択するように変更しても、新しいファイルの設定が更新されないことが確認されました。 また、形状定義列は更新できません。 回避策は、マップ ロール プロパティを削除し、新しいファイルと列の設定を使用して再度追加することです。
IX.強化の機会
グラフ ビルダー プラットフォーム内のカスタム マップは、優れたインタラクティブ インターフェイスを使用して、空間データに相関するパターンを分析する際に優れたパフォーマンスを発揮します。 このホワイトペーパーで述べたように、この機能により根本原因分析が成功し、実際の財務上の影響につながりました。 この機能を広範囲に使用すると、その利点は明らかであり、いくつかの最適化でその有用性を拡張するだけで、より良い結果が得られます。
以下に、作成者が経験に基づいてまとめたいくつかの機能強化の機会を示します。
A.ビュー内のレベルのその他のオプション
グラフ ビルダーは、次の方法を使用してビューをセグメント化する機能を提供します。グループ両方のドロップゾーンバツとY軸。 右クリック メニューには、ビューのレベル数を設定するためのオプションがいくつかありますが、かなり厳密です (図 16 を参照)。 多くの場合、ビュー内の 4 つ以上のレベル (ただし、すべてではないレベル) が必要ですが、現在そのオプションは存在しません。 これは、グループ列の値の数に基づいて動的に変更できます。
- 図16。 表示オプションのレベルは 1 ~ 4 またはすべてに限定されます
B.複数列ページングのサポート
これは、マウスをスクロールするだけで複数のビューをすばやくスキャンできる非常に便利な機能です。 この機能は、「」と同様に、複数の列でフレームを分割できる場合にはさらに最適化できます。に'他のプラットフォームの機能。 現時点での回避策は、新しい列を作成し、複数の列のデータを連結してさまざまな組み合わせを取得することですが、複数列のページングの方がよりクリーンな解決策です。
X. 謝辞
著者らは、JMP のカスタム マップ形式への変換に非常に役立つ特別な出力形式を AMD のフロア プラン ソフトウェアに追加する際に協力してくれた Paul Shook に感謝したいと思います。さらに、JMP での SoC 歩留まり視覚化のためのカスタム マップの使用を評価する際にご協力いただいた AMD の同僚アナリストに感謝いたします。
AMD、AMD Arrow ロゴ、およびそれらの組み合わせは、Advanced Micro Devices, Inc. の商標です。本書で使用されているその他の製品名は識別目的のみであり、それぞれの会社の商標である場合があります。