インテルのみ表示可能 — GUID: eji1652812443461
Ixiasoft
インテルのみ表示可能 — GUID: eji1652812443461
Ixiasoft
1.3.1.1. Sweep Hints Viewer
RTLアナライザーは、最上位モジュールのポートとリーフ・インスタンスを、関連するスイープヒントとともにオレンジ色で強調表示します。スイープされたポートまたはインスタンスの上にカーソルを合わせると、ツールチップには、スイープされたポート数、スイープヒントのタイプ、およびスイープヒントの理由が表示されます。これらの強調表示とツールチップは、次の図に示すように、回路図ビューとネットリスト・ナビゲーターの両方で利用できます。

RTLアナライザーからSweep Hints Viewerを起動するには、スイープされたインスタンス、またはネットリスト・ナビゲーターもしくは回路図ビューの最上位モジュールポートのコンテキスト・メニューから、View Sweep Hints を選択します。次の図を参照してください。

コンテキスト・メニューから View Sweep Hints オプションを選択すると、Sweep Hints Viewerには、選択しているインスタンスまたはポートのスイープヒントが自動入力されます。詳細は次の図のとおりです。

Sweep Hints Viewerの根本原因ビュー
デザインの特定のノードがスイープされる根本原因を特定するには、次にリストされている、スイープ時にノードがマークされるさまざまな理由を理解する必要があります。
- ノードが定数0または1で止まっています。例えば、AND ゲートの入力ポートが0で止まっていると、AND ゲートのスイープがトリガーされます。これは、AND ゲートの出力も0で止まっているためです。
- ノードがワイヤーとして動作しており、削除されています。例えば、選択ラインが定数に接続されているマルチプレクサーは、ワイヤーとして機能します。
- スイープ時にノードに変更がありましたが、削除されていません。
- ノードのすべてのファンアウトがなくなり、削除されています。
- ポートまたはインスタンス・ポートが切断されています。親または子にファンアウトがありません。
Sweep Hints Viewerの Root Causes タブには、スイープの記録とそれらがスイープされた根本原因のリストが表示されます。次に例を示します。

Root Causesビューには、根本原因が表示されます。また、Swept Objects Count 列には、ルート・オブジェクトのスイープされたオブジェクト総数が表示されます。これは、Root Record 列のスイープ記録までたどることができます (例えば、上の画像の802137)。コンテキスト・メニューから Show Sweep Hints オプションを選択すると、インターフェイスが Sweep Hints ビューに切り替わり、Root Recordを根本原因として特定するスイープ記録がすべて表示されます。次の図のようになります。

Sweep Hints Viewerの階層ビュー
DNIフロー (ベータ版) で説明されているとおり、スイープ最適化 (スイープ・チェックポイント) はAnalysis & Elaborationステージの一部として実行されます。スイープ最適化フェーズでは、スイープされたオブジェクトのデータベースと、その削除理由が残されます。データベースは、削除されたオブジェクト間の関係も追跡します。例えば、ゲートの出力が宙に浮いている場合は、スイープされます。ファンインコーン内のいくつかのセルも、その出力が有用な駆動をしていない場合はスイープされる可能性があります。Sweep Hints Viewerを使用すると、スイープ・ヒント・データベースを表示することができます。これには、スイープ前のデザインでマークされた、後に削除されるオブジェクトのリストが含まれます。

Sweep Hints Viewerの Hierarchy タブでは、さまざまな階層レベルとそのスイープ統計を観察することができます。ここでの論理ユニットはリーフセルであり、AND/ORゲートやレジスターなどの論理プリミティブを指します。階層セルは、リーフセルと他の階層セルの複合体です。
上の画像の Leaf Cells Count by Hierarchy テーブルは、ローカルまたは特定の階層パスの階層全体でスイープされたロジックの割合に関する情報を提供します。テーブルの列は、スイープ前後のリーフセルの数と、階層パスのタイプを示します。階層パスのタイプは、USER (設計したRTL)、 インテル® IP、またはメガファンクション ( インテル® が提供するライブラリー・モジュール) になります。階層テーブルが大きい場合は、フィルターオプションを使用してデザインの領域を絞り込みます。
Sweep Hints ViewerのSweep Hintsビュー
回路図ビューで、青緑色でハイライト表示されているスイープ・オブジェクトに注目してください。このオブジェクトのツールチップにカーソルを合わせる、もしくはSweep Hints Viewerでスイープの理由を表示すると、このインスタンスは、インスタンス・ポートのファンアウトがなくなったためにスイープされていることが分かります。同様に、他のスイープ・オブジェクトを選択して根本原因を特定し、回路図ビューアーと階層ビューで表示することができます。これらのオブジェクトはすべて、コンパイルフローを進めると最終的にはデザインから削除されます。
Hierarchy タブは、インスタンスのスイープ統計によるフィルタリングに役立ちます。Sweep Hints タブを使用すると、特定の階層レベルでスイープされたリーフ・オブジェクトをフィルタリングしてクエリーすることができます。テーブルのさまざまな列では、スイープに関係するオブジェクトを説明し、データをクエリーする方法を提供しています。例えば、特定のインスタンス・タイプを検索したり、結果を特定のスイープ理由やタイプなどに限定したりすることができます。
スイープに関連するオブジェクトの表示
スイープに関連するオブジェクトの表示は、Sweep Hints の下にある選択オブジェクトを右クリックし、コンテキスト・メニューから Show Hint Trace を選択することでも行うことができます。Hint Trace for ID <number> セクションには、スイープされるオブジェクトの階層リストが表示されます。このリストには、特定のオブジェクトがスイープされる原因となったスイープ・オブジェクトや、あるオブジェクトの結果としてスイープされるオブジェクトが含まれます。チェーン内のさまざまなオブジェクトをハイライトして選択する機能により、必要なスイープ情報を絞り込むことができます。
次の図では、オブジェクトID 30のポートのスイープヒントを追跡しています。Hint Trace for ID 30 からは、オブジェクトID 2のインスタンス・ポートがスイープポート30に関連付けられていることが分かります。両方のオブジェクトのスイープの理由は、ファンアウトの切断です。
