インテル上位レベルのシンセシス・アクセラレーター機能ユニットのデザイン例のユーザーガイド

ID 683025
日付 11/30/2018
Public
ドキュメント目次

2.2. i ++コマンドを使用したHLSコンポーネントのコンパイルとシミュレーション 

他のHLSデザインサンプルと同様に、付属のメイクファイルを使用してこのサンプルデザインをコンパイルできます。このメイクファイルは、HLSデザイン例と同様の規則を使用します。
開発環境が インテル® Quartus® Primeプロ・エディション v18.0以降であることを確認してください。
注: GCCライブラリーの正しいバージョンがない環境でHLS v18.0を使用している場合、HLSコードのコンパイルに失敗する場合があります。 RHEL 7.xを使用している場合、gcc 4.4.7互換性ライブラリーをインストールする必要があります。
#sudo yum install compat-gcc-44 compat-gcc-44-c ++
  1. インテル®HLSコンパイラーを実行できるように、現在のセッションを初期化します。 ターミナル・セッションで、ディレクトリーを インテル® Quartus® Primeプロ・エディションのンストール・ディレクトリーのhlsディレクトリー変更します。
    例えば;
    $ cd /home/<username>/intelFPGA_pro/18.0/hls
    注: RHEL 7.xでv18.0を使用している場合、CPLUS_INCLUDE_PATH環境変数をオーバーライドして、i ++がgcc 4.4.7を優先させる必要があります。
    $ export CPLUS_INCLUDE_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7:/usr/include/c++/4.4.7:/usr/include/c++/4.4.7/x86_64-redhat-linux
  2. hlsディレクトリーから次のコマンドを実行して、現在のターミナル・セッションでi ++コマンドの環境変数を設定します。
    $ source init_hls.sh
    環境初期化スクリプトは、設定する環境変数を表示します。 
  3. このターミナル・セッション(HLSウィンドウ)からi ++コマンドを実行します。
    HLSソースは<design location>/hls_afu/hw/rtl/hls/
  4. x86命令を使用してデザインをビルドおよびエミュレートするには、HLSウィンドウを使用してそのディレクトリーに移動し、次のコマンドを実行します。
    $ make test-x86-64
    $ ./test-x86-64
    
    次の出力が表示されます。
    i++ src/hls_afu.cpp src/test.cpp   --fp-relaxed -ghdl  -march=x86-64 -o test-x86-64
    +--------------------------------------------+
    | Run ./test-x86-64 <n> to execute the test. |
    | <n> is 0, 1, or 2 depending on desired     |
    | test behavior:                             |
    |         <n> | effect                       |
    |       ------+--------------------          |
    |          0  | test both (default)          |
    |          1  | test ac_int only             |
    |          2  | test float only              |
    +--------------------------------------------+
    Control which component gets tested by passing an integer!
    arg   | effect
    ------+--------------------
       0  | test both (default)
       1  | test ac_int only
       2  | test float only
    test AC_INT version and FLOAT version
    
    AC_INT COMPONENT - 81 ELEMENTS
    ac_inc:
    sizeof(uint512) = 64 (64)
    number of 512 bit (64-byte) numbers: 6
    PASS
    
    FLOATING-POINT COMPONENT - 81 ELEMENTS
    fp_inc:
    PASS
    OVERALL:
    PASSED
    
  5. RTLを生成し、ModelSimシミュレーターで生成されたRTLをシミュレートします。
    $ make test-fpga
    $ ./test-fpga
    
    注: HLS v18.1を使用してアクセラレーターを生成する場合、i ++を呼び出すときに--save-tempsフラグを使用する必要があります。付属のmakefileはHLS v18.1を検出し、このフラグを自動的に使用します。