最適化

パフォーマンス解析

Vitis ソフトウェア プラットフォームのパフォーマンス解析には、さまざまなタイプのパフォーマンス データを表示して解析する機能があります。その目的は、データから役に立つ情報を抽出し、多くのテキストとしてではなく、さらに見やすく、情報量も多いようなビュー、グラフ、メトリクスなどで提供することにあります。

パフォーマンス解析には、次の機能があります。

  • Arm データの表示をサポート。
  • PS および MDM をマスターとして使用する APM データの表示をサポート。
  • MicroBlaze データの表示をサポート。
  • ライブ データの表示および解析をサポート。
  • データのオフライン表示をサポート
  • データの拡大および縮小をサポート。
  • イベントのフィルターおよび検索。
  • トレース パッケージのインポートおよびエクスポート。

Vitis ソフトウェア プラットフォームのパフォーマンス解析機能では、AXI Performance Monitor (APM) のイベント カウンター、Zynq-7000 SoC プロセッシング システムの Arm Performance Monitor Unit (PMU)、および MicroBlaze パフォーマンス モニタリング カウンターからのデータ収集がサポートされます。Zynq デバイスでのパフォーマンス モニタリングの使用例は、システム パフォーマンス モデリング を参照してください。MicroBlaze デザインの場合、APM を SPM と同じように使用できます。

MicroBlaze のパフォーマンス データを収集するには、パフォーマンス モニタリング カウンターを Vivado ハードウェア デザインでイネーブルにする必要があります。詳細は、『MicroBlaze プロセッサ リファレンス ガイド』 (UG984) を参照してください。Vitis ソフトウェア プラットフォームでは、次の MicroBlaze プロセッサのイベントが監視されます。
  • クロック サイクル数
  • 任意の有効命令実行
  • データ キャッシュからの読み出しまたはデータ キャッシュへの書き込みデータ要求
  • 読み出しまたは書き込みデータ キャッシュ ヒット
  • パイプラインのストール
  • メモリ読み出しの命令キャッシュ レイテンシ

データは、Vitis ソフトウェア プラットフォームでリアルタイムに収集されます。これらのカウンターからの値は、10 ms ごとにサンプリングされます。これらの値を使用してメトリクスが算出され、[Performance Counters] ビューに表示されます。

Vitis ソフトウェア プラットフォームでは、次の Cortex-A9 CPU の PMU イベントが監視されます。

  • データ キャッシュ リフィル
  • データ キャッシュ アクセス
  • データ ストール
  • 書き込みストール
  • 命令名の変更
  • 分岐ミス

次の 2 つの L2C-PL330 (Level-2 キャッシュ コントローラー) カウンターが監視されます。

  • キャッシュ ヒットの数
  • キャッシュ アクセスの数

HO および ACP ポートごとに次の APM カウンターが監視されます。

  • 書き込みバイト数
  • 読み出しバイト数
  • 書き込みトランザクション数
  • 総書き込みレイテンシ
  • 読み出しトランザクション数
  • 総読み出しレイテンシ

[Performance Analysis] パースペクティブの使用

[Performance Analysis] パースペクティブには、トレースと呼ばれるパフォーマンス データを収集および解析する機能のあるビューが多く含まれます。



[Projec Explorer] ビュー

[Projec Explorer] ビューには、ワークスペースで使用可能なプロジェクトがすべて表示されます。パフォーマンス解析セッションが開始されると、ボードからのデータが収集され、トレース プロジェクトにトレース ファイルとして含まれます。ハードウェア プロジェクトにはそれぞれデータを格納するトレース プロジェクト (*_Traces) が含まれます。1 つの run からのパフォーマンス カウンター データは、該当する Run_* フォルダー内に保存されます。さまざまなセクションからのデータがこの run フォルダーの下の別々のファイルに保存されます。



データを解析するには、そのトレース ファイルをダブルクリックしてイベント エディターで開きます。ファイルを開いたら、トレース ファイルの下のツリーを展開して、使用可能な解析ビューのリストを表示できます。

補足ファイルの削除

補足ファイルとは、トレースに伴うトレース専用ファイルのことです。たとえば、トレース分析中にツールでせく精される一時ファイル、持続的インデックス、その他の持続的データ ファイルなどのことです。

