インテル - ロゴ機能ユニットシミュレーション環境ソフトウェア
ユーザーガイド

この文書について

このドキュメントでは、次のようにシミュレーションする方法について説明します。ampインテル®アクセラレーター機能ユニット(AFU)
アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) 環境。ASE 機能と内部アーキテクチャーの包括的な詳細については、Intel アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) ユーザーガイドを参照してください。
インテル アクセラレーター ファンクショナル ユニット (AFU) シミュレーション環境 (ASE) は、あらゆるインテル FPGA プログラマブル アクセラレーション カード (インテル FPGA PAC) 向けのハードウェアとソフトウェアの協調シミュレーション環境です。このソフトウェア協調シミュレーション環境は現在、次のインテル FPGA PAC をサポートしています: 10 GX FPGA

  • インテル FPGA プログラマブル アクセラレーション カード D5005
  • Intel Arria® 搭載 Intel プログラマブル アクセラレーション カード
    ASE は、コア キャッシュ インターフェイス (CCI-P) プロトコルのトランザクション モデルと、FPGA 接続のローカル メモリのメモリ モデルを提供します。
    ASE は、次のプロトコルと API に対するアクセラレータ機能ユニット (AFU) の準拠も検証します。
  • CCI-Pプロトコル仕様
  • アバロン
    メモリマップ (Avalon-MM) インターフェース仕様
  • オープン プログラマブル アクセラレーション エンジン (OPAE)®

表 1. Intel Xeon® CPU と FPGA のアクセラレーション スタックの用語集

学期 略語 説明
FPGA 搭載 Intel Xeon® CPU 向け Intel アクセラレーション スタック 加速スタック Intel FPGA と Intel Xeon プロセッサー間のパフォーマンスが最適化された接続を提供するソフトウェア、ファームウェア、およびツールのコレクション。
Intel FPGA プログラマブル アクセラレーション カード (Intel FPGA PAC) インテル FPGA PAC PCIe* FPGA アクセラレータ カード。
PCIe バス経由で Intel Xeon プロセッサとペアリングする FPGA インターフェイス マネージャー (FIM) が含まれています。
FPGA を統合した Intel Xeon スケーラブル プラットフォーム 統合FPGAプラットフォーム Intel Xeon と FPGA を 1 つのパッケージに統合し、Ultra Path Interconnect (UPI) を介してコヒーレントなメモリ キャッシュを共有する Intel Xeon plus FPGA プラットフォーム。

関連情報
インテル アクセラレーター ファンクショナル ユニット (AFU) シミュレーション環境 (ASE) ユーザーガイド

Intel Corporation。無断複写・転載を禁じます。Intel、Intel ロゴ、その他の Intel マークは、Intel Corporation またはその子会社の商標です。Intel は、FPGA および半導体製品のパフォーマンスを Intel の標準保証に従って現在の仕様で保証しますが、製品およびサービスをいつでも予告なく変更する権利を留保します。Intel は、Intel が書面で明示的に同意した場合を除き、ここに記載されている情報、製品、またはサービスの適用または使用から生じる責任または義務を一切負いません。Intel のお客様は、公開されている情報に依拠する前、および製品またはサービスを注文する前に、デバイスの最新バージョンの仕様を入手することをお勧めします。
*その他の名称およびブランドは、一般に各社の所有物である場合があります。
ISO 9001:2015登録

システム要件

Intel Accelerator Functional Unit (AFU) シミュレーション環境 (ASE) のシステム要件は次のとおりです。

  • 64 ビット Linux オペレーティング システム。このリリースでは、次のオペレーティング システムが検証されました。
    — Intel FPGA PAC D5005の場合:
  • RHEL 7.6 カーネル 3.10.0-957
    — Intel Arria 10 GX FPGA 搭載 Intel PAC の場合:
  • RHEL 7.6 カーネル 3.10.0-957
  • カーネル18.04を搭載したUbuntu4.15
  • 次のいずれかのシミュレーター:
    — 64 ビット Synopsys* VCS-MX-2016.06-SP2-1 RTL シミュレータ
    — 64 ビット Mentor Graphics* Modelsim SE シミュレータ (バージョン 10.5c)
    — 64 ビット Mentor Graphics QuestaSim シミュレータ (バージョン 10.5c)
  • C コンパイラ: GCC 4.7.0 以上
  • CMake: バージョン 2.8.12 以上
  • GNU C ライブラリ: バージョン 2.17 以上
  • Python: バージョン 2.7
  • Intel Quartus® Prime Pro Edition ソフトウェア バージョン 19.2 (1)

環境の設定

