ロバート・マーフィー ( マーフィー )、アドバンスト・マイクロ・デバイセズ社技術スタッフ
Jason Paquette ( ジェイソン・パケット )、製品開発エンジニア、Advanced Micro Devices

概要—設計リソースを最大限に活用し、市場投入までの時間を最短にするために、システム オン チップ (SoC) 設計では、大量の機能ブロックを再利用します。この再利用により、ブロック レベルでパフォーマンスと歩留まりを比較する基盤が提供され、集中的なデバッグとさらなる最適化の機会が可能になります。このホワイト ペーパーでは、JMP のグラフ ビルダー プラットフォームで使用するカスタム マップを生成するプロセスについて説明します。この手法は、高度にインタラクティブなツールで空間的に駆動される信号を調査するための貴重なアプローチを提供します。JMP のカスタム マップのパワーを解き放ち、プロセス改善を強化します。
索引用語- カスタム マップ、ハイパー ヒートマップ、根本原因分析、SoC、システム オン チップ、歩留まり。
1. はじめに
今日の SoC は、最先端の半導体プロセス技術に基づいて構築された比較的大型のデバイスであることが多く、パフォーマンスと電力効率の向上を追求しています。これは、I/O、コンピューティング、グラフィックスなどのさまざまなチップ機能を提供する、複製されたブロックと独自のブロックの両方の配列で構成されています。これらのブロックは、ダイ上の物理的な位置に従ってマップとして表される場合があります。このタイプのマップを JMP のカスタム マップとして使用することで、エンジニアやアナリストは、プロセス、テスト、または歩留まりの問題をより迅速にデバッグできる強力な視覚化を作成できます。その結果、歩留まりと品質の上昇が早まり、新しい製品設計の投資収益率 (ROI) が向上します。ダイ ベースのヒートマップを Graph Builder でウェハ上の物理的な位置に従って組み合わせることで、これまで気付かなかった効果が明らかになります。これは、多くの半導体製造の課題が、中心効果やエッジ効果など、ウェハ内の空間的な位置に大きく依存しているという事実によるものです。これらの位置依存性を明確に示すことで、潜在的な根本原因のリストが大幅に絞り込まれ、プロセス改善が加速されます。
II. カスタムマップを使用する利点
現在、エンジニアやアナリストは、外れ値の応答を特定するためにさまざまなツールを選択できます。これらの例としては、ヒストグラムやボックス プロットなどがあります。これらのツールは価値があり、頻繁に使用されていますが、パターンをより迅速に特定するための物理的な位置を示す機能がありません。これらのパターンを理解することで、その後の分析と根本原因の分離の範囲が縮小され、デバッグと歩留まり向上のターンアラウンド タイムが短縮されます。
この論文は半導体業界に焦点を当てていますが、カスタム マップの適用は空間信号を使用する多くの設定で役立ちます。
III. JMP でカスタムマップを作成する
JMP でのカスタム マップ シェイプの生成は、各シェイプの頂点を 1 つずつ接続することによって実行されます。これを実現するには、JMP では 2 つの定義ファイル (「-Name」ファイルと「-XY」ファイル) の形式で頂点の座標情報が必要です。「-Name」ファイルには、必要な数値のシェイプID列と名前列が含まれ、「-XY」ファイルにはShape ID、Part ID、頂点の X座標とY座標が含まれます。Shape ID列は、「-XY」ファイルの座標を「-Name」ファイルのシェイプ名にリンクするものです。
頂点座標が利用可能な場合は、数ステップで「-Name」および「-XY」ファイルを生成できます。
座標ファイルを要約して、各図形がデータ テーブルで 1 行を占めるようにします。「図形 ID」列を昇順 (1 から開始) で作成し、各図形に一意の ID を割り当てます。図形 ID はテーブルの最初の列である必要があります。テーブルを「 $$$ -Name.jmp」として保存します ( $$$は選択したプレフィックス)。このファイルには、各図形を表すわかりやすい名前の列が必要です。この列の列プロパティで、[マップ ロール] を選択し、[図形名の定義] に設定します (図 1 を参照)。この列の値はオーバーレイの生データをリンクするために使用されるため、これは重要な手順です。
- イチジク。1. 図形名の定義マップの役割プロパティの設定
元の座標テーブルを開いたまま、作成した一意の Shape ID 列をマージし、テーブルを Shape ID の昇順で並べ替えます。データ テーブルを ' $$$ -XY.jmp' として保存します。ここで、 $$$ は'-Name' ファイルに使用されるプレフィックスと同じである必要があります。
この「-XY」ファイルには、4 つの必須列、シェイプ ID 、 X 、 Y 、およびパーツ IDが必要です。現在の状態では、ファイルにはこのすべての情報が含まれているはずなので、列名を変更するだけで済むかもしれません。ただし、パーツ ID列がありません。この列は基本的に、ハワイ州が複数の島で構成されているなど、特定の図形に複数の独立した部分があるかどうかを JMP に伝えます。多くの場合、各図形には 1 つの部分しかありません。その場合、パーツ ID 列はすべて 1 に設定できます。X列とY列には、各図形の各頂点の座標が含まれています。強調する価値のある微妙な詳細として、'-XY' ファイル内の各図形の頂点の出現順序は、誤って構成された場合、図形の表現が不正確になる可能性があるため、重要であるということです。'-XY' マッピング ファイルを使用して、JMP は頂点から頂点へと図形をトレースします (ファイルの最初の行から最後の行まで)。新しいトレースは、新しいシェイプ ID またはパーツ ID ごとに開始されます。図 2 は、単純な長方形をトレースする場合に頂点の順序がどのように影響するかを示す例を示しています。
- イチジク。2図形の頂点の正しい順序と間違った順序
生の座標データが複数の種類のカスタム マップ間で一貫している場合は、「-XY」および「-Name」シェイプ定義ファイルを作成する JMP スクリプト言語 (JSL) スクリプトが役立ちます。
カスタム マップ生成の詳細については、次のリソースを参照してください: [ヘルプ] > [ヘルプ コンテンツ] > [基本的なグラフ作成] > [マップの作成] > [グラフ ビルダー] > [カスタム マップ ファイル]。
最後に注意すべき点は、マッピングが正しく機能するためには、「-Name」と「-XY」の両方のシェイプ定義ファイルを同じディレクトリ内に同じプレフィックスで保存する必要があることです。
IV. カスタムマップの使用
定義ファイルを設定すると、データを JMP にインポートできます。グラフ ビルダーでデータを視覚化する前に、データをカスタム マップ定義ファイルにリンクするための最終準備手順が必要です。データには、'-Name' ファイルで定義された図形名の定義列の値と完全に一致する列が必要です。そうでない場合、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 は、グループ Xおよびグループ Y のドロップゾーンを使用して、ウェーハ上の各ダイ位置の各 SoC タイル ビューをネストしたハイパー ヒートマップを示しています。まばらに配置されているダイ位置では、タイルの障害率が低くなります。図 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 ドキュメントとして保存できます。
そして。グループとラップドロップゾーンによるフレームセグメンテーション
ウェーハ ハイパー ヒートマップの例でわかるように、グループ Xおよびグループ Yドロップ ゾーン内のネストされた列を使用してフレームをセグメント化できます。ウェーハ ハイパー ヒートマップでは、セグメント化にダイの X 座標と Y 座標を使用しましたが、任意の列を使用できます。よく使用される他の例としては、電圧テスト ポイント、テスト温度、周波数テスト ポイントがあります。ラップドロップ ゾーンには、より効率的にスペースを使用する同様の機能がありますが、列のネストは使用できません。グループ変数を右クリックすると、ユーザーはビュー内のレベル数を選択して、関心領域に効果的にズームインできます (図 12 を参照)。
- 図12. 表示オプション内のレベルの選択グループ変数ゾーン
F.グラフビルダーの色設定の変更
カスタム マップ オーバーレイ データを分析する場合、多くの場合、色設定を少し変更するだけで、外れ値のパターンの外観を大幅に強調できます。著者は、単方向データ (収量、速度など) には連続した色テーマ、両面データには発散する色テーマで暗い背景 (グラフ > 背景色) を使用することを推奨しています。色テーマには、凡例を右クリックすると、グラデーション設定内でアクセスできます。デフォルトでは、グラフ ビルダーは各図形の周囲に 1 ピクセル幅の灰色の境界線を追加します。この境界線により、小さい図形の一部が隠れてしまう場合があります。この境界線を削除するには、フレームを右クリックして [カスタマイズ] > [マップ シェイプ] を選択し、線幅を 0 に変更します。
VIII. 既知の問題と注意事項
- A. 重なり合った図形では希望する色が表示されない場合があります
これは、カスタム マップに重複領域を持つ図形が定義されている場合に発生します。図 13 では、 acpブロックとgnbブロックが共通の領域を共有していますが、使用されている色は 1 つだけです。重複する図形を含むカスタム マップを作成するときは、この点に注意する必要があります。
- 図 13. 重なり合った 2 つの図形の誤った色の重ね合わせ
- B. ラベルをドラッグしてポインターを作成すると、ラベルのない行が表示されます。
図 14 は、目的のラベル (点線の黒い境界線) をドラッグすると、ラベルのない行に不要なラベル (点線の赤い境界線) が表示される様子を示しています。この問題は JMP 12 で修正されています。
- 図 14. ラベル (黒) をドラッグすると、ラベルのない行 (赤) が表示されます。
- C. ビューのレベルを変更するとフレームのカスタマイズがリセットされる
図 15 は、最初にデフォルト ビューのフレームのカスタマイズを設定し、グループ変数の 1 つを使用してビュー内の 4 つのレベルを選択し、最後に元のビューに戻ると、最初に適用されたカスタマイズが失われるという進行状況を示しています。
- 図 15. ビュー機能のレベルを変更するとフレームのカスタマイズが失われる
- D.マップロール列プロパティとサマリーテーブル
列にマップ ロール プロパティが適用されていて、データ テーブルが (その列を含めて) 要約されている場合、グラフ ビルダーは列プロパティを認識しません。マップ ロール プロパティで定義されているにもかかわらず、シェイプ ファイルが見つからないというメッセージが表示されるだけです。回避策は、マップ ロール プロパティを削除して再度追加することです。または、ファイルを保存して閉じ、再度開くと、マップ ロール プロパティは期待どおりに機能します。
- E. マップロールプロパティを更新できない
マップ ロール列プロパティを使用する場合、プロパティが設定され、シェイプ定義ファイルが適用されると、別のファイルを選択するように変更しても、新しいファイルの設定に更新されないことが確認されています。また、シェイプ定義列は更新できません。回避策は、マップ ロール プロパティを削除し、新しいファイルと列の設定で再度追加することです。
IX. 強化の機会
Graph Builder プラットフォーム内のカスタム マップは、優れたインタラクティブ インターフェイスを使用して空間データと相関するパターンを分析する上で優れたパフォーマンスを発揮します。このホワイト ペーパーで述べたように、この機能により、実際の財務効果につながる根本原因分析が成功しました。この機能を広く使用することで、そのメリットは明らかであり、いくつかの最適化によってその有用性を拡大すれば、より良い結果が得られるだけです。
以下は、著者が経験に基づいてまとめた機能強化の機会の一部です。
A.表示レベルのその他のオプション
グラフ ビルダーには、 X軸とY軸の両方でグループドロップ ゾーンを使用してビューをセグメント化する機能があります。右クリック メニューには、ビューのレベル数を設定するためのオプションがいくつかありますが、かなり固定されています (図 16 を参照)。多くの場合、ビューに 4 つ以上のレベル (すべてではないレベル) が必要ですが、現在そのオプションは存在しません。これは、グループ列の値の数に基づいて動的に変更することができます。
- 図 16. 表示オプションのレベルを 1 ~ 4 またはすべてに制限
B.複数列のページングをサポート
これは、マウスをスクロールするだけで複数のビューをすばやくスキャンできる非常に便利な機能です。他のプラットフォームの「 By」機能と同様に、フレームを複数の列に分割できれば、この機能はさらに最適化されます。現在の回避策は、新しい列を作成し、複数の列のデータを連結してさまざまな組み合わせを取得することですが、複数列のページングの方がよりクリーンなソリューションになります。
X. 承認
著者は、AMD のフロア プラン ソフトウェアに特別な出力形式を追加し、JMP のカスタム マップ形式への変換に大きく貢献してくれた Paul Shook 氏に感謝の意を表します。また、JMP での SoC 歩留まりの視覚化にカスタム マップを使用するかどうかの評価に協力してくれた AMD のアナリスト仲間にも感謝の意を表します。
AMD、AMD Arrow ロゴ、およびそれらの組み合わせは、Advanced Micro Devices, Inc. の商標です。この出版物で使用されているその他の製品名は識別目的のみで使用され、各社の商標である場合があります。