特定分野の専門家およびハードウェア エンジニアは、MATLAB および Simulink を使用して、AMD® FPGA、Zynq®-7000 SoC、Zynq UltraScale+ RFSoC/MPSoC、および Versal® 適応型 SoC 上に展開するためのプロトタイプおよび量産アプリケーションを開発しています。
MATLAB と Simulink を使用すると、次のことが可能になります。
- システムレベルでのハードウェア アーキテクチャのモデル化
- コードを記述しない FPGA または SoC のプログラミング
- MATLAB および Simulink 製品を使用した FPGA または SoC のシミュレーションおよびデバッグ
- FPGA または SoC 統合用の量産 HDL および C コードの生成
MATLAB を AMD FPGA および Zynq SoC で使用する
モデリングとシミュレーション
モデルベースデザインに Simulink を使用することにより、ハードウェア実装を高位でモデル化し、システムコンテキストでシミュレーションすることで、AMD FPGA および Zynq SoC アプリケーションの開発時間を短縮できます。また、リソースの使用を効率化するために固定小数点 (30:45)に量子化したり、合成可能なネイティブ浮動小数点 (9:19) HDL を生成して FPGA をより簡単にプログラムしたりすることもできます。
HDL Coder は、信号処理、無線通信、モーターと電力制御、および画像/動画処理などのアプリケーション用に、HDL 対応の Simulink Function および MATLAB Function ブロックから直接合成可能な VHDL® または Verilog® を生成します。
AMD System Generator for DSP および AMD Model Composer は、システムレベルのシミュレーションとハードウェアへの展開のために AMD 固有のブロックを Simulink に追加します。System Generator ブロックをネイティブ Simulink ブロックと統合して、HDL コードを生成することができます。
SoC Blockset を使用すると、メモリの使用やスケジューリング/OS の影響など、Zynq UltraScale+ MPSoC および RFSoC デバイスのハードウェアとソフトウェアの相互作用のパフォーマンスを解析することができます。
MATLAB および Simulink でのライブ解析を使用した、AMD Zynq SoC ソフトウェア無線プラットフォームで実行されている無線アプリケーションのプロトタイプ。
FPGA ベースおよび Zynq SoC ベースのプラットフォームにおけるプロトタイピング
プロトタイピングを開始するには、サポートパッケージをダウンロードして、ライブ無線のソフトウェア無線、ブラシレス DC モーター制御、ライブカメラ入力を使用した動画および画像処理、またはディープラーニング推論処理用の、事前に構成された AMD FPGA および Zynq SoC ベースの評価プラットフォームをターゲットにすることができます。HDL Coder では、Simulink から直接 FPGA または SoC をプログラミングする手順が用意されています。HDL コードを書く必要はありません。
複数の手法から選択して、MATLAB および Simulink から直接 FPGA プロトタイプをデバッグできます。IP を挿入してAXI レジスタの読み取りまたは書き込みを行い (5:40)、MATLAB とオンボードメモリ位置の間で大きな信号または画像ファイルを転送するか、MATLAB で解析できるよう、内部の信号からFPGA へデータをキャプチャするか、あるいは、MATLAB または Simulink テストベンチを使用して FPGA インザループ (2:52)を実行している評価キットでアルゴリズムをテストします。
量産統合のための HDL および IP コアの生成
HDL コード生成機能の HDL ブロックプロパティをサポートするほとんどのブロックでは、パイプライン挿入、リソース共有、RAM マッピングなどのカスタムハードウェア実装オプションを指定することができます。HDL コード生成の設定を使用すると、最適化、リセットスタイル、クロックイネーブル、命名規則などをグローバルにカスタマイズすることができます。Simulink で実装アーキテクチャを設計する機能とともに、AMD FPGA および Zynq SoC デバイスの速度と面積の最適化を完全に制御することができます。
Vivado® の非アルゴリズム コンテンツと統合するために、可読性に優れた論理合成可能な RTL を生成することができます。Zynq 用の HDL Coder サポートパッケージをインストールしている場合は、Arm® プロセッサやその他のデバイス IP と通信するための各種の AXI プロトコルを使用する IP コア ラッパーを生成することができます。Zynq 用の Embedded Coder サポートパッケージを使用して、Arm アプリケーション プロセッサをプログラムするためのドライバおよびアプリケーション ソフトウェアを生成することができます。
ターゲット プラットフォームのサポートの拡張
MathWorks が提供するサポートパッケージに含まれていない FPGA ベースまたは SoC ベースのプラットフォームに展開する必要がある場合は、リファレンス設計を作成またはダウンロードして、HDL Coder にプラグインすることができます。SoC Blockset または Vivado を使用して、リファレンス設計を開発することができます。AMD FPGA または SoCベースのプラットフォーム用のサードパーティのリファレンス設計は、File Exchange で Analog Devices®、Avnet®、Speedgoat、Trenz Electronics などのプロバイダーから入手することができます。