ASE を実行する前に、シミュレーション環境をセットアップし、OPAE ソフトウェアをインストールする必要があります。

  1. シミュレーション ソフトウェアに次の環境変数を設定します。
    • VCSの場合:
    $ エクスポート VCS_HOME=
    $ エクスポート PATH=$VCS_HOME/bin:$PATH
    VCS インストール ディレクトリの構造は次のとおりです。
    インテル アクセラレータ機能ユニット シミュレーション環境ソフトウェア - 図 1システムに有効な VCS ライセンスがあることを確認してください。
    • Modelsim SE/QuestaSim の場合:
    $ エクスポート MTI_HOME=
    $ エクスポート PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    Modelsim/Questa のインストール ディレクトリ構造は次のとおりです。
    インテル アクセラレータ機能ユニット シミュレーション環境ソフトウェア - 図 2システムに有効な Modelsim SE/QuestaSim ライセンスがあることを確認してください。
    • Intel Quartus Prime Pro Editionの場合:
    $ エクスポート QUARTUS_HOME=
    Intel Quartus Prime のインストール ディレクトリ構造は次のとおりです。
    インテル アクセラレータ機能ユニット シミュレーション環境ソフトウェア - 図 3Modelsim ライセンスを確認するには、環境変数を追加します。
    $ MGLS_LICENSE_ をエクスポートFILE=
  2. 輸出:
    $ エクスポート LM_LICENSE_FILE=
  3.  ランタイムアーカイブを解凍する fileOPAEライブラリ、バイナリ、インクルードをインストールします files、および ASE ライブラリについては、Intel FPGA PAC の適切な Intel アクセラレーション スタック クイック スタート ユーザー ガイドの「OPAE ソフトウェア パッケージのインストール」セクションで説明されているようにインストールしてください。

AFUを構成および構築するには、環境を正しく設定する必要があります。特に、OPAEソフトウェア開発キット(SDK)を適切にインストールする必要があります。OPAE SDKスクリプトはPATH上にあり、以下を含める必要があります。 fileC コンパイラーで使用できる必要のあるファイルとライブラリ。さらに、OPAE_PLATFORM_ROOT 環境変数が設定されていることを確認する必要があります。詳細については、「OPAE ソフトウェア パッケージのインストール」を参照してください。
OPAE SDKとASEが正しくインストールされていることを確認するには、シェルでPATHにafu_sim_setupが含まれていることを確認します。afu_sim_setupは/usr/binディレクトリまたはOPAEをソースから構築した場合 files.

関連情報

  • インテル アクセラレーター ファンクショナル ユニット (AFU) シミュレーション環境 (ASE) ユーザーガイド
  • OPAE ソフトウェア パッケージのインストール
    Intel Arria 10 GX FPGA を搭載した Intel PAC 向け。
  • Intel FPGA PAC D5005 用の OPAE ソフトウェア パッケージをインストールします。

クライアントサーバーモードでhello_afuをシミュレートする

hello_afu exのample は、主要な CCI-P インターフェイスを示すシンプルな AFU テンプレートです。RTL は AFU の最小要件を満たし、メモリマップされた I/O 読み取りに応答して、デバイス機能ヘッダーと AFU の UUID を返します。
図1. hello_afuディレクトリツリー

インテル アクセラレータ機能ユニット シミュレーション環境ソフトウェア - 図 4

注記:
この文書ではample> 元恋人を指すamp上図の hello_afu のようなファイル デザイン ディレクトリです。
ソフトウェアは、OPAEを使用してFPGAに接続するための最小要件を示します。RTLは、OPAEドライバーとhello_afu exを満たすための最小要件を示します。ampleソフトウェア。
filelist.txtは、 fileRTL シミュレーションおよび合成用。
AFUを正常に構成して構築するにはampファイルの「環境の設定」で説明されているように、環境が正しく設定されている必要があります。

関連情報

  • インテル アクセラレーター ファンクショナル ユニット (AFU) シミュレーション環境 (ASE) ユーザーガイド
  • 環境の設定(5ページ)

OPAE SDKを使用したAFUの開発
アクセラレータ機能ユニット(AFU)開発者ガイド

4.1. クライアントサーバーモードでのシミュレーション