すべての補足ファイルはユーザーには表示されず、ツール内部で処理されますが、削除して、トレースを開いたときに作成し直されるようにすることもあります。

すべての補足ファイルを 1 つまたは複数のトレースおよびエクスペリメントから削除する方法は、次のとおりです。

  1. Project Explorer ビューで関連するトレースおよびエクスペリメントを選択します。
  2. 右クリックして Delete Supplementary Files をクリックします。[Delete Resources] ダイアログ ボックスが開き、補足ファイルのリストがそれらの属するトレースまたはエクスペリメントの下に表示されます。

  3. リストから削除するファイルを選択します。
  4. OK をクリックします。
[Link with Editor]

トレース プロジェクトでは、[Project Explorer] ビューの [Link With Editor] 機能がサポートされます。この機能を使用すると、次ができるようになります。

  • Project Explorer ビューでトレース エレメントを選択すると、該当する Events エディターで関連するトレースが開いている場合は、それがハイライトされます。
  • Events エディターを選択すると、該当するトレース エレメントが Project Explorer ビューでハイライトされます。

この機能をイネーブルまたはディスエーブルにするには、次に示すように [Project Explorer] ビューの Link With Editor ボタンで切り替えます。



トレース パッケージのエクスポート

Export Trace Package ウィザードを使用すると、トレースを選択して、そのファイルおよびブックマークをメディアのアーカイブにエクスポートできます。Traces フォルダーには、プロジェクトをトレースする際に使用可能なトレースのセットが含まれます。Traces フォルダーに含まれるトレースをエクスポートするには、次の手順に従います。

  1. File > Export をクリックします。Export ダイアログ ボックスが開きます。
  2. Tracing を展開して Trace Package Export を選択します。
  3. Next をクリックします。[Export trace package] ダイアログ ボックスが表示されます。

  4. トレースを含むプロジェクトを選択して、エクスポートするトレースを選択します。
  5. Export Trace Package ウィザードは、[Project Explorer] ビューでプロジェクトを展開し、[Traces] フォルダーからトレースを選択して、表示されるコンテキスト メニューから Export Trace Package をクリックしても開くことができます。

  6. これで、エクスポートする内容とそのさまざまな出力フォーマット オプションを選択できるようになります。
  7. Finish をクリックし、パッケージを生成してメディアに保存します。選択したトレースの [Traces] フォルダーに対するフォルダー構造がトレース パッケージに保持されます。
トレース パッケージのインポート

Import Trace Package ウィザードを使用すると、メディアから前にエクスポートしたトレース パッケージを選択し、ワークスペースにパッケージの内容をインポートできます。

Traces フォルダーには、プロジェクトをトレースする際に使用可能なトレースのセットが保持されます。トレース パッケージをプロジェクトの Traces フォルダーにインポートするには、次の手順に従います。

  1. File メイン メニューから File > Import をクリックします。[Import] ダイアログ ボックスが開きます。
  2. Tracing を展開して Trace Package Import を選択します。
  3. Next をクリックします。Import trace package ダイアログ ボックスが開きます。
  4. トレースおよびデスティネーション プロジェクトを含むアーカイブを選択します。
  5. Import Trace Package ウィザードは、[Project Explorer] ビューでプロジェクトを展開し、Import Trace Package をクリックしても開くことができます。

  6. これで、選択したトレース アーカイブからインポートする内容を選択できるようになりました。
  7. Finish をクリックして、ターゲット フォルダーにトレースをインポートします。トレース パッケージからのフォルダー構造がプロジェクトの Traces フォルダーに復元されます。

イベント エディター

イベント エディターには、基本的なトレース データ エレメント (イベント) が表形式で表示されます。エディターをエディター エリアにドラッグすると、次の図に示すように複数のトレースを並べて表示させることができます。



ヘッダーには、現在のトレース名が表示されます。ページには、次のフィールドが表示されます。

[Timestamp]
イベントのタイムスタンプ。
[Type]
イベント タイプ (PS/ APM/MicroBlaze)。
[Content]
ハードウェア サーバーから取得した生のイベント コンテント。

