English | 日本語
概要 | 演習 1: SDSoC 開発環境の概要 | 演習 2: パフォーマンスの見積もり | 演習 3: アプリケーション コードの最適化 | 演習 4: 指示子を使用したアクセラレータの最適化 | |
演習 5: タスク レベルのパイプライン | 演習 6: デバッグ | 演習 7: ハードウェア デバッグ | 演習 8: エミュレーション | 演習 9: GitHub からのサンプルのインストール |
このチュートリアルでは、SDx IDE でエミュレーション機能を使用する方法を示します。デバッガーを使用してデータ転送を可視化するには、SDSoC エミュレーターでアプリケーションを実行することをお勧めします。これにより、システム停止などの問題がわかるので、シミュレーション波形ビューで関連するデータ転送を調べて、そのデータ転送に関連するハードウェア ブロックの信号にアクセスできます。
まず、デザインの OS とプラットフォームを指定し、プログラムでエミュレーションを実行します。このチュートリアルでは、アクセラレーションされたシステムで実行しているアプリケーションをデバッグします。
📌 注記: このチュートリアルは、ZC702 ボードがなくても終了できます。SDx プロジェクトを作成する際は、推奨されているエミュレーション アプリケーションのテンプレートが見つからない場合でも、ボードと使用可能なテンプレートの 1 つを選択してください。
手順 1: エミュレーションを実行するプロジェクトの作成
[Emulation Example] デザイン テンプレートを使用して ZC702 プラットフォームおよび Linux OS の新しい SDx プロジェクト (lab8
) を作成します。SDx IDE でプロジェクトを作成する手順は、次のとおりです。
-
SDx IDE が起動します。
-
[File] → [New] → [SDx Project] をクリックします。
-
[Project Type] ページでは、デフォルトで [Application Project] がオンになっています。[Next] をクリックします。
-
[Project name] フィールドにプロジェクト名を指定します (例:
lab8
)。[Next] をクリックします。 -
[Platform] から [zc702] を選択します。[Next] をクリックします。
-
[System Configuration] ドロップダウン リストから [Linux] を選択します。[Next] をクリックします。
-
[Available Templates] から [Emulation Example] を選択し、[Finish] をクリックします。
-
[lab8] タブをクリックして SDx プロジェクト設定を選択します (タブが表示されていない場合は、[Project Explorer] で
project.sdx
ファイルをダブルクリックします)。[HW functions] パネルで、プロジェクトが作成されたときに mmult_accel 関数がハードウェア関数としてマークされていることを確認します。 -
ハードウェア関数が削除されていたり、マークされていない場合は、[Add HW Functions] アイコンをクリックして表示されたダイアログ ボックス内でハードウェア関数を指定します。
-
[SDx Project Settings] の [Active build configuration] プルダウン メニューから [Debug] を、[Target] プルダウン メニューから [Emulation] を選択します。[Emulation] モデルには、[Debug] と [Optimized] の 2 つのオプションがあります。[Debug] オプションを選択して、デバッグ情報のキャプチャを有効にします。デバッグ情報なしにしてエミュレーションを速めるには、[Optimized] プルダウン メニューの方を選択します。この演習では、デフォルト オプションの [Debug] を使用します。
-
[Target] に [Emulation] を選択すると、[Generate SD card image] は淡色表示になります。
-
[Generate emulation model] オプションをオンにしたまま、ビルド シンボルをクリックしてアプリケーションを構築します。
手順 2: エミュレーターの開始
-
[Xilinx] → [Start/Stop Emulator] をクリックします。
-
[Emulation] ダイアログ ボックスが開きます。プロジェクトと設定を選択します。
-
波形を表示するかどうかを選択します。波形を表示するようにすると、Vivado ツール セッションが開始されてシミュレーション ウィンドウが表示され、デザイン内のさまざまな信号の波形を確認できます。波形を表示しないようにするとエミュレーションが速く実行されます。[Show the Waveform] オプションをオンにします。
-
[Start] をクリックします。これは、ボードをオンにしたのと同じことです。
-
波形ビューアーで表示する必要のある信号を追加します。これには、Vivado の [Scope] ウィンドウで関数を選択し、右クリックで [Add to Wave Window] をクリックします。その関数内の信号が波形ビューアーに追加されます。
-
信号を選択したら、[Run All] または [Run for] ボタンクリックして、プログラマブル ロジック シミュレーションを開始します。
手順 3: アプリケーションの実行
エミュレーターは、開始されるまで数秒かかります。エミュレーションの開始方法:
-
SDx IDE で [lab8] を右クリックして [Debug As] → [Launch on Emulator (SDx Application Debugger)] をクリックします。
-
[Confirm Perspective Switch] ダイアログ ボックスが表示されます。[Yes] をクリックしてパースペクティブを切り替えます。
-
パースペクティブを [Debug] に切り替えると、コードを実際のハードウェアで実行しつつデバッグできます。
-
ツールバーの [Resume] アイコンクをクリックしてコードを実行します。
-
Vivado XSim シミュレータの波形ビューアーには、さまざまな信号のステートが表示されます。
このチュートリアルを終了すると、次ができるようになります。
- SDx IDE を使用して、エミュレーション モードでアプリケーションをダウンロードして実行。
- オプションで SDx IDE でソース コードをステップ スルーして、さまざまなレジスタおよびメモリを確認。
Copyright© 2019-2019 Xilinx
この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。