特定分野の専門家およびハードウェア エンジニアは、MATLAB® および Simulink® を使用して、Xilinx® FPGA、および Zynq® SoCデバイス上に展開するためのプロトタイプおよび量産アプリケーションを開発します。
MATLAB と Simulink を使用すると、次のことが可能になります。
- システムレベルでのハードウェア アーキテクチャのモデル化
- コードを記述しない FPGA または SoC のプログラミング
- MATLAB および Simulink 製品を使用した FPGA または SoC のシミュレーションおよびデバッグ
- FPGA または SoC 統合用の量産 HDL および C コードの生成
「当社は専門分野について十分な経験がありますが、FPGA 統合の経験はほとんどありません。Simulink と HDL Coder を使用することで、自社製品のためのインテリジェントなアルゴリズムの設計に注力できるようになり、設計したアルゴリズムを特定の FPGA で簡単に実行できるようになりました。」
Boris Van Amerongen, Orolia
MATLAB を Xilinx FPGA および Zynq SoC で使用する
モデリングとシミュレーション
モデルベースデザインに Simulink を使用することにより、ハードウェア実装を高位でモデル化し、システムコンテキストでシミュレーションすることで、Xilinx FPGA および Zynq SoC アプリケーションの開発時間を短縮できます。また、リソースの使用を効率化するために固定小数点に量子化したり、合成可能なネイティブ浮動小数点 HDL を生成して FPGA をより簡単にプログラムしたりすることもできます。
HDL Coder™ は、信号処理、無線通信、モーターと電力制御、および画像/動画処理などのアプリケーション用に、HDL 対応の Simulink Function および MATLAB Function ブロックから直接合成可能な VHDL® または Verilog® を生成します。
Xilinx System Generator for DSP および Xilinx Model Composer は、システムレベルのシミュレーションとハードウェアへの展開のために Xilinx 固有のブロックを Simulink に追加します。System Generator ブロックをネイティブ Simulink ブロックと統合して、HDL コードを生成することができます。
SoC Blockset™ を使用すると、メモリの使用やスケジューリング/OS の影響など、Zynq UltraScale+ MPSoC および RFSoC デバイスのハードウェアとソフトウェアの相互作用のパフォーマンスを解析することができます。

MATLAB および Simulink でのライブ解析を使用した、Xilinx Zynq SoC ソフトウェア無線プラットフォームで実行されている無線アプリケーションのプロトタイプ。
FPGA ベースおよび Zynq SoC ベースのプラットフォームにおけるプロトタイピング
プロトタイピングを開始するには、サポートパッケージをダウンロードして、ライブ無線のソフトウェア無線、ブラシレス DC モーター制御、ライブカメラ入力を使用した動画および画像処理、またはディープラーニング推論処理用の、事前に構成された Xilinx FPGA および Zynq SoC ベースの評価プラットフォームをターゲットにすることができます。HDL Coder では、Simulink から直接 FPGA または SoC をプログラミングする手順が用意されています。HDL コードを書く必要はありません。
複数の手法から選択して、MATLAB および Simulink から直接 FPGA プロトタイプをデバッグできます。IP を挿入してAXI レジスタの読み取りまたは書き込みを行い、MATLAB とオンボードメモリ位置の間で大きな信号または画像ファイルを転送するか、MATLAB で解析できるよう、内部の信号からFPGA へデータをキャプチャするか、あるいは、MATLAB または Simulink テストベンチを使用して FPGA インザループを実行している評価キットでアルゴリズムをテストします。
量産統合のための HDL および IP コアの生成
HDL コード生成機能の HDL ブロックプロパティをサポートするほとんどのブロックでは、パイプライン挿入、リソース共有、RAM マッピングなどのカスタムハードウェア実装オプションを指定することができます。HDL コード生成の設定を使用すると、最適化、リセットスタイル、クロックイネーブル、命名規則などをグローバルにカスタマイズすることができます。Simulink で実装アーキテクチャを設計する機能とともに、Xilinx FPGA および Zynq SoC デバイスの速度と面積の最適化を完全に制御することができます。
Vivado® の非アルゴリズム コンテンツと統合するために、可読性に優れた論理合成可能な RTL を生成することができます。Zynq 用の HDL Coder サポートパッケージをインストールしている場合は、Arm® プロセッサやその他のデバイス コンポーネントと通信するための各種の AXI プロトコルを使用する IP コアラッパーを生成することができます。Zynq 用の Embedded Coder® サポートパッケージを使用して、Arm アプリケーション プロセッサをプログラムするためのドライバおよびアプリケーション ソフトウェアを生成することができます。
ターゲット プラットフォームのサポートの拡張
MathWorks が提供するサポートパッケージに含まれていない FPGA ベースまたは SoC ベースのプラットフォームに展開する必要がある場合は、リファレンス設計を作成またはダウンロードして、HDL Coder にプラグインすることができます。SoC Blockset または Vivado を使用して、リファレンス設計を開発することができます。Xilinx FPGA または SoCベースのプラットフォーム用のサードパーティのリファレンス設計は、File Exchange で Analog Devices®、Avnet®、Speedgoat、Trenz Electronics などのプロバイダーから入手することができます。