表の 1 行目はヘッダー行です。この行を使用すると、ページの情報を検索してフィルターできます。

ハイライトされているイベントが現在のイベントで、ほかのビューと同期されます。別のイベントを選択すると、それがほかのビューでも選択されます。プロパティ ビューに選択したイベントが詳細に表示されます。

イベント範囲は、Shift キーを押しながら別のイベントをクリックしていくか、カーソル キー (UpDownPageUpPageDownHome、および End) を使用すると選択できます。現在選択されている時間の範囲が選択範囲の最初のイベントと最後のイベントにより決定され、ほかのビューと同期されるようになります。

イベント エディターを閉じると、トレースは削除されます。これをすると、情報を表示するすべてのビューが次のイベント エディター タブのトレース データを使用してアップデートされます。すべてのエディター タブを閉じると、空のステートは表示されます。

イベントの検索およびフィルター

表のイベントは、ヘッダー行 (列ヘッダー下の一番上の行) に 1 つまたは複数の列に条件を入力すると検索およびフィルターできます。

検索とフィルターを切り替えるには、ヘッダー行の左側の Search または Filter アイコンをクリックするか、ヘッダー行を右クリックし Show Filter Bar または Show Search Bar をクリックします。

特定の列に条件を適用するには、その列のヘッダー行のセルをクリックし、正規表現を入力して、Enter キーを押します。単純なテキスト文字列を入力すると、contains 正規表現に自動的に置換されます。

条件が 2 つ以上の列に適用される場合は、すべてのイベント条件を満たすものだけが一致します (AND 検索のように動作します)。

ヘッダー行の条件をすべて削除するには、Delete キーを押します。

イベントの検索

検索条件がヘッダー行に適用されると、現在表示されているイベントの下にある次に検索条件に一致するイベントが選択されます。トレースの最後まで一致するものがない場合は、先頭に戻って再検索されます。

一致するイベントにはすべて、左側に [Search match] アイコンが表示されます。一致しなかったイベントは淡色表示になります。



Enter を押すと、次に一致するイベントが検索されて選択されます。Shift+Enter を押すと、前に一致したイベントが選択されます。先頭 (末尾) のどちらの方向でも再検索できます。

Esc を押すと、この後の検索がキャンセルされます。

Del を押すと、ヘッダー行が一掃されて、すべてのイベントがリセットされます。

イベントのフィルター

フィルター条件をヘッダー行に入力すると、表のイベントがすべて一掃され、トレースの最初から見つかった順に一致するイベントが表示されます。

ステータス行は一致するイベントの前後に表示され、一致するイベント数や、その段階で処理されたイベント数がダイナミックに示されます。フィルターが終了したら、左側のステータス行アイコンが停止アイコンからフィルター アイコンに変わります。



ESC をクリックすると、この後のフィルターが停止します。この場合、ステータス行アイコンは停止アイコンのままになり、すべてのイベントが処理されたわけではないことが示されます。

DEL をクリックするか、表内で右クリックして Clear Filters をクリックすると、ヘッダー行が一掃されてフィルターが削除されます。これで、表にすべてのトレース イベントが表示されるようになりました。現在選択しているイベントは、フィルターを削除しても選択されたままになります。

フィルターを適用している間にヘッダー行を [Search Bar] に切り替えると、フィルターしたイベントのサブセットを検索することもできます。条件の検索およびフィルターは互いに独立しています。

イベントのブックマーク

イベントはブックマークできます。

ブックマークを追加するには、イベントの左側の空白部分をダブルクリックするか、右クリックして Add bookmark をクリックします。または、Edit > Add bookmark メニューを使用します。ブックマークの説明を必要に応じて変更し、OK をクリックします。

ブックマーク アイコンが左に表示され、カーソルを置くとツール ヒントに説明が表示されます。

ブックマークは、[Bookmarks] ビューに追加されます。このビューでは、ブックマークの説明を編集したり、ブックマークを削除したりできます。ブックマークをダブルクリックするか、コンテキスト メニューから Go to を選択すると、トレースやエクスペリメントが開いて、ブックマークしたイベントを直接表示できます。

