ユーザー事例

ルネサスがASIC用の画像処理IPコアをモデルベースデザインにより設計および実装

課題

自動車用のディスプレイおよびデジタル画像機器用の画像処理IPコアのアルゴリズムを開発すること。

ソリューション

MATLABと金宝app仿真软件によるモデルベースデザインを使用し,アルゴリズムをモデル化し,固定小数点変換し,シミュレーションによって検証し,合成可能なHDLコードを生成。

結果

  • 複数の最適化,選択肢の設計案を調査
  • 効率的なHDLコードを生成
  • 実践的なエンジニア技能を迅速に獲得

“モデルベースデザインにより,私たちはアルゴリズムおよびシステムの機能を早期に検証し,仕様変更により速く適合し,従来の設計フローよりも多くの設計選択肢を評価することができます。モデルベースデザインは,アルゴリズム・エキスパートおよびRTLエンジニアの間のギャップを埋めるのを支援します。」

神谷衛,ルネサスシステムデザイン株式会社
早期機能検証に使用した画像処理アルゴリズムの実行可能な仕様書モデル。入力画像(左)上,浮動小数点モデルからの出力画像(右)上および固定小数点モデルからの出力画像(右下)

ルネサスエレクトロニクスの設計とアプリケーション技術の会社であるルネサスシステムデザイン株式会社はエレクトロニクス製品用の中核技術およびASIC,大規模集積回路(LSI)システムおよびマイクロコンピュータを開発しています。これらの中核技術の中には,自動車用のディスプレイシステムおよびデジタル画像機器で使用される高度な画像処理およびフィルター処理アルゴリズムがあります。

ASIC向け画像処理IPコアの設計および実装を加速するために,ルネサスのエンジニアは,MATLAB®と金宝app仿真软件®によるモデルベースデザインを採用しました。

“私たちが開発するIPコアは複数の製品に使用されるので,高品質でかつ柔軟でなければなりません”と神谷衛氏(ルネサスシステムデザイン株式会社主任技師)は述べています。“モデルベースデザインにより,開発の初期段階でリアルタイム・プロトタイプを作成し,設計の選択肢について系統的に調査し,より多くのテストケースによる広範囲なシミュレーションによって私たちの設計に自信を持つことができるようになり,これらのゴールを達成することができました。」

課題

従来のワークフローでは,ルネサスのエンジニアは,静止画像データにより,初期段階の画像処理アルゴリズムを検証しました。しかし,それがHDLで実装され,ビデオ・ストリームデータでテストされた時点で,静止画像による検証では明らかにできなかったアルゴリズムに関する問題が検出されることもありました。実際にはそのような遅い段階で必要な変更を加えることは困難で,スケジュール内に根本的な修正の実装およびテストを行うための時間は十分に無いこともありました。

また,ルネサスではアルゴリズムはまず浮動小数点のCコードで記述されていました。浮動小数点コードを固定小数点コードに変換する作業は,アルゴリズムを理解し,かつRTL(电阻器传输级别)記述に精通していた,経験のあるごく少数のエンジニアに依存していました。この時間がかかる重要な作業が少数のエンジニアに依存している状況はプロジェクトにおいてボトルネックを生じる原因となりました。高密度脂蛋白コードは,固定小数点Cコードに基づいてハンドコーディングによって記述され,その結果さらなる遅れを引き起こしました。

ルネサスは,アルゴリズムのリアルタイム検証を開発初期に完了することを可能にする開発アプローチを必要としました。さらに,浮動小数点から固定小数点への変換およびHDLコードの作成に関連したボトルネックを最小化しようという試みがなされました。

ソリューション

ルネサスのエンジニアは,画像処理アルゴリズム開発および実装のためにモデルベースデザインを採用しました。

MATLABと金宝app仿真软件により,エンジニアは,要求仕様に基づいた画像処理システムの浮動小数点モデルを開発しました。それらは,シミュレーションによって生成された出力画像の効果を視覚的に検証することで,モデルを用いた早期機能検証を実施しました。

システムモデルからの出力画像の視覚化には,计算机视觉工具箱™が使用されました。

定点设计师さらに™により,浮動小数点の設計を固定小数点に変換しました。定点设计师の固定小数点アドバイザー機能によって、オーバーフローとアンダーフローの条件を検知し、変換の手順を自動化することができました。

固定小数点と浮動小数点のシミュレーション結果を比較した後,最適化された金宝app仿真软件モデルからの合成可能なHDLコードを生成するためにHDL编码器™が使用されました。

高密度脂蛋白编码器およびHDL校验™の使用により,テストベンチが生成され,仿真软件および金宝app节奏®敏锐的®による協調シミュレーションによってHDLが検証されました。次に,要求仕様を満たすよう,設計の速度と面積を最適化しました。リソース・シェアリングやパイプラインオプションなどのパラメータ設定の組み合わせを複数切り替えてHDL编码器からコード生成し,Synopsys对此®设计编译器により論理合成され,最適な設計は合成結果と仕様の比較によって選ばれました。この繰り返しによる設計プロセスを自動化するためにMATLABスクリプトを使用しました。また,その結果,手作業のプロセスと比べ,パラメータ・セッティングのより広範な選択肢から設計を最適化することが可能となりました。

合成されたコードは,阿尔特拉®Stratix II FPGAにプロトタイプとして実装されました。最終的に,同じ金宝app仿真软件モデルから生成されたHDLコードを合成し,ASIC用のIPコアが合成されました。

ルネサスのエンジニアは,金宝app仿真软件およびHDL编码器を使用して,画像処理IPコアの開発をすでに完了しており,将来,同様の画像処理技術プロジェクトでもモデルベースデザインを使用することを計画しています。

結果

  • 複数の最適化,選択肢の設計案を調査.“モデルベースデザインで,私たちは,ビット幅,リソース・シェアリング案,およびパイプライン・レジスタ数を変更し,高密度脂蛋白コードを繰り返し生成することにより,設計を系統的に最適化することができました”と神谷氏は述べています。“これにより,設計の代替案を調査し,要求仕様に適合するようパラメータの最適化を行うことをより容易に実現することができました。」

  • 効率的なHDLコードを生成.“最適化の後に,自動的に生成されたコードは,本質的に私たちの最良の手書きのコードと同様の面積および速度特性を保持していました。“と神谷氏は述べています。“HDL编码器によって生成されたHDLコードは,私たちが手書きで作成した等価なHDLコードと比較して,120 mhzおよび275 mhzのターゲット・クロック周波数では,手書きよりやや少ないゲート数で実装することができました。」

  • 実践的なエンジニア技能を迅速に獲得.“金宝app仿真软件およびHDL编码器の使用によって,過去にハードウェア経験が無かったエンジニアがRTL設計を約6か月で身に着けることができました”と神谷氏は述べています。“これはたった3名のエンジニアのチームが,同じ期間中にFPGA上で複雑な画像処理アルゴリズムを設計し実装することを可能にするのに役立ちました。」