DRP(Dynamically Reconfigurable Processor)はソフトウェアの柔軟さとハードウェアの高速性を兼ね備えたプログラマブルハードウェアです。処理を定義するファームウェアの書き換えが瞬間に行えます。高度で複雑な処理を短期間でハードウェア化するための方法として、C言語による高位合成を使用しています。

DRP設計フローイメージ

従来の設計フロー

ASIC開発でも、アルゴリズム開発はC言語で行い、その後ハードウェア化するためにHDL言語に置き換える、という開発方法が採用されるようになってきました。このことは、次の問題点を生み出します。

書き直し工数の発生
ソフトウェア ⇔ ハードウェア間の大きな壁
技術的なハードル
抽象度の高いC言語をHDL言語に変換するのは困難
仕様変更/不具合発生による手戻り
いったんHDL言語にした後に発生した不具合は、C言語レベルでの原因追及が困難

DRPによるCベース設計フロー

いままでは複雑でハードウェア化が難しかったアルゴリズムも、統合開発環境がDRPのファームウェアに変換してハードウェアとして実装できます。アルゴリズム設計者みずから実機で評価してアルゴリズムを改善することにより、大幅な開発期間の短縮や性能向上が期待できます。

 

C言語からHDL言語を介してハードウェアを設計するという従来の概念を打ち破り、C言語から直接ハードウェアを設計する、これが「プログラマブルハードウェア(DRP)」という発想です。