ブックマークを削除するには、そのブックマーク アイコンをダブルクリックするか、コンテキスト メニューから Remove Bookmark をクリックするか、[Bookmark] ビューで Delete をクリックします。

[Histogram] ビュー

[Histogram] ビューには、トレース イベント (カウンター データ) の分配が時間ごとに表示されます。パフォーマンス解析が実行されると、このビューはイベントが受信されるたびにダイナミックにアップデートされます。



このビューでは、次のような制御ができます。

Selection Start
現在の選択の開始時間が表示されます。
Selection End
現在の選択の終了時間が表示されます。
Window Span
現在のウィンドウの拡大サイズが秒で表示されます。

この制御は、該当する値を変更するのに使用できます。その他の制御および表示は、検証後に同期されてアップデートされます。両方の選択時間を同時に変更するには、link アイコンをクリックして、[Selection End] 制御入力をオフにします。

一番下の大きな (全体) ヒストグラムには、トレースのイベント分配が表示されます。また、十字のマークが入った小さな半透明のオレンジのウィンドウも含まれ、現在のズームのウィンドウが表示されます。

右上のより小さな (ズーム) ヒストグラムは、現在のズーム ウィンドウ、イベント セットの下位範囲に該当します。

各ヒストグラムの X 軸は、イベントのタイムスタンプを示します。ヒストグラム範囲の開始および終了時間が表示されます。Y 軸には、最大イベント数がヒストグラム バーで示されます。

縦の青線は、現在選択されている時間 (または範囲) が表示されます。適用できる場合は、選択範囲の領域に影が付きます。

ヒストグラムの制御に使用可能なマウス動作は、次のとおりです。

クリック
選択時間を設定
左ドラッグ
選択範囲を設定
Shift + クリックまたは左ドラッグ
選択範囲の拡大または縮小
中央ボタンのクリックまたは Ctrl + クリック
ズーム ウィンドウを中央に表示
中央ドラッグまたは Ctrl + 左ドラッグ
ズーム ウィンドウの移動
右ドラッグ
ズーム ウィンドウの設定
Shift + 右クリックまたはドラッグ
ズーム ウィンドウの拡大または縮小
マウスのホイールを上にスクロール
拡大
マウスのホイールを下にスクロール
縮小

ヒストグラム バーの上にカーソルを置くと、そのバーの開始/終了時間とイベント数がポップアップで表示されます。選択した範囲にカーソルを置くと、選択した範囲 (秒) が表示されます。

[Histogram] ビューで使用されるさまざまなキーストロークで実行される動作は、次のとおりです。

左方向キー
現在のイベントを前の空ではないバーに移動します。
右方向キー
現在のイベントを次の空ではないバーに移動します。
Home キー
現在の時間を最初の空ではないバーに設定します。
End キー
現在の時間を最後の空ではないヒストグラム バーに設定します。
プラス キー (+)
拡大
マイナス キー (-)
縮小

[Colors] ビュー

[Colors] ビューでは、色設定の優先順リストを定義できます。



色設定は、前景色と背景色 (どのイベント テーブルでも使用)、ティックの色 ([Time Chart] ビューで使用) とイベント フィルターを関連付けるものです。

イベント テーブルでは、色設定のイベント フィルターに一致するイベント行がすべて指定した前景色および背景色で表示されます。イベントが複数フィルターに一致する場合、優先度の一番高い色設定が使用されます。

同じ原則が [Time Chart] ビューのイベント ティックの色にも適用されます。ティックが多くのイベントを示す場合、イベントに一致する優先度の一番高いティック色が使用されます。

色設定は、[Colors] ビュー ツールバーのボタンを使用して追加、削除、並べ変え、インポート、およびエクスポートできます。色設定への変更はすぐに適用され、ディスクに保存されます。

[Filters] ビュー

[Filters] ビューでは、どのイベント表にも適用可能なプリセット フィルターを定義できます。



フィルターは、イベント表のフィルター ヘッダー行で達成できるよりもさらに複雑なものにできます。フィルターはツリー ノード構造で定義され、ノード タイプは TRACETYPE、AND、OR、CONTAINS、EQUALS、MATCHES、COMPARE のいずれかにできます。ノード タイプの中には、ツリー内の可能性のある子に対して制限のあるものもあります。

