ソフトウェア開発キット (SDK)

:  2019.2 のリリースより、SDK、SDSoC™ および SDAccel™ 開発環境は、アプリケーション アクセラレーションおよびエンベデッド開発をサポートする、Vitis™ 統合ソフトウェアプラットフォーム に統合されます。このため、SDK の 2019.2 以降のリリースはありません。

ソフトウェア開発キット (XSDK) は、AMD の受賞歴のある Zynq™ UltraScale+ MPSoCZynq 7000 SoCs および業界最先端の MicroBlaze™ ソフトコア マイクロプロセッサを使用するエンベデッド アプリケーションを構築するための統合設計環境です。この SDK は、ホモジニアス/ヘテロジニアス マルチプロセッサの設計、デバッグ、および性能解析をサポートする業界初のアプリケーション IDE です。

  • Zynq UltraScale+ MPSoC、Zynq7000 SoC、および MicroBlaze をサポート
  • Vivado Design Suite 内に含まれる、またエンベデッド ソフトウェア開発者向けに無償ダウンロードが提供されている
  • Eclipse 4.5.0 および CDT 8.8.0 がベース (2016.3 リリース現在)
  • Vivado エンベデッド ハードウェア デザイン環境と直接インターフェイスする完全統合設計環境 (IDE)
  • 完全なソフトウェア設計とデバッグ フローをサポート (マルチプロセッサ デバッグ、ハードウェア/ソフトウェアの協調デバッグなど)
  • エディター、コンパイラ、ビルド ツール、フラッシュ メモリ管理、JTAG/ デバッグが統合
  • ライブラリおよびデバイス ドライバの完全版スイート
  • すべてのプラットフォームに RTOS として FreeRTOS が統合
  • スクリプト記述に Software Command Line Tool (XSCT) を利用可能
eclipse

システム デバッガ

AMD System Debugger は、Zynq UltraScale+ MPSoC、Zynq7000 AP SoC、および MicroBlaze コアをサポートする統合型デバッガです。XSCT を使用するコマンド ラインから、およびデバッグ用の SDK GUI から利用できます。ブレークポイントやウォッチポイントの設定、プログラム実行のステッピング、プログラム変数やスタックの確認、システム内メモリ コンテンツの確認など、一般的なデバッグ機能をすべてサポートしています。また、同じデバッグ環境から、異なるプロセッサ (複数プロセッサを使用する システム内) でプログラムを同時にデバッグすることも可能です。たとえば、Zynq または Zynq UltraScale+ ベース デザインの場合、システム デバッガは ARM CPU と複数の MicroBlaze ソフトプロセッサを両方とも表示します。デバッグの場合も同様、1 つの JTAG ケーブルを介して行うことができるため、ハード化されたプロセッシング システムとユーザーがプログラマブル ロジックに追加したプロセッシング システム間でのかつてない高度なレベルのデバッグが可能になります。

  • オープンソースの TCF (Target Communication Framework) がベース
  • ホモジニアス/ヘテロジニアス マルチプロセッサをサポート
  • 階層プロファイル機能
  • ベアメタルおよび Linux 開発 (Linux OS 対応デバッグを含む)
  • SMP と AMP デザインを両方サポート
  • コアごとにハードウェアとソフトウェアのブレークポイントを関連付ける
  • NEON™ ライブラリ サポート
multiprocessor

システム デバッガは、一般的なソフトウェア デバッガが備えているすべての機能をサポートする上に、PS 内のプロセッサと PL 内のプロセッサ/ハードウェア間のクロストリガー機能をサポートします。ソフトウェア プログラマは、直感的な GUI を使用して、外部プロセッサや PL 内のハードウェアに対してトリガーを生成または受信する条件を設定できます。 デバッグ プロセスをサポートするために、さまざまなツールでデータをキャプチャして表示できます。

カスタム デザインに対応

AMD の SDK は、Vivado Design Suite で定義されたカスタム エンベデッド ハードウェア デザインを認識します。カスタム デザインに基づいて、メモリ マップ、ペリフェラル レジスタの設定、ツールやライブラリのパス、コンパイラ オプション、JTAG やフラッシュ メモリの設定、デバッガー コネクション、ベアメタル ボード サポート パッケージ (BSP) などの主要パラメーターを自動でコンフィギュレートします。このカスタム デザインを認識するプリコンフィギュレーション機能とクリティカル システム ソフトウェアの自動生成機能が統合された、このキットを使用することで、ソフトウェアの開発時間が短縮できます。

soft_libraries

ドライバーとライブラリ

SDK は、サポートされているすべての AMD  ハードウェア IP 向けにユーザー カスタマイズ可能なドライバー、POSIX 準拠のカーネル ライブラリ、およびネットワーキングとファイルのハンドリング ライブラリを提供します。これらのライブラリとドライバーは、機能要件、メモリ要件、およびハードウェア機能に基づいたカスタムデザイン用に拡張できます。

ソフトウェア プロファイリング

SDK には、プログラマブル ロジック内で実行されるファンクションとプロセッサ上で実行されるファンクションの相互関係によって生じるコード内の問題を認識するのに役立つプロファイリング ツールが統合されています。階層プロファイル機能がサポートされるようになりました。これによって、ファンクションの呼び出し元や最も性能に影響を与える呼び出し関数をユーザーが確認できるようになりました。

これによって、ファンクションの呼び出し元や最も性能に影響を与える呼び出し関数をユーザーが確認できるようになりました。

高性能な SOC ベースのシステムを構築するには時間がかかる上に、ソフトウェアとペリフェラル間の相互作用を理解する必要があります。性能データを収集してシステムを可視化できるツールの使用は、性能目標の達成に不可欠です。AMD の System Performance Analysis ツールボックス(XSDK で利用可能) を使用して、システムのモデル化、測定、解析、および最適化を行うことができます。新しい性能画面には、次の情報を表示できます。

  • プロセッサ使用率
  • 1 サイクルあたりの命令
  • キャッシュ ミス/ヒット率
  • 読み出し/書き込みレイテンシと PL-PS インターフェイスの帯域幅
model

System Performance Analysis ツールボックスでは、ユーザーがシステムを操作し、目標性能を達成するために調整できます。

assess_rq

これらのツールを使用して、問題を素早く特定し、ハードウェアとソフトウェアの最適な分割を実現するシナリオを描くことができます。AXI Traffic Generator を使用した場合、デザインが完成する前にプログラマブル ロジック内に含められる IP ブロックから性能をモデル化できます。解析後、ソフトウェア ソース コードを最適化したり、プロセッサとプログラマブル ロジック間で機能を分割、またはすべての機能をプログラマブル ロジックへ移行するなどして、性能の向上を図ることができます。