モデルベースデザイン手法を使ったProgrammable SoCの協調設計【準備編】:画像トラッキングアルゴリズムを手戻りなく実装するために(1/4 ページ)
今回から数回にわたり「モデルベースデザイン手法を使ったProgrammable SoCの協調設計」とはどのようなものか、実践を交えて解説していきます。第1回は、CPUコアを備えたFPGAであり、ソフトとハードを協調動作できるProgrammable SoCにモデルベースデザイン手法を用いる利点を中心に紹介します。
Programmable SoCの登場
Xilinx(ザイリンクス)の「Zynq」やIntel(インテル/旧Altera)のSoC製品などARMプロセッサコアとFPGAを1チップに搭載したデバイス「Programmable SoC」は、産業機器、先進運転支援システム(ADAS)、コンシューマー機器、プロシューマー機器などで採用が進んでいます。Programmable SoCが使用される理由には、グルーロジックや専用ICを取り込むことによる基板面積削減や低コスト化、FPGAを使用したハードウェアアクセラレーションを行うことによる高性能化などがあります。これまでプロセッサだけを使用していたソフトウェアエンジニアにとっては、FPGAを使った高速化、高性能化を、FPGAを使用していたハードウェアエンジニアにとっては、プロセッサの柔軟性、手軽さを享受できる魅力的なデバイスです。
本稿ではザイリンクスのProgrammable SoCであるZynqのARMプロセッサとFPGA両方を使ったアルゴリズム、つまりソフトウェア、ハードウェアで協調動作するアルゴリズムをMATLAB/Simulinkを用いたモデルベースデザイン手法により実装する方法を解説します。実装フローは次の通りです。
- レファレンスモデル作成
- 機能配分
- プロセッサ用サブシステム作成
- FPGA用サブシステム作成
- 実装用モデルによる統合シミュレーション
- HDLコード生成~FPGA実装
- Cコード生成~プロセッサ実装
- Programmable SoC統合検証
実装方法を分かりやすく解説するため「シンプルな構成の画像処理アルゴリズムを使った緑色のオブジェクト検出とトラッキングを行いつつ、赤い円形のマーカーを表示するアルゴリズムを実装する方法」を例に挙げて解説していきます。なお、今回使用するボードはAvnet(アヴネット)製の「ZedBoard」と、ザイリンクス製「ZC706」になります。なおZC706は「ZC702」でも代用できるでしょう。
図1はオブジェクトを検出、トラッキングするシステムです。このシステムはビデオカメラ→HDMI→ZedBoard→HDMI→モニターとZedBoardに接続されたPCで構成されています。PCにはMATLABとザイリンクスのツールがインストールされています。
Copyright © ITmedia, Inc. All Rights Reserved.