特定分野の専門家およびハードウェア エンジニアは、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

モデリングとシミュレーション

モデルベースデザインに Simulink を使用することにより、ハードウェア実装を高位でモデル化し、システムコンテキストでシミュレーションすることで、Xilinx FPGA および Zynq SoC アプリケーションの開発時間を短縮できます。また、リソースの使用を効率化するために固定小数点 (30:45)に量子化したり、合成可能なネイティブ浮動小数点 (9:19) 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 デバイスのハードウェアとソフトウェアの相互作用のパフォーマンスを解析することができます。

モデリングとシミュレーション

同じ設計に浮動小数点演算と固定小数点演算を混在させます。この三角関数演算は、標準の Xilinx FPGA リソースを使用して浮動小数点で実装されます。


MATLAB および Simulink でのライブ解析を使用した、Xilinx Zynq SoC ソフトウェア無線プラットフォームで実行されている無線アプリケーションのプロトタイプ。

MATLAB および Simulink でのライブ解析を使用した、Xilinx Zynq SoC ソフトウェア無線プラットフォームで実行されている無線アプリケーションのプロトタイプ。

FPGA ベースおよび Zynq SoC ベースのプラットフォームにおけるプロトタイピング

プロトタイピングを開始するには、サポートパッケージをダウンロードして、ライブ無線のソフトウェア無線ブラシレス DC モーター制御、ライブカメラ入力を使用した動画および画像処理、またはディープラーニング推論処理用の、事前に構成された Xilinx 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 で実装アーキテクチャを設計する機能とともに、Xilinx FPGA および Zynq SoC デバイスの速度と面積の最適化を完全に制御することができます。

Vivado® の非アルゴリズム コンテンツと統合するために、可読性に優れた論理合成可能な RTL を生成することができます。Zynq 用の HDL Coder サポートパッケージをインストールしている場合は、Arm® プロセッサやその他のデバイス コンポーネントと通信するための各種の AXI プロトコルを使用する IP コアラッパーを生成することができます。Zynq 用の Embedded Coder® サポートパッケージを使用して、Arm アプリケーション プロセッサをプログラムするためのドライバおよびアプリケーション ソフトウェアを生成することができます。

生成された HDL および IP コアのレポート

生成された HDL および IP コアのレポート。IP コアの生成レポートには、AXI レジスタおよびプロトコルへの設計の入出力マッピングが記載されます。


HDL を生成できる I/O マッピングを伴うプレースホルダーを使用して、カスタムリファレンス設計を定義します。

ターゲット プラットフォームのサポートの拡張

MathWorks が提供するサポートパッケージに含まれていない FPGA ベースまたは SoC ベースのプラットフォームに展開する必要がある場合は、リファレンス設計を作成またはダウンロードして、HDL Coder にプラグインすることができます。SoC Blockset または Vivado を使用して、リファレンス設計を開発することができます。Xilinx FPGA または SoCベースのプラットフォーム用のサードパーティのリファレンス設計は、File Exchange で Analog Devices®Avnet®SpeedgoatTrenz Electronics などのプロバイダーから入手することができます。