次の例ample flowは基本的なASEスクリプトを紹介します。すべてのexをシミュレートできます。ampeth_e2e_e10 と eth_e2e_e40 を除く、ASE と同じファイルです。
シミュレーションには2つのソフトウェアプロセスが必要です。1つはRTLシミュレーション用、もう1つは接続されたソフトウェアを実行するためのプロセスです。RTLシミュレーション環境を構築するには、$OPAE_PLATFORM_ROOT/hw/sで以下を実行します。amples/hello_afu:
$ afu_sim_setup –source hw/rtl/filelist.txt ビルド_sim
このコマンドは、build_sim サブディレクトリに ASE 環境を構築します。
シミュレータをビルドして実行するには:
$ cd build_sim
$ 作る
$ シミュレーションを作成する
シミュレーターは、シミュレーションの準備ができたことを示すメッセージを出力します。また、ASE_WORKDIR 環境変数を設定するように求めるメッセージも出力します。
ソフトウェア シミュレーション用に別のシェルを開きます。OPAE_PLATFORM_ROOT 環境変数を必ず設定する必要があります。
新しいシェルでソフトウェアをビルドして実行するには:
$ cd $OPAE_PLATFORM_ROOT
$ ASE_WORKDIR = $OPAE_PLATFORM_ROOT /hw/sをエクスポートしますamples/hello_afu/build_sim/作業
$ cd $OPAE_PLATFORM_ROOT/hw/sampレス/hello_afu/sw
$ クリーンにする
$ USE_ASE=1 にする
$ ./hello_afu

注記:
ASE_WORKDIR の具体的なパス名は異なる場合があります。シミュレータ プロンプトで提供されるパス名を使用します。
ソフトウェアとシミュレータが実行され、トランザクションがログに記録されて終了します。

4.1.1. シミュレーションログ Files
シミュレーション作業ディレクトリには、波形、CCI-Pトランザクション、シミュレーションログが保存されます。 files.
次の手順を実行して、 view 波形データベース:

  1. make sim コマンドを実行したディレクトリに移動します。
  2. タイプ:
    $ 波を作る
    make waveコマンドは波形を呼び出す viewえー。

4.1.2. 設計宣言
次の file ディレクトリはAFUシミュレーションを定義します。

  • $OPAE_PLATFORM_ROOT/ハードウェア/秒ampレ/ample>/hw/rtl/filelist.txt は RTL ソースを指定します。
  • <AFU example>はexですamphello_afu ディレクトリ ツリーの図に示すように、le ディレクトリを作成します。
  • filelist.txt には、SystemVerilog、VHDL、および AFU JavaScript オブジェクト表記法 (.json) がリストされています。 file.
  • AFU .json は、AFU に必要なインターフェースを記述します。また、FPGA にダウンロードされた AFU を識別するための UUID も含まれます。
  • hw/rtl/hello_afu.jsonは、afu-top-interfaceをccip_std_afuに設定することで、ccip_std_afuをトップレベルインターフェースとして定義します。ccip_std_afuは、クロック、リセット、CCI-P TXおよびRX構造を含む基本CCI-Pインターフェースです。より高度な例ampファイルは他のインターフェース オプションを定義します。
  • .jsonファイル file AFU UUID を宣言します。OPAE スクリプトが UUID を生成します。RTL は afu_json_info.vh から UUID を読み込みます。
  • sw/作るfile afu_json_info.h を生成します。ソフトウェアは afu_json_info.h から UUID を読み込みます。

4.1.3. クライアントサーバーシミュレーションのトラブルシューティング
afu_sim_setup コマンドが失敗した場合は、次の点を確認してください。

  • afu_sim_setupはPATH上にあります。afu_sim_setupは/usr/binまたはOPAEをソースからビルドした場合 files.
  • Python バージョン 2.7 以降がインストールされています。

シミュレータをビルドして実行できない場合は、RTL シミュレーション ツールが正しくインストールされていない可能性があります。
ソフトウェアをビルドして実行しようとしたときに、「AFC の列挙エラー」というメッセージが表示される場合は、make コマンド ラインで USE_ASE=1 の設定を省略しています。ソフトウェアは物理 FPGA デバイスを検索しています。回復するには、make clean コマンドの手順を繰り返します。

AFU Exampレ

表2.
AFU Exampレ
各AFU examp詳細なREADMEが含まれています file、設計をシミュレーションする方法に関する操作説明とメモを提供します。シミュレーションプロセスを完全に理解するには、view README file 各AFU exでampル。

