【画像処理のKIT】引きだしシリーズ15
ハード化実現手段で大きな位置を占めるFPGA今回は、そのFPGAの中でも、CPU内臓タイプについてのKITの考えをお伝えします。
古くから、FPGAには、二種類のCPUを内蔵されて来ました。
一つ目は、ソフトコアと呼ばれるFPGAの汎用回路を組み合わせてCPUを作るものです。こちらの長所は、用途に合わせた性能(バス幅など)のCPUを作る事ができる。と言う点です。
デメリットは、高性能化が難しいと言う点でしょう。
二つ目は、ハードコアと呼ばれるFPGAメーカーがCPUメーカーからライセンスを購入して、シリコン上にCPU部とFPGA部を同居させて一つのパッケージにしてしまう物です。こちらの長所はCPU性能が高い点と、FPGA以外の手段でも同一コアを使ったCPUが存在するので、開発環境も最初の例よりは多い点です。
デメリットは、そのCPUがメジャーになれずに廃品になったりすると簡単には移植できない点でしょう。
KITでは、これまで極力CPU内臓FPGAの仕様を避けて来ました。
それは、ハードコアタイプのCPUではFPGAの長所である、廃品になっても新デバイスに移植しやすい事がFPGAの大きな長所と考え、その長所を失ってしまうからです。また、ソフトコアタイプのCPUではFPGAのゲートが減ってしまい、その減ったゲート分のコストが組込用CPUコストより上回ると考えていた為です。
しかし、近年の技術の進歩により、その考え方も変わってきました。
最大の理由は、FPGA−CPU間の接続速度が高速化し、物理的に別れている信号速度がボトルネックになる事が多くなった為です。
FPGAをCPUアクセラレータに使用したくても、計算元のデータセットや、計算結果の取得に時間がかかってしまっては意味が無い為です。
この様な使い方は、まだまだ主流ではないですが、選択の一つとしてCPU内臓FPGAも使用するようになりました。