ローム株式会社 高付加価値製品を迅速に市場投入 ~画像処理IC開発におけるMATLAB/Simulink利用例~

高付加価値製品を迅速に市場投入 〜画像処理IC開発における MATLAB/Simulink 利用例〜

課題

画像処理用ICの開発効率化

ソリューション

画像処理用ICの開発にMATLAB/Simulinkを活用

結果

  • IC開発に必須の時間ベースのモデル作成を実現
  • ModelSimとの強調検証環境を構築することでテストベンチ作成の時間を削減

ローム株式会社では、汎用の半導体製品のみならず、音声や映像、通信などの分野を中心としたお客様の要望に特化したカスタムICを提供しております。今回は、同社の画像処理IC開発における MATLAB/Simulink の利用状況についてお話をうかがいました。

MATLAB/Simulink の使用状況について教えていただけますでしょうか?

ローム様: 元々、制御系設計において MATLAB/Simulink を使用していました。当時はサーボ制御系やPLLなどが設計対象でしたが、現在は、デジタルカメラなどの民生機器を対象とした画像データ処理専用のIC開発において主に仕様検討の段階で使用しています。MATLAB/Simulink は、主にモデリングとシミュレーションにより、仕様書に必要なデータを取るために使用しています。いわば実験室のようなもので、仕様データをまとめる際には集中的に使っています。

画像処理用のIC開発とのことでしたが、具体的にどのようなものなのでしょうか?

ローム様: 画像圧縮のアルゴリズム開発およびIP化です。最近は、デジタルカメラでも1000万画素のイメージセンサを搭載したモデルも珍しくなくなっています。つまり、画像処理の対象となるデータが大規模になるわけですが、このようなデータを効果的/効率的に圧縮するための技術は非常に重要といえます。また、このようなトレンドに対応し、開発された新しいアルゴリズムは実際のICとして実現する前に、当然、シミュレーションによる機能設計・検証が必要となります。しかしながら、検証用データが膨大になるため、シミュレーションにかかる時間やテストベンチ作成にかかる工数も課題となります。

アルゴリズム開発あるいはシステム設計において、MATLAB/Simulink を選択された理由はどういったものだったのでしょうか?

ローム様: もともと MATLAB/Simulink の環境に慣れていたということもありますが、IC開発を対象とした場合に重要だったのは、時間の概念をサポートしていることだったと思います。従来のツールだと、この点が機能的に不十分で、時間ベースのモデルを作成することが困難でした。また、アルゴリズム開発という観点からは、比較検証をしやすい環境が提供されていたことも理由として挙げられます。

従来の方法と比較して改善/向上が見られた点について教えていただけますか?

ローム様: これまでは、アルゴリズム開発を Simulink にて行い、その結果得られた仕様を元に、HDL を熟知したハードウェア設計担当者がハンドコーディングで IP 化するという流れで開発を行っていました。アルゴリズム仕様と HDL の動作が一致するかどうかを検証する必要があるわけで、テストベンチの作成に工数を要しました。

そこで、まず最初に、検証環境を整備するために「Link for ModelSim」を追加導入しました。これにより、ハンドコーディングによって作成された HDL と仕様の比較検証を行うことができるようになり、テストベンチ作成の工数が削減され、デバッグに十分な時間を確保できる環境が整いました。

アルゴリズム開発用モデルを再利用した HDL テストベンチ

アルゴリズム開発用モデルを再利用した HDL テストベンチ

デバッグ環境

デバッグ環境

今回、「Simulink HDL Coder」も評価されたそうですが、その件についてお聞かせいただけますでしょうか?

ローム様: もともと Simulink で仕様モデルを作成していたことから、Simulink モデルからHDLを自動生成するツールには興味がありました。「Simulink HDL Coder」を選択したのは、やはり MATLAB/Simulink の開発元が提供する純正ツールであったからです。製品の将来性などを考えると、やはり純正ツールとしての安心感はあるかと思います。今回は、画像圧縮アルゴリズムのSimulink モデルからのHDL生成に使用しました。回路規模としては10万ゲート弱です。この種のツールでは自動生成されたコードの冗長性などがよく問題になりますが、当方で試した結果、思ったほど合成結果も悪くなく、十分利用できる水準でした。また、今回は除算器などの一部の対象モデルについては、当方で独自に作成したライブラリを使用しました。現時点ではまだ Simulink の基本ブロックを中心としたライブラリのみしかコード生成をサポートしていないようですが、ライブラリのサポートがさらに充実することに期待しています。さらに今後、コード生成/合成のための機能が強化されれば、さらに効率のよい結果が得られるのではないかと期待しております。いずれにせよ、HDL にあまり詳しくない人にとっては、ハードウェア設計者との掛け橋となりうるツールとして十分使えると思いました。

最後に今後の展望についてお聞かせいただけますでしょうか?

ローム様: デジタルカメラなどの民生機器における画像処理は、いわゆる“絵作り”のノウハウが各メーカーの差別化要因ですので、実際にはなかなか入り込むのが難しい分野です。しかしながら、最近では手ブレ補正、顔認識などの付加価値機能においても市場機会は十分あるかと思います。当社としては、MATLAB/Simulink を利用した開発環境により、より短期間で新しい付加価値機能をより多く提供していきたいと考えております。また、この分野においても、MATLAB/Simulink がもっと利用されるよう、技術サポートをはじめとする御社の方々にも頑張っていただきたいと思います。

以上です。貴重なご意見をどうもありがとうございました。

上記の内容は、2007 年 11 月 22 日時点にサイバネットシステム株式会社サイトに掲載されたものを、関係者の許可を受けて、移管したものです。