TRACETYPE ノードは、プラグイン拡張またはカスタマー パーサーで定義されたトレースのトレース タイプに対するフィルターです。使用されると、どの子ノードにも、そのトレース タイプで可能なアスペクトに制限されたアスペクト コンボ ボックスが表示されます。

AND ノードは、そのすべての子に論理的な and 条件を適用します。フィルターが一致するには、すべての子条件が true である必要があります。not 演算子を適用すると、条件を反転できます。

OR ノードは、すべての子に or 条件を適用します。フィルターが一致するには、少なくとも 1 つの子条件が true である必要があります。not 演算子を適用すると、条件を反転できます。

CONTAINS ノードは、指定したイベントの aspect 値に指定した value 文字列が含まれる場合に一致します。not 演算子を適用すると、条件を反転できます。条件は、大文字と小文字が区別されたり、されなかったりにできます。

EQUALS ノードは、指定したイベントの aspect 値が指定した value 文字列と同じである場合に一致します。not 演算子を適用すると、条件を反転できます。条件は、大文字と小文字が区別されたり、されなかったりにできます。

MATCHES ノードは、指定したイベントの aspect 値が指定した regular expression 文字列と一致する場合に一致します。not 演算子を適用すると、条件を反転できます。

COMPARE ノードは、指定したイベントの aspect 値と指定した value 文字列が比較されて、指定した result が出力される場合に一致します。この結果は、smaller thanequal または greater than に設定できます。比較結果は、数値、アルファベット、またはタイムスタンプに基づいたものになります。not 演算子を適用すると、条件を反転できます。

数値の比較の場合、接頭辞 0x、0X、または # が付いた文字列は 16 進数値として処理され、0 が付いた文字列は 8 進数として処理されます。

タイムスタンプの比較の場合、文字列は秒 (小数点ありまたはなし) として処理されます。これは、[Time Format] プリファレンスの TTT フォーマットに該当します。選択したイベントの値は、Timestamp プロパティの下の [Properties] ビューに表示されます。タイムスタンプの比較には、時間のフォーマットに関係なく、よくある 'Timestamp' アスペクトを常に使用できます。

フィルターは、[Filters] ビュー ツールバーのボタンを使用して追加、削除、インポート、およびエクスポートできます。ビューのノードは、ツールバーのボタンまたはキーの組み合わせを使用して切ったり (Ctrl-X)、コピーしたり (Ctrl-C)、貼り付けたり (Ctrl-V) できます。これにより、既存のフィルターから新しいフィルターをすばやく作成しやすくなります。プリセット フィルターへの変更は、[Save filters] ボタンをクリックした場合にのみ適用されて、ディスクに残ります。

[Time Chart] ビュー

[Time Chart] ビューでは、開いているトレースすべてをタイム チャートで表示できます。トレースはそれぞれ行別に表示され、ティックはすべての指定時間イベントに対して表示されます。マウス ホイールを使って拡大/縮小するか、右クリックして時間尺度にドラグすると、より詳細なイベント データがトレースから計算されます。



時間は、[Time Chart] ビューとイベント テーブルなどのその他のトレース ビューアー間で同期されます。

[Colors] ビューの色設定が [Time Chart] ビューに表示されるイベントのティック色を変更するのに使用できます。

検索がイベント テーブルに適用されると、[Time Chart] ビューで検索結果と一致するイベントに該当するティックの下にマーカーが付きます。

ブックマークがイベント テーブルに適用されると、[Time Chart] ビューでブックマークされたイベントに該当するティックの上にブックマークが付きます。

フィルターがイベント テーブルに適用されると、一致しないティックが [Time Chart] ビューから削除されます。

[Time Chart] ビューでは、エディターで開いているトレースしかサポートされません。エディターの使用は、そのトレース タイプのプラグイン拡張子で指定するか、カスタム トレース用にデフォルトでイネーブルになります。

解析ビュー

収集されたさまざまなタイプ (PS、APM など) のトレースごとに、それを解析するのに役立つビューのセットがあります。ビューには、表形式とグラフィック形式の 2 種類のタイプがあります。

