インテル® HLS コンパイラー: ユーザーガイド

ID 683456
日付 12/22/2017
Public
ドキュメント目次

10.6. Component Memory システムのレビュー

多くのアルゴリズムでは、データ移動がボトルネックになることがよくあります。High Level Design レポート (report.html) 内のComponent memory viewer は、 インテル® HLS ( 高位合成 ) コンパイラー コンポーネント のメモリーシステム上のデータ接続をどのように解釈するかを示しています。Component memory viewer を使用すると、コンポーネント・ デザインのデータ移動のボトルネックの特定に役立ちます。

更に、メモリーアクセスの一部のパターンは LSU ( ロードストアー・ユニット ) で望まない調停を引き起こし、コンポーネント のスループット性能に影響を与える可能性があります。Component memory viewer を使用すると、LSU で望ましくない調停が発生する可能性のある位置を見つけることができます。

Component Memory Viewer には次のペインがあります。
Memory List
Memory List ペインは、コンポーネント の階層、そのコンポーネント 内のメモリー、および対応するメモリーバンクを表示します。

リストにあるメモリー名をクリックすると、Component memory viewer ペイン内のメモリーがグラフィック表示されます。また、メモリーを宣言したコード内のラインは、Source Code ペインでハイライトで表示されます。

メモリーバンクでのチェックボックスをクリアーすると、そのバンクがComponent Memory Viewer ペインに表示され、複雑なメモリーデザインを表示する際に特定のメモリーバンクに焦点を当てるのに役立ちます。デフォルトでは、 コンポーネント・ メモリー内のすべてのバンクが選択され、Component Memory Viewer ペインで表示されます。

Component Memory Viewer
Component Memory Viewer ペインは、メモリーシステム内のバンク上のロジックポートを特定するためにロードとストアー間の接続を表示します。次のノードのタイプはComponent Memory Viewer ペイン内で表示される可能性があり、 component メモリーシステムによります。
  • Memory node:コンポーネント・ カーネル メモリー
  • Bank node: メモリー内のバンク。Memory List ペインで選択されているバンクのみ表示されます。Memory List ペイン内でのバンクの選択は複雑なメモリーデザインの表示に役立ちます。
  • Port node: バンクでのロジックポート。次の 3 種類のポートがあります。
    • R: 読み取り専用ポート
    • W: 書き込み専用ポート
    • RW: 読み取りおよび書き込みを有するポート
  • LSU node: メモリーに接続されるストアー (ST) またはロード (LD) ノード
  • Arbitration node: アービトレーション (ARB) ノードは LSU が共有ポートノードへのアクセスを競合していることを示します。
  • Port-sharing node: ポートシェアリング (SHARE) ノードは LSU が共有ポートノードへの排他的なアクセスを持つことを示しているため、ロードストアー・ユニットにはストールがありません。

任意のノードにカーソルを置くと、そのノードの属性が表示されます。

LSU ノードにカーソルを置くと、LSU ノードから LSU が接続するすべてのポートまでのパスがハイライトで表示されます。

ポートノードにカーソルを置くと、ポートノードからポートノードに格納されているすべての LSU までのパスがハイライトで表示されます。

ノードを選択するためにクリックし、Details ペインにノード属性を表示します。

Details
Details ペインはComponent Memory Viewer ペインで選択されたノードの属性を表示します。例えば、コンポーネント 内のメモリーを選択する際、 ペインはソースコードで指定した任意のユーザー定義の HLS属性と同様に、メモリーバンクの幅や深さなどの情報を表示します。

Details ペインの内容はComponent Memory Viewer ペイン内で異なるノードを選択するまで保持されます。