複雑なソフトウェア/ハードウェアをインテリジェントエッジで解決

SLX

Products

Silexica

SLX FPGA

FPGA 副本 2@2x (1)-fpga
anim-loader-

SLXFPGAは、お客様のC/C++のソースコードをFPGAのビットストリームへ、より簡単かつ迅速にそして高いパフォーマンスで変換するのに役立ちます。SLX FPGAは、FPGAベンダの標準的なHLS(High Level Synthesis)ツールを利用して、合成不可能なC / C ++コード、ハードウェア非対応のC / C ++コード、アプリケーションの並列処理の検出、プラグマの挿入個所の検出、そして、どのようにして最適なSW/HW分割を決定するのかなど、HLSデザインフローに関する課題に取り組みます。 SLX FPGAを使用すると、HLSの利点をFPGAデザインの最初の段階から活用することが可能で、市場投入までの時間を大幅に短縮できます。これらの利点には、より高い抽象度での設計による生産性の向上、従来のRTLシミュレーションよりも桁違いに速いシミュレーション、そして高度な最適化と設計空間の探査によるQoRの向上が含まれます。

SLX FPGAは、静的および動的解析を駆使し、ユーザーのC/C++コードに関する深い洞察を提供することによって、HLSデザインフローを使用する場合の課題に取り組みます。このコード分析を通じて、SLX FPGAは合成不可能なC /C++コードを識別したり、ハードウェアに対応していないデータタイプを検出し、高速化を実現できるソフトウェア内の並列処理を特定します。HLS合成フローのガイド付き自動コードリファクタリングを提供し、HLSデザインフローの使用における最大の障壁と最も時間のかかる面を解決します。SLX FPGAは、検出された並列処理を使用して、パフォーマンスと領域使用率に関して設計を最適化するHLSプラグマを自動的に生成して挿入します。

 

詳しく読む
15-

ガイド付き自動コードリファクタリングで合成不可能なC/C ++コードの変換。

7-

ハードウェアに実装可能なC/C++コードの並列処理の検出。

3-

ハードウェアの最適化とハードウェア/ソフトウェアの分割。

c-c-1-

HLSプラグマの自動挿入。

特徴と性能 

SLX FPGA - C/C++コードをハードウェアに高速分割

SLX FPGAjp-7618-autosave-v1

SLX FPGAは高位合成(High Level Synthesis)に合わせたC/C++の最適化を行うためのステップごとのフローで提供し、開発者時間を大幅に減らし、C/C++コードの最適化されたハードウエア実装を行います。

合成不可能なC/C++コードの変換

HLSコンパイラーのC/C++コードガイドランは広範囲にわたり、HLS合成用のCコードを記述またはリファクタリングする際に理解しなければならない資料は1000ページ以上を超える場合があります。SLX FPGAは以下の方法でHLSのコーディングをサポートします。

  • 合成不可能なC/C++コードの特定。
  • 多くの一般的なCライブラリに対する自動コードリファクタリングの実行。
  • ガイド付きコードのリファクタリングによるコード例を提供することによって、コードを書き直し合成可能にする。

 

FPGA PB P-
FPGA PB Pic2-
並列処理の検出

C/C++コードは通常、標準的なプロセッサで逐次実行されますが、専用のハードウェアに機能実装をすると処理が並列に行われ、システム全体の処理を高速化させます。SLXFPGAはC/C++コードアプリケーションを分析、ハードウェアに実装した時に並列処理されることにより、高速化につながる機能の特定をします。

ハードウェアの最適化とハードウェア/ソフトウェアの分割

SLX FPGAは、並列実行が可能な関数を特定した後、関数の分析を行い、並列実行の理論上の最大数を決定します。 Silexica独自のアルゴリズムを使用してSLX FPGAは、ユーザーが提供する制約に基づいて並列関数の理想的な実装を決定し、最適な実装を確実にします。

FPGA PB Pic3-
FPGA PB Pic4-
プラグマの挿入

最適化されたハードウェア実装が決定されると、SLX FPGAはHLSプラグマを挿入し、HLSコンパイラーにハードウェアで実装する機能の方法を指示します。

SLX FPGAはザイリンクス社のVivado HLSおよびSDSoC開発環境と十分に統合されることでC/C++コードからFPGA合成にいたるパスを完全に作り出します。SLX FPGAは、強力なGUIから、コマンドライン、またはアジャイルでの継続的なワークフローに統合して利用することができます。

loader

Any questions?

Silexica

Contact us