どちらのトレース データ解析もデータ収集中にライブ モードで表示できるほか、オフライン モードでも表示できます。ライブ モードの場合、表形式のビューにはトレース期間全体の解析が、グラフィック形式のビューには最新 20 秒の解析が表示されます。オフライン モードの場合、グラフィック形式のビューには拡大された領域が、表形式のビューには最後のユーザーの動作に基づいて選択された領域か拡大された領域が表示されます。ライブ モードでビューを一時停止したり、過去のデータを表示するには、その解析ビューにあるアイコンを使用します。ビューが一時停止された場合は、[Histogram] ビューを使用すると、データのどの部分でも拡大して解析できます。

これらの解析ビューには、該当するトレース ファイルが [Events] エディターで開いている場合にのみデータが表示され、開いていない場合は空になります。

[PS Performance Graphs]

PS (Arm) メトリクスすべてがこれらのグラフを使用して表示されます。

[PS Performance Counters]

PS (Arm) メトリクスが表形式で表示されます。



[APM Performance Graphs]

APM メトリクスがグラフを使用して表示されます。



[APM Performance Counters]

APM メトリクスが表形式で表示されます。



[FreeRTOS Analysis]

FreeRTOS イベント トレースが異なるステートで表示されます。



[Performance Session Manager]

[Performance Session Manager] ビューでは、セッションを制御できます。このビューからは、パフォーマンス セッションを開始および停止できます。セッションが開始されるたびに、トレース ファイルのセットがユーザー設定に基づいて作成されます。

アプリケーションがデバッグされたり、パフォーマンス解析が開始されるたびに、そのアクティブ コンフィギュレーションのエントリが自動的に表示されます。

[Configure Session]

データを収集する必要のあるモジュールのリストを選択すると、セッションを設定できます。各モジュールは、デザイン情報に基づいてイネーブルになります。

パフォーマンス解析を開始する前にモジュールを設定する場合は、ハードウェア プロジェクトで Configure Performance Analysis オプションを使用します。

[Configure APM]

[Configure Session] ダイアログ ボックスで Configure APM オプションを選択すると、監視する APM スロットを選択できます。

[Configure MicroBlaze]

[Configure Session] ダイアログ ボックスで Configure MicroBlaze オプションを使用すると、パフォーマンス解析に MicroBlaze インスタンスを選択できます。デフォルトでは、最初の MDM モジュールからのインスタンスのみが選択されます。

[Offline Mode]

ライブ パフォーマンス解析の表示は、10 分間だけサポートされ、その時間が過ぎると自動的に停止します。[Offline Mode] を選択すると、パフォーマンス解析がビューから手動で停止するまで別で実行されます。

[Modify ATG Configuration]

[Performance Session Manager] で設定可能な [Modify ATG Configuration] オプションを使用すると、ATG トラフィック コンフィギュレーションを変更できます。

システム パフォーマンス モデリング

システム パフォーマンス モデリング (SPM) は、ハードウェアおよびソフトウェア システムのパフォーマンスを特性化して評価するシステム レベルのパフォーマンスを提供します。特に、さまざまなトラフィック シナリオで Arm® Cortex A9 プロセッサとプログラマブル ファブリック間の重要なパーティションのトレードオフの解析を可能にします。また、AXI トランザクション トレース、およびスループット、レイテンシ、使用率、密集などのシステム レベルのパフォーマンス メトリックスがグラフィカルに表示されます。

SPM は、次の 2 つの方法で使用できます。

  • Vitis ソフトウェア プラットフォームに含まれる定義済みデザインを使用
  • ユーザー デザインを使用

現在のリリースでは、SPM はベアメタル/スタンドアロン アプリケーションでしかサポートされません。

次の図は、システム パフォーマンス モデリングのフローを示しています。



定義済みデザイン フロー

Vitis ソフトウェア プラットフォームに含まれる定義済みのフローでは、決まったデザインを使用して、決まったビットストリームが含まれます。このデザインには、5 つの AXI Traffic Generators (ATG) が含まれ、そのうちの 4 つがそれぞれハイ パフォーマンス ポート (HP0-3) に、もう 1 つがアクセラレータ コヒーレンシ ポート (ACP) に接続されます。ATG は汎用 (GP) ポートの 1 つを使用して設定および制御されます。また、HP0-3 および ACP ポートの AXI トラフィックを監視するために、AXI パフォーマンス モニター (APM) も含まれます。

