# MicrochipのC言語によるFPGAハードウェア開発を活用する

**URL:** <https://forum.digikey.com/t/microchip-c-fpga/28173>\
**Category:** 電子部品ペディア　～基礎、応用、実践～\
**Created:** [January 30, 2023, 8:33am UTC](https://forum.digikey.com/t/microchip-c-fpga/28173 "2023-01-30T08:33:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tsuneharu\_Fuji](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@Tsuneharu\_Fuji](https://forum.digikey.com/u/Tsuneharu_Fuji)\
**Post date:** [January 30, 2023, 8:33am UTC](https://forum.digikey.com/t/microchip-c-fpga/28173/1 "2023-01-30T08:33:07Z")

</div>

**TMicrochipのC言語によるFPGAハードウェア開発を活用する**

 

[PolarFire™](https://www.digikey.jp/ja/products/result?s=N4IgjCBcoLQCxVAYygMwIYBsDOBTANCAG4B2aWehA9lANogCsAHGE0yALqEAOALlCBABfEUA) [システムオンチップ（SoC）](https://www.digikey.jp/ja/products/filter/embedded/system-auf-chip-soc/777)の導入により、設計者は、プロセッサを使用してアプリケーションを実現する場合と、FPGA構造内で機能を高速化する場合の真のトレードオフを設計および評価することができるようになりました。本発表では、当社の開発ツールチェーンの拡張機能を用いて、RiscV用にCコードを書き、評価し、SmartHLSを用いてFPGAロジックに変換して高速化する方法を紹介します。

元Microsemi社員の **Peter Trott** によるプレゼンテーション

**SmartHLS – 生産性向上とバグ低減を支えるスマートな合成技術**

**生産性向上：設計サイクルを2～5倍短縮**

**品質：バグが少ない、C/C++コードの理解・維持が容易**

**より速く：ソフトウェアモデル検証の高速化**

**使い勝手の良さ： FPGAのポータビリティ**

**性能：組込みソフトウェアが2～10倍の高速化**

**PolarFire®、PolarFireSoC®、SmartFusion®2、IGLOO®2をサポート**

 ![image](https://global.discourse-cdn.com/digikey/original/3X/3/6/36a5ac674344a2dadef2463381c4211f23cb5808.png)

![image](https://global.discourse-cdn.com/digikey/original/3X/c/d/cdd062ab28fff12032eac863aed636282a3cb16d.png)

![image](https://global.discourse-cdn.com/digikey/original/3X/2/1/2165f565b7e5e8bd178ea6d6837d66257c50b918.png)

| **設計** | **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](https://global.discourse-cdn.com/digikey/original/3X/8/7/878429fa4902a52eac783a0beb12316919e98700.png) ![image](https://global.discourse-cdn.com/digikey/original/3X/e/9/e930c4fd560842d3b759e7b17ef3393ba14b0bd4.jpeg)

**より詳細な情報**

**例**

[Image Processing on PolarFire Kit](https://github.com/MicrochipTech/fpga-hls-examples/blob/main/Training1/SmartHLS_Training_Session_1.pdf)

[Multi-threaded digit recognition on PolarFire Video Kit](https://github.com/MicrochipTech/fpga-hls-examples/blob/main/Training2/SmartHLS_Training_Session_2.pdf)

[AXI interfaces to DDR and Mi-V soft Processor on Video Kit](https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-design-resources/smarthls-compiler)

**製品ドキュメント**

[SmartHLS Software User Guide](https://microchiptech.github.io/fpga-hls-docs/userguide.html)

[SmartHLS Software Installation Guide](https://microchiptech.github.io/fpga-hls-docs/gettingstarted.html)

[SmartHLS Tutorial](https://www.microsemi.com/document-portal/doc_download/1245532-legup-hls-tutorial)

**ホワイトペーパー**

[Benefits of SmartHLS Whitepaper](https://coredocs.s3.amazonaws.com/smarthls/2021.2/SmartHLS_Benefits_Whitepaper.pdf)

[Migrating Motor Controller C++ Software to a PolarFire® FPGA with SmartHLS](https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-design-resources/smarthls-compiler)[Whitepaper](https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-design-resources/smarthls-compiler)

**チュートリアルとHLSの例**

[MicrochipTech/fpga-hls-examples](https://github.com/MicrochipTech/fpga-hls-examples)

[![](https://global.discourse-cdn.com/digikey/optimized/3X/4/f/4fa947496c24f946574cb230391d085ba847ce63_2_543x500.png) ](https://global.discourse-cdn.com/digikey/optimized/3X/4/f/4fa947496c24f946574cb230391d085ba847ce63_2_543x500.png)

[SmartHLS Product Page](https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-design-resources/smarthls-compiler)

[オリジナル・ソース（English）](https://forum.digikey.com/t/taking-advantage-of-fpga-hardware-development-in-c-with-microchip/26671)
