連載
» 2017年03月14日 11時00分 UPDATE

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

[松本充史(MathWorks Japan),EDN Japan]

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© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.