オーストラリア連邦 説明
こんにちは hello_mem_afu は、メモリにアクセスするためのシンプルなステート マシンを構築する AFU を示します。ステート マシンは、DDR4 DIMM などの FPGA ピンに直接接続されたローカル メモリへの複数のアクセス パターンに対応しています。このメモリは、CCI-P 経由でアクセスされるホスト メモリとは異なります。ホストは、制御レジスタとステータス レジスタ (CSR) へのメモリ マップド I/O (MMIO) 要求を使用して、hello_mem_afu コントローラー ステート マシンを管理します。
こんにちは hello_intr_afu は、ASE のアプリケーション割り込み機能を示します。
DMA 1.1 (2) _ dma_afu は、ホストから FPGA、FPGA からホスト、FPGA から FPGA へのメモリ転送用の DMA 基本ビルディング ブロックを示します。この AFU をシミュレートする場合、シミュレーション時間を適切に保つために、DMA 転送に使用されるバッファー サイズは小さくなります。詳細については、DMA アクセラレータ機能ユニット (AFU) ユーザー ガイドを参照してください。
nlb_mode_O nlb_mode_O は、メモリコピーテストをデモンストレーションする CCI-P システムです。$0PAE_PLATFORM_ROOT/ sw/opae—cre/ease number>/sample/hello_fpga . c には nlb_mode_0 が含まれています。
$ sh 回帰.sh -a -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
-b
ストリーミング_dma streaming_dma は、ホスト メモリと FPGA ストリーミング ポート間でデータを転送する方法を示します。詳細については、ストリーミング DMA アクセラレータ機能ユニット (AFU) ユーザー ガイドを参照してください。
こんにちはあふ hel lo_a fu は、主要な CCI-P インターフェイスを示すシンプルな AFU です。RTL は AFU の最低限の要件を満たし、MMIO 読み取りに応答してデバイス機能ヘッダーと AFU の UUID を返します。

関連情報

  • DMA アクセラレータ機能ユニット (AFU) ユーザーガイド
    Intel Arria 10 GX FPGA を搭載した Intel PAC で dma_afu をコンパイルおよび実行する方法の詳細。
  • ストリーミング DMA アクセラレータ機能ユニット (AFU) ユーザーガイド
    Intel Arria 10 GX FPGA を搭載した Intel PAC で streaming_dma_afu をコンパイルして実行する方法の詳細。
  • DMA アクセラレーター機能ユニット ユーザーガイド: Intel FPGA Programmable Acceleration Card D5005
    Intel FPGA PAC D5005 で dma_afu をコンパイルして実行する方法の詳細。
  • ストリーミング DMA アクセラレータ機能ユニット ユーザーガイド: Intel FPGA プログラマブル アクセラレーション カード D5005
    Intel FPGA PAC D5005 で dma_afu をコンパイルして実行する方法の詳細。

トラブルシューティング

シミュレーション中に次のエラーが表示された場合は、以下の手順に従って修正してください。
エラーメッセージ
# [SIM] ASE インスタンスは現在のディレクトリでまだ実行されている可能性があります。
# [SIM] PID 28816 を確認する
# [SIM] シミュレーションは終了します…シミュレーション プロセスを強制終了するには SIGKILL を使用できます。
# [SIM] .ase_ready.pidもチェック file 続行する前に削除してください。解決策

  1. kill ase_simvと入力してゾンビシミュレーションプロセスを終了し、一時的なものを削除します。 fileシミュレーション プロセスの失敗やロックアップによって残されたもの。
  2. .ase_ready.pidを削除します file$ASE_WORKDIR ディレクトリにあります。

ASE クイック スタート ユーザー ガイド アーカイブ

インテル アクセラレーション スタックのバージョン ユーザーガイド
2.0 インテル アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) クイック スタート ユーザー ガイド
1. インテル アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) クイック スタート ユーザー ガイド
1. インテル アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) クイック スタート ユーザー ガイド
1.0 インテル アクセラレーター機能ユニット (AFU) シミュレーション環境 (ASE) クイック スタート ユーザー ガイド

ASE クイック スタート ユーザー ガイドのドキュメント改訂履歴

ドキュメントバージョン インテル アクセラレーション スタックのバージョン 変更点
2020.03.06 1.2.1と2.0.1 以下を更新しました:
• システム要件
2019.08.05 2.0 • システム要件の Intel Quartus Prime Pro Edition バージョンを更新しました。
• AFU Exにhello_afuを追加しましたampレ。
• 回帰モードでのシミュレーションに関する情報を削除しました。
• 新しいセクション「ASE クイック スタート ユーザー ガイド アーカイブ」を追加しました。
2018.12.04 1. Ubuntu サポートを追加しました。
2018.08.06 1. システム要件、ディレクトリ構造、および対応する file名前。
2018.04.10 1.0 初回リリース。

683200 | 2020.03.06
TCLHH42CV1リンクハブ-アイコン8フィードバックを送信

ドキュメント / リソース

インテル アクセラレータ機能ユニット シミュレーション環境ソフトウェア [pdf] ユーザーガイド
アクセラレータ機能ユニット、シミュレーション環境ソフトウェア、アクセラレータ機能ユニットシミュレーション環境、ソフトウェア、アクセラレータ機能ユニットシミュレーション環境ソフトウェア

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *