Vitis HLS のメモリ レイアウト モデル - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

Vitis アプリケーション アクセラレーション開発フローは、ソフトウェアおよびハードウェア コンポーネントの両方に標準プログラミング言語を使用して、FPGA でアクセラレーションされたアプリケーションを開発して配布するためのフレームワークを提供します。ソフトウェア コンポーネント (ホスト プログラム) は、C/C++ を使用して開発して x86 またはエンベデッド プロセッサで実行し、OpenCL/Native XRT API 呼び出しを使用してアクセラレータとのランタイムタイムの通信を管理します。ハードウェア コンポーネントまたはカーネル (実際の FPGA カード/プラットフォームで実行) は、C/C++、OpenCL C、または RTL を使用して開発できます。Vitisソフトウェア プラットフォームは、異種アプリケーションのハードウェアおよびソフトウェア要素の同時開発およびテストを促進します。このため、ホスト コンピューター上で動作するソフトウェア プログラムは、適切に定義されたインターフェイスとプロトコルを使用して FPGA ハードウェア モデル上で動作するアクセラレーション カーネルと通信する必要があります。その結果、読み書きされるデータを正しく処理できるように、使用されるメモリ モデルを正確に定義することが重要になります。メモリ モデルは、コンピューター メモリ内でのデータの配置およびアクセス方法を定義します。これらは、データ アライメントとデータ構造のパディングという別々の問題ですが、関連しています。また、Vitis HLS コンパイラは、デフォルトのデータ アライメント規則とデータ構造のパディング規則を変更するための特殊な属性 (およびプラグマ) の指定もサポートしています。