定義済みデザインを使用したシステム パフォーマンスのモデル化
システム パフォーマンス モデリング プロジェクトの作成
  1. File > New > Other > Xilinx > SPM Project... をクリックし、システム パフォーマンス モデリング アプリケーションを開始します。
  2. Finish をクリックします。
  3. SPM Launcher が開きます。
  4. 次の図に、[Edit Configuration] ダイアログ ボックスのローカル接続を示します。デフォルトのトラフィック コンフィギュレーションを使用して SPM を開始するには、Debug をクリックします。
  5. まず、FPGA がプログラムされてから、SPM が開始されます。
ATG トラフィック コンフィギュレーションの選択

トラフィック コンフィギュレーションを選択する手順は、次のとおりです。

  1. [Project Explorer] ビューでハードウェア プラットフォームを右クリックし、Run As > Run Configurations をクリックします。
  2. [Performance Analysis] の下の Performance Analysis on <filename>.elf を選択します。
  3. [ATG Configuration] タブからは、複数のトラフィック コンフィギュレーションを定義して、現在の run に使用するトラフィックを選択できます。次の図は、デフォルト コンフィギュレーションで定義されるトラフィックを示しています。
  4. ポート位置は、ハードウェア ハンドオフ ファイルから使用されます。ATG が設定されていない場合は、[ATG Configuration] タブが空になります。
  5. [ATG Configuration] ダイアログ ボックスを使用すると、コンフィギュレーションを追加および編集できます。
  6. コンフィギュレーションのリストにコンフィギュレーションを追加するには、+ ボタンをクリックします。
  7. コンフィギュレーションを編集するには、Configuration: ドロップダウン リストから編集するコンフィギュレーションを選択します。
  8. コンフィギュレーション テンプレートを作成すると、ATG コンフィギュレーションが定義しやすくなります。これらのテンプレートをユーザー ワークスペースに保存すると、さまざまなプロジェクトの ATG トラフィック定義に使用できるようになります。テンプレートを作成する手順は、次のとおりです。
  9. Configure Templates をクリックします。
  10. + ボタンをクリックして新しいユーザー定義のコンフィギュレーション テンプレートを追加します。
  11. 新しく作成されたテンプレートは、デフォルトで UserDef_* パターンのテンプレート ID を割り当てます。この ID は変更できるほか、残りのフィールドを定義することもできます。
  12. これらの定義済みテンプレートを使用すると、ATG コンフィギュレーションを定義できます。コンフィギュレーション テンプレートを削除するには、それを選択して X ボタンをクリックします。
    ヒント: ATG コンフィギュレーションでトラフィックがないようにポートを設定するには、そのポートのテンプレート ID を None に設定します。
FSBL パラメーターの設定

FSBL (First Stage Bootlooder) 設定は、System Performance Modeling アプリケーションの決まったデザイン フローからしか変更できません。

[FSBL Configuration Change] ダイアログ ボックスを開くには、コンフィギュレーション名を右クリックして Configure FSBL Parameters をクリックします。

次は、FSBL パラメーターの詳細です。

表 1. FSBL パラメーター

パラメーター

説明

デフォルト値

PS Clock Frequency (MHz)

Zynq-7000 SoC PS のクロック周波数 (MHz)。

666.7 MHz

PL Clock Frequency (MHz)

Zynq-7000 SoC PL のクロック周波数 (MHz)。

100.0 MHz

DDR Clock Frequency (MHz)

DDR メモリのクロック周波数 (MHz)。

533.3 MHz

DDR Data Path Width

DDR メモリ データパスで使用されるビット幅。使用可能な値は 16 ~ 32 ビットです。

32 ビット

DDR Port 0 - Enable HPR

DDR ポート 0 で優先度の高い読み出しが使用できるようになります。このポートは L2 キャッシュを介して CPU および ACP で使用されます。

オフ

DDR Port 1 - Enable HPR

DDR ポート 1 で優先度の高い読み出しが使用できるようになります。このポートは、中央のインターコネクトを介してその他のマスターで使用されます。

