FPGA の設計経験の程度に関係なく、FPGA ベースのハードウェアでアルゴリズムをプロトタイピングすることができます。
MATLAB および Simulink を使用することで、以下を行うことができます。
- 実証済みの IP ブロックとサブシステムを使用したハードウェア対応の設計の構築
- FPGA に展開する前に、システムレベルのハードウェア動作をシミュレーションしてバグを排除
- 任意の FPGA または SoC デバイスをターゲットにできる HDL コードおよび C コードの生成
- AMD® および Intel® FPGA および SoC ボードおよびキットへの自動的な展開
- ハードウェアで実行されている信号のプローブとキャプチャ
「当社は専門分野について十分な経験がありますが、FPGA 統合の経験はほとんどありません。Simulink と HDL Coder を使用することで、自社製品のためのインテリジェントなアルゴリズムの設計に注力できるようになり、設計したアルゴリズムを特定の FPGA で簡単に実行できるようになりました。」
Boris Van Amerongen, Orolia
MATLAB を使用した FPGA プロトタイピング
無線アプリケーション
ライブ無線入出力を使用したアルゴリズムのシミュレーションから、FPGA または SoC (ソフトウェア無線プラットフォーム) またはカスタムボードへの完全な展開まで、ライブハードウェア要素を設計に段階的に追加することができます。
Wireless HDL Toolbox のハードウェアで実証済みの無線設計 IP ブロックとサブシステムを使えば、すぐに開始することができます。IP には、MATLAB を使用したアルゴリズム設計から Simulink の無線システム実装モデルに段階的に移行する方法を示す例が含まれています。すべての IP は固定小数点に量子化されており、Fixed-Point Designer を使用して、HDL Coder で展開する前に追加するカスタムロジックの量子化を管理することができます。
モーターおよびパワー エレクトロニクス制御アプリケーション
FPGA ベースのハードウェアで実行されている制御アルゴリズムのパフォーマンスを確認したり、FPGA ベースのハードウェアインザループでプラント モデルを高速化したりすることができます。HDL Coder は、固定小数点またはネイティブ浮動小数点 (9:19)での数学関数と三角関数の幅広い HDL コード生成のサポートにより、Simulink モデルからハードウェア実装への道のりをわかりやすくガイドします。
SoC 展開用にアルゴリズムを分割する方法を検討しているのであれば、プロトタイプ プラットフォームに展開する前に、分割戦略を検索およびシミュレーションしてパフォーマンスを評価することができます。その後、事前構成済みキット、Speedgoat FPGA テクノロジーの紹介 (7:53)、または独自のカスタムボードをターゲットにします。
動画および画像処理アプリケーション
HDL コードと C コードを自動的に生成することで、MATLAB および Simulinkに接続された FPGA ベースのプラットフォーム上でビジョンアルゴリズムのプロトタイピングを行うことができます。また、ハードウェアで実証済みの画像処理ブロックを使用して、ピクセル ストリーミング、近傍ベースのアルゴリズム、外部メモリアクセス、制御信号などのハードウェア動作をシミュレーションする実装モデルを構築することもできます。
モデルを既製の FPGA カメラ付き評価キットに展開するためのサポートが利用可能です。あるいは、ハードウェアチームがプラットフォームのサポートを構築して、MATLAB および Simulink から直接プロトタイプを展開することもできます。
ディープラーニングの推論
わずかな MATLAB コマンドだけで、FPGA および SoC ボード上のネットワークをプロトタイピングにすることにより、ディープラーニングの推論を高速化することができます。次に、FPGA 上での推論のパフォーマンスを解析し、ネットワークを調整し、固定小数点に量子化し、再展開することで、MATLAB 内からネットワーク上で反復することができます。最後に、ターゲットに依存しない HDL IP コアを生成して、実装用にハードウェアチームにハンドオフすることができます。
FPGA プロトタイプのデバッグ
実際の入力を使用した FPGA プロトタイピングにより、初期のシミュレーションでは検出および修正されなかったバグを発見することができます。FPGA または SoC プロトタイプにロジックを挿入して、MATLAB コマンドを使用して AXI にアクセス可能なレジスタから対話的に読み書きしたり、FPGA ファブリック内部のテストポイントからデータを取得したりすることができます。
MATLAB または Simulink テストベンチを使用して FPGA プロトタイプを実行する場合には、FPGA インザループがセットアップを自動化し、シミュレーション インターフェイスを管理してデータを FPGA に送信し、テストベンチに読み戻します。
こうした手法はAMD、Intel、Microsemi デバイスですぐに使用できる各種ボードをサポートしていますが、独自の カスタムボードを定義することもできます。