Silexica

SLXはSilexica最先端独自解析技術を用いてC/C++コードを静的かつ動的に解析することで、コールグラフ分析およびローカル変数やグローバル変数のアクセス解析を行います。 

 

SLX C/C++にマルチプロセス、マルチスレッドのC/C++を入力することで、共有メモリ解析配列・構造体解析、パフォーマンス解析、キャッシュ解析等を行い、ソースコードの最適化とパフォーマンス向上を支援します。 

 

SLX FPGAXilinx®向け高位合成用のC/C++コードの変更や、最適化を行う開発者向けに様々な機能を提供します。合成不可能な記述の指摘と変更のためのヒントを与え、既存のC/C++コードに自動でHLSプラグマを挿入することで、作業時間の大幅な短縮を実現できます。 

 

  1. SLX C/C++ 

特長と機能 

  • マルチプロセス解析 

最新版ではマルチプロセス解析機能強化されました。共有メモリを用いて通信する複数のプロセス、コード解析グラフとメモリ解析テーブルを使用することプロセス間通信の状況を調べることができます。 

  • マルチプロセスの視覚化 

従来のコールグラフにマルチプロセスのレイヤとスレッドのレイヤを追加したことで、プロセス内のスレッドの関係、スレッド内の関数の関係を視覚的に確認できます。 

  • 共有メモリのプロテクト解析 

POSIXセマフォに対応することで、複数のプロセスに共有されているメモリのプロテクト状況をソースコードから解析可能になりました。 

  • 配列・構造体の詳細解析 

メモリアクセス解析において、構造体のサイズ、各メンバのサイズ、およびそれぞれのアクセス数の解析が可能です。構造体にポインタを用いてアクセスしている場合も解析可能です 

  • ソースコード最適化ガイド 

グローバル変数からローカル変数への変更、構造体メンバ順序変更、無駄な変数ロック等アクセス速度に影響を及ぼしそうな記述に関して最適化のためのガイダンスを表示 

  • SLX FPGA

主な特長

  • 高位合成ツール向けコード変換をサポート

ザイリンクスHLSコンパイラで合成不可能なコードを、手修正するためのヒントをユーザに提供します。変更されたコードは、元のコードと並べて表示されます。

  • ハードウェア化のための並列化抽出

データ・レベル並列化およびパイプライン・レベル並列化可能な部分を検出します。SLX FPGAは、本検出結果をもとにパフォーマンスとエリアのトレードオフを行い、最適なHLSプラグマを挿入します。

  • プラグマ自動挿入とコードリファクタリング・ウイザード

HLSプラグマとそのパラメータの最適な組み合わせが抽出された後、本ウィザード上に元のコードと生成されたコードを並べて表示できます。また、ユーザが最終的にどのプラグマをコードに挿入するかを、本ウィザード上で決定できます。

  • ザイリンクスDSAインポータ

既存のザイリンクスデザイン仕様アーカイブ(DSA)をSLX FPGAにインポート可能になりました。これにより、FPGAチップ上の利用可能なリソースに基づいた、ハードウェアの最適化と分割が可能になります。

デザインフロー