オフ

DDR Port 2 - Enable HPR

DDR ポート 2 で優先度の高い読み出しが使用できるようになります。このポートは、HP2 および HP3 で使用されます。

オフ

DDR Port 3 - Enable HPR

DDR ポート 3 で優先度の高い読み出しが使用できるようになります。このポートは、HP0 および HP1 で使用されます。

オフ

HPR/LPR Queue Partitioning

キューの優先度の高い読み出しと低い読み出しに必要なパーティションを指定します。キューには、32 の読み出しリクエストの深さがあります。ドロップダウン リストからは 4 つの値が選択できます。

HPR(0)/LPR(32)

LPR to Critical Priority Level

LPR キューがクリティカルになる前に空になるクロック数。単位は、32 DDR クロック サイクル。この値により DDR LPR_reg レジスタ [1] がセットされます。有効な値は 0 ~ 2047 です。

2

HPR to Critical Priority Level

HPR キューがクリティカルになる前に空になるクロック数。単位は、32 DDR クロック サイクル。この値により DDR HPR_reg レジスタ [1] がセットされます。有効な値は 0 ~ 2047 です。

15

Write to Critical Priority Level

書き込みキューがクリティカルになる前に空になるクロック数。単位は、32 DDR クロック サイクル。この値により DDR WR_reg レジスタ [1] がセットされます。有効な値は 0 ~ 2047 です。

2

FSBL の詳細は、『Zynq-7000 SoC ソフトウェア開発者向けガイド』 (UG821: 英語版日本語版) を参照してください。

ユーザー定義のフロー

パフォーマンス解析は、どのユーザー定義のアプリケーションでも実行できます。

ユーザー定義フローを使用したシステム パフォーマンスのモデリング

Vitis ソフトウェア プラットフォームには、ターゲット オペレーティング システムにかかわらず、実行中のターゲットを監視する機能があります。

注記: ATG がハードウェアで設定されていない場合は、[ATG Configuration] タブが空になります。Window > Show View > Breakpoints をクリックしてブレークポイントを削除するようにしてください。
  1. デザインが Vivado Design Suite で定義されている場合は、デザインに基づいてプラットフォーム仕様を作成することをお勧めします。仕様に基づいたパフォーマンス解析を実行するには、次の手順に従います。
    1. Vivado Design SuiteFile > Export > Export Hardware をクリックし、ビットストリームを生成してエクスポートします。
    2. Vitis™ ソフトウェア プラットフォームで、File > New > Platform Project をクリックし、生成したファイル (<your design>.xsa) を Vitis ソフトウェア プラットフォームにインポートします。
    3. アプリケーションを右クリックし、Run As > Run Configuration をクリックします。
    4. SPM Analysis を選択して New ボタンをクリックし、パフォーマンス解析設定を作成します。
    5. Debug Type ドロップダウン リストから Standalone Application Debug を選択します。
    6. [Hardware platform] ドロップダウン リストからインポートしたハードウェア プラットフォーム仕様を選択します。
    7. Reset entire system および Program FPGA チェック ボックスをオンにします。
    8. Run をクリックして Performance Analysis パースペクティブを開きます。
  2. 何らかの理由でハードウェアプラットフォーム仕様を作成できない場合やハードウェア仕様がない場合でも、Vitis ソフトウェア プラットフォームでパフォーマンス解析を実行できます。仕様なしにパフォーマンス解析を実行するには、次の手順に従います。
    1. Run > Run Configurations をクリックします。OK をクリックし、詳細を保存して [Configure APM] ダイアログ ボックスを閉じます。
    2. Single Application Debug を選択して New ボタンをクリックし、新しいコンフィギュレーションを作成します。
    3. [Debug Type] ドロップダウン リストから Attach to running target を選択します。
    4. Performance Analysis Configuration をクリックして PS および APM 設定を変更します。
    5. ATG configuration をクリックし、ATG コンフィギュレーションを表示します。
    6. Apply をクリックして実行し、データを表示します。

制限

Vitis ソフトウェア プラットフォームでは、SPM がベアメタル/スタンドアロン アプリケーションでしかサポートされません。