検索
連載

モデルベースデザイン手法を使ったProgrammable SoCの協調設計【準備編】画像トラッキングアルゴリズムを手戻りなく実装するために(3/4 ページ)

今回から数回にわたり「モデルベースデザイン手法を使ったProgrammable SoCの協調設計」とはどのようなものか、実践を交えて解説していきます。第1回は、CPUコアを備えたFPGAであり、ソフトとハードを協調動作できるProgrammable SoCにモデルベースデザイン手法を用いる利点を中心に紹介します。

Share
Tweet
LINE
Hatena

MATLAB/SimulinkからのProgrammable SoC実装フロー

 MATLAB/Simulinkはモデルベースデザイン手法により開発を行うことができるプラットフォームです。抽象度の高い関数を使って行列演算を効率的にプログラミングできるMATLABと、ブロック線図で記述したモデルを使ってシミュレーションを行うSimulinkがあります。MATLABではMATLAB言語によるプログラム記述しかできませんが、Simulink上では、あらかじめ用意されたSimulinkブロックだけでなく、MATLABのコード、System Object(=記事末のコラム「MATLABとSimulinkとSystem Object」参照)、ステートマシンをグラフィカルに記述するStateflowなどさまざまなものを取り込んで利用することができます。

 今回は実装段階におけるプロセッサとFPGAの機能配分、アルゴリズムの処理内容、FPGAで必要となるパイプライン処理などが視覚的にも分かりやすく、より多くの機能が提供されているSimulinkを使用します。Simulinkで機能をモデリングしシミュレーションを行ったら、オプション*3)Embedded Coderを使ってCコード生成、HDL Coder*4)を使ってHDLコード生成を行い実装します。実装を行うプロセスと、実機デモの動作の様子はこちらのビデオでご覧になれます。

ビデオ:実装プロセスと実機動作の様子

*3)MATLABプロダクトファミリーでは、目的やアプリケーション分野別に、ToolboxやCoderといった名前でさまざまなオプション製品が提供されています。Toolboxでは、そのアプリケーション分野で使用される関数やブロックライブラリを提供しており、これを使用することで、アルゴリズムを記述する工数を削減することができます。
*4)Programmable SoCやFPGA実装用の製品紹介ビデオはこちらのWebサイトでご覧いただけます【関連リンク:Video and Webinar Series 「FPGA/ASIC実装」

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る