放送機器などを手がける池上通信機は、映像機器向けのFPGA設計に米Cadence Design Systems, Inc.の高位合成ツール「C-to-Silicon Compiler」を適用した(Tech-On!関連記事)。高位合成導入の背景や、導入を円滑にする方法、導入の効果などについて、池上通信機のエンジニアが語った。

 この講演は、日本ケイデンス・デザイン・システムズとイノテックが2012年5月18日に新横浜で開催した「ケイデンス C-to-Silicon Compilerセミナー 2012」で行われた。登壇したのは、池上通信機の前里真一氏(開発本部 開発2部 グループ1 課長)である。同氏によれば、以前は、放送機器向けの画像処理回路はASIC化することが多かったが、最近では、FPGAに実装するケースが増えている。半導体プロセスの微細化が進みASICの開発コストが急騰する一方で、FPGAが大規模化して同回路を実装できるようになったからである。

最終段階ですべてを検証していた

図1●RTLのFPGA設計の課題を語る前里真一氏 Tech\-On!が撮影。スクリーンは池上通信機のスライド。
図1●RTLのFPGA設計の課題を語る前里真一氏
Tech-On!が撮影。スクリーンは池上通信機のスライド。
[画像のクリックで拡大表示]

 ASICを開発してきた経緯があるため、FPGAのRTL設計は難なくこなせるエンジニアは多い。ただし問題がないわけではない(図1)。例えば、仕様段階の検討を十分すませないうちに、いきなりRTLコードを書いてしまう。C言語を使って仕様を記述し、それを検証するのが理想論だが、2度手間と敬遠するエンジニアは多い。

 それでもRTL設計段階で検証すればいいが、RTLでもソフトウェアの論理シミュレーションでは処理時間がかかる。となると、論理シミュレーションで十分検証していないRTL設計をFPGAに実装し、直接実行して検証することになる。直接実行で問題がなければ良いが、普通はそうならない。問題が見つかると、仕様が悪いのか、RTL設計が悪いのか、実行したFPGAを含むシステムが悪いのかが分からない。

 さらに、設計の再利用でも問題があった。他人の書いたRTLは純粋な機能記述ではないため、理解するのが大変。すると、そのまま使うことになる。これだと、例えば、実装先のFPGAが変わってもそれに合わせて最適されないまま再利用される。新機能を備えたFPGAの実力が引き出せないことになる。こうした問題はFPGA導入によって発生しがちで、それが池上通信機でも起こっていた。