TMicrochipのC言語によるFPGAハードウェア開発を活用する
PolarFire™ システムオンチップ(SoC)の導入により、設計者は、プロセッサを使用してアプリケーションを実現する場合と、FPGA構造内で機能を高速化する場合の真のトレードオフを設計および評価することができるようになりました。本発表では、当社の開発ツールチェーンの拡張機能を用いて、RiscV用にCコードを書き、評価し、SmartHLSを用いてFPGAロジックに変換して高速化する方法を紹介します。
元Microsemi社員のPeter Trottによるプレゼンテーション
SmartHLS – 生産性向上とバグ低減を支えるスマートな合成技術
生産性向上:設計サイクルを2~5倍短縮
品質:バグが少ない、C/C++コードの理解・維持が容易
より速く:ソフトウェアモデル検証の高速化
使い勝手の良さ: FPGAのポータビリティ
性能:組込みソフトウェアが2~10倍の高速化
PolarFire®、PolarFireSoC®、SmartFusion®2、IGLOO®2をサポート
設計 | RTL(行数) | C++(行数) | 改善度 |
---|---|---|---|
アルファブレンド | 283 | 39 | 7倍 |
色空間変換(RGB→YCbCr) | 158 | 32 | 5倍 |
色空間変換(YCbCr→RGB) | 182 | 36 | 5倍 |
ガウシアンフィルタ | 276 | 65 | 4倍 |
数字認識 | 1,984 | 334 | 6倍 |
C++で検証を高速化し、コード行数を大幅に削減することで、検証の高速化、わかりやすさ、潜在的なバグの減少を実現します!
C++によるガウシアンフィルタとVerilogによる手書きガウシアンフィルタ
(65行) に対して(サブモジュールなしで276行)
より詳細な情報
例
Image Processing on PolarFire Kit
Multi-threaded digit recognition on PolarFire Video Kit
AXI interfaces to DDR and Mi-V soft Processor on Video Kit
製品ドキュメント
SmartHLS Software Installation Guide
ホワイトペーパー
Benefits of SmartHLS Whitepaper
Migrating Motor Controller C++ Software to a PolarFire® FPGA with SmartHLS Whitepaper
チュートリアルとHLSの例
MicrochipTech/fpga-hls-examples