ルネサスのエンジニアは、画像処理アルゴリズム開発および実装のためにモデルベース デザインを採用しました。
MATLABとSimulinkにより、エンジニアは、要求仕様に基づいた画像処理システムの浮動小数点モデルを開発しました。それらは、シミュレーションによって生成された出力画像の効果を視覚的に検証することで、モデルを用いた早期機能検証を実施しました。
システムモデルからの出力画像の視覚化には、Computer Vision Toolbox™が使用されました。
さらに、Fixed-Point Designer™により、浮動小数点の設計を固定小数点に変換しました。Fixed-Point Designerの固定小数点アドバイザー機能によって、オーバーフローとアンダーフローの条件を検知し、変換の手順を自動化することができました。
固定小数点と浮動小数点のシミュレーション結果を比較した後、最適化されたSimulinkモデルからの合成可能なHDLコードを生成するためにHDL Coder™が使用されました。
HDL CoderおよびHDL Verifier™の使用により、テストベンチが生成され、SimulinkおよびCadence® Incisive®による協調シミュレーションによってHDLが検証されました。次に、要求仕様を満たすよう、設計の速度と面積を最適化しました。リソース・シェアリングやパイプラインオプションなどのパラメータ設定の組み合わせを複数切り替えてHDL Coderからコード生成し、Synopsys® Design Compilerにより論理合成され、最適な設計は合成結果と仕様の比較によって選ばれました。この繰り返しによる設計プロセスを自動化するためにMATLABスクリプトを使用しました。また、その結果、手作業のプロセスと比べ、パラメータ・セッティングのより広範な選択肢から設計を最適化することが可能となりました。
合成されたコードは、Altera® Stratix II FPGAにプロトタイプとして実装されました。最終的に、同じSimulinkモデルから生成されたHDLコードを合成し、ASIC用のIPコアが合成されました。
ルネサスのエンジニアは、SimulinkおよびHDL Coderを使用して、画像処理IPコアの開発をすでに完了しており、将来、同様の画像処理技術プロジェクトでもモデルベース デザインを使用することを計画しています。